[ 
https://issues.apache.org/jira/browse/CALCITE-3716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17057482#comment-17057482
 ] 

Julian Hyde commented on CALCITE-3716:
--------------------------------------

How about we do the 'right' thing in ColumnMetaData, which is for schemaName, 
catalogName and tableName to be null if the column has no underlying database 
column? Then translate those nulls to empty string in the JDBC methods.

It seems to a similar situation to ordinal: JDBC mandates that ordinals are 
1-based, but internally we use 0-based.

> ResultSetMetaData.getTableName should return empty string, not null, when 
> column does not map to a table
> --------------------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-3716
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3716
>             Project: Calcite
>          Issue Type: Bug
>          Components: jdbc-driver
>    Affects Versions: 1.21.0
>            Reporter: Julian Hyde
>            Assignee: Jin Xing
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.23.0
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> Per the [JDBC 
> spec|https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSetMetaData.html#getTableName-int-],
>  {{ResultSetMetaData.getTableName}} should return empty string, not null, 
> when column does not map to a table. Similarly getCatalogName, getSchemaName, 
> getColumnName.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to