SNOW-981505: SNOW-766845 getColumns with table name doesn't return columns for dynamic tables
Closed this issue · 1 comments
Please answer these questions before submitting your issue.
In order to accurately debug the issue this information is required. Thanks!
-
What version of JDBC driver are you using?
3.14.3 -
What operating system and processor architecture are you using?
Locally? Mac M1 (ARM) -
What version of Java are you using?
11 -
What did you do?
I'm using the getColumns method, and when I provide it withcatalog, schemaPattern, tablenamePattern
andnil
forcolumnNamePattern
, wheretablenamePattern
is the name of a dynamic table. -
What did you expect to see?
I expected the method to return me a list of columns for the dynamic table, but instead I got nothing.
Note that I tried calling without the tablenamePattern
and the result contains the columns of dynamic table
- Can you set logging to DEBUG and collect the logs?
- What is your Snowflake account identifier, if any? (Optional)
thanks for raising this issue and apologies for not getting back faster, we're trying to get better going forward.
So the API call to
getColumns(String catalog=<dbname>, String schemaPattern=<schemaname>, String tableNamePattern=<tablename>, String columnNamePattern=null, boolean extendedSet=false
translates to Snowflake SQL query in JDBC driver
2023-11-30 09:32:27.152 n.s.c.core.SFStatement FINE execute:767 - execute: show /* JDBC:DatabaseMetaData.getColumns() */ columns in table "<dbname>"."<schemaname>"."<tablename>"
and it turned out, we had a gap on the backend where the columns for dynamic tables really weren't properly showed when a SHOW COLUMNS
was issued on them. This was fixed with Snowflake 8.1 a couple months back.
Marking this one as closed for now, but if it still doesn't work for you, do comment please and I can reopen.