The patch applies fine and passes the tests but I need some
clarification on some methods in ColumnReference.
ColumnReference has these class specific methods
getSourceTableName()
getSourceSchemaName() [added by this contribution]
and because it is a ValueNode it also has
getTableName
getSchemaName
Mamta, can you clarify the difference between the getSource*Name methods
and get*Name methods? Eventually as comments in the javadoc for these
methods, but some discussion on the list may be useful.
I'm worried because most of the bugs around correlation names I think
were due to having multiple methods with similar and maybe misleading
names but no clear definition of what they returned.
In this specific case, my gut reaction from the names of the
getSource*Name methods is that they return the actual name of the
underlying table the column comes from. But looking the implementation &
comments of getTableName and getSourceTableName in ColumnReference.java
it seems in this case
select * from a.t as X
that both methods will return X.
Dan.
|