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