Changeset: bd6083feb3f7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd6083feb3f7
Added Files:
sql/test/BugTracker-2017/Tests/select.Bug-6259.sql
sql/test/BugTracker-2017/Tests/select.Bug-6259.stable.err
sql/test/BugTracker-2017/Tests/select.Bug-6259.stable.out
Modified Files:
gdk/gdk_select.c
sql/test/BugTracker-2017/Tests/All
Branch: Dec2016
Log Message:
After NORMALIZE, range can be empty.
This fixes bug 6259.
diffs (186 lines):
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -1178,6 +1178,8 @@ BAT_scanselect(BAT *b, BAT *s, BAT *bn,
th = &vh.v_##TYPE; \
hval = 1; \
} \
+ if (*(TYPE*)tl > *(TYPE*)th) \
+ return newempty(); \
} \
assert(lval); \
assert(hval); \
diff --git a/sql/test/BugTracker-2017/Tests/All
b/sql/test/BugTracker-2017/Tests/All
--- a/sql/test/BugTracker-2017/Tests/All
+++ b/sql/test/BugTracker-2017/Tests/All
@@ -31,3 +31,4 @@ crash_after_oidx_on_sys_statistics.Bug-6
crash_correlated_subqueries_in_select.Bug-6254
fullouterjoinfilter.Bug-6256
wrong_aggregation_count.Bug-6257
+select.Bug-6259
diff --git a/sql/test/BugTracker-2017/Tests/select.Bug-6259.sql
b/sql/test/BugTracker-2017/Tests/select.Bug-6259.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2017/Tests/select.Bug-6259.sql
@@ -0,0 +1,14 @@
+start transaction;
+CREATE TABLE tab0(pk INTEGER PRIMARY KEY, col0 INTEGER, col1 FLOAT, col2 TEXT,
col3 INTEGER, col4 FLOAT, col5 TEXT);
+INSERT INTO tab0 VALUES(0,45,106.20,'qixrh',119,127.82,'lqafj');
+INSERT INTO tab0 VALUES(1,47,107.11,'avveo',120,128.36,'tzjrc');
+INSERT INTO tab0 VALUES(2,48,108.0,'htssi',121,132.69,'ablzu');
+INSERT INTO tab0 VALUES(3,116,109.7,'hvapv',123,133.8,'azmay');
+INSERT INTO tab0 VALUES(4,55,110.92,'wffzp',124,134.70,'qjqzu');
+INSERT INTO tab0 VALUES(5,117,112.62,'hkmcc',126,135.82,'rfnvr');
+INSERT INTO tab0 VALUES(6,119,113.87,'yofgi',127,136.86,'jgucx');
+INSERT INTO tab0 VALUES(7,64,114.12,'clvcm',128,137.57,'bywfe');
+INSERT INTO tab0 VALUES(8,67,5.69,'htdpm',129,138.11,'tqmqj');
+INSERT INTO tab0 VALUES(9,121,115.87,'czgiu',130,139.21,'vqktb');
+SELECT pk FROM tab0 WHERE (col1 < 94.60) AND (col0 < 90) AND col3 >= 40 AND
(col0 > 89);
+rollback;
diff --git a/sql/test/BugTracker-2017/Tests/select.Bug-6259.stable.err
b/sql/test/BugTracker-2017/Tests/select.Bug-6259.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2017/Tests/select.Bug-6259.stable.err
@@ -0,0 +1,36 @@
+stderr of test 'select.Bug-6259` in directory 'sql/test/BugTracker-2017`
itself:
+
+
+# 21:05:48 >
+# 21:05:48 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=39824" "--set"
"mapi_usock=/var/tmp/mtest-30774/.s.monetdb.39824" "--set" "monet_prompt="
"--forcemito"
"--dbpath=/home/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_BugTracker-2017"
"--set" "embedded_r=yes" "--set" "embedded_py=true"
+# 21:05:48 >
+
+# builtin opt gdk_dbpath = /home/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 = 39824
+# cmdline opt mapi_usock = /var/tmp/mtest-30774/.s.monetdb.39824
+# cmdline opt monet_prompt =
+# cmdline opt gdk_dbpath =
/home/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_BugTracker-2017
+# cmdline opt embedded_r = yes
+# cmdline opt embedded_py = true
+# cmdline opt gdk_debug = 536870922
+
+# 21:05:49 >
+# 21:05:49 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e"
"--host=/var/tmp/mtest-30774" "--port=39824"
+# 21:05:49 >
+
+
+# 21:05:49 >
+# 21:05:49 > "Done."
+# 21:05:49 >
+
diff --git a/sql/test/BugTracker-2017/Tests/select.Bug-6259.stable.out
b/sql/test/BugTracker-2017/Tests/select.Bug-6259.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2017/Tests/select.Bug-6259.stable.out
@@ -0,0 +1,101 @@
+stdout of test 'select.Bug-6259` in directory 'sql/test/BugTracker-2017`
itself:
+
+
+# 21:05:48 >
+# 21:05:48 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=39824" "--set"
"mapi_usock=/var/tmp/mtest-30774/.s.monetdb.39824" "--set" "monet_prompt="
"--forcemito"
"--dbpath=/home/sjoerd/@Monet-stable/var/MonetDB/mTests_sql_test_BugTracker-2017"
"--set" "embedded_r=yes" "--set" "embedded_py=true"
+# 21:05:48 >
+
+# MonetDB 5 server v11.25.18 (hg id: 252c70ae7fa4+)
+# This is an unreleased version
+# Serving database 'mTests_sql_test_BugTracker-2017', using 4 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 128bit integers
+# Found 15.520 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2017 MonetDB B.V., all rights reserved
+# Visit http://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://meeuw.mullender.nl:39824/
+# Listening for UNIX domain connection requests on
mapi:monetdb:///var/tmp/mtest-30774/.s.monetdb.39824
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+# MonetDB/Python 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: 18_index.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: 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: 46_profiler.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_lidar.sql
+# loading sql script: 75_shp.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
+
+# 21:05:49 >
+# 21:05:49 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e"
"--host=/var/tmp/mtest-30774" "--port=39824"
+# 21:05:49 >
+
+#start transaction;
+#CREATE TABLE tab0(pk INTEGER PRIMARY KEY, col0 INTEGER, col1 FLOAT, col2
TEXT, col3 INTEGER, col4 FLOAT, col5 TEXT);
+#INSERT INTO tab0 VALUES(0,45,106.20,'qixrh',119,127.82,'lqafj');
+[ 1 ]
+#INSERT INTO tab0 VALUES(1,47,107.11,'avveo',120,128.36,'tzjrc');
+[ 1 ]
+#INSERT INTO tab0 VALUES(2,48,108.0,'htssi',121,132.69,'ablzu');
+[ 1 ]
+#INSERT INTO tab0 VALUES(3,116,109.7,'hvapv',123,133.8,'azmay');
+[ 1 ]
+#INSERT INTO tab0 VALUES(4,55,110.92,'wffzp',124,134.70,'qjqzu');
+[ 1 ]
+#INSERT INTO tab0 VALUES(5,117,112.62,'hkmcc',126,135.82,'rfnvr');
+[ 1 ]
+#INSERT INTO tab0 VALUES(6,119,113.87,'yofgi',127,136.86,'jgucx');
+[ 1 ]
+#INSERT INTO tab0 VALUES(7,64,114.12,'clvcm',128,137.57,'bywfe');
+[ 1 ]
+#INSERT INTO tab0 VALUES(8,67,5.69,'htdpm',129,138.11,'tqmqj');
+[ 1 ]
+#INSERT INTO tab0 VALUES(9,121,115.87,'czgiu',130,139.21,'vqktb');
+[ 1 ]
+#SELECT pk FROM tab0 WHERE (col1 < 94.60) AND (col0 < 90) AND col3 >= 40 AND
(col0 > 89);
+% sys.tab0 # table_name
+% pk # name
+% int # type
+% 1 # length
+#rollback;
+
+# 21:05:49 >
+# 21:05:49 > "Done."
+# 21:05:49 >
+
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list