Closed talha31093 closed 1 month ago
@talha31093 I have taken your code, and I cannot reproduce the error. Please take a look at the project I have provided with your code - https://github.com/sualeh/schemacrawler-issue1460 Follow the instructions in the README.
Description
Table Not Found because of extra quotes in cases where table name has mixed case Keep schema as null Create a table with mixed case like EngagementsTasks Now try to fetch the table with filter "EngagementsTasks" it will not return anything
It is similar to these issues - https://github.com/schemacrawler/SchemaCrawler/issues/1053#issuecomment-1551716919 As it turns out, mixing lowercase and uppercase characters also triggers the quotes. This is exactly the problem. https://github.com/schemacrawler/SchemaCrawler/issues/1130 https://github.com/schemacrawler/SchemaCrawler/issues/1460
How to Reproduce
Just doing this - new MutableTable(schema, tableName) it returns ""EngagementsTasks"" instead of "EngagementsTasks" and hence, the filter condition tableFilter.test(table) fails when the inclusion rule is set using limitOptionsBuilder.includeTables(Pattern.compile("EngagementsTasks", Pattern.CASE_INSENSITIVE));
I'm using the default schema retrieval options with Identifiers STANDARD
Workarounds that works are:
limitOptionsBuilder.includeTables(Pattern.compile(.tableNamePattern("\"EnagementsTasks\""), Pattern.CASE_INSENSITIVE));
SchemaCrawler Version
16.21.2
Java Version
17
Operating System and Version
MacOs Ventura 13.2.1
Relational Database System and Version
Hubspot
JDBC Driver and Version
Cdata