If we follow Dan's suggestion of using TableName for correlation names, then the allTableName here should not be a string... If a correlation name is "S1.T1", then the tableName part of TableName is S1.T1 and schema name is NULL. If a correlation name s1.t1, then tableName would be S1 and schemaName is T1. We would then compare this allTableName, which is a TableName instance, with fromTable's TableName, using it's equals() method.


Shreyas Kaushik (JIRA) wrote:
     [ http://nagoya.apache.org/jira/browse/DERBY-13?page=comments#action_57085 ]
Shreyas Kaushik commented on DERBY-13:

In response to Sateesh's comment:

Here in this method the allTableName is just a String and we cannot know the schema name for that table. Only for the table in the from list can the schema be known. So it is still a compile / bind time issue.

Quoted names with embedded period mishandled in from list

         Key: DERBY-13
         URL: http://nagoya.apache.org/jira/browse/DERBY-13
     Project: Derby
        Type: Bug
  Components: SQL
    Reporter: Ramandeep Kaur
    Priority: Minor
 Attachments: Derby-13.patch

Opening this bug on behalf of Satheesh Bandaram
The compiler mishandles quoted names with embedded periods when 
checking uniqueness of table names in the from list of a 
SELECT. Consider the following SQL:
  create table "S1.T1" (id int not null primary key, d1 int);
  create schema s1;
  create table s1.t1 (id int not null primary key, d2 int);
  select * from s1.t1, "S1.T1" where s1.t1.id = "S1.T1".id;
Derby throws an error on the final SELECT statement:
"ERROR 42X09: The table or alias name 'S1.T1' is used more than 
once in the FROM list". However s1.t1 and "S1.T1" are different