Changeset: b55fbdb0811b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b55fbdb0811b
Added Files:
sql/test/BugTracker-2018/Tests/concat-str-int.Bug-6583.sql
sql/test/BugTracker-2018/Tests/concat-str-int.Bug-6583.stable.err
sql/test/BugTracker-2018/Tests/concat-str-int.Bug-6583.stable.out
sql/test/BugTracker-2018/Tests/nested-merge-tables.Bug-6585.sql
sql/test/BugTracker-2018/Tests/nested-merge-tables.Bug-6585.stable.err
sql/test/BugTracker-2018/Tests/nested-merge-tables.Bug-6585.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out.int128
sql/test/BugTracker-2018/Tests/sqlitelogictest-case-not-in-count.Bug-6587.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-case-not-in-count.Bug-6587.stable.err
sql/test/BugTracker-2018/Tests/sqlitelogictest-case-not-in-count.Bug-6587.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-complex-expression.Bug-6589.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-complex-expression.Bug-6589.stable.err
sql/test/BugTracker-2018/Tests/sqlitelogictest-complex-expression.Bug-6589.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-count-coalesce-nullif.Bug-6586.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-count-coalesce-nullif.Bug-6586.stable.err
sql/test/BugTracker-2018/Tests/sqlitelogictest-count-coalesce-nullif.Bug-6586.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.stable.err
sql/test/BugTracker-2018/Tests/sqlitelogictest-select-nullif-case.Bug-6579.stable.out
Modified Files:
gdk/gdk_project.c
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_result.c
sql/server/rel_dump.c
sql/server/rel_optimizer.c
sql/server/rel_schema.c
sql/server/rel_select.c
sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.stable.out
sql/test/BugTracker-2008/Tests/auto_coersion_bug.SF-2075157.stable.out.int128
sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.out
sql/test/BugTracker-2018/Tests/All
sql/test/BugTracker-2018/Tests/sqlitelogictest-not-between-wrong.Bug-6569.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-not-between-wrong.Bug-6569.stable.out
sql/test/Dependencies/Tests/Dependencies.stable.out
sql/test/Dependencies/Tests/Dependencies.stable.out.int128
sql/test/Tests/coalesce.stable.out
sql/test/Tests/median_stdev.stable.out
sql/test/Tests/string.stable.out
sql/test/pg_regress/Tests/select_views.stable.out
testing/Mtest.py.in
Branch: remote_auth
Log Message:
Merge with default
diffs (truncated from 1730 to 300 lines):
diff --git a/gdk/gdk_project.c b/gdk/gdk_project.c
--- a/gdk/gdk_project.c
+++ b/gdk/gdk_project.c
@@ -18,7 +18,7 @@
#define project_loop(TYPE) \
static gdk_return \
-project_##TYPE(BAT *bn, BAT *l, BAT *r, int nilcheck) \
+project_##TYPE(BAT *bn, BAT *l, BAT *r, bool nilcheck) \
{ \
oid lo, hi; \
const TYPE *restrict rt; \
@@ -39,11 +39,11 @@ project_##TYPE(BAT *bn, BAT *l, BAT *r,
if (o[lo] < rseq || o[lo] >= rend) { \
if (is_oid_nil(o[lo])) { \
bt[lo] = TYPE##_nil; \
- bn->tnonil = 0; \
- bn->tnil = 1; \
- bn->tsorted = 0; \
- bn->trevsorted = 0; \
- bn->tkey = 0; \
+ bn->tnonil = false; \
+ bn->tnil = true; \
+ bn->tsorted = false; \
+ bn->trevsorted = false; \
+ bn->tkey = false; \
lo++; \
break; \
} else { \
@@ -54,8 +54,8 @@ project_##TYPE(BAT *bn, BAT *l, BAT *r,
v = rt[o[lo] - rseq]; \
bt[lo] = v; \
if (is_##TYPE##_nil(v) && bn->tnonil) { \
- bn->tnonil = 0; \
- bn->tnil = 1; \
+ bn->tnonil = false; \
+ bn->tnil = true; \
lo++; \
break; \
} \
@@ -66,11 +66,11 @@ project_##TYPE(BAT *bn, BAT *l, BAT *r,
if (o[lo] < rseq || o[lo] >= rend) { \
if (is_oid_nil(o[lo])) { \
bt[lo] = TYPE##_nil; \
- bn->tnonil = 0; \
- bn->tnil = 1; \
- bn->tsorted = 0; \
- bn->trevsorted = 0; \
- bn->tkey = 0; \
+ bn->tnonil = false; \
+ bn->tnil = true; \
+ bn->tsorted = false; \
+ bn->trevsorted = false; \
+ bn->tkey = false; \
} else { \
GDKerror("BATproject: does not match
always\n"); \
return GDK_FAIL; \
@@ -110,20 +110,20 @@ project_void(BAT *bn, BAT *l, BAT *r)
bt = (oid *) Tloc(bn, 0);
bn->tsorted = l->tsorted;
bn->trevsorted = l->trevsorted;
- bn->tkey = l->tkey & 1;
- bn->tnonil = 1;
- bn->tnil = 0;
+ bn->tkey = l->tkey;
+ bn->tnonil = true;
+ bn->tnil = false;
rseq = r->hseqbase;
rend = rseq + BATcount(r);
for (lo = 0, hi = lo + BATcount(l); lo < hi; lo++) {
if (o[lo] < rseq || o[lo] >= rend) {
if (is_oid_nil(o[lo])) {
bt[lo] = oid_nil;
- bn->tnonil = 0;
- bn->tnil = 1;
- bn->tsorted = 0;
- bn->trevsorted = 0;
- bn->tkey = 0;
+ bn->tnonil = false;
+ bn->tnil = true;
+ bn->tsorted = false;
+ bn->trevsorted = false;
+ bn->tkey = false;
} else {
GDKerror("BATproject: does not match always\n");
return GDK_FAIL;
@@ -138,7 +138,7 @@ project_void(BAT *bn, BAT *l, BAT *r)
}
static gdk_return
-project_any(BAT *bn, BAT *l, BAT *r, int nilcheck)
+project_any(BAT *bn, BAT *l, BAT *r, bool nilcheck)
{
BUN n;
oid lo, hi;
@@ -158,11 +158,11 @@ project_any(BAT *bn, BAT *l, BAT *r, int
if (o[lo] < rseq || o[lo] >= rend) {
if (is_oid_nil(o[lo])) {
tfastins_nocheck(bn, n, nil, Tsize(bn));
- bn->tnonil = 0;
- bn->tnil = 1;
- bn->tsorted = 0;
- bn->trevsorted = 0;
- bn->tkey = 0;
+ bn->tnonil = false;
+ bn->tnil = true;
+ bn->tsorted = false;
+ bn->trevsorted = false;
+ bn->tkey = false;
} else {
GDKerror("BATproject: does not match always\n");
goto bunins_failed;
@@ -171,8 +171,8 @@ project_any(BAT *bn, BAT *l, BAT *r, int
v = BUNtail(ri, o[lo] - rseq);
tfastins_nocheck(bn, n, v, Tsize(bn));
if (nilcheck && bn->tnonil && cmp(v, nil) == 0) {
- bn->tnonil = 0;
- bn->tnil = 1;
+ bn->tnonil = false;
+ bn->tnil = true;
}
}
}
@@ -189,7 +189,8 @@ BATproject(BAT *l, BAT *r)
BAT *bn;
oid lo, hi;
gdk_return res;
- int tpe = ATOMtype(r->ttype), nilcheck = 1, stringtrick = 0;
+ int tpe = ATOMtype(r->ttype);
+ bool nilcheck = true, stringtrick = false;
BUN lcount = BATcount(l), rcount = BATcount(r);
lng t0 = 0;
@@ -264,26 +265,26 @@ BATproject(BAT *l, BAT *r)
tpe = r->twidth == 1 ? TYPE_bte : (r->twidth == 2 ? TYPE_sht :
(r->twidth == 4 ? TYPE_int : TYPE_lng));
/* int's nil representation is a valid offset, so
* don't check for nils */
- nilcheck = 0;
- stringtrick = 1;
+ nilcheck = false;
+ stringtrick = true;
}
bn = COLnew(l->hseqbase, tpe, BATcount(l), TRANSIENT);
if (bn == NULL)
return NULL;
if (stringtrick) {
/* "string type" */
- bn->tsorted = 0;
- bn->trevsorted = 0;
- bn->tkey = 0;
- bn->tnonil = 0;
+ bn->tsorted = false;
+ bn->trevsorted = false;
+ bn->tkey = false;
+ bn->tnonil = false;
} else {
/* be optimistic, we'll clear these if necessary later */
- bn->tnonil = 1;
- bn->tsorted = 1;
- bn->trevsorted = 1;
- bn->tkey = 1;
+ bn->tnonil = true;
+ bn->tsorted = true;
+ bn->trevsorted = true;
+ bn->tkey = true;
if (l->tnonil && r->tnonil)
- nilcheck = 0; /* don't bother checking: no nils */
+ nilcheck = false; /* don't bother checking: no nils */
if (tpe != TYPE_oid &&
tpe != ATOMstorage(tpe) &&
!ATOMvarsized(tpe) &&
@@ -298,7 +299,7 @@ BATproject(BAT *l, BAT *r)
tpe = ATOMstorage(tpe);
}
}
- bn->tnil = 0;
+ bn->tnil = false;
switch (tpe) {
case TYPE_bte:
@@ -362,18 +363,18 @@ BATproject(BAT *l, BAT *r)
goto bailout;
}
bn->ttype = r->ttype;
- bn->tvarsized = 1;
+ bn->tvarsized = true;
bn->twidth = r->twidth;
bn->tshift = r->tshift;
- bn->tnil = 0; /* we don't know */
+ bn->tnil = false; /* we don't know */
}
/* some properties follow from certain combinations of input
* properties */
if (BATcount(bn) <= 1) {
- bn->tkey = 1;
- bn->tsorted = 1;
- bn->trevsorted = 1;
+ bn->tkey = true;
+ bn->tsorted = true;
+ bn->trevsorted = true;
} else {
bn->tkey = l->tkey && r->tkey;
bn->tsorted = (l->tsorted & r->tsorted) | (l->trevsorted &
r->trevsorted);
@@ -433,8 +434,8 @@ BATprojectchain(BAT **bats)
const void *nil; /* nil representation for last BAT */
BUN p, cnt, off;
oid hseq, tseq;
- int allnil = 0, nonil = 1;
- int stringtrick = 0;
+ bool allnil = false, nonil = true;
+ bool stringtrick = false;
/* count number of participating BATs and allocate some
* temporary work space */
@@ -449,8 +450,7 @@ BATprojectchain(BAT **bats)
tseq = oid_nil; /* initialize, but overwritten before use */
off = 0; /* this will be the BUN offset into last BAT */
for (i = n = 0; b != NULL; n++, i++) {
- if (!b->tnonil)
- nonil = 0; /* not guaranteed without nils */
+ nonil &= b->tnonil; /* not guaranteed without nils */
if (!allnil) {
if (n > 0 && ba[i-1].vals == NULL) {
/* previous BAT was dense-tailed: we will
@@ -491,7 +491,7 @@ BATprojectchain(BAT **bats)
if (b->ttype == TYPE_void &&
is_oid_nil(b->tseqbase)) {
tseq = oid_nil;
- allnil = 1;
+ allnil = true;
} else
ba[i].vals = (const oid *)
Tloc(b, off);
}
@@ -506,7 +506,7 @@ BATprojectchain(BAT **bats)
tseq = oid_nil;
if (b->ttype == TYPE_void &&
is_oid_nil(b->tseqbase))
- allnil = 1;
+ allnil = true;
else
ba[i].vals = (const oid *)
Tloc(b, 0);
}
@@ -523,7 +523,7 @@ BATprojectchain(BAT **bats)
}
assert(n >= 1); /* not too few inputs */
b = bats[-2]; /* the last BAT in the list (bats[-1]==NULL) */
- tpe = b->ttype; /* its type */
+ tpe = ATOMtype(b->ttype); /* its type */
nil = ATOMnilptr(tpe);
if (allnil) {
/* somewhere on the way we encountered a void-nil BAT */
@@ -554,16 +554,16 @@ BATprojectchain(BAT **bats)
cnt > 0 &&
ATOMstorage(b->ttype) == TYPE_str &&
b->batRestricted == BAT_READ) {
- stringtrick = 1;
+ stringtrick = true;
tpe = b->twidth == 1 ? TYPE_bte : (b->twidth == 2 ? TYPE_sht :
(b->twidth == 4 ? TYPE_int : TYPE_lng));
}
- bn = COLnew(hseq, ATOMtype(tpe), cnt, TRANSIENT);
+ bn = COLnew(hseq, tpe, cnt, TRANSIENT);
if (bn == NULL || cnt == 0) {
GDKfree(ba);
return bn;
}
- bn->tnil = bn->tnonil = 0; /* we're not paying attention to this */
+ bn->tnil = bn->tnonil = false; /* we're not paying attention to this */
n = i - 1; /* ba[n] is last BAT */
/* figure out the "other" type, i.e. not compatible with oid */
@@ -618,7 +618,7 @@ BATprojectchain(BAT **bats)
o -= ba[i].hlo;
if (o >= ba[i].cnt) {
if (o == oid_nil - ba[i].hlo) {
- bn->tnil = 1;
+ bn->tnil = true;
o = oid_nil;
break;
}
@@ -642,7 +642,7 @@ BATprojectchain(BAT **bats)
o -= ba[i].hlo;
if (o >= ba[i].cnt) {
if (o == oid_nil - ba[i].hlo) {
- bn->tnil = 1;
+ bn->tnil = true;
o = oid_nil;
break;
}
@@ -674,7 +674,7 @@ BATprojectchain(BAT **bats)
o -= ba[i].hlo;
if (o >= ba[i].cnt) {
if (o == oid_nil - ba[i].hlo) {
- bn->tnil = 1;
+ bn->tnil = true;
v = nil;
o = oid_nil;
break;
@@ -705,7 +705,7 @@ BATprojectchain(BAT **bats)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list