Changeset: 4cb66767bff3 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4cb66767bff3
Modified Files:
        sql/backends/monet5/sql_scenario.c
        sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.err
        sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.out
Branch: Jul2012
Log Message:

Merge with Apr2012 branch.


diffs (209 lines):

diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -57,6 +57,7 @@
 #include "optimizer.h"
 #include "opt_statistics.h"
 #include "opt_prelude.h"
+#include "opt_pipes.h"
 #include <unistd.h>
 
 static int SQLinitialized = 0;
@@ -1511,20 +1512,16 @@ SQLparser(Client c)
                if (m->emod & mod_debug)
                        SQLsetDebugger(c, m, TRUE);
                if (!cachable(m, s)) {
-                       InstrPtr p;
-                       MalBlkPtr curBlk;
+                       MalBlkPtr mb;
 
                        scanner_query_processed(&(m->scanner));
                        backend_callinline(be, c, s);
-
-                       curBlk = c->curprg->def;
-
-                       p = newFcnCall(curBlk, "optimizer", "remap");
-                       typeChecker(c->fdout, c->nspace, curBlk, p, FALSE);
-                       p = newFcnCall(curBlk, "optimizer", "multiplex");
-                       typeChecker(c->fdout, c->nspace, curBlk, p, FALSE);
-                       optimizeMALBlock(c, curBlk);
-                       c->curprg->def = curBlk;
+                       trimMalBlk(c->curprg->def);
+                       mb = c->curprg->def;
+                       chkProgram(c->fdout, c->nspace, mb);
+                       addOptimizerPipe(c, mb, "minimal_pipe");
+                       optimizeMALBlock(c, mb);
+                       c->curprg->def = mb;
                } else {
                        /* generate a factory instantiation */
                        be->q = qc_insert(m->qc,
diff --git 
a/sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.err 
b/sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.err
--- a/sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.err
+++ b/sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.err
@@ -71,7 +71,7 @@ stderr of test 'explain_gives_crash.SF-2
 # 22:45:54 >  mclient -lsql -umonetdb -Pmonetdb --host=alf --port=35519 
 # 22:45:54 >  
 
-MAPI  = monetdb@sofia:38256
+MAPI  = monetdb@niels:33385
 QUERY = alter table blabla drop constraint dada;
 ERROR = !ALTER TABLE: no such constraint 'dada'
 
diff --git 
a/sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.out 
b/sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.out
--- a/sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.out
+++ b/sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.out
@@ -27,88 +27,82 @@ Ready.
 #~BeginVariableOutput~#
 function user.main{autoCommit=nil}():void;
     mdb.listMapi();
-    sql.mvc();
-"    calc.str(""sys"");"
-    calc.ptr(140501869939024);
-    calc.int(0);
-"    sql.catalog(29\,X_3\,X_5\,X_7);"
-    calc.int(1);
-"    calc.str(""UPDATE: UNIQUE constraint 'blabla.dada' violated"");"
-"    X_15:bat[:oid\,:oid]  := sql.bind_dbat(X_2\,""sys""\,""blabla""\,1);"
-    bat.reverse(X_15);
-    calc.int(nil:int);
-"    X_20:bat[:oid\,:int]  := sql.bind(X_2\,""sys""\,""blabla""\,""id""\,0);"
-    algebra.selectNotNil(X_20);
-"    algebra.kdifference(X_22\,X_17);"
-"    (ext26\,grp24) := group.done(X_23);"
-    grp24;
-    bat.mirror(ext26);
-"    X_28:bat[:oid\,:wrd]  := aggr.count(X_26\,X_26\,X_27);"
-    X_29:wrd  := aggr.sum(X_28);
-    calc.isnil(X_29);
-    calc.wrd(0:wrd);
-"    calc.ifthenelse(X_30\,X_31\,X_29);"
-    aggr.count(X_28);
-"    calc.!=(X_34\,X_33);"
-"    sql.assert(X_35\,X_13);"
+    X_2 := sql.mvc();
+"    X_3 := calc.str(""sys"");"
+    X_5 := calc.ptr(140529384786912);
+    X_7 := calc.int(0);
+"    sql.catalog(29,X_3,X_5,X_7);"
+"    X_11:bat[:oid,:int]  := sql.bind(X_2,""sys"",""blabla"",""id"",0);"
+    X_16 := algebra.selectNotNil(X_11);
+"    X_17:bat[:oid,:oid]  := sql.bind_dbat(X_2,""sys"",""blabla"",1);"
+    X_19 := bat.reverse(X_17);
+"    X_20 := algebra.kdifference(X_16,X_19);"
+"    (ext23,grp21) := group.done(X_20);"
+    X_23 := grp21;
+    X_24 := bat.mirror(ext23);
+"    X_25:bat[:oid,:wrd]  := aggr.count(X_23,X_23,X_24);"
+    X_26 := aggr.count(X_25);
+    X_27:wrd  := aggr.sum(X_25);
+    X_28 := calc.isnil(X_27);
+    X_29 := calc.wrd(0:wrd);
+"    X_31 := calc.ifthenelse(X_28,X_29,X_27);"
+"    X_32 := calc.!=(X_26,X_31);"
+"    X_33 := calc.str(""UPDATE: UNIQUE constraint 'blabla.dada' violated"");"
+"    sql.assert(X_32,X_33);"
 "    sql.exportOperation("""");"
 end main;
 function user.main{autoCommit=nil}():void;
     mdb.listMapi();
-    sql.mvc();
-"    calc.str(""sys"");"
-    calc.ptr(140501869939024);
-    calc.int(0);
-"    sql.catalog(29\,X_3\,X_5\,X_7);"
-    calc.int(1);
-"    calc.str(""UPDATE: UNIQUE constraint 'blabla.dada' violated"");"
-"    X_15:bat[:oid\,:oid]  := sql.bind_dbat(X_2\,""sys""\,""blabla""\,1);"
-    bat.reverse(X_15);
-    calc.int(nil:int);
-"    X_20:bat[:oid\,:int]  := sql.bind(X_2\,""sys""\,""blabla""\,""id""\,0);"
-    algebra.selectNotNil(X_20);
-"    algebra.kdifference(X_22\,X_17);"
-"    (ext26\,grp24) := group.done(X_23);"
-    grp24;
-    bat.mirror(ext26);
-"    X_28:bat[:oid\,:wrd]  := aggr.count(X_26\,X_26\,X_27);"
-    X_29:wrd  := aggr.sum(X_28);
-    calc.isnil(X_29);
-    calc.wrd(0:wrd);
-"    calc.ifthenelse(X_30\,X_31\,X_29);"
-    aggr.count(X_28);
-"    calc.!=(X_34\,X_33);"
-"    sql.assert(X_35\,X_13);"
+    X_2 := sql.mvc();
+"    X_3 := calc.str(""sys"");"
+    X_5 := calc.ptr(140529384786912);
+    X_7 := calc.int(0);
+"    sql.catalog(29,X_3,X_5,X_7);"
+"    X_11:bat[:oid,:int]  := sql.bind(X_2,""sys"",""blabla"",""id"",0);"
+    X_16 := algebra.selectNotNil(X_11);
+"    X_17:bat[:oid,:oid]  := sql.bind_dbat(X_2,""sys"",""blabla"",1);"
+    X_19 := bat.reverse(X_17);
+"    X_20 := algebra.kdifference(X_16,X_19);"
+"    (ext23,grp21) := group.done(X_20);"
+    X_23 := grp21;
+    X_24 := bat.mirror(ext23);
+"    X_25:bat[:oid,:wrd]  := aggr.count(X_23,X_23,X_24);"
+    X_26 := aggr.count(X_25);
+    X_27:wrd  := aggr.sum(X_25);
+    X_28 := calc.isnil(X_27);
+    X_29 := calc.wrd(0:wrd);
+"    X_31 := calc.ifthenelse(X_28,X_29,X_27);"
+"    X_32 := calc.!=(X_26,X_31);"
+"    X_33 := calc.str(""UPDATE: UNIQUE constraint 'blabla.dada' violated"");"
+"    sql.assert(X_32,X_33);"
 "    sql.exportOperation("""");"
 end main;
 #~EndVariableOutput~#
 #~BeginVariableOutput~#
 function user.main{autoCommit=nil}():void;
     mdb.listMapi();
-    sql.mvc();
-"    calc.str(""sys"");"
-    calc.ptr(140501869939024);
-    calc.int(0);
-"    sql.catalog(29\,X_3\,X_5\,X_7);"
-    calc.int(1);
-"    calc.str(""UPDATE: UNIQUE constraint 'blabla.dada' violated"");"
-"    X_15:bat[:oid\,:oid]  := sql.bind_dbat(X_2\,""sys""\,""blabla""\,1);"
-    bat.reverse(X_15);
-    calc.int(nil:int);
-"    X_20:bat[:oid\,:int]  := sql.bind(X_2\,""sys""\,""blabla""\,""id""\,0);"
-    algebra.selectNotNil(X_20);
-"    algebra.kdifference(X_22\,X_17);"
-"    (ext26\,grp24) := group.done(X_23);"
-    grp24;
-    bat.mirror(ext26);
-"    X_28:bat[:oid\,:wrd]  := aggr.count(X_26\,X_26\,X_27);"
-    X_29:wrd  := aggr.sum(X_28);
-    calc.isnil(X_29);
-    calc.wrd(0:wrd);
-"    calc.ifthenelse(X_30\,X_31\,X_29);"
-    aggr.count(X_28);
-"    calc.!=(X_34\,X_33);"
-"    sql.assert(X_35\,X_13);"
+    X_2 := sql.mvc();
+"    X_3 := calc.str(""sys"");"
+    X_5 := calc.ptr(140529384487152);
+    X_7 := calc.int(0);
+"    sql.catalog(29,X_3,X_5,X_7);"
+"    X_11:bat[:oid,:int]  := sql.bind(X_2,""sys"",""blabla"",""id"",0);"
+    X_16 := algebra.selectNotNil(X_11);
+"    X_17:bat[:oid,:oid]  := sql.bind_dbat(X_2,""sys"",""blabla"",1);"
+    X_19 := bat.reverse(X_17);
+"    X_20 := algebra.kdifference(X_16,X_19);"
+"    (ext23,grp21) := group.done(X_20);"
+    X_23 := grp21;
+    X_24 := bat.mirror(ext23);
+"    X_25:bat[:oid,:wrd]  := aggr.count(X_23,X_23,X_24);"
+    X_26 := aggr.count(X_25);
+    X_27:wrd  := aggr.sum(X_25);
+    X_28 := calc.isnil(X_27);
+    X_29 := calc.wrd(0:wrd);
+"    X_31 := calc.ifthenelse(X_28,X_29,X_27);"
+"    X_32 := calc.!=(X_26,X_31);"
+"    X_33 := calc.str(""UPDATE: UNIQUE constraint 'blabla.dada' violated"");"
+"    sql.assert(X_32,X_33);"
 "    sql.exportOperation("""");"
 end main;
 #~EndVariableOutput~#
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to