Changeset: 8f0ef1f692c9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8f0ef1f692c9
Modified Files:
        monetdb5/optimizer/Tests/tst4631.stable.out
        monetdb5/optimizer/opt_wrapper.c
Branch: Feb2013
Log Message:

OPTwrapper: add optimizer "constants"
this keeps OPTwrapper() from raising an exception with tests
monetdb5/optimizer/Tests/tst4631.mal
and
monetdb5/optimizer/Tests/common.mal
(which is later silently swalled by runScenarioBody();
 see bug 3256 for details)
and thus makes these tests work, again.

Also approved minor output changes.


diffs (64 lines):

diff --git a/monetdb5/optimizer/Tests/tst4631.stable.out 
b/monetdb5/optimizer/Tests/tst4631.stable.out
--- a/monetdb5/optimizer/Tests/tst4631.stable.out
+++ b/monetdb5/optimizer/Tests/tst4631.stable.out
@@ -149,17 +149,17 @@ function user.qry1():void;              
     V40 := algebra.sort(V39);           # 20 V40:bat[:oid,:bit] := 
ALGhsort(V39:bat[:oid,:bit]) {G}
     V48 := algebra.join(V34,V31);       # 21 V48:bat[:oid,:bit] := 
ALGjoin(V34:bat[:oid,:oid], V31:bat[:oid,:bit]) {G}
     V49 := group.refine(V40,V48);       # 22 V49:bat[:oid,:oid] := 
GRPrefine(V40:bat[:oid,:bit], V48:bat[:oid,:bit]) {G}
-    V50:bat[:oid,:int]  := user.bind("sys","lineitem","l_quantity",0);# 23 
V50:bat[:oid,:int] := user.bind(_40:str, _41:str, _49:str, _42:int) {G}
+    V50:bat[:oid,:int]  := user.bind("sys","lineitem","l_quantity",0);# 23 
V50:bat[:oid,:int] := user.bind(_2:str, _3:str, _49:str, _5:int) {G}
     V54 := algebra.kdifference(V50,V9); # 24 V54:bat[:oid,:int] := 
ALGkdiff(V50:bat[:oid,:int], V9:bat[:oid,:oid]) {G}
     V55 := algebra.join(V18,V54);       # 25 V55:bat[:oid,:int] := 
ALGjoin(V18:bat[:oid,:oid], V54:bat[:oid,:int]) {G}
     V56 := aggr.sum(V55,V32,V34);       # 26 V56:bat[:oid,:lng] := 
AGGRsum3_lng(V55:bat[:oid,:int], V32:bat[:oid,:oid], V34:bat[:oid,:oid]) {G}
-    V57:bat[:oid,:flt]  := user.bind("sys","lineitem","l_extendedprice",0);# 
27 V57:bat[:oid,:flt] := user.bind(_40:str, _41:str, _56:str, _42:int) {G}
+    V57:bat[:oid,:flt]  := user.bind("sys","lineitem","l_extendedprice",0);# 
27 V57:bat[:oid,:flt] := user.bind(_2:str, _3:str, _56:str, _5:int) {G}
     V61 := algebra.kdifference(V57,V9); # 28 V61:bat[:oid,:flt] := 
ALGkdiff(V57:bat[:oid,:flt], V9:bat[:oid,:oid]) {G}
     V62 := algebra.join(V18,V61);       # 29 V62:bat[:oid,:flt] := 
ALGjoin(V18:bat[:oid,:oid], V61:bat[:oid,:flt]) {G}
     V63 := aggr.sum(V62,V32,V34);       # 30 V63:bat[:oid,:dbl] := 
AGGRsum3_dbl(V62:bat[:oid,:flt], V32:bat[:oid,:oid], V34:bat[:oid,:oid]) {G}
     V69 := calc.lng(1);                 # 31 V69:lng := CMDvarCONVERT(_67:int) 
     V71 := calc.*(V69,100);             # 32 V71:lng := 
CMDvarMULsignal(V69:lng, _69:int) 
-    V72:bat[:oid,:flt]  := user.bind("sys","lineitem","l_discount",0);# 33 
V72:bat[:oid,:flt] := user.bind(_40:str, _41:str, _71:str, _42:int) {G}
+    V72:bat[:oid,:flt]  := user.bind("sys","lineitem","l_discount",0);# 33 
V72:bat[:oid,:flt] := user.bind(_2:str, _3:str, _71:str, _5:int) {G}
     V79 := algebra.kdifference(V72,V9); # 34 V79:bat[:oid,:flt] := 
ALGkdiff(V72:bat[:oid,:flt], V9:bat[:oid,:oid]) {G}
     V80 := algebra.join(V18,V79);       # 35 V80:bat[:oid,:flt] := 
ALGjoin(V18:bat[:oid,:oid], V79:bat[:oid,:flt]) {G}
     V81:bat[:oid,:flt]  := mal.multiplex("calc","-",V71,V80);# 36 
V81:bat[:oid,:flt] := OPTremapMultiplex(_80:str, _81:str, V71:lng, 
V80:bat[:oid,:flt]) {G}
@@ -167,7 +167,7 @@ function user.qry1():void;              
     V85 := aggr.sum(V83,V32,V34);       # 38 V85:bat[:oid,:dbl] := 
