Changeset: 14eb1f7015be for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=14eb1f7015be
Modified Files:
monetdb5/optimizer/Tests/inline02.stable.out
monetdb5/optimizer/Tests/inline03.stable.out
monetdb5/optimizer/Tests/inline06.stable.out
monetdb5/optimizer/Tests/reorder01.stable.out
Branch: Aug2011
Log Message:
Keep properties in inlined functions
The properties in inlined operations should not be dropped,
because we don't know if it is crucial for the remainder.
diffs (278 lines):
diff --git a/monetdb5/optimizer/Tests/inline02.stable.out
b/monetdb5/optimizer/Tests/inline02.stable.out
--- a/monetdb5/optimizer/Tests/inline02.stable.out
+++ b/monetdb5/optimizer/Tests/inline02.stable.out
@@ -35,9 +35,9 @@ function user.qry():void;
zz := X_16; # 4 zz:int := _16:int
# base line test for inlining
X_20 := batcalc.+(b,b); # 6 _20:bat[:oid,:int] :=
CMDbatADD_int_int_int(b:bat[:oid,:int], b:bat[:oid,:int]) {G}
- z:bat[:oid,:int] := X_20; # 7 z:bat[:oid,:int] :=
_20:bat[:oid,:int] {G}
+ z:bat[:oid,:int] {inline} := X_20; # 7 z:bat[:oid,:int] :=
_20:bat[:oid,:int] {G}
X_24 := batcalc.+(b,2); # 8 _24:bat[:oid,:int] :=
CMDbatADDcst_int_int_int(b:bat[:oid,:int], _8:int) {G}
- z:bat[:oid,:int] := X_24; # 9 z:bat[:oid,:int] :=
_24:bat[:oid,:int] {G}
+ z:bat[:oid,:int] {inline} := X_24; # 9 z:bat[:oid,:int] :=
_24:bat[:oid,:int] {G}
end qry; # 10
# 18:00:43 >
diff --git a/monetdb5/optimizer/Tests/inline03.stable.out
b/monetdb5/optimizer/Tests/inline03.stable.out
--- a/monetdb5/optimizer/Tests/inline03.stable.out
+++ b/monetdb5/optimizer/Tests/inline03.stable.out
@@ -34,11 +34,11 @@ function user.qry():void;
X_14 := 1; # 3 _14:int := _6:int
X_15 := batcalc.+(b,b); # 4 _15:bat[:oid,:int] :=
CMDbatADD_int_int_int(b:bat[:oid,:int], b:bat[:oid,:int]) {G}
X_15 := batcalc.*(X_15,X_14); # 5 _15:bat[:oid,:int] :=
CMDbatMULcst_int_int_int(_15:bat[:oid,:int], _14:int) {G}
- z:bat[:oid,:int] := X_15; # 6 z:bat[:oid,:int] :=
_15:bat[:oid,:int] {G}
+ z:bat[:oid,:int] {inline} := X_15; # 6 z:bat[:oid,:int] :=
_15:bat[:oid,:int] {G}
X_19 := 1; # 7 _19:int := _6:int
X_20 := batcalc.+(b,2); # 8 _20:bat[:oid,:int] :=
CMDbatADDcst_int_int_int(b:bat[:oid,:int], _10:int) {G}
X_20 := batcalc.*(X_20,X_19); # 9 _20:bat[:oid,:int] :=
CMDbatMULcst_int_int_int(_20:bat[:oid,:int], _19:int) {G}
- z:bat[:oid,:int] := X_20; # 10 z:bat[:oid,:int] :=
_20:bat[:oid,:int] {G}
+ z:bat[:oid,:int] {inline} := X_20; # 10 z:bat[:oid,:int] :=
_20:bat[:oid,:int] {G}
end qry; # 11
# 18:00:43 >
diff --git a/monetdb5/optimizer/Tests/inline06.stable.out
b/monetdb5/optimizer/Tests/inline06.stable.out
--- a/monetdb5/optimizer/Tests/inline06.stable.out
+++ b/monetdb5/optimizer/Tests/inline06.stable.out
@@ -36,12 +36,12 @@ function user.qry():void;
X_15 := mmath.rand(); # 4 _15:int := MATHrandint()
#
X_14 := batcalc.*(X_14,X_15); # 6 _14:bat[:oid,:int] :=
CMDbatMULcst_int_int_int(_14:bat[:oid,:int], _15:int) {G}
- z:bat[:oid,:int] := X_14; # 7 z:bat[:oid,:int] :=
_14:bat[:oid,:int] {G}
+ z:bat[:oid,:int] {inline} := X_14; # 7 z:bat[:oid,:int] :=
_14:bat[:oid,:int] {G}
X_20 := batcalc.+(b,2); # 8 _20:bat[:oid,:int] :=
CMDbatADDcst_int_int_int(b:bat[:oid,:int], _10:int) {G}
X_21 := mmath.rand(); # 9 _21:int := MATHrandint()
#
X_20 := batcalc.*(X_20,X_21); # 11 _20:bat[:oid,:int] :=
CMDbatMULcst_int_int_int(_20:bat[:oid,:int], _21:int) {G}
- z:bat[:oid,:int] := X_20; # 12 z:bat[:oid,:int] :=
_20:bat[:oid,:int] {G}
+ z:bat[:oid,:int] {inline} := X_20; # 12 z:bat[:oid,:int] :=
_20:bat[:oid,:int] {G}
end qry; # 13
# 18:00:44 >
diff --git a/monetdb5/optimizer/Tests/reorder01.stable.out
b/monetdb5/optimizer/Tests/reorder01.stable.out
--- a/monetdb5/optimizer/Tests/reorder01.stable.out
+++ b/monetdb5/optimizer/Tests/reorder01.stable.out
@@ -220,6 +220,14 @@ function user.main():void;
mdb.list("user","s0_0");
end main;
function user.s0_0():void;
+ X1:bat[:oid,:int] := sql.bind("tmp","_tables","id",0);
+ X6:bat[:oid,:oid] := sql.bind_dbat("tmp","_tables",1);
+ X8 := bat.reverse(X6);
+ X9 := algebra.kdifference(X1,X8);
+ X11 := algebra.markT(X9,0@0);
+ X12 := bat.reverse(X11);
+ X13:bat[:oid,:sht] := sql.bind("tmp","_tables","type",0);
+ X15 := algebra.join(X12,X13);
X16:bat[:oid,:int] := sql.bind("sys","_tables","id",0);
X18:bat[:oid,:int] := sql.bind("sys","_tables","id",1);
X19 := algebra.kunion(X16,X18);
@@ -238,21 +246,25 @@ function user.s0_0():void;
X33 := algebra.kdifference(X31,X32);
X34 := algebra.kunion(X33,X32);
X35 := algebra.join(X28,X34);
- X1:bat[:oid,:int] := sql.bind("tmp","_tables","id",0);
- X6:bat[:oid,:oid] := sql.bind_dbat("tmp","_tables",1);
- X8 := bat.reverse(X6);
- X9 := algebra.kdifference(X1,X8);
- X11 := algebra.markT(X9,0@0);
- X12 := bat.reverse(X11);
- X13:bat[:oid,:sht] := sql.bind("tmp","_tables","type",0);
- X15 := algebra.join(X12,X13);
bat.append(X35,X15,true);
- X44 := algebra.join(X28,X23);
- X43 := algebra.join(X12,X1);
X39 := algebra.thetauselect(X35,2:sht,"<");
X41 := algebra.markT(X39,0@0);
X42 := bat.reverse(X41);
+ X43 := algebra.join(X12,X1);
+ X44 := algebra.join(X28,X23);
bat.append(X44,X43,true);
+ X46 := algebra.join(X42,X44);
+ X47 := algebra.markT(X46,0@0);
+ X48 := bat.reverse(X47);
+ X49 := algebra.join(X48,X46);
+ X50:bat[:oid,:int] := sql.bind("tmp","_tables","id",0);
+ X51:bat[:oid,:oid] := sql.bind_dbat("tmp","_tables",1);
+ X52 := bat.reverse(X51);
+ X53 := algebra.kdifference(X50,X52);
+ X54 := algebra.markT(X53,0@0);
+ X55 := bat.reverse(X54);
+ X56:bat[:oid,:sht] := sql.bind("tmp","_tables","type",0);
+ X57 := algebra.join(X55,X56);
X58:bat[:oid,:int] := sql.bind("sys","_tables","id",0);
X59:bat[:oid,:int] := sql.bind("sys","_tables","id",1);
X60 := algebra.kunion(X58,X59);
@@ -271,30 +283,21 @@ function user.s0_0():void;
X73 := algebra.kdifference(X71,X72);
X74 := algebra.kunion(X73,X72);
X75 := algebra.join(X68,X74);
- X50:bat[:oid,:int] := sql.bind("tmp","_tables","id",0);
- X51:bat[:oid,:oid] := sql.bind_dbat("tmp","_tables",1);
- X52 := bat.reverse(X51);
- X53 := algebra.kdifference(X50,X52);
- X54 := algebra.markT(X53,0@0);
- X55 := bat.reverse(X54);
- X56:bat[:oid,:sht] := sql.bind("tmp","_tables","type",0);
- X57 := algebra.join(X55,X56);
- X46 := algebra.join(X42,X44);
- X47 := algebra.markT(X46,0@0);
- X48 := bat.reverse(X47);
- X49 := algebra.join(X48,X46);
bat.append(X75,X57,true);
- X81 := algebra.join(X68,X63);
- X80 := algebra.join(X55,X50);
X77 := algebra.thetauselect(X75,2:sht,"<");
X78 := algebra.markT(X77,0@0);
X79 := bat.reverse(X78);
+ X80 := algebra.join(X55,X50);
+ X81 := algebra.join(X68,X63);
bat.append(X81,X80,true);
X83 := algebra.join(X79,X81);
X84 := algebra.markT(X83,0@0);
X85 := bat.reverse(X84);
X86 := algebra.join(X85,X83);
bat.append(X86,X49,true);
+ (ext115,grp113) := group.new(X86);
+ X90:bat[:oid,:str] := sql.bind("tmp","_tables","name",0);
+ X92 := algebra.join(X12,X90);
X93:bat[:oid,:str] := sql.bind("sys","_tables","name",0);
X94:bat[:oid,:str] := sql.bind("sys","_tables","name",1);
X95 := algebra.kunion(X93,X94);
@@ -302,18 +305,18 @@ function user.s0_0():void;
X97 := algebra.kdifference(X95,X96);
X98 := algebra.kunion(X97,X96);
X99 := algebra.join(X28,X98);
- X90:bat[:oid,:str] := sql.bind("tmp","_tables","name",0);
- X92 := algebra.join(X12,X90);
- (ext115,grp113) := group.new(X86);
bat.append(X99,X92,true);
- X104 := algebra.join(X68,X98);
- X103 := algebra.join(X55,X90);
X101 := algebra.join(X42,X99);
X102 := algebra.join(X48,X101);
+ X103 := algebra.join(X55,X90);
+ X104 := algebra.join(X68,X98);
bat.append(X104,X103,true);
X106 := algebra.join(X79,X104);
X107 := algebra.join(X85,X106);
bat.append(X107,X102,true);
+ (ext151,grp149) := group.derive(ext115,grp113,X107);
+ X111:bat[:oid,:int] := sql.bind("tmp","_tables","schema_id",0);
+ X113 := algebra.join(X12,X111);
X114:bat[:oid,:int] := sql.bind("sys","_tables","schema_id",0);
X115:bat[:oid,:int] := sql.bind("sys","_tables","schema_id",1);
X116 := algebra.kunion(X114,X115);
@@ -321,18 +324,18 @@ function user.s0_0():void;
X118 := algebra.kdifference(X116,X117);
X119 := algebra.kunion(X118,X117);
X120 := algebra.join(X28,X119);
- X111:bat[:oid,:int] := sql.bind("tmp","_tables","schema_id",0);
- X113 := algebra.join(X12,X111);
- (ext151,grp149) := group.derive(ext115,grp113,X107);
bat.append(X120,X113,true);
- X125 := algebra.join(X68,X119);
- X124 := algebra.join(X55,X111);
X122 := algebra.join(X42,X120);
X123 := algebra.join(X48,X122);
+ X124 := algebra.join(X55,X111);
+ X125 := algebra.join(X68,X119);
bat.append(X125,X124,true);
X127 := algebra.join(X79,X125);
X128 := algebra.join(X85,X127);
bat.append(X128,X123,true);
+ (ext187,grp185) := group.derive(ext151,grp149,X128);
+ X132:bat[:oid,:str] := sql.bind("tmp","_tables","query",0);
+ X134 := algebra.join(X12,X132);
X135:bat[:oid,:str] := sql.bind("sys","_tables","query",0);
X136:bat[:oid,:str] := sql.bind("sys","_tables","query",1);
X137 := algebra.kunion(X135,X136);
@@ -340,24 +343,24 @@ function user.s0_0():void;
X139 := algebra.kdifference(X137,X138);
X140 := algebra.kunion(X139,X138);
X141 := algebra.join(X28,X140);
- X132:bat[:oid,:str] := sql.bind("tmp","_tables","query",0);
- X134 := algebra.join(X12,X132);
- (ext187,grp185) := group.derive(ext151,grp149,X128);
bat.append(X141,X134,true);
- X146 := algebra.join(X68,X140);
- X145 := algebra.join(X55,X132);
X143 := algebra.join(X42,X141);
X144 := algebra.join(X48,X143);
+ X145 := algebra.join(X55,X132);
+ X146 := algebra.join(X68,X140);
bat.append(X146,X145,true);
X148 := algebra.join(X79,X146);
X149 := algebra.join(X85,X148);
bat.append(X149,X144,true);
+ (ext223,grp221) := group.derive(ext187,grp185,X149);
+ X153 := algebra.join(X42,X35);
+ X154 := algebra.join(X48,X153);
X155 := algebra.join(X79,X75);
X156 := algebra.join(X85,X155);
- X153 := algebra.join(X42,X35);
- X154 := algebra.join(X48,X153);
- (ext223,grp221) := group.derive(ext187,grp185,X149);
bat.append(X156,X154,true);
+ (ext231,grp229) := group.derive(ext223,grp221,X156);
+ X160:bat[:oid,:bit] := sql.bind("tmp","_tables","system",0);
+ X162 := algebra.join(X12,X160);
X163:bat[:oid,:bit] := sql.bind("sys","_tables","system",0);
X164:bat[:oid,:bit] := sql.bind("sys","_tables","system",1);
X165 := algebra.kunion(X163,X164);
@@ -365,18 +368,18 @@ function user.s0_0():void;
X167 := algebra.kdifference(X165,X166);
X168 := algebra.kunion(X167,X166);
X169 := algebra.join(X28,X168);
- X160:bat[:oid,:bit] := sql.bind("tmp","_tables","system",0);
- X162 := algebra.join(X12,X160);
- (ext231,grp229) := group.derive(ext223,grp221,X156);
bat.append(X169,X162,true);
- X174 := algebra.join(X68,X168);
- X173 := algebra.join(X55,X160);
X171 := algebra.join(X42,X169);
X172 := algebra.join(X48,X171);
+ X173 := algebra.join(X55,X160);
+ X174 := algebra.join(X68,X168);
bat.append(X174,X173,true);
X176 := algebra.join(X79,X174);
X177 := algebra.join(X85,X176);
bat.append(X177,X172,true);
+ (ext267,grp265) := group.derive(ext231,grp229,X177);
+ X181:bat[:oid,:sht] := sql.bind("tmp","_tables","commit_action",0);
+ X183 := algebra.join(X12,X181);
X184:bat[:oid,:sht] := sql.bind("sys","_tables","commit_action",0);
X185:bat[:oid,:sht] := sql.bind("sys","_tables","commit_action",1);
X186 := algebra.kunion(X184,X185);
@@ -384,26 +387,23 @@ function user.s0_0():void;
X188 := algebra.kdifference(X186,X187);
X189 := algebra.kunion(X188,X187);
X190 := algebra.join(X28,X189);
- X181:bat[:oid,:sht] := sql.bind("tmp","_tables","commit_action",0);
- X183 := algebra.join(X12,X181);
- (ext267,grp265) := group.derive(ext231,grp229,X177);
bat.append(X190,X183,true);
- X195 := algebra.join(X68,X189);
- X194 := algebra.join(X55,X181);
X192 := algebra.join(X42,X190);
X193 := algebra.join(X48,X192);
+ X194 := algebra.join(X55,X181);
+ X195 := algebra.join(X68,X189);
bat.append(X195,X194,true);
X197 := algebra.join(X79,X195);
X198 := algebra.join(X85,X197);
bat.append(X198,X193,true);
+ (ext303,grp301) := group.derive(ext267,grp265,X198);
+ X203 := algebra.project(X12,1);
X205 := algebra.project(X28,0);
- X203 := algebra.project(X12,1);
- (ext303,grp301) := group.derive(ext267,grp265,X198);
bat.append(X205,X203,true);
- X210 := algebra.project(X68,0);
- X209 := algebra.project(X55,1);
X207 := algebra.join(X42,X205);
X208 := algebra.join(X48,X207);
+ X209 := algebra.project(X55,1);
+ X210 := algebra.project(X68,0);
bat.append(X210,X209,true);
X212 := algebra.join(X79,X210);
X213 := algebra.join(X85,X212);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list