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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list