snowflakedb/snowflake-jdbc

SNOW-1344993: No enum constant net.snowflake.client.jdbc.SnowflakeType.VECTOR

Closed this issue · 3 comments

Please answer these questions before submitting your issue.
In order to accurately debug the issue this information is required. Thanks!

  1. What version of JDBC driver are you using?

3.15.1

  1. What operating system and processor architecture are you using?

N/A

  1. What version of Java are you using?

17

  1. What did you do?

Create a Vector table in our DWH.

Call Connection.getMetaData().getColumns(null, null, null, null) from the JDBC driver.

Get error, relevant stacktrace:

java.lang.IllegalArgumentException: No enum constant net.snowflake.client.jdbc.SnowflakeType.VECTOR
	at java.base/java.lang.Enum.valueOf(Enum.java:273)
	at net.snowflake.client.jdbc.SnowflakeType.valueOf(SnowflakeType.java:23)
	at net.snowflake.client.jdbc.SnowflakeType.fromString(SnowflakeType.java:53)
	at net.snowflake.client.jdbc.SnowflakeUtil.getSnowflakeType(SnowflakeUtil.java:217)
	at net.snowflake.client.jdbc.SnowflakeUtil.extractColumnMetadata(SnowflakeUtil.java:184)
	at net.snowflake.client.jdbc.SnowflakeDatabaseMetaData$4.next(SnowflakeDatabaseMetaData.java:1795)
  1. What did you expect to see?

Get all metadata

  1. Can you set logging to DEBUG and collect the logs?

We could try to reproduce in a test env to provide this if necessary.

  1. What is your Snowflake account identifier, if any? (Optional)

N/A

Hello @aiguofer ,

Thanks for raising the issue.
VECTOR datatype is not supported at present. However, we hope to support it by the end of Q1 this year (#1719). Please note that this is not a committed-to-date, just a rough estimation. Once it’s there, we’ll announce it in the official JDBC driver changelog.

Regards,
Sujan

Awesome thanks!! and thanks for pointing me to the PR, it'll be helpful for converting the value back into arrow :)

fix is released with Snowflake JDBC driver version 3.16.0