Changeset: ab557e39932c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ab557e39932c
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        monetdb5/extras/mal_optimizer_template/opt_sql_append.c
        monetdb5/extras/rapi/Tests/rapi01.maltest
        monetdb5/mal/Tests/tst024.maltest
        monetdb5/mal/Tests/tst034.maltest
        monetdb5/mal/Tests/tst059.maltest
        monetdb5/mal/Tests/tst071.maltest
        monetdb5/mal/Tests/tst163.maltest
        monetdb5/mal/Tests/tst194.maltest
        monetdb5/mal/Tests/tst195.maltest
        monetdb5/mal/Tests/tst196.maltest
        monetdb5/mal/Tests/tst220.maltest
        monetdb5/mal/Tests/tst230.maltest
        monetdb5/mal/Tests/tst231.maltest
        monetdb5/mal/Tests/tst232.maltest
        monetdb5/mal/mal_client.c
        monetdb5/mal/mal_factory.c
        monetdb5/mal/mal_function.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_instruction.h
        monetdb5/mal/mal_listing.c
        monetdb5/mal/mal_session.c
        monetdb5/mal/mal_session.h
        monetdb5/optimizer/opt_aliases.c
        monetdb5/optimizer/opt_bincopyfrom.c
        monetdb5/optimizer/opt_candidates.c
        monetdb5/optimizer/opt_coercion.c
        monetdb5/optimizer/opt_commonTerms.c
        monetdb5/optimizer/opt_constants.c
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_deadcode.c
        monetdb5/optimizer/opt_emptybind.c
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_fastpath.c
        monetdb5/optimizer/opt_garbageCollector.c
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_inline.c
        monetdb5/optimizer/opt_jit.c
        monetdb5/optimizer/opt_json.c
        monetdb5/optimizer/opt_macro.c
        monetdb5/optimizer/opt_mask.c
        monetdb5/optimizer/opt_matpack.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_oltp.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_postfix.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_profiler.c
        monetdb5/optimizer/opt_projectionpath.c
        monetdb5/optimizer/opt_pushselect.c
        monetdb5/optimizer/opt_querylog.c
        monetdb5/optimizer/opt_reduce.c
        monetdb5/optimizer/opt_remap.c
        monetdb5/optimizer/opt_remoteQueries.c
        monetdb5/optimizer/opt_reorder.c
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_support.h
        monetdb5/optimizer/opt_volcano.c
        monetdb5/optimizer/opt_wlc.c
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/optimizer/optimizer.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_optimizer.c
Branch: default
Log Message:

Don't call sprintf on MAL optimizers. Overall cleanup


diffs (truncated from 3827 to 300 lines):

diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -9110,6 +9110,8 @@
 [ "optimizer", "volcano_pipe", "function optimizer.volcano_pipe():void;",      
"",     ""      ]
 [ "optimizer", "wlc",  "pattern optimizer.wlc():str ", "OPTwrapper;",  ""      
]
 [ "optimizer", "wlc",  "pattern optimizer.wlc(X_0:str, X_1:str):str ", 
"OPTwrapper;",  "Inject the workload capture-replay primitives" ]
+[ "optimizer", "wrapper",      "pattern optimizer.wrapper():str ",     
"OPTwrapper;",  ""      ]
+[ "optimizer", "wrapper",      "pattern optimizer.wrapper(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Fake optimizer"        ]
 [ "pcre",      "imatch",       "command pcre.imatch(X_0:str, X_1:str):bit ",   
"PCREimatch;",  "Caseless Perl Compatible Regular Expression pattern matching 
against a string" ]
 [ "pcre",      "index",        "command pcre.index(X_0:pcre, X_1:str):int ",   
"PCREindex;",   "match a pattern, return matched position (or 0 when not 
found)"        ]
 [ "pcre",      "match",        "command pcre.match(X_0:str, X_1:str):bit ",    
"PCREmatch;",   "Perl Compatible Regular Expression pattern matching against a 
string"  ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -12410,6 +12410,8 @@
 [ "optimizer", "volcano_pipe", "function optimizer.volcano_pipe():void;",      
"",     ""      ]
 [ "optimizer", "wlc",  "pattern optimizer.wlc():str ", "OPTwrapper;",  ""      
]
 [ "optimizer", "wlc",  "pattern optimizer.wlc(X_0:str, X_1:str):str ", 
"OPTwrapper;",  "Inject the workload capture-replay primitives" ]
+[ "optimizer", "wrapper",      "pattern optimizer.wrapper():str ",     
"OPTwrapper;",  ""      ]
+[ "optimizer", "wrapper",      "pattern optimizer.wrapper(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Fake optimizer"        ]
 [ "pcre",      "imatch",       "command pcre.imatch(X_0:str, X_1:str):bit ",   
"PCREimatch;",  "Caseless Perl Compatible Regular Expression pattern matching 
against a string" ]
 [ "pcre",      "index",        "command pcre.index(X_0:pcre, X_1:str):int ",   
"PCREindex;",   "match a pattern, return matched position (or 0 when not 
found)"        ]
 [ "pcre",      "match",        "command pcre.match(X_0:str, X_1:str):bit ",    
"PCREmatch;",   "Perl Compatible Regular Expression pattern matching against a 
string"  ]
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -773,7 +773,8 @@ void MPresetProfiler(stream *fdout);
 char *MSP_locate_sqlscript(const char *mod_name, bit recurse);
 str MSinitClientPrg(Client cntxt, const char *mod, const char *nme);
 void MSresetInstructions(MalBlkPtr mb, int start);
-void MSresetVariables(Client cntxt, MalBlkPtr mb, MalStkPtr glb, int start);
+void MSresetStack(Client cntxt, MalBlkPtr mb, MalStkPtr glb);
+void MSresetVariables(MalBlkPtr mb);
 void MSscheduleClient(str command, str challenge, bstream *fin, stream *fout, 
protocol_version protocol, size_t blocksize);
 str MSserveClient(Client cntxt);
 str OIDXcreateImplementation(Client cntxt, int tpe, BAT *b, int pieces);
@@ -1137,6 +1138,7 @@ const char *mdbRef;
 void mdbSetBreakRequest(Client cntxt, MalBlkPtr mb, str request, char cmd);
 const char *mergecandRef;
 const char *mergepackRef;
+const char *mergetableRef;
 const char *minRef;
 const char *min_no_nilRef;
 const char *minusRef;
@@ -1227,7 +1229,6 @@ const char *plusRef;
 const char *postludeRef;
 const char *preludeRef;
 MalStkPtr prepareMALstack(MalBlkPtr mb, int size);
-int prepareMalBlk(MalBlkPtr mb, str s);
 void printFunction(stream *fd, MalBlkPtr mb, MalStkPtr stk, int flg);
 void printInstruction(stream *fd, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int 
flg);
 const char *printRef;
@@ -1386,6 +1387,7 @@ const char *thetajoinRef;
 const char *thetaselectRef;
 const char *tidRef;
 const char *timestampRef;
+const char *totalRef;
 void traceFunction(component_t comp, MalBlkPtr mb, MalStkPtr stk, int flg);
 void traceInstruction(component_t comp, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
p, int flg);
 const char *transactionRef;
diff --git a/monetdb5/extras/mal_optimizer_template/opt_sql_append.c 
b/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
--- a/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
+++ b/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
@@ -248,17 +248,10 @@ OPTsql_appendImplementation(Client cntxt
 
 static str
 OPTsql_append(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p){
-       str modnme;
-       str fcnnme;
-       str msg= MAL_SUCCEED;
-       Symbol s= NULL;
-       char buf[256];
-       lng clk= GDKusec();
+       str modnme, fcnnme, msg = MAL_SUCCEED;
+       Symbol s = NULL;
        int actions = 0;
 
-       (void) cntxt;
-       if( p )
-               removeInstruction(mb, p);
 #ifdef DEBUG_OPT_OPTIMIZERS
        mnstr_printf(cntxt->fdout,"=APPLY OPTIMIZER sql_append\n");
 #endif
@@ -279,11 +272,8 @@ OPTsql_append(Client cntxt, MalBlkPtr mb
                }
                s= findSymbol(cntxt->usermodule, 
putName(modnme),putName(fcnnme));
 
-               if( s == NULL) {
-                       char buf[1024];
-                       snprintf(buf,1024, "%s.%s",modnme,fcnnme);
-                       throw(MAL, "optimizer.sql_append", 
RUNTIME_OBJECT_UNDEFINED ":%s", buf);
-               }
+               if( s == NULL)
+                       throw(MAL, "optimizer.sql_append", 
RUNTIME_OBJECT_UNDEFINED ":%s.%s",modnme,fcnnme);
                mb = s->def;
                stk= 0;
        }
@@ -292,21 +282,21 @@ OPTsql_append(Client cntxt, MalBlkPtr mb
                addtoMalBlkHistory(mb);
                return MAL_SUCCEED;
        }
-       actions= OPTsql_appendImplementation(cntxt, mb,stk,p);
+       actions = OPTsql_appendImplementation(cntxt, mb,stk,p);
 
-    /* Defense line against incorrect plans */
-       msg = chkTypes(cntxt->usermodule, mb, FALSE);
-       if( msg == MAL_SUCCEED) msg = chkFlow(mb);
-       if( msg == MAL_SUCCEED) msg = chkDeclarations(mb);
+       /* Defense line against incorrect plans */
+       if( actions > 0 && msg == MAL_SUCCEED){
+               msg = chkTypes(cntxt->usermodule, mb, FALSE);
+               if( msg == MAL_SUCCEED) msg = chkFlow(mb);
+               if( msg == MAL_SUCCEED) msg = chkDeclarations(mb);
+       }
 #ifdef DEBUG_OPT_OPTIMIZERS
-               mnstr_printf(cntxt->fdout,"=FINISHED sql_append %d\n",actions);
-               printFunction(cntxt->fdout,mb,0,LIST_MAL_ALL );
-               mnstr_printf(cntxt->fdout,"#opt_reduce: " LLFMT " ms\n",t);
+       mnstr_printf(cntxt->fdout,"=FINISHED sql_append %d\n",actions);
+       printFunction(cntxt->fdout,mb,0,LIST_MAL_ALL );
+       mnstr_printf(cntxt->fdout,"#opt_reduce: " LLFMT " ms\n",t);
 #endif
-       clk = GDKusec()- clk;
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","optimizer.sql_append",actions, clk);
-    newComment(mb,buf);
-       addtoMalBlkHistory(mb);
+       /* keep actions taken as a fake argument*/
+       (void) pushInt(mb, p, actions);
        return msg;
 }
 
diff --git a/monetdb5/extras/rapi/Tests/rapi01.maltest 
b/monetdb5/extras/rapi/Tests/rapi01.maltest
--- a/monetdb5/extras/rapi/Tests/rapi01.maltest
+++ b/monetdb5/extras/rapi/Tests/rapi01.maltest
@@ -75,4 +75,6 @@ r:bat[:dbl] := rapi.eval(nil:ptr,"ret0 <
 
 statement error
 io.print(r)
+----
+nil
 
diff --git a/monetdb5/mal/Tests/tst024.maltest 
b/monetdb5/mal/Tests/tst024.maltest
--- a/monetdb5/mal/Tests/tst024.maltest
+++ b/monetdb5/mal/Tests/tst024.maltest
@@ -1,8 +1,8 @@
 statement ok
 function foo();
-X_5:=32;
-X_5:=23;
-io.print(X_5);
+GLB_5:=32;
+GLB_5:=23;
+io.print(GLB_5);
 end foo;
 
 query T rowsort
diff --git a/monetdb5/mal/Tests/tst034.maltest 
b/monetdb5/mal/Tests/tst034.maltest
--- a/monetdb5/mal/Tests/tst034.maltest
+++ b/monetdb5/mal/Tests/tst034.maltest
@@ -19,7 +19,7 @@ i:= bbp.getLRefCount(b)
 query T rowsort
 io.printf("start of selections %d [1]\n",i)
 ----
-start of selections 5 [1]
+start of selections 1 [1]
 
 statement ok
 s:= algebra.select(b,nil:bat[:oid],0,2,true,true,false)
@@ -51,7 +51,7 @@ i:= bbp.getLRefCount(b)
 query T rowsort
 io.printf("select %d [1]\n",i)
 ----
-select 5 [1]
+select 1 [1]
 
 statement ok
 s:= algebra.select(b,nil:bat[:oid],0,2,true,false,false)
@@ -73,7 +73,7 @@ i:= bbp.getLRefCount(b)
 query T rowsort
 io.printf("select %d [1]\n",i)
 ----
-select 5 [1]
+select 1 [1]
 
 statement ok
 s:= algebra.select(b,nil:bat[:oid],0,2,false,true,false)
diff --git a/monetdb5/mal/Tests/tst059.maltest 
b/monetdb5/mal/Tests/tst059.maltest
--- a/monetdb5/mal/Tests/tst059.maltest
+++ b/monetdb5/mal/Tests/tst059.maltest
@@ -1,15 +1,15 @@
 statement ok
 function threevaluedlogic(B:bit):bit;
        threevaluedlogic:int:= nil:int ;
-       barrier X_2 := B;
+       barrier GLB_2 := B;
                return threevaluedlogic:int  := 1:int;
-       exit X_2;
-       barrier X_8 := calc.isnil(B);
+       exit GLB_2;
+       barrier GLB_8 := calc.isnil(B);
                return threevaluedlogic:int  := nil:int;
-       exit X_8;
-       barrier X_6 := calc.not(B);
+       exit GLB_8;
+       barrier GLB_6 := calc.not(B);
                return threevaluedlogic:int  := 0:int;
-       exit X_6;
+       exit GLB_6;
        return threevaluedlogic:int;
 end threevaluedlogic
 
diff --git a/monetdb5/mal/Tests/tst071.maltest 
b/monetdb5/mal/Tests/tst071.maltest
--- a/monetdb5/mal/Tests/tst071.maltest
+++ b/monetdb5/mal/Tests/tst071.maltest
@@ -22,4 +22,6 @@ a:= user.swap(3,4)
 
 statement error
 io.print(a)
+----
+nil
 
diff --git a/monetdb5/mal/Tests/tst163.maltest 
b/monetdb5/mal/Tests/tst163.maltest
--- a/monetdb5/mal/Tests/tst163.maltest
+++ b/monetdb5/mal/Tests/tst163.maltest
@@ -17,4 +17,5 @@ 1
 
 statement error
 io.print(j)
-
+----
+nil
diff --git a/monetdb5/mal/Tests/tst194.maltest 
b/monetdb5/mal/Tests/tst194.maltest
--- a/monetdb5/mal/Tests/tst194.maltest
+++ b/monetdb5/mal/Tests/tst194.maltest
@@ -9,4 +9,6 @@ y:= user.welcome3(1)
 
 statement error
 io.print(y)
+----
+nil
 
diff --git a/monetdb5/mal/Tests/tst195.maltest 
b/monetdb5/mal/Tests/tst195.maltest
--- a/monetdb5/mal/Tests/tst195.maltest
+++ b/monetdb5/mal/Tests/tst195.maltest
@@ -9,4 +9,6 @@ y:= user.welcome4(1)
 
 statement error
 io.print(y)
+----
+nil
 
diff --git a/monetdb5/mal/Tests/tst196.maltest 
b/monetdb5/mal/Tests/tst196.maltest
--- a/monetdb5/mal/Tests/tst196.maltest
+++ b/monetdb5/mal/Tests/tst196.maltest
@@ -7,6 +7,6 @@ end welcome5
 statement error
 y:= user.welcome5(1)
 
-statement error
+statement ok
 io.print(y)
 
diff --git a/monetdb5/mal/Tests/tst220.maltest 
b/monetdb5/mal/Tests/tst220.maltest
--- a/monetdb5/mal/Tests/tst220.maltest
+++ b/monetdb5/mal/Tests/tst220.maltest
@@ -40,7 +40,7 @@ statement ok
 query T rowsort
        io.printf("refcount =%d[1]\n",i)
 ----
-refcount =2[1]
+refcount =1[1]
 
 statement ok
        b2:= b
@@ -51,7 +51,7 @@ statement ok
 query T rowsort
        io.printf("after assignment refcount =%d[2]\n",i)
 ----
-after assignment refcount =3[2]
+after assignment refcount =2[2]
 
 statement ok
        b3:= b
@@ -65,7 +65,7 @@ statement ok
 query T rowsort
        io.printf("after 2nd assignment refcount =%d[3]\n",i)
 ----
-after 2nd assignment refcount =4[3]
+after 2nd assignment refcount =3[3]
 
 statement ok
        b3:= user.createone()
@@ -76,7 +76,7 @@ statement ok
 query T rowsort
        io.printf("after 3rd assignment refcount =%d[2]\n",i)
 ----
-after 3rd assignment refcount =3[2]
+after 3rd assignment refcount =2[2]
 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to