Changeset: 1c1bd8eb99cc for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1c1bd8eb99cc
Added Files:
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-select-range-null.Bug-6514.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-aggregation-count.Bug-6510.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-mal-function-generation.Bug-6513.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-select-not-between.Bug-6511.sql
Modified Files:
        gdk/gdk_select.c
        monetdb5/optimizer/opt_candidates.c
        sql/test/BugTracker-2017/Tests/All
        sql/test/BugTracker-2018/Tests/All
Branch: default
Log Message:

Merge with Jul2017 branch.


diffs (115 lines):

diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -2045,14 +2045,14 @@ rangejoin(BAT *r1, BAT *r2, BAT *l, BAT 
                                        high = use_orderidx? ORDERfndfirst(l, 
vrh): SORTfndfirst(l, vrh);
                        } else {
                                assert(l->trevsorted);
-                               if (li)
-                                       low = SORTfndlast(l, vrh);
-                               else
+                               if (hi)
                                        low = SORTfndfirst(l, vrh);
-                               if (hi)
+                               else
+                                       low = SORTfndlast(l, vrh);
+                               if (li)
+                                       high = SORTfndlast(l, vrl);
+                               else
                                        high = SORTfndfirst(l, vrl);
-                               else
-                                       high = SORTfndlast(l, vrl);
                        }
                        if (high <= low)
                                continue;
@@ -2643,7 +2643,7 @@ rangejoin(BAT *r1, BAT *r2, BAT *l, BAT 
        }
        r2->tseqbase =  r2->tdense ? cnt > 0 ? dst2[0] : 0 : oid_nil;
        ALGODEBUG fprintf(stderr, "#rangejoin(l=%s,rl=%s,rh=%s)="
-                         "(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s\n",
+                         "(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
                          BATgetId(l), BATgetId(rl), BATgetId(rh),
                          BATgetId(r1), BATcount(r1),
                          r1->tsorted ? "-sorted" : "",
diff --git a/monetdb5/optimizer/opt_candidates.c 
b/monetdb5/optimizer/opt_candidates.c
--- a/monetdb5/optimizer/opt_candidates.c
+++ b/monetdb5/optimizer/opt_candidates.c
@@ -54,10 +54,6 @@ OPTcandidatesImplementation(Client cntxt
                                setVarCList(mb,getArg(p,0));
                        else if(getFunctionId(p) == firstnRef )
                                setVarCList(mb,getArg(p,0));
-                       else if(getFunctionId(p) == mergecandRef )
-                               setVarCList(mb,getArg(p,0));
-                       else if(getFunctionId(p) == intersectcandRef )
-                               setVarCList(mb,getArg(p,0));
                        else if(getFunctionId(p) == subsliceRef )
                                setVarCList(mb,getArg(p,0));
                }
@@ -73,6 +69,9 @@ OPTcandidatesImplementation(Client cntxt
                        if (getFunctionId(p) == subgroupRef || getFunctionId(p) 
== subgroupdoneRef ||
                            getFunctionId(p) == groupRef || getFunctionId(p) == 
groupdoneRef)
                                setVarCList(mb, getArg(p, 1));
+               } else if (getModuleId(p) == batRef) {
+                       if (getFunctionId(p) == mergecandRef || 
getFunctionId(p) == intersectcandRef)
+                               setVarCList(mb,getArg(p,0));
                }
        }
 
diff --git a/sql/test/BugTracker-2018/Tests/All 
b/sql/test/BugTracker-2018/Tests/All
--- a/sql/test/BugTracker-2018/Tests/All
+++ b/sql/test/BugTracker-2018/Tests/All
@@ -1,1 +1,5 @@
 HAVE_LIBPY?pyUDF-crash.Bug-6508
+sqlitelogictest-wrong-aggregation-count.Bug-6510
+sqlitelogictest-wrong-select-not-between.Bug-6511
+sqlitelogictest-wrong-mal-function-generation.Bug-6513
+sqlitelogictest-select-range-null.Bug-6514
diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-range-null.Bug-6514.sql 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-range-null.Bug-6514.sql
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-select-range-null.Bug-6514.sql
@@ -0,0 +1,11 @@
+CREATE TABLE tab1(col0 INTEGER, col1 INTEGER, col2 INTEGER);
+INSERT INTO tab1 VALUES(51,14,96);
+INSERT INTO tab1 VALUES(85,5,59);
+INSERT INTO tab1 VALUES(91,47,68);
+SELECT ALL col1 FROM tab1 WHERE NULL <= NULL;
+SELECT ALL col1 FROM tab1 WHERE NULL < NULL;
+SELECT ALL col1 FROM tab1 WHERE NULL > NULL;
+SELECT ALL col1 FROM tab1 WHERE NULL >= NULL;
+SELECT ALL col1 FROM tab1 WHERE NULL <> NULL;
+SELECT ALL col1 FROM tab1 WHERE NULL = NULL;
+DROP TABLE tab1;
diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-aggregation-count.Bug-6510.sql
 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-aggregation-count.Bug-6510.sql
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-aggregation-count.Bug-6510.sql
@@ -0,0 +1,6 @@
+CREATE TABLE tab1(col0 INTEGER, col1 INTEGER, col2 INTEGER);
+INSERT INTO tab1 VALUES(51,14,96);
+INSERT INTO tab1 VALUES(85,5,59);
+INSERT INTO tab1 VALUES(91,47,68);
+SELECT ALL COUNT ( DISTINCT - 34 ) * - COUNT ( * ) AS col2 FROM tab1 WHERE + 
col1 IS NULL;
+DROP TABLE tab1;
diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-mal-function-generation.Bug-6513.sql
 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-mal-function-generation.Bug-6513.sql
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-mal-function-generation.Bug-6513.sql
@@ -0,0 +1,6 @@
+CREATE TABLE tab0(col0 INTEGER, col1 INTEGER, col2 INTEGER);
+INSERT INTO tab0 VALUES(97,1,99);
+INSERT INTO tab0 VALUES(15,81,47);
+INSERT INTO tab0 VALUES(87,21,10);
+SELECT DISTINCT - + col2 * 68 * - + 22 FROM tab0 AS cor0;
+DROP TABLE tab0;
diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-select-not-between.Bug-6511.sql
 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-select-not-between.Bug-6511.sql
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-select-not-between.Bug-6511.sql
@@ -0,0 +1,6 @@
+CREATE TABLE tab2(col0 INTEGER, col1 INTEGER, col2 INTEGER);
+INSERT INTO tab2 VALUES(64,77,40);
+INSERT INTO tab2 VALUES(75,67,58);
+INSERT INTO tab2 VALUES(46,51,23);
+SELECT ALL - col0 / col0 FROM tab2 cor0 WHERE - col0 NOT BETWEEN ( + col1 + - 
0 ) AND ( NULL );
+DROP TABLE tab2;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to