Changeset: 192aa92e65bd for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=192aa92e65bd
Added Files:
sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.sql
sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.stable.err
sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.stable.out
Modified Files:
.hgtags
gdk/gdk_logger.c
monetdb5/modules/mal/tablet.c
sql/test/BugTracker-2014/Tests/All
Branch: int128
Log Message:
Merge with Jan2014 branch.
diffs (191 lines):
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -538,6 +538,7 @@ 89679ea95aac8f548c787cd74c35212137f5b56f
e4239a86f8032fd67169ddf4bcea6f37f32a0f8b Feb2013_15
89679ea95aac8f548c787cd74c35212137f5b56f Feb2013_SP4_release
11955d7a07f23672650e41dd0c9fbc9e0fc4c1af Feb2013_SP4_release
+868919fa300584c27b2a41b134191b112ca13c22 Feb2013_int128_root
4e2a5af00230f6a0e4f51778744c9fcd353a6ba5 Feb2013_17
35b5a0d1fc95cbf151767e6d8e3c01b1e0316c1e Feb2013_SP5_release
2a7d1ac727ae65bb14a6d59bf8beed8ffdde2cd3 Feb2013_19
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1913,11 +1913,21 @@ log_tend(logger *lg)
/* sub commit all new snapshots */
BAT *tids, *bids;
+#if 0
+ /* We can't use this version because we still use
+ * BUNdelete on lg->snapshots_tid, so it is not
+ * necessarily dense-headed */
tids = BATsubselect(lg->snapshots_tid, NULL, &lg->tid, &lg->tid,
TRUE, TRUE, FALSE);
if (tids == NULL)
return LOG_ERR;
bids = BATproject(tids, lg->snapshots_bid);
+#else
+ tids = BATuselect(lg->snapshots_tid, &lg->tid, &lg->tid);
+ if (tids == NULL)
+ return LOG_ERR;
+ bids = BATsemijoin(lg->snapshots_bid, tids);
+#endif
BBPunfix(tids->batCacheid);
if (bids == NULL)
return LOG_ERR;
diff --git a/monetdb5/modules/mal/tablet.c b/monetdb5/modules/mal/tablet.c
--- a/monetdb5/modules/mal/tablet.c
+++ b/monetdb5/modules/mal/tablet.c
@@ -284,6 +284,10 @@ TABLETcollect_parts(Tablet *as, BUN offs
b->tkey = TRUE;
b->batDirty = TRUE;
+ if (offset>0) {
+ BBPunfix(bv->batCacheid);
+ bats[i] = BATslice(b, offset, BATcount(b));
+ }
if (cnt != BATcount(b)) {
snprintf(errbuf, sizeof(errbuf), "Error: column "
BUNFMT " count " BUNFMT " differs from " BUNFMT "\n", i, BATcount(b), cnt);
MT_lock_set(&errorlock, "TABLETcollect_parts");
diff --git a/sql/test/BugTracker-2014/Tests/All
b/sql/test/BugTracker-2014/Tests/All
--- a/sql/test/BugTracker-2014/Tests/All
+++ b/sql/test/BugTracker-2014/Tests/All
@@ -8,3 +8,4 @@ two-column-aggr-with-null.Bug-3428
sample-crash.Bug-3429
indices.Bug-3435
utf8bom.Bug-3436
+left-outer-join-with-and.Bug-3444
diff --git
a/sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.sql
b/sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.sql
@@ -0,0 +1,9 @@
+START TRANSACTION;
+
+CREATE TABLE "sys"."table1" ("taskid" INTEGER, "cid" INTEGER);
+CREATE TABLE "sys"."table2" ("taskid" INTEGER, "cname" VARCHAR(255));
+SELECT * FROM table1 t1 LEFT OUTER JOIN table2 t2 ON (t1.taskid = t2.taskid)
WHERE (t1.cid IS NULL OR t1.cid = t2.taskid OR t2.cname = 'test');
+SELECT * FROM table1 t1 LEFT OUTER JOIN table2 t2 ON (t1.taskid = t2.taskid)
AND (t1.cid IS NULL OR t1.cid = t2.taskid);
+SELECT * FROM table1 t1 LEFT OUTER JOIN table2 t2 ON (t1.taskid = t2.taskid)
AND (t1.cid IS NULL OR t1.cid = t2.taskid OR t2.cname = 'test');
+
+ROLLBACK;
diff --git
a/sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.stable.err
b/sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.stable.err
new file mode 100644
--- /dev/null
+++
b/sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.stable.err
@@ -0,0 +1,32 @@
+stderr of test 'left-outer-join-with-and.Bug-3444` in directory
'sql/test/BugTracker-2014` itself:
+
+
+# 17:13:23 >
+# 17:13:23 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=39389" "--set"
"mapi_usock=/var/tmp/mtest-7443/.s.monetdb.39389" "--set" "monet_prompt="
"--forcemito" "--set" "mal_listing=2"
"--dbpath=/ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test_BugTracker-2014"
"--set" "mal_listing=0"
+# 17:13:23 >
+
+# builtin opt gdk_dbpath =
/ufs/sjoerd/Monet-candidate/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 = 39389
+# cmdline opt mapi_usock = /var/tmp/mtest-7443/.s.monetdb.39389
+# cmdline opt monet_prompt =
+# cmdline opt mal_listing = 2
+# cmdline opt gdk_dbpath =
/ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test_BugTracker-2014
+# cmdline opt mal_listing = 0
+
+
+
+# 17:14:05 >
+# 17:14:05 > "Done."
+# 17:14:05 >
+
diff --git
a/sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.stable.out
b/sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.stable.out
new file mode 100644
--- /dev/null
+++
b/sql/test/BugTracker-2014/Tests/left-outer-join-with-and.Bug-3444.stable.out
@@ -0,0 +1,77 @@
+stdout of test 'left-outer-join-with-and.Bug-3444` in directory
'sql/test/BugTracker-2014` itself:
+
+
+# 17:13:23 >
+# 17:13:23 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=39389" "--set"
"mapi_usock=/var/tmp/mtest-7443/.s.monetdb.39389" "--set" "monet_prompt="
"--forcemito" "--set" "mal_listing=2"
"--dbpath=/ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test_BugTracker-2014"
"--set" "mal_listing=0"
+# 17:13:23 >
+
+# MonetDB 5 server v11.17.10 (hg id: ae7d4b7134d9+)
+# This is an unreleased version
+# Serving database 'mTests_sql_test_BugTracker-2014', using 8 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically
linked
+# Found 15.591 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2014 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:39389/
+# Listening for UNIX domain connection requests on
mapi:monetdb:///var/tmp/mtest-7443/.s.monetdb.39389
+# MonetDB/GIS module loaded
+# MonetDB/JAQL module loaded
+# MonetDB/SQL 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_compress.sql
+# loading sql script: 18_dictionary.sql
+# loading sql script: 19_cluster.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: 39_analytics.sql
+# loading sql script: 40_geom.sql
+# loading sql script: 46_gsl.sql
+# loading sql script: 75_storagemodel.sql
+# loading sql script: 80_statistics.sql
+# loading sql script: 80_udf.sql
+# loading sql script: 99_system.sql
+
+# 17:13:23 >
+# 17:13:23 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e"
"--host=/var/tmp/mtest-7443" "--port=39389"
+# 17:13:23 >
+
+#START TRANSACTION;
+#CREATE TABLE "sys"."table1" ("taskid" INTEGER, "cid" INTEGER);
+#CREATE TABLE "sys"."table2" ("taskid" INTEGER, "cname" VARCHAR(255));
+#SELECT * FROM table1 t1 LEFT OUTER JOIN table2 t2 ON (t1.taskid = t2.taskid)
WHERE (t1.cid IS NULL OR t1.cid = t2.taskid OR t2.cname = 'test');
+% .t1, .t1, .t2, .t2 # table_name
+% taskid, cid, taskid, cname # name
+% int, int, int, varchar # type
+% 1, 1, 1, 0 # length
+#SELECT * FROM table1 t1 LEFT OUTER JOIN table2 t2 ON (t1.taskid = t2.taskid)
AND (t1.cid IS NULL OR t1.cid = t2.taskid);
+% .t1, .t1, .t2, .t2 # table_name
+% taskid, cid, taskid, cname # name
+% int, int, int, varchar # type
+% 1, 1, 1, 0 # length
+#SELECT * FROM table1 t1 LEFT OUTER JOIN table2 t2 ON (t1.taskid = t2.taskid)
AND (t1.cid IS NULL OR t1.cid = t2.taskid OR t2.cname = 'test');
+% .t1, .t1, .t2, .t2 # table_name
+% taskid, cid, taskid, cname # name
+% int, int, int, varchar # type
+% 1, 1, 1, 0 # length
+#ROLLBACK;
+
+# 17:13:23 >
+# 17:13:23 > "Done."
+# 17:13:23 >
+
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list