Hi again,

AFAICS, the problem is due to the code in
DatabaseSchema.getTable(String tableName, boolean isCaseSensitive):
- if I create a new table with CREATE TABLE "TESTTABLE", the
DatabaseSchema contains a TESTTABLE entry: TESTTABLE=TESTTABLE([id])
using Eclipse debugger;
- the DROP TABLE parser transforms the "TESTTABLE" lookup with a
"testtable" lookup which is not really a problem as we are case
insensitive;
- then in getTable(String, boolean), we call getTable(String) which
tries to get the full name ("testtable") then try by removing leading
and trailing " (so testtable) and don't find anything as we only have
TESTTABLE in the schema;
- then we are back into getTable(String, boolean) and as we are in the
case insensitive mode, we try to iterate through the tables of the
schema to find a case insensitive match but we are only looking for
"TESTTABLE" and it's not present in the schema (we only have
TESTTABLE).

I'm not sure of what we should do to fix this problem but at least we
now know what happens. We probably should be more consistent on what
is stored in the schema and what we try to look for it.

Thoughts on how to solve it?

--
Guillaume

_______________________________________________
Sequoia mailing list
Sequoia@lists.forge.continuent.org
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to