Closed dynamobi-build closed 12 years ago
[author="jvs", created="Mon, 31 Jul 2006 14:12:46 -0500 (GMT-05:00)"] Just in case you happen to see the cause of this while you're digging around in there...
[author="jvs", created="Sat, 26 Jan 2008 22:51:28 -0500 (GMT-05:00)"]
Same problem for joins on top of other set operators (intersect/except).
[author="jvs", created="Sat, 26 Jan 2008 22:57:15 -0500 (GMT-05:00)"]
Workaround is to add a dummy layer of insulation:
select * from (select * from (select * from t1 union select * from t2)), t3;
[author="zfong", created="Fri, 22 Feb 2008 08:40:09 -0500 (GMT-05:00)"] Fixed in lcs branch in Eigenchange 10593.
[author="zfong", created="Mon, 10 Mar 2008 07:15:43 -0500 (GMT-05:00)"] Integrated into lu/dev in Eigenchange 10685.
[author="kvu", created="Mon, 14 Jul 2008 11:31:13 -0500 (GMT-05:00)"] verified as fixed
[reporter="rchen", created="Mon, 3 Jul 2006 12:30:30 -0500 (GMT-05:00)"] create table t1 (a integer);
create table t2 (b integer);
create table t3 (c integer);
select * from (select * from t1 union select * from t2), t3;
Error: java.lang.AssertionError: Internal error: Type 'RecordType(INTEGER B)' has no field 'C' (state=,code=0)
Looking up T3.C failed. The problem is that
SqlToRelConverter->convertIdentifier->lookupExp(T3.C) returns T2.B.