Skip to content

Commit 0cbdd7c

Browse files
chore: Support text/varchar type in JDBC
1 parent ab8fcf9 commit 0cbdd7c

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

src/main/java/com/google/cloud/spanner/jdbc/JdbcDataType.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,32 @@ public Type getSpannerType() {
297297
return Type.string();
298298
}
299299
},
300+
TEXT {
301+
@Override
302+
public int getSqlType() {
303+
return Types.NVARCHAR;
304+
}
305+
306+
@Override
307+
public Class<String> getJavaClass() {
308+
return String.class;
309+
}
310+
311+
@Override
312+
public Code getCode() {
313+
return Code.STRING;
314+
}
315+
316+
@Override
317+
public List<String> getArrayElements(ResultSet rs, int columnIndex) {
318+
return rs.getStringList(columnIndex);
319+
}
320+
321+
@Override
322+
public Type getSpannerType() {
323+
return Type.string();
324+
}
325+
},
300326
JSON {
301327
@Override
302328
public int getSqlType() {

src/main/resources/com/google/cloud/spanner/jdbc/postgresql/DatabaseMetaData_GetColumns.sql

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ SELECT TABLE_CATALOG AS "TABLE_CAT", TABLE_SCHEMA AS "TABLE_SCHEM", TABLE_NAME A
2828
WHEN DATA_TYPE = 'jsonb' THEN -9
2929
WHEN DATA_TYPE = 'timestamp with time zone' THEN 93
3030
END AS "DATA_TYPE",
31-
DATA_TYPE AS "TYPE_NAME",
31+
CASE
32+
WHEN spanner_type LIKE 'character varying[]' then '_varchar'
33+
ELSE DATA_TYPE
34+
END AS "TYPE_NAME",
3235
CASE
3336
WHEN DATA_TYPE LIKE 'ARRAY' THEN 0
3437
WHEN DATA_TYPE = 'boolean' THEN NULL

0 commit comments

Comments
 (0)