Changeset: 1d7908a34b3b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1d7908a34b3b
Modified Files:
configure.ag
gdk/gdk.h
gdk/gdk_bat.c
gdk/gdk_delta.c
gdk/gdk_search.c
gdk/gdk_search.h
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.single
monetdb5/mal/Tests/dynamicload.malC
monetdb5/mal/Tests/dynamicload.stable.err
monetdb5/mal/mal_listing.c
monetdb5/optimizer/Tests/JPexample.malC
monetdb5/optimizer/Tests/JPexample.stable.out
monetdb5/optimizer/Tests/projectionchain.malC
monetdb5/optimizer/Tests/projectionchain.stable.out
monetdb5/optimizer/opt_pipes.c
monetdb5/optimizer/opt_projectionpath.c
sql/backends/monet5/sql_user.c
sql/benchmarks/ssbm/Tests/04-explain.stable.out
sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/05-explain.stable.out
sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/06-explain.stable.out
sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/07-explain.stable.out
sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/08-explain.stable.out
sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/09-explain.stable.out
sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/11-explain.stable.out
sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/12-explain.stable.out
sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/13-explain.stable.out
sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128
sql/benchmarks/tpch/Tests/02-explain.stable.out
sql/benchmarks/tpch/Tests/03-explain.stable.out
sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
sql/benchmarks/tpch/Tests/05-explain.stable.out
sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit
sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
sql/benchmarks/tpch/Tests/07-explain.stable.out
sql/benchmarks/tpch/Tests/07-explain.stable.out.int128
sql/benchmarks/tpch/Tests/08-explain.stable.out
sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
sql/benchmarks/tpch/Tests/09-explain.stable.out
sql/benchmarks/tpch/Tests/09-explain.stable.out.int128
sql/benchmarks/tpch/Tests/10-explain.stable.out
sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
sql/benchmarks/tpch/Tests/15-explain.stable.out
sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
sql/benchmarks/tpch/Tests/16-explain.stable.out
sql/benchmarks/tpch/Tests/16-explain.stable.out.32bit
sql/benchmarks/tpch/Tests/17-explain.stable.out
sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
sql/benchmarks/tpch/Tests/18-explain.stable.out
sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
sql/benchmarks/tpch/Tests/19-explain.stable.out
sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
sql/benchmarks/tpch/Tests/20-explain.stable.out
sql/benchmarks/tpch/Tests/20-explain.stable.out.32bit
sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
sql/benchmarks/tpch/Tests/21-explain.stable.out
sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit
sql/benchmarks/tpch/Tests/22-explain.stable.out
sql/benchmarks/tpch/Tests/22-explain.stable.out.32bit
sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
sql/server/rel_optimizer.c
sql/server/rel_optimizer.h
sql/server/rel_rel.c
sql/server/rel_rel.h
sql/test/Tests/setoptimizer.stable.err
sql/test/Tests/setoptimizer.stable.out
sql/test/Tests/setoptimizer.stable.out.Windows
testing/Mtest.py.in
Branch: bloomfilters
Log Message:
merge with latest default
diffs (truncated from 2863 to 300 lines):
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -3456,6 +3456,7 @@ for comp in \
'java_control ' \
'java_jdbc ' \
'liblas ' \
+ 'liblzma ' \
'libxml2 ' \
'lidar ' \
'netcdf ' \
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -870,7 +870,7 @@ typedef struct {
varsized:1, /* varsized (1) or fixedsized (0) */
key:2, /* duplicates allowed? */
dense:1, /* OID only: only consecutive values */
- nonil:1, /* nonil isn't propchecked yet */
+ nonil:1, /* there are no nils in the column */
nil:1, /* there is a nil in the column */
sorted:1, /* column is sorted in ascending order */
revsorted:1; /* column is sorted in descending order */
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -1320,7 +1320,7 @@ BUNfnd(BAT *b, const void *v)
return SORTfnd(b, v);
}
bi = bat_iterator(b);
- switch (ATOMstorage(b->ttype)) {
+ switch (ATOMbasetype(b->ttype)) {
case TYPE_bte:
HASHfnd_bte(r, bi, v);
break;
@@ -1328,10 +1328,14 @@ BUNfnd(BAT *b, const void *v)
HASHfnd_sht(r, bi, v);
break;
case TYPE_int:
- case TYPE_flt:
HASHfnd_int(r, bi, v);
break;
+ case TYPE_flt:
+ HASHfnd_flt(r, bi, v);
+ break;
case TYPE_dbl:
+ HASHfnd_dbl(r, bi, v);
+ break;
case TYPE_lng:
HASHfnd_lng(r, bi, v);
break;
diff --git a/gdk/gdk_delta.c b/gdk/gdk_delta.c
--- a/gdk/gdk_delta.c
+++ b/gdk/gdk_delta.c
@@ -171,9 +171,6 @@ BATundo(BAT *b)
bunfirst = b->batDeleted;
bunlast = b->batFirst;
if (bunlast > b->batDeleted) {
- BUN i = bunfirst;
- BAT *bm = BBP_cache(-b->batCacheid);
-
/* elements are 'inserted' => zap properties */
b->hsorted = 0;
b->hrevsorted = 0;
@@ -183,18 +180,7 @@ BATundo(BAT *b)
BATkey(b, FALSE);
if (b->tkey)
BATkey(BATmirror(b), FALSE);
-
- for (p = bunfirst; p < bunlast; p++, i++) {
- ptr h = BUNhead(bi, p);
- ptr t = BUNtail(bi, p);
-
- if (b->H->hash) {
- HASHins(bm, i, h);
- }
- if (b->T->hash) {
- HASHins(b, i, t);
- }
- }
+ HASHremove(b);
}
b->batFirst = b->batDeleted;
BATsetcount(b, b->batInserted);
diff --git a/gdk/gdk_search.c b/gdk/gdk_search.c
--- a/gdk/gdk_search.c
+++ b/gdk/gdk_search.c
@@ -467,24 +467,16 @@ BAThash(BAT *b, BUN masksize)
case TYPE_sht:
starthash(sht);
break;
+ case TYPE_flt:
+ starthash(flt);
+ break;
case TYPE_int:
- case TYPE_flt:
-#if SIZEOF_OID == SIZEOF_INT
- case TYPE_oid:
-#endif
-#if SIZEOF_WRD == SIZEOF_INT
- case TYPE_wrd:
-#endif
starthash(int);
break;
case TYPE_dbl:
+ starthash(dbl);
+ break;
case TYPE_lng:
-#if SIZEOF_OID == SIZEOF_LNG
- case TYPE_oid:
-#endif
-#if SIZEOF_WRD == SIZEOF_LNG
- case TYPE_wrd:
-#endif
starthash(lng);
break;
#ifdef HAVE_HGE
@@ -517,23 +509,15 @@ BAThash(BAT *b, BUN masksize)
finishhash(sht);
break;
case TYPE_int:
- case TYPE_flt:
-#if SIZEOF_OID == SIZEOF_INT
- case TYPE_oid:
-#endif
-#if SIZEOF_WRD == SIZEOF_INT
- case TYPE_wrd:
-#endif
finishhash(int);
break;
+ case TYPE_flt:
+ finishhash(flt);
+ break;
case TYPE_dbl:
+ finishhash(dbl);
+ break;
case TYPE_lng:
-#if SIZEOF_OID == SIZEOF_LNG
- case TYPE_oid:
-#endif
-#if SIZEOF_WRD == SIZEOF_LNG
- case TYPE_wrd:
-#endif
finishhash(lng);
break;
#ifdef HAVE_HGE
diff --git a/gdk/gdk_search.h b/gdk/gdk_search.h
--- a/gdk/gdk_search.h
+++ b/gdk/gdk_search.h
@@ -205,6 +205,8 @@ gdk_export BUN HASHlist(Hash *h, BUN i);
#ifdef HAVE_HGE
#define HASHfnd_hge(x,y,z) HASHfnd_TYPE(x,y,z,hge)
#endif
+#define HASHfnd_flt(x,y,z) HASHfnd_TYPE(x,y,z,flt)
+#define HASHfnd_dbl(x,y,z) HASHfnd_TYPE(x,y,z,dbl)
/*
* A new entry is added with HASHins using the BAT, the BUN index, and
@@ -225,12 +227,6 @@ gdk_export BUN HASHlist(Hash *h, BUN i);
} \
} while (0)
-#define HASHins_oid(h,i,v) \
- do { \
- BUN _c = hash_oid(h,v); \
- HASHputall(h,i,_c); \
- } while (0)
-
/* Functions to perform a binary search on a sorted BAT.
* See gdk_search.c for details. */
gdk_export BUN SORTfnd(BAT *b, const void *v);
diff --git
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
--- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
+++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
@@ -30,16 +30,16 @@ stderr of test 'opt_sql_append` in direc
# 22:58:57 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=rome"
"--port=36275"
# 22:58:57 >
-MAPI = (monetdb) /var/tmp/mtest-12681/.s.monetdb.34697
+MAPI = (monetdb) /var/tmp/mtest-5498/.s.monetdb.31321
QUERY = explain copy into ttt from '\tmp/xyz';
ERROR = !COPY INTO: filename must have absolute path: \tmp/xyz
-MAPI = (monetdb) /var/tmp/mtest-12681/.s.monetdb.34697
+MAPI = (monetdb) /var/tmp/mtest-5498/.s.monetdb.31321
QUERY = explain copy into ttt from 'a:\tmp/xyz';
ERROR = !COPY INTO: filename must have absolute path: a:\tmp/xyz
-MAPI = (monetdb) /var/tmp/mtest-12681/.s.monetdb.34697
+MAPI = (monetdb) /var/tmp/mtest-5498/.s.monetdb.31321
QUERY = explain copy into ttt from '\tmp/xyz';
ERROR = !COPY INTO: filename must have absolute path: \tmp/xyz
-MAPI = (monetdb) /var/tmp/mtest-12681/.s.monetdb.34697
+MAPI = (monetdb) /var/tmp/mtest-5498/.s.monetdb.31321
QUERY = explain copy into ttt from 'Z:/tmp/xyz';
ERROR = !COPY INTO: filename must have absolute path: Z:/tmp/xyz
diff --git
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
--- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
+++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
@@ -56,7 +56,7 @@ Ready.
% def # name
% clob # type
% 541 # length
-[
"optimizer.inline();optimizer.candidates();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.garbageCollector();"
]
+[
"optimizer.inline();optimizer.candidates();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.garbageCollector();"
]
#explain copy into ttt from '/tmp/xyz';
% .explain # table_name
% mal # name
@@ -90,7 +90,7 @@ end user.s4_1;
% def # name
% clob # type
% 564 # length
-[
"optimizer.inline();optimizer.candidates();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.sql_append();optimizer.garbageCollector();"
]
+[
"optimizer.inline();optimizer.candidates();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.sql_append();optimizer.garbageCollector();"
]
#explain copy into ttt from '/tmp/xyz';
% .explain # table_name
% mal # name
diff --git
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.single
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.single
---
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.single
+++
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.single
@@ -56,7 +56,7 @@ Ready.
% def # name
% clob # type
% 541 # length
-[
"optimizer.inline();optimizer.candidates();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.garbageCollector();"
]
+[
"optimizer.inline();optimizer.candidates();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.garbageCollector();"
]
#explain copy into ttt from '/tmp/xyz';
% .explain # table_name
% mal # name
@@ -88,7 +88,7 @@ end user.s4_1;
% def # name
% clob # type
% 564 # length
-[
"optimizer.inline();optimizer.candidates();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.sql_append();optimizer.garbageCollector();"
]
+[
"optimizer.inline();optimizer.candidates();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.aliases();optimizer.pushselect();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.sql_append();optimizer.garbageCollector();"
]
#explain copy into ttt from '/tmp/xyz';
% .explain # table_name
% mal # name
diff --git a/monetdb5/mal/Tests/dynamicload.malC
b/monetdb5/mal/Tests/dynamicload.malC
--- a/monetdb5/mal/Tests/dynamicload.malC
+++ b/monetdb5/mal/Tests/dynamicload.malC
@@ -1,10 +1,10 @@
# examples of non-bindable instructions
+#load unknown library
+library UNKNOWlib;
+
command wrong()
address UNKOWNaddress
comment "Should not be callable";
wrong();
-
-#load unknown library
-library UNKNOWlib;
diff --git a/monetdb5/mal/Tests/dynamicload.stable.err
b/monetdb5/mal/Tests/dynamicload.stable.err
--- a/monetdb5/mal/Tests/dynamicload.stable.err
+++ b/monetdb5/mal/Tests/dynamicload.stable.err
@@ -80,33 +80,21 @@ stderr of test 'dynamicload` in director
# 13:21:38 > "mclient" "-lmal" "-ftest" "-Eutf-8"
"--host=/var/tmp/mtest-18020" "--port=37961"
# 13:21:38 >
-MAPI = (monetdb) /var/tmp/mtest-21455/.s.monetdb.39502
+MAPI = (monetdb) /var/tmp/mtest-6360/.s.monetdb.38700
QUERY = # examples of non-bindable instructions
+ #load unknown library
+ library UNKNOWlib;
+
command wrong()
address UNKOWNaddress
comment "Should not be callable";
wrong();
+ERROR = !TypeException:user.main[3]:object code for command user.wrong missing
+ !TypeException:user.main[3]:'user.wrong' undefined in:
user.wrong();
- #load unknown library
- library UNKNOWlib;
-ERROR = !MALException:MAL.getAddress:address of 'user.UNKOWNaddress' not found
-MAPI = (monetdb) /var/tmp/mtest-21455/.s.monetdb.39502
-QUERY = # examples of non-bindable instructions
-
- command wrong()
- address UNKOWNaddress
- comment "Should not be callable";
-
- wrong();
-
- #load unknown library
- library UNKNOWlib;
-ERROR = !TypeException:user.main[2]:object code for command user.wrong missing
- !TypeException:user.main[2]:'user.wrong' undefined in:
user.wrong();
+# 13:26:24 >
+# 13:26:24 > "Done."
+# 13:26:24 >
-# 13:21:38 >
-# 13:21:38 > "Done."
-# 13:21:38 >
-
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list