According to http://docs.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html#getCatalogs(), MetaImpl.MetaCatalog should expose TABLE_CAT instead of TABLE_CATALOG
Good catch. The "TABLE_CATALOG" field came from MetaImpl.MetaCatalog.tableCatalog (derived by converting camel-case to upper-case with underscores) and renaming it to tableCat solves the problem.
Can you please quickly review that the field names in MetaImpl match the names in the JDBC spec and log any other violations?
Tentative fix here: https://github.com/julianhyde/incubator-calcite/commit/d44ff78d42b0e6e7b8372c38eb360c5de331e445
Em.. on a second look, MetaColumn misses SCOPE_SCHEMA as well. Other major metas (catalog, schema, table, table type, column) are fine.
Fixed in http://git-wip-us.apache.org/repos/asf/incubator-calcite/commit/464fd364.
Li Yang, thanks for checking that we output the right columns according to the JDBC spec. I have fixed the SCOPE_SCHEMA issue as well.
Resolved in release 1.4.0-incubating (2015-08-23)