You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by am...@apache.org on 2021/08/13 15:12:06 UTC
[ignite-3] 02/03: Fix Tuple.columnIndex to return primitive type to
avoid boxing.
This is an automated email from the ASF dual-hosted git repository.
amashenkov pushed a commit to branch gg-15253
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
commit 71dd04b2434ed4398f38def30ff49e08bca29653
Author: Andrew Mashenkov <an...@gmail.com>
AuthorDate: Fri Aug 13 16:20:37 2021 +0300
Fix Tuple.columnIndex to return primitive type to avoid boxing.
---
modules/api/src/main/java/org/apache/ignite/table/Tuple.java | 4 ++--
.../java/org/apache/ignite/internal/client/table/ClientTuple.java | 4 ++--
.../src/test/java/org/apache/ignite/client/ClientTupleTest.java | 4 ++--
.../client/src/test/java/org/apache/ignite/client/CustomTuple.java | 4 ++--
.../main/java/org/apache/ignite/internal/table/RowChunkAdapter.java | 4 ++--
.../src/main/java/org/apache/ignite/internal/table/TupleImpl.java | 5 +++--
.../test/java/org/apache/ignite/internal/table/TupleImplTest.java | 4 ++--
.../java/org/apache/ignite/internal/table/impl/TestTupleBuilder.java | 2 +-
8 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/modules/api/src/main/java/org/apache/ignite/table/Tuple.java b/modules/api/src/main/java/org/apache/ignite/table/Tuple.java
index 37af8ce..a4d7d93 100644
--- a/modules/api/src/main/java/org/apache/ignite/table/Tuple.java
+++ b/modules/api/src/main/java/org/apache/ignite/table/Tuple.java
@@ -46,9 +46,9 @@ public interface Tuple extends Iterable<Object> {
* Gets the index of the column with the specified name.
*
* @param columnName Column name.
- * @return Column index, or null when a column with given name is not present.
+ * @return Column index, or {@code -1} when a column with given name is not present.
*/
- Integer columnIndex(String columnName);
+ int columnIndex(String columnName);
/**
* Gets column value when a column with specified name is present in this tuple; returns default value otherwise.
diff --git a/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientTuple.java b/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientTuple.java
index 1e332a0..8d9a2d7 100644
--- a/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientTuple.java
+++ b/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientTuple.java
@@ -99,10 +99,10 @@ public final class ClientTuple implements Tuple {
}
/** {@inheritDoc} */
- @Override public Integer columnIndex(String columnName) {
+ @Override public int columnIndex(String columnName) {
var col = schema.columnSafe(columnName);
- return col == null ? null : col.schemaIndex();
+ return col == null ? -1 : col.schemaIndex();
}
/** {@inheritDoc} */
diff --git a/modules/client/src/test/java/org/apache/ignite/client/ClientTupleTest.java b/modules/client/src/test/java/org/apache/ignite/client/ClientTupleTest.java
index 08f7fe6..56fc0e3 100644
--- a/modules/client/src/test/java/org/apache/ignite/client/ClientTupleTest.java
+++ b/modules/client/src/test/java/org/apache/ignite/client/ClientTupleTest.java
@@ -122,8 +122,8 @@ public class ClientTupleTest {
}
@Test
- public void testColumnIndexReturnsNullForMissingColumns() {
- assertNull(getTuple().columnIndex("foo"));
+ public void testColumnIndexForMissingColumns() {
+ assertEquals(-1, getTuple().columnIndex("foo"));
}
@Test
diff --git a/modules/client/src/test/java/org/apache/ignite/client/CustomTuple.java b/modules/client/src/test/java/org/apache/ignite/client/CustomTuple.java
index 515ea14..8f9f063 100644
--- a/modules/client/src/test/java/org/apache/ignite/client/CustomTuple.java
+++ b/modules/client/src/test/java/org/apache/ignite/client/CustomTuple.java
@@ -58,13 +58,13 @@ public class CustomTuple implements Tuple {
return null;
}
- @Override public Integer columnIndex(String columnName) {
+ @Override public int columnIndex(String columnName) {
switch (columnName) {
case "id": return 0;
case "name": return 1;
}
- return null;
+ return -1;
}
@Override public <T> T valueOrDefault(String columnName, T def) {
diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/RowChunkAdapter.java b/modules/table/src/main/java/org/apache/ignite/internal/table/RowChunkAdapter.java
index c6ad812..3f75649 100644
--- a/modules/table/src/main/java/org/apache/ignite/internal/table/RowChunkAdapter.java
+++ b/modules/table/src/main/java/org/apache/ignite/internal/table/RowChunkAdapter.java
@@ -55,10 +55,10 @@ public abstract class RowChunkAdapter implements Tuple, SchemaAware {
}
/** {@inheritDoc} */
- @Override public Integer columnIndex(String columnName) {
+ @Override public int columnIndex(String columnName) {
var col = schema().column(columnName);
- return col == null ? null : col.schemaIndex();
+ return col == null ? -1 : col.schemaIndex();
}
/** {@inheritDoc} */
diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/TupleImpl.java b/modules/table/src/main/java/org/apache/ignite/internal/table/TupleImpl.java
index fdf7918..4d979c9 100644
--- a/modules/table/src/main/java/org/apache/ignite/internal/table/TupleImpl.java
+++ b/modules/table/src/main/java/org/apache/ignite/internal/table/TupleImpl.java
@@ -46,6 +46,7 @@ public class TupleImpl implements Tuple, SchemaAware {
* @param schemaDesc Schema descriptor.
*/
public TupleImpl(SchemaDescriptor schemaDesc) {
+ this.schemaDesc = schemaDesc;
map = new HashMap<>();
}
@@ -81,10 +82,10 @@ public class TupleImpl implements Tuple, SchemaAware {
}
/** {@inheritDoc} */
- @Override public Integer columnIndex(String columnName) {
+ @Override public int columnIndex(String columnName) {
var col = schemaDesc.column(columnName);
- return col == null ? null : col.schemaIndex();
+ return col == null ? -1 : col.schemaIndex();
}
/** {@inheritDoc} */
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/TupleImplTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/TupleImplTest.java
index 56af739..a8eda42 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/TupleImplTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/TupleImplTest.java
@@ -116,8 +116,8 @@ public class TupleImplTest {
}
@Test
- public void testColumnIndexReturnsNullForMissingColumns() {
- assertNull(getTuple().columnIndex("foo"));
+ public void testColumnIndexForMissingColumns() {
+ assertEquals(-1, getTuple().columnIndex("foo"));
}
private static TupleImpl createTuple() {
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/impl/TestTupleBuilder.java b/modules/table/src/test/java/org/apache/ignite/internal/table/impl/TestTupleBuilder.java
index f291bfa..cb9713c 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/impl/TestTupleBuilder.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/impl/TestTupleBuilder.java
@@ -67,7 +67,7 @@ public class TestTupleBuilder implements Tuple {
}
/** {@inheritDoc} */
- @Override public Integer columnIndex(String columnName) {
+ @Override public int columnIndex(String columnName) {
throw new UnsupportedOperationException();
}