Skip to content

Commit 5bb09bf

Browse files
authored
SNOW-1203558 Fix geo types values (#1663)
1 parent 730fbbf commit 5bb09bf

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/main/java/net/snowflake/client/jdbc/SnowflakeUtil.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -277,8 +277,12 @@ static ColumnTypeInfo getSnowflakeType(
277277
break;
278278

279279
case OBJECT:
280+
int targetType =
281+
"GEOGRAPHY".equals(extColTypeName) || "GEOMETRY".equals(extColTypeName)
282+
? Types.VARCHAR
283+
: Types.STRUCT;
280284
columnTypeInfo =
281-
new ColumnTypeInfo(Types.STRUCT, defaultIfNull(extColTypeName, "OBJECT"), baseType);
285+
new ColumnTypeInfo(targetType, defaultIfNull(extColTypeName, "OBJECT"), baseType);
282286
break;
283287

284288
case VARIANT:

src/test/java/net/snowflake/client/jdbc/SnowflakeDriverLatestIT.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -841,7 +841,7 @@ public void testGeoOutputTypes() throws Throwable {
841841
regularStatement, false, "geoJson", "OBJECT", "java.lang.String", Types.STRUCT);
842842

843843
testGeoOutputTypeSingle(
844-
regularStatement, true, "geoJson", "GEOGRAPHY", "java.lang.String", Types.STRUCT);
844+
regularStatement, true, "geoJson", "GEOGRAPHY", "java.lang.String", Types.VARCHAR);
845845

846846
testGeoOutputTypeSingle(
847847
regularStatement, false, "wkt", "VARCHAR", "java.lang.String", Types.VARCHAR);
@@ -989,10 +989,10 @@ public void testGeometryOutputTypes() throws Throwable {
989989
"insert into t_geo2 values ('POINT(0 0)'), ('LINESTRING(1 1, 2 2)')");
990990

991991
testGeometryOutputTypeSingle(
992-
regularStatement, true, "geoJson", "GEOMETRY", "java.lang.String", Types.STRUCT);
992+
regularStatement, true, "geoJson", "GEOMETRY", "java.lang.String", Types.VARCHAR);
993993

994994
testGeometryOutputTypeSingle(
995-
regularStatement, true, "wkt", "GEOMETRY", "java.lang.String", Types.STRUCT);
995+
regularStatement, true, "wkt", "GEOMETRY", "java.lang.String", Types.VARCHAR);
996996

997997
} finally {
998998
if (regularStatement != null) {

0 commit comments

Comments
 (0)