Uploaded image for project: 'Tajo'
  1. Tajo
  2. TAJO-745

APIs in TajoClient and JDBC should be case sensitive.

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.8.0, 0.9.0
    • Fix Version/s: 0.8.0, 0.9.0
    • Component/s: Java Client
    • Labels:
      None

      Description

      Identifiers that APIs in TajoClient and Tajo JDBC driver take are normalized in client API side. So, identifiers composed of upper and lower mixed characters should be used with double quote ("). This convention is different from existing JDBC driver's convention. It makes ugly code when users use TajoClient.

      This patch changes their APIs to be case sensitive. In addition, this patch adds some missing JDBC APIs and fixes wrong behaviors of getTables() and getColumns() in JDBC APIs.

      1. TAJO-745_2.patch
        89 kB
        Hyunsik Choi
      2. TAJO-745.patch
        89 kB
        Hyunsik Choi

        Activity

        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Tajo-0.8.0-build #68 (See https://builds.apache.org/job/Tajo-0.8.0-build/68/)
        TAJO-745: failure of INSERT INTO may remove the target table. (hyunsik) (hyunsik: rev 27371ca218a284f941e63793a03de440b558989e)

        • CHANGES.txt
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Tajo-0.8.0-build #68 (See https://builds.apache.org/job/Tajo-0.8.0-build/68/ ) TAJO-745 : failure of INSERT INTO may remove the target table. (hyunsik) (hyunsik: rev 27371ca218a284f941e63793a03de440b558989e) CHANGES.txt tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Tajo-master-build #169 (See https://builds.apache.org/job/Tajo-master-build/169/)
        TAJO-745: failure of INSERT INTO may remove the target table. (hyunsik) (hyunsik: rev 38f5316af784aee4f427ee0cc500a7ad2fc35710)

        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java
        • CHANGES.txt
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Tajo-master-build #169 (See https://builds.apache.org/job/Tajo-master-build/169/ ) TAJO-745 : failure of INSERT INTO may remove the target table. (hyunsik) (hyunsik: rev 38f5316af784aee4f427ee0cc500a7ad2fc35710) tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java CHANGES.txt
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Tajo-0.8.0-build #66 (See https://builds.apache.org/job/Tajo-0.8.0-build/66/)
        TAJO-745: APIs in TajoClient and JDBC should be case sensitive. (hyunsik) (hyunsik: rev 0f696faec04bdf5b8ad36e4de1ff768a7a6983b0)

        • tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result
        • tajo-core/tajo-core-backend/src/test/resources/results/TestTajoDatabaseMetaData/getTables2.result
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoDatabaseMetaData.java
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/Column.java
        • CHANGES.txt
        • tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinBroadcast.java
        • tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java
        • tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDriver.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestTajoDatabaseMetaData/getTables1.result
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java
        • tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoStatement.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java
        • tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestAlterTable/alter_table_rename_table_ddl.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/LikePredicateEval.java
        • tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java
        • tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Tajo-0.8.0-build #66 (See https://builds.apache.org/job/Tajo-0.8.0-build/66/ ) TAJO-745 : APIs in TajoClient and JDBC should be case sensitive. (hyunsik) (hyunsik: rev 0f696faec04bdf5b8ad36e4de1ff768a7a6983b0) tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result tajo-core/tajo-core-backend/src/test/resources/results/TestTajoDatabaseMetaData/getTables2.result tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoDatabaseMetaData.java tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/Column.java CHANGES.txt tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinBroadcast.java tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDriver.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java tajo-core/tajo-core-backend/src/test/resources/results/TestTajoDatabaseMetaData/getTables1.result tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoStatement.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java tajo-core/tajo-core-backend/src/test/resources/queries/TestAlterTable/alter_table_rename_table_ddl.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/LikePredicateEval.java tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Tajo-master-build #166 (See https://builds.apache.org/job/Tajo-master-build/166/)
        TAJO-745: APIs in TajoClient and JDBC should be case sensitive. (hyunsik) (hyunsik: rev 838b52227af33e878ad08e00b8b19a4cd3fa8b26)

        • tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestAlterTable/alter_table_rename_table_ddl.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/LikePredicateEval.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestTajoDatabaseMetaData/getTables1.result
        • tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/Column.java
        • tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoStatement.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result
        • tajo-core/tajo-core-backend/src/test/resources/results/TestTajoDatabaseMetaData/getTables2.result
        • CHANGES.txt
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinBroadcast.java
        • tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoDatabaseMetaData.java
        • tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java
        • tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java
        • tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDriver.java
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Tajo-master-build #166 (See https://builds.apache.org/job/Tajo-master-build/166/ ) TAJO-745 : APIs in TajoClient and JDBC should be case sensitive. (hyunsik) (hyunsik: rev 838b52227af33e878ad08e00b8b19a4cd3fa8b26) tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java tajo-core/tajo-core-backend/src/test/resources/queries/TestAlterTable/alter_table_rename_table_ddl.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/LikePredicateEval.java tajo-core/tajo-core-backend/src/test/resources/results/TestTajoDatabaseMetaData/getTables1.result tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/Column.java tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoStatement.java tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result tajo-core/tajo-core-backend/src/test/resources/results/TestTajoDatabaseMetaData/getTables2.result CHANGES.txt tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinBroadcast.java tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoDatabaseMetaData.java tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDriver.java tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java
        Hide
        hyunsik Hyunsik Choi added a comment -

        This issue got +1 on RB. committed it to master and branch-0.8.0. Thank you Jaehwa Jung very much for quick review.

        Show
        hyunsik Hyunsik Choi added a comment - This issue got +1 on RB. committed it to master and branch-0.8.0. Thank you Jaehwa Jung very much for quick review.
        Hide
        hyunsik Hyunsik Choi added a comment -

        I rebased the patch against the latest revision.

        Show
        hyunsik Hyunsik Choi added a comment - I rebased the patch against the latest revision.

          People

          • Assignee:
            hyunsik Hyunsik Choi
            Reporter:
            hyunsik Hyunsik Choi
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development