Changeset: 150ba22209cb for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/150ba22209cb
Modified Files:
        sql/backends/monet5/rel_bin.c
        sql/test/BugTracker-2024/Tests/CMDgen_group-Bug-7486.test
Branch: default
Log Message:

fixed bug #7486, topn's over referenced relations need to lookup the allready 
constructed relation


diffs (36 lines):

diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -4560,7 +4560,10 @@ rel2bin_topn(backend *be, sql_rel *rel, 
                sql_rel *rl = rel->l;
 
                if (rl->op == op_project) {
-                       sub = rel2bin_project(be, rl, refs, rel);
+                       if (rel_is_ref(rl))
+                               sub = refs_find_rel(refs, rl);
+                       else
+                               sub = rel2bin_project(be, rl, refs, rel);
                } else {
                        sub = subrel_bin(be, rl, refs);
                }
diff --git a/sql/test/BugTracker-2024/Tests/CMDgen_group-Bug-7486.test 
b/sql/test/BugTracker-2024/Tests/CMDgen_group-Bug-7486.test
--- a/sql/test/BugTracker-2024/Tests/CMDgen_group-Bug-7486.test
+++ b/sql/test/BugTracker-2024/Tests/CMDgen_group-Bug-7486.test
@@ -5,7 +5,6 @@ NULL
 NULL
 NULL
 
-skipif knownfail
 query I nosort
 WITH x AS ( SELECT * FROM generate_series ( 32989 , 8100 ) EXCEPT SELECT * 
FROM generate_series ( 44 , 3 ) ) SELECT CASE WHEN NULL IN ( 69 , MAX ( CASE 
WHEN 97 THEN 66 END ) OVER ( ) + ( SELECT COUNT ( * ) ) ) THEN 41 END FROM x 
LIMIT 3
 ----
@@ -13,8 +12,7 @@ NULL
 NULL
 NULL
 
-skipif knownfail
-query I nosort
+statement error GDK reported error: BATsubcross: more than one match
 SELECT ( WITH x AS ( SELECT * FROM generate_series ( 32989 , 8100 ) EXCEPT 
SELECT * FROM generate_series ( 44 , 3 ) ) SELECT CASE WHEN NULL IN ( 69 , MAX 
( CASE WHEN 97 THEN 66 END ) OVER ( ) + ( SELECT COUNT ( * ) ) ) THEN 41 END 
FROM x )
 ----
 
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to