This is an automated email from the ASF dual-hosted git repository.
jhyde pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite-avatica.git
The following commit(s) were added to refs/heads/master by this push:
new ab45dc0 [CALCITE-4757] Allow columns of type Null in ResultSet
(NobiGo)
ab45dc0 is described below
commit ab45dc0946cdeb2f485252eb2aa1bec4eb644956
Author: NobiGo <[email protected]>
AuthorDate: Sat Aug 28 19:19:09 2021 +0800
[CALCITE-4757] Allow columns of type Null in ResultSet (NobiGo)
Close apache/calcite-avatica#152
---
core/src/main/java/org/apache/calcite/avatica/AvaticaSite.java | 1 +
.../java/org/apache/calcite/avatica/util/AbstractCursor.java | 1 +
.../apache/calcite/avatica/AvaticaResultSetConversionsTest.java | 9 +++++++--
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/core/src/main/java/org/apache/calcite/avatica/AvaticaSite.java
b/core/src/main/java/org/apache/calcite/avatica/AvaticaSite.java
index b7f46a0..e70aa87 100644
--- a/core/src/main/java/org/apache/calcite/avatica/AvaticaSite.java
+++ b/core/src/main/java/org/apache/calcite/avatica/AvaticaSite.java
@@ -343,6 +343,7 @@ public class AvaticaSite {
}
return anInt;
case Types.JAVA_OBJECT:
+ case Types.NULL:
case Types.OTHER:
return accessor.getObject();
case Types.LONGNVARCHAR:
diff --git
a/core/src/main/java/org/apache/calcite/avatica/util/AbstractCursor.java
b/core/src/main/java/org/apache/calcite/avatica/util/AbstractCursor.java
index f23a372..fa357d5 100644
--- a/core/src/main/java/org/apache/calcite/avatica/util/AbstractCursor.java
+++ b/core/src/main/java/org/apache/calcite/avatica/util/AbstractCursor.java
@@ -211,6 +211,7 @@ public abstract class AbstractCursor implements Cursor {
throw new AssertionError("bad " + columnMetaData.type.rep);
}
case Types.JAVA_OBJECT:
+ case Types.NULL:
case Types.OTHER: // e.g. map
if (columnMetaData.type.getName().startsWith("INTERVAL_")) {
int end = columnMetaData.type.getName().indexOf("(");
diff --git
a/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetConversionsTest.java
b/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetConversionsTest.java
index 694c7f6..c49e047 100644
---
a/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetConversionsTest.java
+++
b/core/src/test/java/org/apache/calcite/avatica/AvaticaResultSetConversionsTest.java
@@ -176,7 +176,11 @@ public class AvaticaResultSetConversionsTest {
columnMetaData("bit", 13,
ColumnMetaData.scalar(Types.BIT, "BIT",
ColumnMetaData.Rep.PRIMITIVE_BOOLEAN),
- DatabaseMetaData.columnNoNulls));
+ DatabaseMetaData.columnNoNulls),
+ columnMetaData("null", 14,
+ ColumnMetaData.scalar(Types.NULL, "NULL",
+ ColumnMetaData.Rep.OBJECT),
+ DatabaseMetaData.columnNullable));
List<Object> row = Collections.<Object>singletonList(
new Object[] {
@@ -185,7 +189,8 @@ public class AvaticaResultSetConversionsTest {
new Timestamp(1476130718123L),
Arrays.asList(1, 2, 3),
new StructImpl(Arrays.asList(42, false)),
- false
+ false,
+ null,
});
CursorFactory factory = CursorFactory.deduce(columns, null);