-
Bug
-
Resolution: Done
-
Major
-
9.2
-
None
PrestoDBMetadataProcessor use 'SHOW CATALOGS', 'SHOW TABLES FROM ...' to load tables from presto, presto default has a system catalog, in my test I only add one mysql catalog
SQL: SHOW CATALOGS +---------+ | Catalog | +---------+ | mysql | | system | +---------+
Note that both mysql and system has schema: information_schema:
SQL: SHOW SCHEMAS FROM mysql +--------------------+ | Schema | +--------------------+ | information_schema | | teiid | +--------------------+ SQL: SHOW SCHEMAS FROM system +--------------------+ | Schema | +--------------------+ | information_schema | | jdbc | | metadata | | runtime | +--------------------+
Schema in different catalog contain the same tables
SQL: SHOW TABLES FROM mysql.information_schema +-------------------------+ | Table | +-------------------------+ | __internal_partitions__ | | columns | | schemata | | tables | | views | +-------------------------+ SQL: SHOW TABLES FROM system.information_schema +-------------------------+ | Table | +-------------------------+ | __internal_partitions__ | | columns | | schemata | | tables | | views | +-------------------------+
Due the table name in both system.information_schema and mysql.information_schema has same table name, the TEIID60013 Duplicate Table through
Exception in thread "main" org.teiid.metadata.DuplicateRecordException: TEIID60013 Duplicate Table __internal_partitions__
at org.teiid.metadata.Schema.addTable(Schema.java:49)
at org.teiid.metadata.MetadataFactory.addTable(MetadataFactory.java:231)
at org.teiid.translator.jdbc.JDBCMetdataProcessor.addTable(JDBCMetdataProcessor.java:368)
at org.teiid.translator.prestodb.PrestoDBMetadataProcessor.addTable(PrestoDBMetadataProcessor.java:147)
at org.teiid.translator.prestodb.PrestoDBMetadataProcessor.getConnectorMetadata(PrestoDBMetadataProcessor.java:74)
at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:306)
at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:69)
at org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96)
at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62)
at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)
at org.teiid.runtime.EmbeddedServer.loadMetadata(EmbeddedServer.java:816)
at org.teiid.runtime.AbstractVDBDeployer.loadMetadata(AbstractVDBDeployer.java:210)
at org.teiid.runtime.EmbeddedServer.deployVDB(EmbeddedServer.java:766)
at org.teiid.runtime.EmbeddedServer.deployVDB(EmbeddedServer.java:707)
at org.teiid.test.teiid4699.TEIID4682Presto.main(TEIID4682Presto.java:41)
- is related to
-
TEIID-4699 Summary of PrestoDB translator issues
- Resolved