Changeset: b5db3aa89b84 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b5db3aa89b84 Removed Files: monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows.single monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.single sql/benchmarks/ssbm/Tests/01-explain.SQL.py.src sql/benchmarks/ssbm/Tests/01-explain.reqtests sql/benchmarks/ssbm/Tests/01-explain.stable.err sql/benchmarks/ssbm/Tests/01-explain.stable.out sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/01-plan.SQL.py.src sql/benchmarks/ssbm/Tests/01-plan.reqtests sql/benchmarks/ssbm/Tests/01-plan.stable.err sql/benchmarks/ssbm/Tests/01-plan.stable.out sql/benchmarks/ssbm/Tests/02-explain.SQL.py.src sql/benchmarks/ssbm/Tests/02-explain.reqtests sql/benchmarks/ssbm/Tests/02-explain.stable.err sql/benchmarks/ssbm/Tests/02-explain.stable.out sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/02-plan.SQL.py.src sql/benchmarks/ssbm/Tests/02-plan.reqtests sql/benchmarks/ssbm/Tests/02-plan.stable.err sql/benchmarks/ssbm/Tests/02-plan.stable.out sql/benchmarks/ssbm/Tests/03-explain.SQL.py.src sql/benchmarks/ssbm/Tests/03-explain.reqtests sql/benchmarks/ssbm/Tests/03-explain.stable.err sql/benchmarks/ssbm/Tests/03-explain.stable.out sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/03-plan.SQL.py.src sql/benchmarks/ssbm/Tests/03-plan.reqtests sql/benchmarks/ssbm/Tests/03-plan.stable.err sql/benchmarks/ssbm/Tests/03-plan.stable.out sql/benchmarks/ssbm/Tests/04-explain.SQL.py.src sql/benchmarks/ssbm/Tests/04-explain.reqtests sql/benchmarks/ssbm/Tests/04-explain.stable.err sql/benchmarks/ssbm/Tests/04-explain.stable.out sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/04-plan.SQL.py.src sql/benchmarks/ssbm/Tests/04-plan.reqtests sql/benchmarks/ssbm/Tests/04-plan.stable.err sql/benchmarks/ssbm/Tests/04-plan.stable.out sql/benchmarks/ssbm/Tests/05-explain.SQL.py.src sql/benchmarks/ssbm/Tests/05-explain.reqtests sql/benchmarks/ssbm/Tests/05-explain.stable.err sql/benchmarks/ssbm/Tests/05-explain.stable.out sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/05-plan.SQL.py.src sql/benchmarks/ssbm/Tests/05-plan.reqtests sql/benchmarks/ssbm/Tests/05-plan.stable.err sql/benchmarks/ssbm/Tests/05-plan.stable.out sql/benchmarks/ssbm/Tests/06-explain.SQL.py.src sql/benchmarks/ssbm/Tests/06-explain.reqtests sql/benchmarks/ssbm/Tests/06-explain.stable.err sql/benchmarks/ssbm/Tests/06-explain.stable.out sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/06-plan.SQL.py.src sql/benchmarks/ssbm/Tests/06-plan.reqtests sql/benchmarks/ssbm/Tests/06-plan.stable.err sql/benchmarks/ssbm/Tests/06-plan.stable.out sql/benchmarks/ssbm/Tests/07-explain.SQL.py.src sql/benchmarks/ssbm/Tests/07-explain.reqtests sql/benchmarks/ssbm/Tests/07-explain.stable.err sql/benchmarks/ssbm/Tests/07-explain.stable.out sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/07-plan.SQL.py.src sql/benchmarks/ssbm/Tests/07-plan.reqtests sql/benchmarks/ssbm/Tests/07-plan.stable.err sql/benchmarks/ssbm/Tests/07-plan.stable.out sql/benchmarks/ssbm/Tests/08-explain.SQL.py.src sql/benchmarks/ssbm/Tests/08-explain.reqtests sql/benchmarks/ssbm/Tests/08-explain.stable.err sql/benchmarks/ssbm/Tests/08-explain.stable.out sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/08-plan.SQL.py.src sql/benchmarks/ssbm/Tests/08-plan.reqtests sql/benchmarks/ssbm/Tests/08-plan.stable.err sql/benchmarks/ssbm/Tests/08-plan.stable.out sql/benchmarks/ssbm/Tests/09-explain.SQL.py.src sql/benchmarks/ssbm/Tests/09-explain.reqtests sql/benchmarks/ssbm/Tests/09-explain.stable.err sql/benchmarks/ssbm/Tests/09-explain.stable.out sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/09-plan.SQL.py.src sql/benchmarks/ssbm/Tests/09-plan.reqtests sql/benchmarks/ssbm/Tests/09-plan.stable.err sql/benchmarks/ssbm/Tests/09-plan.stable.out sql/benchmarks/ssbm/Tests/10-explain.SQL.py.src sql/benchmarks/ssbm/Tests/10-explain.reqtests sql/benchmarks/ssbm/Tests/10-explain.stable.err sql/benchmarks/ssbm/Tests/10-explain.stable.out sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/10-plan.SQL.py.src sql/benchmarks/ssbm/Tests/10-plan.reqtests sql/benchmarks/ssbm/Tests/10-plan.stable.err sql/benchmarks/ssbm/Tests/10-plan.stable.out sql/benchmarks/ssbm/Tests/11-explain.SQL.py.src sql/benchmarks/ssbm/Tests/11-explain.reqtests sql/benchmarks/ssbm/Tests/11-explain.stable.err sql/benchmarks/ssbm/Tests/11-explain.stable.out sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/11-plan.SQL.py.src sql/benchmarks/ssbm/Tests/11-plan.reqtests sql/benchmarks/ssbm/Tests/11-plan.stable.err sql/benchmarks/ssbm/Tests/11-plan.stable.out sql/benchmarks/ssbm/Tests/12-explain.SQL.py.src sql/benchmarks/ssbm/Tests/12-explain.reqtests sql/benchmarks/ssbm/Tests/12-explain.stable.err sql/benchmarks/ssbm/Tests/12-explain.stable.out sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/12-plan.SQL.py.src sql/benchmarks/ssbm/Tests/12-plan.reqtests sql/benchmarks/ssbm/Tests/12-plan.stable.err sql/benchmarks/ssbm/Tests/12-plan.stable.out sql/benchmarks/ssbm/Tests/13-explain.SQL.py.src sql/benchmarks/ssbm/Tests/13-explain.reqtests sql/benchmarks/ssbm/Tests/13-explain.stable.err sql/benchmarks/ssbm/Tests/13-explain.stable.out sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/13-plan.SQL.py.src sql/benchmarks/ssbm/Tests/13-plan.reqtests sql/benchmarks/ssbm/Tests/13-plan.stable.err sql/benchmarks/ssbm/Tests/13-plan.stable.out sql/benchmarks/tpch/Tests/01-explain.SQL.py.src sql/benchmarks/tpch/Tests/01-explain.reqtests sql/benchmarks/tpch/Tests/01-explain.stable.err sql/benchmarks/tpch/Tests/01-explain.stable.out sql/benchmarks/tpch/Tests/01-explain.stable.out.32bit sql/benchmarks/tpch/Tests/01-explain.stable.out.int128 sql/benchmarks/tpch/Tests/01-plan.SQL.py.src sql/benchmarks/tpch/Tests/01-plan.reqtests sql/benchmarks/tpch/Tests/01-plan.stable.err sql/benchmarks/tpch/Tests/01-plan.stable.out sql/benchmarks/tpch/Tests/01-plan.stable.out.int128 sql/benchmarks/tpch/Tests/02-explain.SQL.py.src sql/benchmarks/tpch/Tests/02-explain.reqtests sql/benchmarks/tpch/Tests/02-explain.stable.err sql/benchmarks/tpch/Tests/02-explain.stable.out sql/benchmarks/tpch/Tests/02-explain.stable.out.32bit sql/benchmarks/tpch/Tests/02-plan.SQL.py.src sql/benchmarks/tpch/Tests/02-plan.reqtests sql/benchmarks/tpch/Tests/02-plan.stable.err sql/benchmarks/tpch/Tests/02-plan.stable.out sql/benchmarks/tpch/Tests/02-plan.stable.out.32bit sql/benchmarks/tpch/Tests/03-explain.SQL.py.src sql/benchmarks/tpch/Tests/03-explain.reqtests sql/benchmarks/tpch/Tests/03-explain.stable.err sql/benchmarks/tpch/Tests/03-explain.stable.out sql/benchmarks/tpch/Tests/03-explain.stable.out.int128 sql/benchmarks/tpch/Tests/03-plan.SQL.py.src sql/benchmarks/tpch/Tests/03-plan.reqtests sql/benchmarks/tpch/Tests/03-plan.stable.err sql/benchmarks/tpch/Tests/03-plan.stable.out sql/benchmarks/tpch/Tests/03-plan.stable.out.int128 sql/benchmarks/tpch/Tests/04-explain.SQL.py.src sql/benchmarks/tpch/Tests/04-explain.reqtests sql/benchmarks/tpch/Tests/04-explain.stable.err sql/benchmarks/tpch/Tests/04-explain.stable.out sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit sql/benchmarks/tpch/Tests/04-plan.SQL.py.src sql/benchmarks/tpch/Tests/04-plan.reqtests sql/benchmarks/tpch/Tests/04-plan.stable.err sql/benchmarks/tpch/Tests/04-plan.stable.out sql/benchmarks/tpch/Tests/05-explain.SQL.py.src sql/benchmarks/tpch/Tests/05-explain.reqtests sql/benchmarks/tpch/Tests/05-explain.stable.err 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/05-plan.SQL.py.src sql/benchmarks/tpch/Tests/05-plan.reqtests sql/benchmarks/tpch/Tests/05-plan.stable.err sql/benchmarks/tpch/Tests/05-plan.stable.out sql/benchmarks/tpch/Tests/05-plan.stable.out.int128 sql/benchmarks/tpch/Tests/06-explain.SQL.py.src sql/benchmarks/tpch/Tests/06-explain.reqtests sql/benchmarks/tpch/Tests/06-explain.stable.err sql/benchmarks/tpch/Tests/06-explain.stable.out sql/benchmarks/tpch/Tests/06-explain.stable.out.int128 sql/benchmarks/tpch/Tests/06-plan.SQL.py.src sql/benchmarks/tpch/Tests/06-plan.reqtests sql/benchmarks/tpch/Tests/06-plan.stable.err sql/benchmarks/tpch/Tests/06-plan.stable.out sql/benchmarks/tpch/Tests/06-plan.stable.out.int128 sql/benchmarks/tpch/Tests/07-explain.SQL.py.src sql/benchmarks/tpch/Tests/07-explain.reqtests sql/benchmarks/tpch/Tests/07-explain.stable.err sql/benchmarks/tpch/Tests/07-explain.stable.out sql/benchmarks/tpch/Tests/07-explain.stable.out.int128 sql/benchmarks/tpch/Tests/07-plan.SQL.py.src sql/benchmarks/tpch/Tests/07-plan.reqtests sql/benchmarks/tpch/Tests/07-plan.stable.err sql/benchmarks/tpch/Tests/07-plan.stable.out sql/benchmarks/tpch/Tests/07-plan.stable.out.int128 sql/benchmarks/tpch/Tests/08-explain.SQL.py.src sql/benchmarks/tpch/Tests/08-explain.reqtests sql/benchmarks/tpch/Tests/08-explain.stable.err sql/benchmarks/tpch/Tests/08-explain.stable.out sql/benchmarks/tpch/Tests/08-explain.stable.out.int128 sql/benchmarks/tpch/Tests/08-plan.SQL.py.src sql/benchmarks/tpch/Tests/08-plan.reqtests sql/benchmarks/tpch/Tests/08-plan.stable.err sql/benchmarks/tpch/Tests/08-plan.stable.out sql/benchmarks/tpch/Tests/08-plan.stable.out.int128 sql/benchmarks/tpch/Tests/09-explain.SQL.py.src sql/benchmarks/tpch/Tests/09-explain.reqtests sql/benchmarks/tpch/Tests/09-explain.stable.err sql/benchmarks/tpch/Tests/09-explain.stable.out sql/benchmarks/tpch/Tests/09-explain.stable.out.int128 sql/benchmarks/tpch/Tests/09-plan.SQL.py.src sql/benchmarks/tpch/Tests/09-plan.reqtests sql/benchmarks/tpch/Tests/09-plan.stable.err sql/benchmarks/tpch/Tests/09-plan.stable.out sql/benchmarks/tpch/Tests/09-plan.stable.out.int128 sql/benchmarks/tpch/Tests/10-explain.SQL.py.src sql/benchmarks/tpch/Tests/10-explain.reqtests sql/benchmarks/tpch/Tests/10-explain.stable.err sql/benchmarks/tpch/Tests/10-explain.stable.out sql/benchmarks/tpch/Tests/10-explain.stable.out.int128 sql/benchmarks/tpch/Tests/10-plan.SQL.py.src sql/benchmarks/tpch/Tests/10-plan.reqtests sql/benchmarks/tpch/Tests/10-plan.stable.err sql/benchmarks/tpch/Tests/10-plan.stable.out sql/benchmarks/tpch/Tests/10-plan.stable.out.int128 sql/benchmarks/tpch/Tests/11-explain.SQL.py.src sql/benchmarks/tpch/Tests/11-explain.reqtests sql/benchmarks/tpch/Tests/11-explain.stable.err sql/benchmarks/tpch/Tests/11-explain.stable.out sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 sql/benchmarks/tpch/Tests/11-plan.SQL.py.src sql/benchmarks/tpch/Tests/11-plan.reqtests sql/benchmarks/tpch/Tests/11-plan.stable.err sql/benchmarks/tpch/Tests/11-plan.stable.out sql/benchmarks/tpch/Tests/11-plan.stable.out.int128 sql/benchmarks/tpch/Tests/12-explain.SQL.py.src sql/benchmarks/tpch/Tests/12-explain.reqtests sql/benchmarks/tpch/Tests/12-explain.stable.err sql/benchmarks/tpch/Tests/12-explain.stable.out sql/benchmarks/tpch/Tests/12-explain.stable.out.int128 sql/benchmarks/tpch/Tests/12-plan.SQL.py.src sql/benchmarks/tpch/Tests/12-plan.reqtests sql/benchmarks/tpch/Tests/12-plan.stable.err sql/benchmarks/tpch/Tests/12-plan.stable.out sql/benchmarks/tpch/Tests/13-explain.SQL.py.src sql/benchmarks/tpch/Tests/13-explain.reqtests sql/benchmarks/tpch/Tests/13-explain.stable.err sql/benchmarks/tpch/Tests/13-explain.stable.out sql/benchmarks/tpch/Tests/13-explain.stable.out.32bit sql/benchmarks/tpch/Tests/13-plan.SQL.py.src sql/benchmarks/tpch/Tests/13-plan.reqtests sql/benchmarks/tpch/Tests/13-plan.stable.err sql/benchmarks/tpch/Tests/13-plan.stable.out sql/benchmarks/tpch/Tests/13-plan.stable.out.32bit sql/benchmarks/tpch/Tests/14-explain.SQL.py.src sql/benchmarks/tpch/Tests/14-explain.reqtests sql/benchmarks/tpch/Tests/14-explain.stable.err sql/benchmarks/tpch/Tests/14-explain.stable.out sql/benchmarks/tpch/Tests/14-explain.stable.out.int128 sql/benchmarks/tpch/Tests/14-plan.SQL.py.src sql/benchmarks/tpch/Tests/14-plan.reqtests sql/benchmarks/tpch/Tests/14-plan.stable.err sql/benchmarks/tpch/Tests/14-plan.stable.out sql/benchmarks/tpch/Tests/14-plan.stable.out.int128 sql/benchmarks/tpch/Tests/15-explain.SQL.py.src sql/benchmarks/tpch/Tests/15-explain.reqtests sql/benchmarks/tpch/Tests/15-explain.stable.err sql/benchmarks/tpch/Tests/15-explain.stable.out sql/benchmarks/tpch/Tests/15-explain.stable.out.int128 sql/benchmarks/tpch/Tests/15-plan.SQL.py.src sql/benchmarks/tpch/Tests/15-plan.reqtests sql/benchmarks/tpch/Tests/15-plan.stable.err sql/benchmarks/tpch/Tests/15-plan.stable.out sql/benchmarks/tpch/Tests/15-plan.stable.out.int128 sql/benchmarks/tpch/Tests/16-explain.SQL.py.src sql/benchmarks/tpch/Tests/16-explain.reqtests sql/benchmarks/tpch/Tests/16-explain.stable.err sql/benchmarks/tpch/Tests/16-explain.stable.out sql/benchmarks/tpch/Tests/16-explain.stable.out.32bit sql/benchmarks/tpch/Tests/16-plan.SQL.py.src sql/benchmarks/tpch/Tests/16-plan.reqtests sql/benchmarks/tpch/Tests/16-plan.stable.err sql/benchmarks/tpch/Tests/16-plan.stable.out sql/benchmarks/tpch/Tests/16-plan.stable.out.32bit sql/benchmarks/tpch/Tests/17-explain.SQL.py.src sql/benchmarks/tpch/Tests/17-explain.reqtests sql/benchmarks/tpch/Tests/17-explain.stable.err sql/benchmarks/tpch/Tests/17-explain.stable.out sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 sql/benchmarks/tpch/Tests/17-plan.SQL.py.src sql/benchmarks/tpch/Tests/17-plan.reqtests sql/benchmarks/tpch/Tests/17-plan.stable.err sql/benchmarks/tpch/Tests/17-plan.stable.out sql/benchmarks/tpch/Tests/17-plan.stable.out.int128 sql/benchmarks/tpch/Tests/18-explain.SQL.py.src sql/benchmarks/tpch/Tests/18-explain.reqtests sql/benchmarks/tpch/Tests/18-explain.stable.err sql/benchmarks/tpch/Tests/18-explain.stable.out sql/benchmarks/tpch/Tests/18-explain.stable.out.int128 sql/benchmarks/tpch/Tests/18-plan.SQL.py.src sql/benchmarks/tpch/Tests/18-plan.reqtests sql/benchmarks/tpch/Tests/18-plan.stable.err sql/benchmarks/tpch/Tests/18-plan.stable.out sql/benchmarks/tpch/Tests/18-plan.stable.out.int128 sql/benchmarks/tpch/Tests/19-explain.SQL.py.src sql/benchmarks/tpch/Tests/19-explain.reqtests sql/benchmarks/tpch/Tests/19-explain.stable.err sql/benchmarks/tpch/Tests/19-explain.stable.out sql/benchmarks/tpch/Tests/19-explain.stable.out.int128 sql/benchmarks/tpch/Tests/19-plan.SQL.py.src sql/benchmarks/tpch/Tests/19-plan.reqtests sql/benchmarks/tpch/Tests/19-plan.stable.err sql/benchmarks/tpch/Tests/19-plan.stable.out sql/benchmarks/tpch/Tests/19-plan.stable.out.int128 sql/benchmarks/tpch/Tests/20-explain.SQL.py.src sql/benchmarks/tpch/Tests/20-explain.reqtests sql/benchmarks/tpch/Tests/20-explain.stable.err 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/20-plan.SQL.py.src sql/benchmarks/tpch/Tests/20-plan.reqtests sql/benchmarks/tpch/Tests/20-plan.stable.err sql/benchmarks/tpch/Tests/20-plan.stable.out sql/benchmarks/tpch/Tests/20-plan.stable.out.int128 sql/benchmarks/tpch/Tests/21-explain.SQL.py.src sql/benchmarks/tpch/Tests/21-explain.reqtests sql/benchmarks/tpch/Tests/21-explain.stable.err sql/benchmarks/tpch/Tests/21-explain.stable.out sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit sql/benchmarks/tpch/Tests/21-plan.SQL.py.src sql/benchmarks/tpch/Tests/21-plan.reqtests sql/benchmarks/tpch/Tests/21-plan.stable.err sql/benchmarks/tpch/Tests/21-plan.stable.out sql/benchmarks/tpch/Tests/22-explain.SQL.py.src sql/benchmarks/tpch/Tests/22-explain.reqtests sql/benchmarks/tpch/Tests/22-explain.stable.err 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/benchmarks/tpch/Tests/22-plan.SQL.py.src sql/benchmarks/tpch/Tests/22-plan.reqtests sql/benchmarks/tpch/Tests/22-plan.stable.err sql/benchmarks/tpch/Tests/22-plan.stable.out Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/exports.stable.out gdk/gdk_value.c monetdb5/extras/mal_optimizer_template/Tests/All monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows monetdb5/mal/mal_instruction.c monetdb5/mal/mal_instruction.h monetdb5/mal/mal_interpreter.c monetdb5/modules/mal/iterator.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/benchmarks/ssbm/Tests/All sql/benchmarks/tpch/Tests/All sql/server/rel_exp.c sql/server/rel_optimizer.c sql/server/rel_select.c sql/server/sql_atom.c sql/server/sql_atom.h sql/server/sql_mvc.c testing/Mfilter.py tools/merovingian/client/monetdb.c tools/merovingian/daemon/discoveryrunner.c tools/merovingian/daemon/multiplex-funnel.c tools/merovingian/utils/glob.c tools/merovingian/utils/glob.h Branch: default Log Message:
Merge with Dec2016 branch. diffs (truncated from 21513 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -5661,43 +5661,11 @@ Ready. [ "batcalc", "sign", "pattern batcalc.sign(b:bat[:sht]):bat[:bte] ", "CMDbatSIGN;", "Unary sign (-1,0,1) over the tail of the bat" ] [ "batcalc", "sign", "pattern batcalc.sign(b:bat[:sht],s:bat[:oid]):bat[:bte] ", "CMDbatSIGN;", "Unary sign (-1,0,1) over the tail of the bat with candidates list" ] [ "batcalc", "sqlblob", "command batcalc.sqlblob(v:bat[:str]):bat[:sqlblob] ", "batstr_2_sqlblob;", "cast to sqlblob" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:bit]):bat[:str] ", "CMDconvertsignal_str;", "cast from bit to str, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:bit],s:bat[:oid]):bat[:str] ", "CMDconvertsignal_str;", "cast from bit to str with candidates list, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:bte]):bat[:str] ", "CMDconvertsignal_str;", "cast from bte to str, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:bte],s:bat[:oid]):bat[:str] ", "CMDconvertsignal_str;", "cast from bte to str with candidates list, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:dbl]):bat[:str] ", "CMDconvertsignal_str;", "cast from dbl to str, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:dbl],s:bat[:oid]):bat[:str] ", "CMDconvertsignal_str;", "cast from dbl to str with candidates list, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:flt]):bat[:str] ", "CMDconvertsignal_str;", "cast from flt to str, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:flt],s:bat[:oid]):bat[:str] ", "CMDconvertsignal_str;", "cast from flt to str with candidates list, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:int]):bat[:str] ", "CMDconvertsignal_str;", "cast from int to str, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:int],s:bat[:oid]):bat[:str] ", "CMDconvertsignal_str;", "cast from int to str with candidates list, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:lng]):bat[:str] ", "CMDconvertsignal_str;", "cast from lng to str, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:lng],s:bat[:oid]):bat[:str] ", "CMDconvertsignal_str;", "cast from lng to str with candidates list, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:oid]):bat[:str] ", "CMDconvertsignal_str;", "cast from oid to str, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:oid],s:bat[:oid]):bat[:str] ", "CMDconvertsignal_str;", "cast from oid to str with candidates list, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:sht]):bat[:str] ", "CMDconvertsignal_str;", "cast from sht to str, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:sht],s:bat[:oid]):bat[:str] ", "CMDconvertsignal_str;", "cast from sht to str with candidates list, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:str]):bat[:str] ", "CMDconvertsignal_str;", "cast from str to str, signal error on overflow" ] -[ "batcalc", "str", "pattern batcalc.str(b:bat[:str],s:bat[:oid]):bat[:str] ", "CMDconvertsignal_str;", "cast from str to str with candidates list, signal error on overflow" ] +[ "batcalc", "str", "pattern batcalc.str(b:bat[:any]):bat[:str] ", "CMDconvertsignal_str;", "cast from any to str, signal error on overflow" ] +[ "batcalc", "str", "pattern batcalc.str(b:bat[:any],s:bat[:oid]):bat[:str] ", "CMDconvertsignal_str;", "cast from any to str with candidates list, signal error on overflow" ] [ "batcalc", "str", "pattern batcalc.str(eclass:int,d1:int,s1:int,has_tz:int,v:bat[:any_1],digits:int):bat[:str] ", "SQLbatstr_cast;", "cast to string and check for overflow" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:bit]):bat[:str] ", "CMDconvert_str;", "cast from bit to str" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:bit],s:bat[:oid]):bat[:str] ", "CMDconvert_str;", "cast from bit to str with candidates list" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:bte]):bat[:str] ", "CMDconvert_str;", "cast from bte to str" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:bte],s:bat[:oid]):bat[:str] ", "CMDconvert_str;", "cast from bte to str with candidates list" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:dbl]):bat[:str] ", "CMDconvert_str;", "cast from dbl to str" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:dbl],s:bat[:oid]):bat[:str] ", "CMDconvert_str;", "cast from dbl to str with candidates list" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:flt]):bat[:str] ", "CMDconvert_str;", "cast from flt to str" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:flt],s:bat[:oid]):bat[:str] ", "CMDconvert_str;", "cast from flt to str with candidates list" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:int]):bat[:str] ", "CMDconvert_str;", "cast from int to str" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:int],s:bat[:oid]):bat[:str] ", "CMDconvert_str;", "cast from int to str with candidates list" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:lng]):bat[:str] ", "CMDconvert_str;", "cast from lng to str" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:lng],s:bat[:oid]):bat[:str] ", "CMDconvert_str;", "cast from lng to str with candidates list" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:oid]):bat[:str] ", "CMDconvert_str;", "cast from oid to str" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:oid],s:bat[:oid]):bat[:str] ", "CMDconvert_str;", "cast from oid to str with candidates list" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:sht]):bat[:str] ", "CMDconvert_str;", "cast from sht to str" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:sht],s:bat[:oid]):bat[:str] ", "CMDconvert_str;", "cast from sht to str with candidates list" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:str]):bat[:str] ", "CMDconvert_str;", "cast from str to str" ] -[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:str],s:bat[:oid]):bat[:str] ", "CMDconvert_str;", "cast from str to str with candidates list" ] +[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:any]):bat[:str] ", "CMDconvert_str;", "cast from any to str" ] +[ "batcalc", "str_noerror", "pattern batcalc.str_noerror(b:bat[:any],s:bat[:oid]):bat[:str] ", "CMDconvert_str;", "cast from any to str with candidates list" ] [ "batcalc", "strings", "command batcalc.strings(v:bat[:str]):bat[:str] ", "BATSTRstrings;", "Return the strings" ] [ "batcalc", "sub_noerror", "pattern batcalc.sub_noerror(b1:bat[:bte],b2:bat[:bte]):bat[:bte] ", "CMDbatSUB;", "Return B1 - B2, overflow causes NIL value" ] [ "batcalc", "sub_noerror", "pattern batcalc.sub_noerror(b1:bat[:bte],b2:bat[:bte],s:bat[:oid]):bat[:bte] ", "CMDbatSUB;", "Return B1 - B2 with candidates list, overflow causes NIL value" ] @@ -7329,16 +7297,7 @@ Ready. [ "calc", "sqlblob", "command calc.sqlblob(b:sqlblob):sqlblob ", "BLOBblob_blob;", "" ] [ "calc", "sqlblob", "command calc.sqlblob(s:str):sqlblob ", "BLOBsqlblob_fromstr;", "" ] [ "calc", "sqlblob", "command calc.sqlblob(v:str):sqlblob ", "str_2_sqlblob;", "cast to sqlblob" ] -[ "calc", "str", "pattern calc.str(v:bit):str ", "CMDvarCONVERT;", "Cast VALUE to str" ] -[ "calc", "str", "pattern calc.str(v:bte):str ", "CMDvarCONVERT;", "Cast VALUE to str" ] -[ "calc", "str", "pattern calc.str(v:dbl):str ", "CMDvarCONVERT;", "Cast VALUE to str" ] -[ "calc", "str", "pattern calc.str(v:flt):str ", "CMDvarCONVERT;", "Cast VALUE to str" ] -[ "calc", "str", "pattern calc.str(v:int):str ", "CMDvarCONVERT;", "Cast VALUE to str" ] -[ "calc", "str", "pattern calc.str(v:lng):str ", "CMDvarCONVERT;", "Cast VALUE to str" ] -[ "calc", "str", "pattern calc.str(v:oid):str ", "CMDvarCONVERT;", "Cast VALUE to str" ] -[ "calc", "str", "pattern calc.str(v:sht):str ", "CMDvarCONVERT;", "Cast VALUE to str" ] -[ "calc", "str", "pattern calc.str(v:str):str ", "CMDvarCONVERT;", "Cast VALUE to str" ] -[ "calc", "str", "pattern calc.str(v:void):str ", "CMDvarCONVERT;", "Cast VALUE to str" ] +[ "calc", "str", "pattern calc.str(v:any):str ", "CMDvarCONVERT;", "Cast VALUE to str" ] [ "calc", "str", "command calc.str(v:date):str ", "SQLdate_2_str;", "cast date to str" ] [ "calc", "str", "command calc.str(v:sqlblob):str ", "SQLsqlblob_2_str;", "cast sqlblob to str" ] [ "calc", "str", "pattern calc.str(eclass:int,d1:int,s1:int,has_tz:int,v:any_1,digits:int):str ", "SQLstr_cast;", "cast to string and check for overflow" ] diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -2295,7 +2295,7 @@ InstrPtr newStmt(MalBlkPtr mb, const cha Symbol newSymbol(str nme, int kind); int newTmpVariable(MalBlkPtr mb, malType type); int newTypeVariable(MalBlkPtr mb, malType type); -int newVariable(MalBlkPtr mb, str name, size_t len, malType type); +int newVariable(MalBlkPtr mb, const char *name, size_t len, malType type); str nextRef; str notRef; str not_ilikeRef; diff --git a/gdk/gdk_value.c b/gdk/gdk_value.c --- a/gdk/gdk_value.c +++ b/gdk/gdk_value.c @@ -116,7 +116,7 @@ void VALclear(ValPtr v) { if (v->vtype == TYPE_str || ATOMextern(v->vtype)) { - if (v->val.pval && v->val.pval != str_nil) + if (v->val.pval && v->val.pval != ATOMnilptr(v->vtype)) GDKfree(v->val.pval); } VALempty(v); @@ -151,10 +151,6 @@ VALcopy(ValPtr d, const ValRecord *s) if (d->val.sval == NULL) return NULL; d->len = strLen(d->val.sval); - } else if (s->vtype == TYPE_bit) { - d->vtype = s->vtype; - d->len = 1; - d->val.btval = s->val.btval; } else { ptr p = s->val.pval; diff --git a/monetdb5/extras/mal_optimizer_template/Tests/All b/monetdb5/extras/mal_optimizer_template/Tests/All --- a/monetdb5/extras/mal_optimizer_template/Tests/All +++ b/monetdb5/extras/mal_optimizer_template/Tests/All @@ -1,1 +1,1 @@ -opt_sql_append +THREADS=1?opt_sql_append 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 @@ -46,8 +46,8 @@ Ready. #create table ttt (a int, b int, c int); #select optimizer; -% .L1 # table_name -% L1 # name +% .L2 # table_name +% L2 # name % varchar # type % 12 # length [ "default_pipe" ] @@ -63,11 +63,9 @@ Ready. % clob # type % 126 # length function user.s8_1():void; - X_38:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","default_pipe",12); -barrier X_58 := language.dataflow(); + X_38:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","default_pipe",10); X_0 := sql.mvc(); (X_21:bat[:int],X_22:bat[:int],X_23:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","/tmp/xyz",-1,0,0,0,nil:str); -exit X_58; X_25 := sql.append(X_0,"sys","ttt","a",X_21); X_30 := sql.append(X_25,"sys","ttt","b",X_22); X_33 := sql.append(X_30,"sys","ttt","c",X_23); @@ -107,8 +105,8 @@ end user.s8_1; #set opt_pipe_def = ( select def from optimizers() where name = opt_pipe_name ); #set optimizer = substring(opt_pipe_def,0,length(opt_pipe_def)-length('optimizer.garbageCollector();')) || 'optimizer.sql_append();optimizer.garbageCollector();'; #select optimizer; -% .L1 # table_name -% L1 # name +% .L2 # table_name +% L2 # name % varchar # type % 6 # length [ "user_1" ] @@ -124,11 +122,9 @@ end user.s8_1; % clob # type % 126 # length function user.s24_1():void; - X_38:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","user_1",12); -barrier X_58 := language.dataflow(); + X_38:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","user_1",10); X_0 := sql.mvc(); (X_21:bat[:int],X_22:bat[:int],X_23:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","/tmp/xyz",-1,0,0,0,nil:str); -exit X_58; X_25 := sql.append(X_0,"sys","ttt","a",X_21); X_30 := sql.append(X_25,"sys","ttt","b",X_22); X_35 := aggr.count(X_23); diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows old mode 100644 new mode 100755 --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows @@ -46,8 +46,8 @@ Ready. #create table ttt (a int, b int, c int); #select optimizer; -% .L1 # table_name -% L1 # name +% .L2 # table_name +% L2 # name % varchar # type % 12 # length [ "default_pipe" ] @@ -55,60 +55,53 @@ Ready. % .L1 # table_name % def # name % clob # type -% 541 # length -[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.pushselect();optimizer.aliases();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.candidates();optimizer.garbageCollector();" ] +% 579 # length +[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();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.candidates();optimizer.jit();optimizer.garbageCollector();" ] #explain copy into ttt from 'a:\tmp/xyz'; % .explain # table_name % mal # name % clob # type % 129 # length -function user.s4_1():void; - X_24:void := querylog.define("explain copy into ttt from \\'a:\\\\tmp/xyz\\';","default_pipe",12); -barrier X_53 := language.dataflow(); - X_1 := sql.mvc(); - (X_11:bat[:int],X_12:bat[:int],X_13:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","a:\\tmp/xyz",-1,0,0,0); -exit X_53; - X_14 := sql.append(X_1,"sys","ttt","a",X_11); - X_18 := sql.append(X_14,"sys","ttt","b",X_12); - X_20 := sql.append(X_18,"sys","ttt","c",X_13); - X_22 := aggr.count(X_13); - sql.affectedRows(X_20,X_22); +function user.s8_1():void; + X_38:void := querylog.define("explain copy into ttt from \\'a:\\\\tmp/xyz\\';","default_pipe",10); + X_0 := sql.mvc(); + (X_21:bat[:int],X_22:bat[:int],X_23:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","a:\\tmp/xyz",-1,0,0,0,nil:str); + X_25 := sql.append(X_0,"sys","ttt","a",X_21); + X_30 := sql.append(X_25,"sys","ttt","b",X_22); + X_33 := sql.append(X_30,"sys","ttt","c",X_23); + X_35 := aggr.count(X_23); + sql.affectedRows(X_33,X_35); end user.s8_1; #inline actions= 0 time=1 usec -#candidates actions= 1 time=14 usec -#remap actions= 0 time=3 usec -#costModel actions= 1 time=12 usec -#coercions actions=10 time=13 usec -#evaluate actions= 0 time=2 usec -#emptybind actions= 0 time=4 usec -#pushselect actions= 0 time=3 usec -#aliases actions= 0 time=4 usec -#mitosis actions= 0 time=2 usec -#mergetable actions= 0 time=17 usec -#deadcode actions= 0 time=5 usec -#aliases actions= 0 time=4 usec -#constants actions= 0 time=5 usec -#commonTerms actions= 0 time=4 usec -#projectionpath actions= 0 time=3 usec -#deadcode actions= 0 time=4 usec -#reorder actions= 1 time=19 usec -#reduce actions=33 time=23 usec -#matpack actions= 0 time=3 usec -#dataflow actions=31 time=20 usec -#querylog actions= 0 time=0 usec -#multiplex actions= 0 time=3 usec -#generator actions= 0 time=1 usec -#profiler actions= 1 time=6 usec -#garbageCollector actions= 1 time=13 usec -#total actions= 1 time=245 usec +#remap actions= 0 time=5 usec +#costmodel actions= 1 time=1 usec +#coercion actions=11 time=16 usec +#evaluate actions= 0 time=4 usec +#emptybind actions= 0 time=12 usec +#aliases actions= 0 time=6 usec +#mergetable actions= 0 time=46 usec +#deadcode actions= 0 time=7 usec +#aliases actions= 0 time=6 usec +#constants actions= 0 time=9 usec +#commonTerms actions= 0 time=5 usec +#projectionpath actions= 0 time=5 usec +#deadcode actions= 0 time=6 usec +#reorder actions= 1 time=38 usec +#reduce actions=33 time=37 usec +#matpack actions= 0 time=4 usec +#multiplex actions= 0 time=5 usec +#profiler actions= 1 time=0 usec +#candidates actions= 1 time=1 usec +#garbagecollector actions= 1 time=19 usec +#total actions= 1 time=475 usec #declare opt_pipe_name string; #set opt_pipe_name = ( select optimizer ); #declare opt_pipe_def string; #set opt_pipe_def = ( select def from optimizers() where name = opt_pipe_name ); #set optimizer = substring(opt_pipe_def,0,length(opt_pipe_def)-length('optimizer.garbageCollector();')) || 'optimizer.sql_append();optimizer.garbageCollector();'; #select optimizer; -% .L1 # table_name -% L1 # name +% .L2 # table_name +% L2 # name % varchar # type % 6 # length [ "user_1" ] @@ -116,53 +109,46 @@ end user.s8_1; % .L1 # table_name % def # name % clob # type -% 564 # length -[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.pushselect();optimizer.aliases();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.candidates();optimizer.sql_append();optimizer.garbageCollector();" ] +% 602 # length +[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();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.candidates();optimizer.jit();optimizer.sql_append();optimizer.garbageCollector();" ] #explain copy into ttt from 'Z:/tmp/xyz'; % .explain # table_name % mal # name % clob # type % 128 # length -function user.s12_1():void; - X_24:void := querylog.define("explain copy into ttt from \\'Z:/tmp/xyz\\';","user_1",12); -barrier X_54 := language.dataflow(); - X_1 := sql.mvc(); - (X_11:bat[:int],X_12:bat[:int],X_13:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","Z:/tmp/xyz",-1,0,0,0); -exit X_54; - X_14 := sql.append(X_1,"sys","ttt","a",X_11); - X_18 := sql.append(X_14,"sys","ttt","b",X_12); - X_22 := aggr.count(X_13); - X_20 := sql.append(X_18,"sys","ttt","c",X_13); - sql.affectedRows(X_20,X_22); +function user.s24_1():void; + X_38:void := querylog.define("explain copy into ttt from \\'Z:/tmp/xyz\\';","user_1",10); + X_0 := sql.mvc(); + (X_21:bat[:int],X_22:bat[:int],X_23:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","Z:/tmp/xyz",-1,0,0,0,nil:str); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list