Anurag Mantripragada has uploaded a new patch set (#3). ( http://gerrit.cloudera.org:8080/15213 )
Change subject: IMPALA-9256: Refactor constraint information into a separate class. ...................................................................... IMPALA-9256: Refactor constraint information into a separate class. This change refactors the primary keys and foreign keys into a SqlConstraints class since they are almost always used together. This work also helps extend the constraints class to include other constraints we may support in the future. (Ex: Unique constraints.) This patch also: - Fixes a bug in the MetadataOp.getPrimaryKeys() and getForeignKeys() which returned incorrect results. The tests did not catch this before beacuse we did not have tests to verify individual resultset rows. The patch modifies these tests. - Fixes a bug in foreign key constraint name generation that was causing foreign keys corresponding to a composite primary key get different foreign key constraint names instead of the same name. - Introduces a canonical representation for foreign keys to prevent bugs like IMPALA-9372 which can occur due to HMS returning results in inconsistent ways. Testing: - Fixed the tests to work with the new behavior. - Ran all the PK/FK tests. Change-Id: I3f1c441c24df84d2d0791ffe94dff60d039a3341 --- M be/generated-sources/gen-cpp/CMakeLists.txt M common/thrift/CMakeLists.txt M common/thrift/CatalogObjects.thrift M common/thrift/CatalogService.thrift A common/thrift/SqlConstraints.thrift M fe/src/main/java/org/apache/impala/analysis/TableDef.java M fe/src/main/java/org/apache/impala/catalog/FeFsTable.java M fe/src/main/java/org/apache/impala/catalog/FeTable.java M fe/src/main/java/org/apache/impala/catalog/HdfsTable.java A fe/src/main/java/org/apache/impala/catalog/SqlConstraints.java M fe/src/main/java/org/apache/impala/catalog/Table.java M fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java M fe/src/main/java/org/apache/impala/catalog/local/DirectMetaProvider.java M fe/src/main/java/org/apache/impala/catalog/local/LocalFsTable.java M fe/src/main/java/org/apache/impala/catalog/local/LocalTable.java M fe/src/main/java/org/apache/impala/catalog/local/MetaProvider.java M fe/src/main/java/org/apache/impala/service/Frontend.java M fe/src/main/java/org/apache/impala/service/MetadataOp.java M fe/src/main/java/org/apache/impala/util/MetaStoreUtil.java M fe/src/test/java/org/apache/impala/catalog/CatalogTest.java M fe/src/test/java/org/apache/impala/catalog/PartialCatalogInfoTest.java M fe/src/test/java/org/apache/impala/catalog/local/LocalCatalogTest.java M fe/src/test/java/org/apache/impala/service/JdbcTest.java M tests/hs2/test_hs2.py 24 files changed, 395 insertions(+), 344 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/13/15213/3 -- To view, visit http://gerrit.cloudera.org:8080/15213 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3f1c441c24df84d2d0791ffe94dff60d039a3341 Gerrit-Change-Number: 15213 Gerrit-PatchSet: 3 Gerrit-Owner: Anurag Mantripragada <anu...@cloudera.com> Gerrit-Reviewer: Anurag Mantripragada <anu...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Norbert Luksa <norbert.lu...@cloudera.com> Gerrit-Reviewer: Quanlong Huang <huangquanl...@gmail.com>