Changeset: d36c48c97c35 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d36c48c97c35
Modified Files:
MonetDB5/src/optimizer/opt_mergetable.mx
MonetDB5/src/optimizer/opt_prelude.mx
MonetDB5/src/optimizer/opt_support.mx
sql/src/test/BugTracker-2008/Tests/insert-null-byte.SF-2233581.SQL.bat
sql/src/test/BugTracker-2008/Tests/insert-null-byte.SF-2233581.SQL.sh
sql/src/test/BugTracker-2009/Tests/dumping_tables.SF-2776908.SQL.bat
sql/src/test/BugTracker-2009/Tests/dumping_tables.SF-2776908.SQL.sh
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/alter-table-restart-crash.SF-2975018-1.sql
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/alter-table-restart-crash.SF-2975018-1.stable.err
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/alter-table-restart-crash.SF-2975018-1.stable.out
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/alter-table-restart-crash.SF-2975018-2.sql
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/alter-table-restart-crash.SF-2975018-2.stable.err
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/alter-table-restart-crash.SF-2975018-2.stable.out
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975022/Tests/alter-table-restart-crash.SF-2975022-1.sql
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975022/Tests/alter-table-restart-crash.SF-2975022-1.stable.err
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975022/Tests/alter-table-restart-crash.SF-2975022-1.stable.out
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975022/Tests/alter-table-restart-crash.SF-2975022-2.sql
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975022/Tests/alter-table-restart-crash.SF-2975022-2.stable.err
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975022/Tests/alter-table-restart-crash.SF-2975022-2.stable.out
sql/src/test/Tests/like_tests.SQL.bat
sql/src/test/Tests/like_tests.SQL.sh
sql/src/test/Tests/null-byte-hang.SQL.bat
sql/src/test/Tests/null-byte-hang.SQL.sh
sql/src/test/Tests/zones2.SQL.bat
sql/src/test/Tests/zones2.SQL.sh
Branch: default
Log Message:
Merge with Jun2010 branch.
diffs (truncated from 1630 to 300 lines):
diff -r ef962eacc773 -r d36c48c97c35 MonetDB5/src/optimizer/opt_mergetable.mx
--- a/MonetDB5/src/optimizer/opt_mergetable.mx Tue Aug 17 12:22:41 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_mergetable.mx Tue Aug 17 15:16:43 2010 +0200
@@ -771,7 +771,6 @@
return mtop;
}
-
/* join, also handles the case that mat[m].mm is set, ie that we
have the extend available.
*/
@@ -1618,7 +1617,11 @@
@c
/* only handle simple joins, ie not range/band joins */
- if (match > 0 && match <= 2 && isMatJoinOp(p)) {
+ /* For range/band joins (argc == 4), the propagation of oids
+ is different, ie result-head equals head-1st arg,
+ result-tail equals head-2nd/3rd arg */
+
+ if (match > 0 && match <= 2 && isMatJoinOp(p) && p->argc == 3) {
m = isMATalias(getArg(p,1), mat, mtop);
n = isMATalias(getArg(p,2), mat, mtop);
if ((m = mat_join(mb, p, mat, mtop, m, n)) < 0)
@@ -1742,9 +1745,16 @@
getModuleId(p) == aggrRef ||
(getModuleId(p) == algebraRef &&
(getFunctionId(p) == sortTailRef ||
- getFunctionId(p) == sortReverseTailRef)))) {
+ getFunctionId(p) == sortReverseTailRef)) ||
+ (getModuleId(p) == pqueueRef &&
+ (getFunctionId(p) == topn_minRef ||
+ getFunctionId(p) == topn_maxRef)))) {
error++;
goto fail;
+ /* For order (and order related topn)
+ we need a similar 2 phase model as used for group
+ by
+ */
}
@-
The slice operation can also be piggy backed onto the mat.pack using it
diff -r ef962eacc773 -r d36c48c97c35 MonetDB5/src/optimizer/opt_prelude.mx
--- a/MonetDB5/src/optimizer/opt_prelude.mx Tue Aug 17 12:22:41 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_prelude.mx Tue Aug 17 15:16:43 2010 +0200
@@ -129,7 +129,7 @@
opt_export str newRef;
opt_export str oidRef;
opt_export str octopusRef;
-opt_export str openRef;
+opt_export str openRef;
opt_export str optimizerRef;
opt_export str packRef;
opt_export str pack2Ref;
@@ -142,6 +142,7 @@
opt_export str preludeRef;
opt_export str prodRef;
opt_export str postludeRef;
+opt_export str pqueueRef;
opt_export str profilerRef;
opt_export str projectRef;
opt_export str putRef;
@@ -183,6 +184,8 @@
opt_export str sumRef;
opt_export str sunionRef;
opt_export str takeRef;
+opt_export str topn_minRef;
+opt_export str topn_maxRef;
opt_export str tuniqueRef;
opt_export str tarantulaRef;
opt_export str not_uniqueRef;
@@ -344,6 +347,7 @@
str preludeRef;
str prodRef;
str postludeRef;
+str pqueueRef;
str profilerRef;
str projectRef;
str putRef;
@@ -386,6 +390,8 @@
str sunionRef;
str takeRef;
str tarantulaRef;
+str topn_minRef;
+str topn_maxRef;
str tuniqueRef;
str not_uniqueRef;
str unionRef;
@@ -543,6 +549,7 @@
prodRef = putName("product",7);
profilerRef = putName("profiler",8);
postludeRef = putName("postlude",8);
+ pqueueRef = putName("pqueue",6);
projectRef = putName("project",7);
putRef = putName("put",3);
queryRef = putName("query",5);
@@ -584,6 +591,8 @@
sunionRef= putName("sunion",6);
takeRef= putName("take",5);
tarantulaRef = putName("tarantula",9);
+ topn_minRef= putName("topn_min",8);
+ topn_maxRef= putName("topn_max",8);
tuniqueRef = putName("tunique",7);
not_uniqueRef= putName("not_unique",10);
unionRef= putName("union",5);
diff -r ef962eacc773 -r d36c48c97c35 MonetDB5/src/optimizer/opt_support.mx
--- a/MonetDB5/src/optimizer/opt_support.mx Tue Aug 17 12:22:41 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_support.mx Tue Aug 17 15:16:43 2010 +0200
@@ -1419,7 +1419,8 @@
// getFunctionId(p) == antijoinRef || is not mat save
getFunctionId(p) == leftjoinRef ||
getFunctionId(p) == thetajoinRef ||
- getFunctionId(p) == bandjoinRef));
+ getFunctionId(p) == bandjoinRef)
+ );
}
int isFragmentGroup(InstrPtr p){
diff -r ef962eacc773 -r d36c48c97c35
sql/src/test/BugTracker-2008/Tests/insert-null-byte.SF-2233581.SQL.bat
--- a/sql/src/test/BugTracker-2008/Tests/insert-null-byte.SF-2233581.SQL.bat
Tue Aug 17 12:22:41 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-%SQL_CLIENT% "%TSTSRCDIR%/../insert-null-byte.sql"
diff -r ef962eacc773 -r d36c48c97c35
sql/src/test/BugTracker-2008/Tests/insert-null-byte.SF-2233581.SQL.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/src/test/BugTracker-2008/Tests/insert-null-byte.SF-2233581.SQL.py
Tue Aug 17 15:16:43 2010 +0200
@@ -0,0 +1,8 @@
+import os
+from MonetDBtesting import process
+
+c = process.client('sql',
+ stdin = open(os.path.join(os.getenv('TSTSRCDIR'),
+ os.path.pardir,
+ 'insert-null-byte.sql')))
+c.communicate()
diff -r ef962eacc773 -r d36c48c97c35
sql/src/test/BugTracker-2008/Tests/insert-null-byte.SF-2233581.SQL.sh
--- a/sql/src/test/BugTracker-2008/Tests/insert-null-byte.SF-2233581.SQL.sh
Tue Aug 17 12:22:41 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$SQL_CLIENT $TSTSRCDIR/../insert-null-byte.sql
diff -r ef962eacc773 -r d36c48c97c35
sql/src/test/BugTracker-2009/Tests/dumping_tables.SF-2776908.SQL.bat
--- a/sql/src/test/BugTracker-2009/Tests/dumping_tables.SF-2776908.SQL.bat
Tue Aug 17 12:22:41 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-...@echo on
-...@prompt # $t $g
-
- %SQL_CLIENT% -i < %TSTSRCDIR%/../dumping_tables.SF-2776908.sql
diff -r ef962eacc773 -r d36c48c97c35
sql/src/test/BugTracker-2009/Tests/dumping_tables.SF-2776908.SQL.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/src/test/BugTracker-2009/Tests/dumping_tables.SF-2776908.SQL.py
Tue Aug 17 15:16:43 2010 +0200
@@ -0,0 +1,9 @@
+import os
+from MonetDBtesting import process
+
+c = process.client('sql',
+ stdin = open(os.path.join(os.getenv('TSTSRCDIR'),
+ os.path.pardir,
+ 'dumping_tables.SF-2776908.sql')),
+ log = True)
+c.communicate()
diff -r ef962eacc773 -r d36c48c97c35
sql/src/test/BugTracker-2009/Tests/dumping_tables.SF-2776908.SQL.sh
--- a/sql/src/test/BugTracker-2009/Tests/dumping_tables.SF-2776908.SQL.sh
Tue Aug 17 12:22:41 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-Mlog -x "$SQL_CLIENT -i < $TSTSRCDIR/../dumping_tables.SF-2776908.sql"
diff -r ef962eacc773 -r d36c48c97c35
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/All
---
a/sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/All
Tue Aug 17 12:22:41 2010 +0200
+++
b/sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/All
Tue Aug 17 15:16:43 2010 +0200
@@ -1,4 +1,4 @@
# this test causes the database to get into a state that the server
# cannot recover from
-alter-table-restart-crash.SF-2975018-1
-alter-table-restart-crash.SF-2975018-2
+t-1
+t-2
diff -r ef962eacc773 -r d36c48c97c35
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/alter-table-restart-crash.SF-2975018-1.sql
---
a/sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/alter-table-restart-crash.SF-2975018-1.sql
Tue Aug 17 12:22:41 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
---
--- Setup two test tables, one that references the other.
---
-
-CREATE TABLE "sf2975018t1" (
-"id" int NOT NULL,
-CONSTRAINT "sf2975018t1_id_pkey" PRIMARY KEY ("id")
-);
-
-CREATE TABLE "sf2975018t2" (
-"id" int NOT NULL,
-"sf2975018t1_id" int NOT NULL,
-CONSTRAINT "sf2975018t2_id_pkey" PRIMARY KEY ("id"),
-CONSTRAINT "sf2975018t2_sf2975018t1_id_fkey" FOREIGN KEY ("sf2975018t1_id")
REFERENCES "sf2975018t1" ("id")
-);
-CREATE INDEX "sf2975018t2_sf2975018t1_id" ON "sf2975018t2" ("sf2975018t1_id");
-
---
--- Drop fkey constraint and index
---
-
-DROP INDEX "sf2975018t2_sf2975018t1_id";
-ALTER TABLE "sf2975018t2" DROP CONSTRAINT sf2975018t2_sf2975018t1_id_fkey;
-
---
--- Drop fkey column that links tables.
---
-
-ALTER TABLE "sf2975018t2" DROP COLUMN sf2975018t1_id;
diff -r ef962eacc773 -r d36c48c97c35
sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/alter-table-restart-crash.SF-2975018-1.stable.err
---
a/sql/src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/alter-table-restart-crash.SF-2975018-1.stable.err
Tue Aug 17 12:22:41 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-stderr of test 'alter-table-restart-crash.SF-2975018-1` in directory
'src/test/BugTracker-2010/alter-table-restart-crash.SF-2975018` itself:
-
-
-# 15:39:20 >
-# 15:39:20 > mserver5 "--config=/ufs/sjoerd/Monet-stable/etc/monetdb5.conf"
--debug=10 --set gdk_nr_threads=0 --set
"monet_mod_path=/ufs/sjoerd/Monet-stable/lib64/MonetDB5:/ufs/sjoerd/Monet-stable/lib64/MonetDB5/lib:/ufs/sjoerd/Monet-stable/lib64/MonetDB5/bin"
--set "gdk_dbfarm=/ufs/sjoerd/Monet-stable/var/MonetDB5/dbfarm" --set
mapi_open=true --set xrpc_open=true --set mapi_port=34848 --set xrpc_port=40752
--set monet_prompt= --trace "--dbname=mTests_src_test_BugTracker-2010" --set
mal_listing=0 "--dbinit= include sql;" ; echo ; echo Over..
-# 15:39:20 >
-
-# builtin opt gdk_arch = 64bitx86_64-unknown-linux-gnu
-# builtin opt gdk_version = 1.36.4
-# builtin opt prefix = /ufs/sjoerd/Monet-stable
-# builtin opt exec_prefix = ${prefix}
-# builtin opt gdk_dbname = tst
-# builtin opt gdk_dbfarm = ${prefix}/var/MonetDB
-# builtin opt gdk_debug = 8
-# builtin opt gdk_alloc_map = yes
-# builtin opt gdk_vmtrim = yes
-# builtin opt monet_admin = adm
-# builtin opt monet_prompt = >
-# builtin opt monet_welcome = yes
-# builtin opt monet_mod_path = ${prefix}/lib64/MonetDB
-# builtin opt monet_daemon = yes
-# builtin opt host = localhost
-# builtin opt mapi_port = 50000
-# builtin opt mapi_noheaders = no
-# builtin opt mapi_debug = 0
-# builtin opt mapi_clients = 2
-# builtin opt sql_debug = 0
-# builtin opt standoff_ns = http://monetdb.cwi.nl/standoff
-# builtin opt standoff_start = start
-# builtin opt standoff_end = end
-# config opt prefix = /ufs/sjoerd/Monet-stable
-# config opt config = ${prefix}/etc/monetdb5.conf
-# config opt prefix = /ufs/sjoerd/Monet-stable
-# config opt exec_prefix = ${prefix}
-# config opt gdk_dbfarm = ${prefix}/var/MonetDB5/dbfarm
-# config opt gdk_dbname = demo
-# config opt gdk_alloc_map = no
-# config opt gdk_embedded = no
-# config opt gdk_debug = 0
-# config opt monet_mod_path =
${prefix}/lib64/MonetDB5:${prefix}/lib64/MonetDB5/lib:${prefix}/lib64/MonetDB5/bin
-# config opt monet_daemon = no
-# config opt monet_welcome = yes
-# config opt mero_msglog = ${prefix}/var/log/MonetDB/merovingian.log
-# config opt mero_errlog = ${prefix}/var/log/MonetDB/merovingian.log
-# config opt mero_pidfile = ${prefix}/var/run/MonetDB/merovingian.pid
-# config opt mero_controlport = 50001
-# config opt mal_init = ${prefix}/lib64/MonetDB5/mal_init.mal
-# config opt mal_listing = 2
-# config opt mapi_port = 50000
-# config opt mapi_autosense = false
-# config opt mapi_open = false
-# config opt sql_optimizer = default_pipe
-# config opt default_pipe =
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,garbageCollector,dataflow,history,multiplex
-# config opt nov2009_pipe =
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,garbageCollector,dataflow,history,multiplex
-# config opt replication_pipe =
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,garbageCollector,dataflow,history,replication,multiplex
-# config opt accumulator_pipe =
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,accumulators,garbageCollector,dataflow,history,multiplex
-# config opt recycler_pipe =
inline,remap,evaluate,costModel,coercions,emptySet,aliases,deadcode,constants,commonTerms,joinPath,deadcode,recycle,reduce,garbageCollector,dataflow,history,multiplex
-# config opt cracker_pipe =
inline,remap,evaluate,costModel,coercions,emptySet,aliases,selcrack,deadcode,constants,commonTerms,joinPath,deadcode,reduce,garbageCollector,dataflow,history,multiplex
-# config opt sidcrack_pipe =
inline,remap,evaluate,costModel,coercions,emptySet,aliases,sidcrack,deadcode,constants,commonTerms,joinPath,deadcode,reduce,garbageCollector,dataflow,history,multiplex
-# config opt datacell_pipe =
inline,remap,evaluate,costModel,coercions,emptySet,aliases,deadcode,constants,commonTerms,joinPath,datacell,deadcode,reduce,garbageCollector,dataflow,history,multiplex
-# config opt octopus_pipe =
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,constants,commonTerms,joinPath,octopus,deadcode,reduce,garbageCollector,dataflow,history,multiplex
-# config opt datacyclotron_pipe =
inline,remap,evaluate,costModel,coercions,emptySet,aliases,datacyclotron,mergetable,deadcode,constants,commonTerms,joinPath,reorder,deadcode,reduce,garbageCollector,dataflow,history,replication,multiplex
-# config opt derive_pipe =
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,derivePath,joinPath,deadcode,reduce,garbageCollector,dataflow,history,multiplex
-# config opt dictionary_pipe =
inline,remap,dictionary,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,garbageCollector,dataflow,history,multiplex
-# cmdline opt config = /ufs/sjoerd/Monet-stable/etc/monetdb5.conf
-# cmdline opt gdk_nr_threads = 0
-# cmdline opt monet_mod_path =
/ufs/sjoerd/Monet-stable/lib64/MonetDB5:/ufs/sjoerd/Monet-stable/lib64/MonetDB5/lib:/ufs/sjoerd/Monet-stable/lib64/MonetDB5/bin
-# cmdline opt gdk_dbfarm = /ufs/sjoerd/Monet-stable/var/MonetDB5/dbfarm
-# cmdline opt mapi_open = true
-# cmdline opt xrpc_open = true
-# cmdline opt mapi_port = 34848
-# cmdline opt xrpc_port = 40752
-# cmdline opt monet_prompt =
-# cmdline opt gdk_dbname = mTests_src_test_BugTracker-2010
-# cmdline opt mal_listing = 0
-#warning: please don't forget to set your vault key!
-#(see /ufs/sjoerd/Monet-stable/etc/monetdb5.conf)
-
-# 15:39:21 >
-# 15:39:21 > mclient -lsql -ftest -i -e --host=ottar --port=34848
-# 15:39:21 >
-
-
-# 15:39:21 >
-# 15:39:21 > Done.
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list