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
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to