AGGRsum3_dbl(V83:bat[:oid,:flt], V32:bat[:oid,:oid], V34:bat[:oid,:oid]) {G}
     V96:bat[:oid,:flt]  := mal.multiplex("calc","-",V71,V80);# 39 
V96:bat[:oid,:flt] := OPTremapMultiplex(_80:str, _81:str, V71:lng, 
V80:bat[:oid,:flt]) {G}
     V97 := batcalc.*(V62,V96);          # 40 V97:bat[:oid,:flt] := 
CMDbatMULsignal(V62:bat[:oid,:flt], V96:bat[:oid,:flt]) {G}
-    V100:bat[:oid,:flt]  := user.bind("sys","lineitem","l_tax",0);# 41 
V100:bat[:oid,:flt] := user.bind(_73:str, _74:str, _99:str, _75:int) {G}
+    V100:bat[:oid,:flt]  := user.bind("sys","lineitem","l_tax",0);# 41 
V100:bat[:oid,:flt] := user.bind(_2:str, _3:str, _99:str, _5:int) {G}
     V104 := algebra.kdifference(V100,V9);# 42 V104:bat[:oid,:flt] := 
ALGkdiff(V100:bat[:oid,:flt], V9:bat[:oid,:oid]) {G}
     V105 := algebra.join(V18,V104);     # 43 V105:bat[:oid,:flt] := 
ALGjoin(V18:bat[:oid,:oid], V104:bat[:oid,:flt]) {G}
     V106:bat[:oid,:flt]  := mal.multiplex("calc","+",V71,V105);# 44 
V106:bat[:oid,:flt] := OPTremapMultiplex(_80:str, _105:str, V71:lng, 
V105:bat[:oid,:flt]) {G}
@@ -175,9 +175,9 @@ function user.qry1():void;              
     V109 := aggr.sum(V108,V32,V34);     # 46 V109:bat[:oid,:dbl] := 
AGGRsum3_dbl(V108:bat[:oid,:flt], V32:bat[:oid,:oid], V34:bat[:oid,:oid]) {G}
     V117 := aggr.avg(V55,V32,V34);      # 47 V117:bat[:oid,:dbl] := 
AGGRavg3_dbl(V55:bat[:oid,:int], V32:bat[:oid,:oid], V34:bat[:oid,:oid]) {G}
     V122 := aggr.avg(V62,V32,V34);      # 48 V122:bat[:oid,:dbl] := 
AGGRavg3_dbl(V62:bat[:oid,:flt], V32:bat[:oid,:oid], V34:bat[:oid,:oid]) {G}
-    V124:bat[:oid,:int]  := mal.multiplex("calc","round",V122,100);# 49 
V124:bat[:oid,:int] := OPTremapMultiplex(_122:str, _123:str, 
V122:bat[:oid,:dbl], _124:int) {G}
+    V124:bat[:oid,:int]  := mal.multiplex("calc","round",V122,100);# 49 
V124:bat[:oid,:int] := OPTremapMultiplex(_80:str, _123:str, 
V122:bat[:oid,:dbl], _69:int) {G}
     V130 := aggr.avg(V80,V32,V34);      # 50 V130:bat[:oid,:dbl] := 
AGGRavg3_dbl(V80:bat[:oid,:flt], V32:bat[:oid,:oid], V34:bat[:oid,:oid]) {G}
-    V131 := mal.multiplex("calc","round",V130,100);# 51 V131:any := 
OPTremapMultiplex(_122:str, _123:str, V130:bat[:oid,:dbl], _124:int) {G}
+    V131 := mal.multiplex("calc","round",V130,100);# 51 V131:any := 
OPTremapMultiplex(_80:str, _123:str, V130:bat[:oid,:dbl], _69:int) {G}
     V132 := aggr.count(V32,V32,V34);    # 52 V132:bat[:oid,:wrd] := 
AGGRcount3nils(V32:bat[:oid,:oid], V32:bat[:oid,:oid], V34:bat[:oid,:oid]) {G}
 end qry1;                               # 53  
 #optimizer.aliases    actions= 0 time=18 usec 
diff --git a/monetdb5/optimizer/opt_wrapper.c b/monetdb5/optimizer/opt_wrapper.c
--- a/monetdb5/optimizer/opt_wrapper.c
+++ b/monetdb5/optimizer/opt_wrapper.c
@@ -44,6 +44,7 @@ All Rights Reserved.
 #include "opt_coercion.h"
 #include "opt_commonTerms.h"
 #include "opt_compression.h"
+#include "opt_constants.h"
 #include "opt_costModel.h"
 #include "opt_dataflow.h"
 #include "opt_deadcode.h"
@@ -86,6 +87,7 @@ struct{
        {"coercions", &OPTcoercionImplementation},
        {"commonTerms", &OPTcommonTermsImplementation},
        {"compression", &OPTcompressionImplementation},
+       {"constants", &OPTconstantsImplementation},
        {"costModel", &OPTcostModelImplementation},
        {"dataflow", &OPTdataflowImplementation},
        {"deadcode", &OPTdeadcodeImplementation},
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to