Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
In Drill's JDBC driver, some ResultSetMetaData methods don't return what JDBC specifies they should return.
Some cases:
getTableName(int):
- (JDBC says: table name or "" if not applicable)
- Drill returns null (instead of empty string or table name)
- (Drill indicates "not applicable" even when from named table, e.g., for "SELECT * FROM INFORMATION_SCHEMA.CATALOGS".)
getSchemaName(int):
- (JDBC says: schema name or "" if not applicable)
- Drill returns "--UNKNOWN--" (instead of empty string or schema name)
- (Drill indicates "not applicable" even when from named table, e.g., for "SELECT * FROM INFORMATION_SCHEMA.CATALOGS".)
getCatalogName(int):
- (JDBC says: the name of the catalog for the table in which the given column appears or "" if not applicable)
- Drill returns "--UNKNOWN--" (instead of empty string or catalog name)
- (Drill indicates "not applicable" even when from named table, e.g., for "SELECT * FROM INFORMATION_SCHEMA.CATALOGS".)
isSearchable(int):
- (JDBC says: Indicates whether the designated column can be used in a where clause.)
- Drill returns false.
getColumnClassName(int:
- (JDBC says: the fully-qualified name of the class in the Java programming language that would be used by the method ResultSet.getObject to retrieve the value in the specified column. This is the class name used for custom mapping.)
- Drill returns "none" (instead of the correct class name).
More cases:
getColumnDisplaySize
- (JDBC says (quite ambiguously): the normal maximum number of characters allowed as the width of the designated column)
- Drill always returns 10!
Attachments
Attachments
Issue Links
- Is contained by
-
DRILL-2480 [umbrella] Identify, fix INFORMATION_SCHEMA and JDBC metadata bugs
- Closed
- relates to
-
DRILL-3253 Add test/mock storage plugin providing columns of all data types for testing metadata (etc.)
- Open
-
DRILL-3355 Implement ResultSetMetadata's getPrecision, getScale, getColumnDisplaySize (need RPC-level data)
- Open
- supercedes
-
DRILL-2137 ResultsSetMetaData.getColumnName() returns "none" (rather than right class name)
- Closed
- links to