Changeset: e3dea8ed4a10 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e3dea8ed4a10
Modified Files:
        monetdb5/optimizer/opt_candidates.c
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.stable.out
Branch: default
Log Message:

bat.mirror returns a candidate list.


diffs (102 lines):

diff --git a/monetdb5/optimizer/opt_candidates.c 
b/monetdb5/optimizer/opt_candidates.c
--- a/monetdb5/optimizer/opt_candidates.c
+++ b/monetdb5/optimizer/opt_candidates.c
@@ -70,7 +70,9 @@ OPTcandidatesImplementation(Client cntxt
                            getFunctionId(p) == groupRef || getFunctionId(p) == 
groupdoneRef)
                                setVarCList(mb, getArg(p, 1));
                } else if (getModuleId(p) == batRef) {
-                       if (getFunctionId(p) == mergecandRef || 
getFunctionId(p) == intersectcandRef)
+                       if (getFunctionId(p) == mergecandRef ||
+                               getFunctionId(p) == intersectcandRef ||
+                               getFunctionId(p) == mirrorRef)
                                setVarCList(mb,getArg(p,0));
                }
        }
diff --git 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out
 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out
--- 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out
+++ 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out
@@ -138,16 +138,16 @@ function user.s8_1():void;
     X_8:bat[:int] := sql.bind(X_4:int, "sys":str, "fk":str, "id":str, 0:int);
     X_17:bat[:int] := algebra.projection(C_5:bat[:oid], X_8:bat[:int]);
     X_42:bat[:int] := algebra.projection(X_34:bat[:oid], X_17:bat[:int]);
