Skip to content

Conversation

@soumyakanti3578
Copy link
Contributor

What changes were proposed in this pull request?

  1. In GenericJdbcDatabaseAccessor.getQualifiedTableName() quote schema and table names, as the qualified name is used to run queries against different DBs.
  2. In CalcitePlanner.genTableLogicalPlan() remove the double quotes (unescape identifier) from Constants.JDBC_SCHEMA and Constants.JDBC_TABLE
  3. In JdbcStorageHandler.getURIForAuth() unescape Constants.JDBC_TABLE, as otherwise we generate the jdbc string with "
  4. Store quoting characters for different databases in DatabaseType
  5. Helper methods to unescape identifiers
  6. Tests for different DBs with case sensitive schemas and tables.

Why are the changes needed?

We see Exceptions, as shown here:
https://issues.apache.org/jira/browse/HIVE-29308

Does this PR introduce any user-facing change?

No

How was this patch tested?

mvn test -pl itests/qtest -Pitests -Dtest=TestMiniLlapLocalCliDriver -Dtest.output.overwrite=true -Dqfile="jdbc_case_sensitive_postgres.q,jdbc_case_sensitive_mssql.q,jdbc_case_sensitive_mariadb.q,jdbc_case_sensitive_oracle.q"

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants