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