-    X_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
-    X_41:bat[:oid] := algebra.difference(X_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
+    C_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
+    C_41:bat[:oid] := algebra.difference(C_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
     X_27:bat[:int] := sql.bind(X_4:int, "sys":str, "pk1":str, "v1":str, 0:int);
     X_45:bat[:int] := bat.append(X_43:bat[:int], X_42:bat[:int], true:bit);
-    X_47:bat[:int] := algebra.projection(X_41:bat[:oid], X_17:bat[:int]);
+    X_47:bat[:int] := algebra.projection(C_41:bat[:oid], X_17:bat[:int]);
     X_48:bat[:int] := bat.append(X_45:bat[:int], X_47:bat[:int], true:bit);
     X_56:bat[:int] := bat.new(nil:int);
     X_55:bat[:int] := algebra.projectionpath(X_35:bat[:oid], C_25:bat[:oid], 
X_27:bat[:int]);
     X_57:bat[:int] := bat.append(X_56:bat[:int], X_55:bat[:int], true:bit);
-    X_59:bat[:int] := algebra.project(X_41:bat[:oid], nil:int);
+    X_59:bat[:int] := algebra.project(C_41:bat[:oid], nil:int);
     X_60:bat[:int] := bat.append(X_57:bat[:int], X_59:bat[:int], true:bit);
     X_73:bat[:str] := bat.new(nil:str);
     X_79:bat[:int] := bat.new(nil:int);
@@ -215,8 +215,8 @@ function user.s10_1():void;
     X_8:bat[:int] := sql.bind(X_4:int, "sys":str, "fk":str, "id":str, 0:int);
     X_17:bat[:int] := algebra.projection(C_5:bat[:oid], X_8:bat[:int]);
     X_42:bat[:int] := algebra.projection(X_34:bat[:oid], X_17:bat[:int]);
-    X_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
-    C_41:bat[:oid] := algebra.difference(X_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
+    C_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
+    C_41:bat[:oid] := algebra.difference(C_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
     X_27:bat[:int] := sql.bind(X_4:int, "sys":str, "pk2":str, "v2":str, 0:int);
     X_45:bat[:int] := bat.append(X_43:bat[:int], X_42:bat[:int], true:bit);
     X_47:bat[:int] := algebra.projection(C_41:bat[:oid], X_17:bat[:int]);
diff --git 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out
 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out
--- 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out
+++ 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out
@@ -138,8 +138,8 @@ function user.s8_1():void;
     X_8:bat[:int] := sql.bind(X_4:int, "sys":str, "fk":str, "id":str, 0:int);
     X_17:bat[:int] := algebra.projection(C_5:bat[:oid], X_8:bat[:int]);
     X_42:bat[:int] := algebra.projection(X_34:bat[:oid], X_17:bat[:int]);
-    X_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
-    C_41:bat[:oid] := algebra.difference(X_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
+    C_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
+    C_41:bat[:oid] := algebra.difference(C_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
     X_27:bat[:int] := sql.bind(X_4:int, "sys":str, "pk1":str, "v1":str, 0:int);
     X_45:bat[:int] := bat.append(X_43:bat[:int], X_42:bat[:int], true:bit);
     X_47:bat[:int] := algebra.projection(C_41:bat[:oid], X_17:bat[:int]);
diff --git 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
--- 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
+++ 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
@@ -138,8 +138,8 @@ function user.s8_1():void;
     X_8:bat[:int] := sql.bind(X_4:int, "sys":str, "fk":str, "id":str, 0:int);
     X_17:bat[:int] := algebra.projection(C_5:bat[:oid], X_8:bat[:int]);
     X_42:bat[:int] := algebra.projection(X_34:bat[:oid], X_17:bat[:int]);
-    X_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
-    C_41:bat[:oid] := algebra.difference(X_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
+    C_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
+    C_41:bat[:oid] := algebra.difference(C_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
     X_27:bat[:int] := sql.bind(X_4:int, "sys":str, "pk1":str, "v1":str, 0:int);
     X_45:bat[:int] := bat.append(X_43:bat[:int], X_42:bat[:int], true:bit);
     X_47:bat[:int] := algebra.projection(C_41:bat[:oid], X_17:bat[:int]);
@@ -215,8 +215,8 @@ function user.s10_1():void;
     X_8:bat[:int] := sql.bind(X_4:int, "sys":str, "fk":str, "id":str, 0:int);
     X_17:bat[:int] := algebra.projection(C_5:bat[:oid], X_8:bat[:int]);
     X_42:bat[:int] := algebra.projection(X_34:bat[:oid], X_17:bat[:int]);
-    X_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
-    C_41:bat[:oid] := algebra.difference(X_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
+    C_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
+    C_41:bat[:oid] := algebra.difference(C_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
     X_27:bat[:int] := sql.bind(X_4:int, "sys":str, "pk2":str, "v2":str, 0:int);
     X_45:bat[:int] := bat.append(X_43:bat[:int], X_42:bat[:int], true:bit);
     X_47:bat[:int] := algebra.projection(C_41:bat[:oid], X_17:bat[:int]);
diff --git 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.stable.out
 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.stable.out
--- 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.stable.out
+++ 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.stable.out
@@ -138,8 +138,8 @@ function user.s8_1():void;
     X_8:bat[:int] := sql.bind(X_4:int, "sys":str, "fk":str, "id":str, 0:int);
     X_17:bat[:int] := algebra.projection(C_5:bat[:oid], X_8:bat[:int]);
     X_42:bat[:int] := algebra.projection(X_34:bat[:oid], X_17:bat[:int]);
-    X_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
-    C_41:bat[:oid] := algebra.difference(X_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
+    C_40:bat[:oid] := bat.mirror(X_17:bat[:int]);
+    C_41:bat[:oid] := algebra.difference(C_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, nil:lng);
     X_27:bat[:int] := sql.bind(X_4:int, "sys":str, "pk1":str, "v2":str, 0:int);
     X_45:bat[:int] := bat.append(X_43:bat[:int], X_42:bat[:int], true:bit);
     X_47:bat[:int] := algebra.projection(C_41:bat[:oid], X_17:bat[:int]);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to