Hi Guillaume, Thanks for the very detailed analysis.
Yes, I propose to reapply the SEQUOIA-518 fix used in getTable(String) to getTable(String, boolean).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?
I will commit a patch for this. Let me know if this works for you. Thanks again for the work! Emmanuel -- Emmanuel Cecchet Chief Scientific Officer, Continuent Blog: http://emanux.blogspot.com/ Open source: http://www.continuent.org Corporate: http://www.continuent.com Skype: emmanuel_cecchet Cell: +33 687 342 685 _______________________________________________ Sequoia mailing list [email protected] https://forge.continuent.org/mailman/listinfo/sequoia
