LucidDB / luciddb

DEFUNCT: See README
https://github.com/LucidDB/luciddb
Apache License 2.0
53 stars 24 forks source link

[FRG-163] field lookup reports error when joining a regular table with the result of a union #709

Closed dynamobi-build closed 12 years ago

dynamobi-build commented 12 years ago

[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.

dynamobi-build commented 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...

dynamobi-build commented 12 years ago

[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).

dynamobi-build commented 12 years ago

[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;

dynamobi-build commented 12 years ago

[author="zfong", created="Fri, 22 Feb 2008 08:40:09 -0500 (GMT-05:00)"] Fixed in lcs branch in Eigenchange 10593.

dynamobi-build commented 12 years ago

[author="zfong", created="Mon, 10 Mar 2008 07:15:43 -0500 (GMT-05:00)"] Integrated into lu/dev in Eigenchange 10685.

dynamobi-build commented 12 years ago

[author="kvu", created="Mon, 14 Jul 2008 11:31:13 -0500 (GMT-05:00)"] verified as fixed