Satheesh Bandaram wrote: > I tried the previously failing create view statement on DB2 that I have > access to. DB2 matches the new behaviour.... View creation passes with > the schema name qualification and fails without. Derby has had issues in > the past, getting confused between current schema and the schema of the > object during compilation. > > But I am not sure if this behavior is desirable. The new behavior has > the schema name in the front for error messages that the user did not > specify. Can cause confusion to users. > > ij> select * from test.s ss (c1, c2, c3, c4) where exists (select *ss.i > *from test.tt); > -ERROR 42X04: Column *'SS.I' *is not in any table in the FROM list or it > appears within a join specification and is outside the scope of the join > specification or it appears in a HAVING clause and is not in the GROUP > BY list. If this is a CREATE or ALTER TABLE statement then 'SS.I' is > not a column in the target table. > +ERROR 42X04: Column *'APP.SS.I'* is not in any table in the FROM list > or it appears within a join specification and is outside the scope of > the join specification or it appears in a HAVING clause and is not in > the GROUP BY list. If this is a CREATE or ALTER TABLE statement then > 'APP.SS.I' is not a column in the target table.
Thanks Sathessh for confirming that the dml162 change is correct. I had the same concern about the error message change, I'm trying a quick change where TableName remembers if it was initialized with a schema name, and then uses that information in its toString() method, so that the above example should only return SS.I. Dan.