Changeset: ca6704475879 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ca6704475879 Added Files: sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out.int128 sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.sql sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.stable.err sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.stable.out Modified Files: gdk/gdk_ssort_impl.h sql/server/sql_parser.y sql/test/BugTracker-2015/Tests/All sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out sql/test/pg_regress/Tests/oid.stable.err.oid32 Branch: default Log Message:
Merge with Jul2015 branch. diffs (truncated from 311 to 300 lines): diff --git a/gdk/gdk_ssort_impl.h b/gdk/gdk_ssort_impl.h --- a/gdk/gdk_ssort_impl.h +++ b/gdk/gdk_ssort_impl.h @@ -749,8 +749,10 @@ do_ssort(MergeState *ms, ssize_t nremain while (ms->n > 1) { ssize_t i = ms->n - 2; - if (i > 0 && - p[i - 1].len <= p[i].len + p[i + 1].len) { + if ((i > 0 && + p[i-1].len <= p[i].len + p[i+1].len) || + (i > 1 && + p[i-2].len <= p[i-1].len + p[i].len)) { if (p[i - 1].len < p[i + 1].len) --i; if (merge_at(ms, i) < 0) diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y --- a/sql/server/sql_parser.y +++ b/sql/server/sql_parser.y @@ -3427,7 +3427,7 @@ simple_scalar_exp: append_list(l, append_string(append_string(L(), sa_strdup(SA, "sys")), sa_strdup(SA, "bit_not"))); append_symbol(l, $2); - $$ = _symbol_create_list( SQL_BINOP, l ); } + $$ = _symbol_create_list( SQL_UNOP, l ); } | scalar_exp LEFT_SHIFT scalar_exp { dlist *l = L(); append_list(l, diff --git a/sql/test/BugTracker-2015/Tests/All b/sql/test/BugTracker-2015/Tests/All --- a/sql/test/BugTracker-2015/Tests/All +++ b/sql/test/BugTracker-2015/Tests/All @@ -65,3 +65,4 @@ string_split.Bug-3564 schemadiff.Bug-3778 not-like-without-wildcard.Bug-3811 copy_into.Bug-3813 +select-tilde-arg.Bug-3814 diff --git a/sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out b/sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out --- a/sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out +++ b/sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out @@ -49,7 +49,7 @@ Ready. #SELECT CASE a+1 WHEN b THEN 111 WHEN c THEN 222 WHEN d THEN 333 WHEN e THEN 444 ELSE 555 END, CASE WHEN a<b-3 THEN 111 WHEN a<=b THEN 222 WHEN a<b+3 THEN 333 ELSE 444 END, a+b*2+c*3+d*4, a+b*2+c*3, c, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, abs(b-c) FROM t1 WHERE EXISTS(SELECT 1 FROM t1 AS x WHERE x.b<t1.b) OR b>c OR d NOT BETWEEN 110 AND 150 ORDER BY 4,1,5,2,6,3,7; % .L1, .L2, .L3, .L4, .t1, .L6, .L7 # table_name % L1, L2, L3, L4, c, L6, L7 # name -% smallint, smallint, hugeint, hugeint, int, bigint, bigint # type +% smallint, smallint, bigint, bigint, int, bigint, bigint # type % 3, 3, 4, 3, 3, 4, 1 # length [ 555, 444, 1014, 610, 102, 1000, 2 ] [ 333, 333, 1067, 635, 106, 1050, 1 ] @@ -62,7 +62,7 @@ Ready. #SELECT a, a+b*2+c*3+d*4+e*5, c-d, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, b-c, a+b*2 FROM t1 ORDER BY 6,2,4,5,3,1; % sys.t1, sys.L1, sys.L2, sys.L4, sys.L5, sys.L6 # table_name % a, L1, L2, L4, L5, L6 # name -% int, hugeint, bigint, bigint, bigint, hugeint # type +% int, bigint, bigint, bigint, bigint, bigint # type % 3, 4, 2, 4, 2, 3 # length [ 104, 1529, 1, 1000, -2, 304 ] [ 107, 1612, -2, 1050, -1, 317 ] @@ -75,7 +75,7 @@ Ready. #SELECT a+b*2+c*3+d*4+e*5, CASE WHEN a<b-3 THEN 111 WHEN a<=b THEN 222 WHEN a<b+3 THEN 333 ELSE 444 END, a, abs(b-c), a+b*2, d, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END FROM t1 WHERE (e>c OR e<d) OR a>b ORDER BY 4,5,3,7,1,6,2; % sys.L1, sys.L2, sys.t1, sys.L3, sys.L4, sys.t1, sys.L6 # table_name % L1, L2, a, L3, L4, d, L6 # name -% hugeint, smallint, int, bigint, hugeint, int, bigint # type +% bigint, smallint, int, bigint, bigint, int, bigint # type % 4, 3, 3, 1, 3, 3, 4 # length [ 1612, 333, 107, 1, 317, 108, 1050 ] [ 1680, 222, 111, 1, 335, 114, 1120 ] @@ -100,7 +100,7 @@ Ready. #SELECT d, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, abs(b-c), a+b*2+c*3+d*4+e*5, CASE WHEN a<b-3 THEN 111 WHEN a<=b THEN 222 WHEN a<b+3 THEN 333 ELSE 444 END, d-e FROM t1 ORDER BY 1,6,2,3,5,4; % sys.t1, sys.L2, sys.L3, sys.L4, sys.L5, sys.L6 # table_name % d, L2, L3, L4, L5, L6 # name -% int, bigint, bigint, hugeint, smallint, bigint # type +% int, bigint, bigint, bigint, smallint, bigint # type % 3, 4, 1, 4, 3, 2 # length [ 101, 1000, 2, 1529, 444, -2 ] [ 108, 1050, 1, 1612, 333, -1 ] @@ -113,7 +113,7 @@ Ready. #SELECT a+b*2+c*3+d*4+e*5, a, abs(a), a-b, d-e, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END FROM t1 WHERE EXISTS(SELECT 1 FROM t1 AS x WHERE x.b<t1.b) AND b>c ORDER BY 4,6,3,1,5,2; % sys.L1, sys.t1, sys.L2, sys.L3, sys.L4, sys.L6 # table_name % L1, a, L2, L3, L4, L6 # name -% hugeint, int, int, bigint, bigint, bigint # type +% bigint, int, int, bigint, bigint, bigint # type % 4, 3, 3, 2, 1, 3 # length [ 1826, 121, 121, -3, 2, 242 ] [ 1902, 127, 127, -2, 2, 254 ] @@ -121,7 +121,7 @@ Ready. #SELECT CASE WHEN a<b-3 THEN 111 WHEN a<=b THEN 222 WHEN a<b+3 THEN 333 ELSE 444 END, a+b*2+c*3+d*4+e*5, a, CASE a+1 WHEN b THEN 111 WHEN c THEN 222 WHEN d THEN 333 WHEN e THEN 444 ELSE 555 END, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, (SELECT count(*) FROM t1 AS x WHERE x.c>t1.c AND x.d<t1.d), d FROM t1 WHERE a>b AND (e>a AND e<b) ORDER BY 7,2,4,6,1,3,5; % .L1, .L2, .t1, .L3, .L5, .L7, .t1 # table_name % L1, L2, a, L3, L5, L7, d # name -% smallint, hugeint, int, smallint, bigint, wrd, int # type +% smallint, bigint, int, smallint, bigint, wrd, int # type % 1, 1, 1, 1, 1, 1, 1 # length #SELECT e, (SELECT count(*) FROM t1 AS x WHERE x.b<t1.b), CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, CASE a+1 WHEN b THEN 111 WHEN c THEN 222 WHEN d THEN 333 WHEN e THEN 444 ELSE 555 END, a-b, (SELECT count(*) FROM t1 AS x WHERE x.c>t1.c AND x.d<t1.d) FROM t1 WHERE a>b AND (c<=d-2 OR c>=d+2) AND c>d ORDER BY 6,5,4,2,3,1; % .t1, .L2, .L4, .L5, .L6, .L10 # table_name @@ -143,7 +143,7 @@ Ready. #SELECT (SELECT count(*) FROM t1 AS x WHERE x.c>t1.c AND x.d<t1.d), b, a, a+b*2+c*3+d*4+e*5, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, CASE a+1 WHEN b THEN 111 WHEN c THEN 222 WHEN d THEN 333 WHEN e THEN 444 ELSE 555 END, a+b*2+c*3 FROM t1 WHERE a>b AND (e>c OR e<d) ORDER BY 3,7,2,5,6,4,1; % .L1, .t1, .t1, .L2, .L4, .L5, .L6 # table_name % L1, b, a, L2, L4, L5, L6 # name -% wrd, int, int, hugeint, bigint, smallint, hugeint # type +% wrd, int, int, bigint, bigint, smallint, bigint # type % 1, 3, 3, 4, 4, 3, 3 # length [ 0, 100, 104, 1529, 1000, 555, 610 ] [ 0, 105, 107, 1612, 1050, 333, 635 ] @@ -151,7 +151,7 @@ Ready. #SELECT c-d, a-b, b, b-c, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, c, a+b*2 FROM t1 ORDER BY 1,5,4,3,2,6,7; % sys.L1, sys.L2, sys.t1, sys.L3, sys.L5, sys.t1, sys.L6 # table_name % L1, L2, b, L3, L5, c, L6 # name -% bigint, bigint, int, bigint, bigint, int, hugeint # type +% bigint, bigint, int, bigint, bigint, int, bigint # type % 2, 2, 3, 2, 4, 3, 3 # length [ -3, -2, 129, 4, 254, 125, 385 ] [ -2, 2, 105, -1, 1050, 106, 317 ] @@ -164,7 +164,7 @@ Ready. #SELECT a+b*2+c*3+d*4, a, c-d, abs(b-c), b, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END FROM t1 WHERE (e>c OR e<d) OR (c<=d-2 OR c>=d+2) ORDER BY 4,3,2,5,1,6; % sys.L1, sys.t1, sys.L2, sys.L3, sys.t1, sys.L5 # table_name % L1, a, L2, L3, b, L5 # name -% hugeint, int, bigint, bigint, int, bigint # type +% bigint, int, bigint, bigint, int, bigint # type % 4, 3, 2, 1, 3, 4 # length [ 1067, 107, -2, 1, 105, 1050 ] [ 1130, 111, -1, 1, 112, 1120 ] @@ -177,7 +177,7 @@ Ready. #SELECT a, a+b*2+c*3+d*4+e*5, b, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, e, a-b FROM t1 ORDER BY 1,4,5,3,6,2; % sys.t1, sys.L1, sys.t1, sys.L3, sys.t1, sys.L4 # table_name % a, L1, b, L3, e, L4 # name -% int, hugeint, int, bigint, int, bigint # type +% int, bigint, int, bigint, int, bigint # type % 3, 4, 3, 4, 3, 2 # length [ 104, 1529, 100, 1000, 103, 4 ] [ 107, 1612, 105, 1050, 109, 2 ] @@ -190,7 +190,7 @@ Ready. #SELECT d, d-e, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, a+b*2, a+b*2+c*3+d*4+e*5, CASE WHEN a<b-3 THEN 111 WHEN a<=b THEN 222 WHEN a<b+3 THEN 333 ELSE 444 END, a+b*2+c*3 FROM t1 ORDER BY 3,2,4,5,7,1,6; % sys.t1, sys.L1, sys.L3, sys.L4, sys.L5, sys.L6, sys.L7 # table_name % d, L1, L3, L4, L5, L6, L7 # name -% int, bigint, bigint, hugeint, hugeint, smallint, hugeint # type +% int, bigint, bigint, bigint, bigint, smallint, bigint # type % 3, 2, 4, 3, 4, 3, 3 # length [ 122, 2, 242, 369, 1826, 222, 738 ] [ 128, 2, 254, 385, 1902, 222, 760 ] @@ -203,7 +203,7 @@ Ready. #SELECT a, CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, (SELECT count(*) FROM t1 AS x WHERE x.c>t1.c AND x.d<t1.d), a+b*2+c*3+d*4, b FROM t1 WHERE c>d OR d>e ORDER BY 2,5,1,3,4; % .t1, .L2, .L4, .L5, .t1 # table_name % a, L2, L4, L5, b # name -% int, bigint, wrd, hugeint, int # type +% int, bigint, wrd, bigint, int # type % 3, 4, 1, 4, 3 # length [ 121, 242, 0, 1226, 124 ] [ 127, 254, 0, 1272, 129 ] @@ -215,7 +215,7 @@ Ready. #SELECT c, (SELECT count(*) FROM t1 AS x WHERE x.c>t1.c AND x.d<t1.d), CASE WHEN c>(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END, a+b*2+c*3+d*4 FROM t1 WHERE b>c OR (e>c OR e<d) OR d NOT BETWEEN 110 AND 150 ORDER BY 3,2,1,4; % .t1, .L2, .L4, .L5 # table_name % c, L2, L4, L5 # name -% int, wrd, bigint, hugeint # type +% int, wrd, bigint, bigint # type % 3, 1, 4, 4 # length [ 123, 0, 242, 1226 ] [ 125, 0, 254, 1272 ] diff --git a/sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out b/sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out.int128 copy from sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out copy to sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out.int128 diff --git a/sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.sql b/sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.sql @@ -0,0 +1,1 @@ +select ~0; diff --git a/sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.stable.err b/sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.stable.err @@ -0,0 +1,37 @@ +stderr of test 'select-tilde-arg.Bug-3814` in directory 'sql/test/BugTracker-2015` itself: + + +# 14:19:52 > +# 14:19:52 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=37105" "--set" "mapi_usock=/var/tmp/mtest-30296/.s.monetdb.37105" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/sjoerd/Monet-stable/var/MonetDB/mTests_sql_test_BugTracker-2015" "--set" "mal_listing=0" "--set" "embedded_r=yes" +# 14:19:52 > + +# builtin opt gdk_dbpath = /ufs/sjoerd/Monet-stable/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 50000 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 37105 +# cmdline opt mapi_usock = /var/tmp/mtest-30296/.s.monetdb.37105 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /ufs/sjoerd/Monet-stable/var/MonetDB/mTests_sql_test_BugTracker-2015 +# cmdline opt mal_listing = 0 +# cmdline opt embedded_r = yes +# cmdline opt gdk_debug = 536870922 + +# 14:19:53 > +# 14:19:53 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-30296" "--port=37105" +# 14:19:53 > + + +# 14:19:53 > +# 14:19:53 > "Done." +# 14:19:53 > + diff --git a/sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.stable.out b/sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2015/Tests/select-tilde-arg.Bug-3814.stable.out @@ -0,0 +1,77 @@ +stdout of test 'select-tilde-arg.Bug-3814` in directory 'sql/test/BugTracker-2015` itself: + + +# 14:19:52 > +# 14:19:52 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=37105" "--set" "mapi_usock=/var/tmp/mtest-30296/.s.monetdb.37105" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/sjoerd/Monet-stable/var/MonetDB/mTests_sql_test_BugTracker-2015" "--set" "mal_listing=0" "--set" "embedded_r=yes" +# 14:19:52 > + +# MonetDB 5 server v11.21.6 (hg id: d4cdffbf92c9+) +# This is an unreleased version +# Serving database 'mTests_sql_test_BugTracker-2015', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs and 128bit integers dynamically linked +# Found 15.590 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://madrid.ins.cwi.nl:37105/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-30296/.s.monetdb.37105 +# MonetDB/GIS module loaded +# Start processing logs sql/sql_logs version 52200 +# Finished processing logs sql/sql_logs +# MonetDB/SQL module loaded +# MonetDB/R module loaded + +Ready. +# SQL catalog created, loading sql scripts once +# loading sql script: 09_like.sql +# loading sql script: 10_math.sql +# loading sql script: 11_times.sql +# loading sql script: 12_url.sql +# loading sql script: 13_date.sql +# loading sql script: 14_inet.sql +# loading sql script: 15_querylog.sql +# loading sql script: 16_tracelog.sql +# loading sql script: 17_temporal.sql +# loading sql script: 20_vacuum.sql +# loading sql script: 21_dependency_functions.sql +# loading sql script: 22_clients.sql +# loading sql script: 23_skyserver.sql +# loading sql script: 24_zorder.sql +# loading sql script: 25_debug.sql +# loading sql script: 26_sysmon.sql +# loading sql script: 27_rejects.sql +# loading sql script: 39_analytics.sql +# loading sql script: 39_analytics_hge.sql +# loading sql script: 40_geom.sql +# loading sql script: 40_json.sql +# loading sql script: 40_json_hge.sql +# loading sql script: 41_md5sum.sql +# loading sql script: 45_uuid.sql +# loading sql script: 46_gsl.sql +# loading sql script: 51_sys_schema_extension.sql +# loading sql script: 72_fits.sql +# loading sql script: 74_netcdf.sql +# loading sql script: 75_storagemodel.sql +# loading sql script: 80_statistics.sql +# loading sql script: 80_udf.sql +# loading sql script: 80_udf_hge.sql +# loading sql script: 85_bam.sql +# loading sql script: 90_generator.sql +# loading sql script: 90_generator_hge.sql +# loading sql script: 99_system.sql + +# 14:19:53 > +# 14:19:53 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-30296" "--port=37105" +# 14:19:53 > + +#select ~0; +% .L # table_name +% bit_not_single_value # name +% tinyint # type +% 2 # length +[ -1 ] + +# 14:19:53 > +# 14:19:53 > "Done." +# 14:19:53 > + diff --git a/sql/test/pg_regress/Tests/oid.stable.err.oid32 b/sql/test/pg_regress/Tests/oid.stable.err.oid32 --- a/sql/test/pg_regress/Tests/oid.stable.err.oid32 +++ b/sql/test/pg_regress/Tests/oid.stable.err.oid32 @@ -64,13 +64,15 @@ QUERY = INSERT INTO OID_TBL(f1) VALUES ( ERROR = !conversion of string '32958209582039852935' to type oid failed. MAPI = (monetdb) /var/tmp/mtest-17898/.s.monetdb.31237 QUERY = INSERT INTO OID_TBL(f1) VALUES (32958209582039852935); -ERROR = !overflow in conversion of 32958209582039851008 to int. -MAPI = (monetdb) /var/tmp/mtest-17898/.s.monetdb.31237 +ERROR = !integer value too large or not a number (32958209582039852935) in: "insert into oid_tbl(f1) values (32958209582039852935" + !syntax error, unexpected ')' in: ")" _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list