Changeset: 9855d58c4b08 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9855d58c4b08
Modified Files:
clients/Tests/exports.stable.out
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_optimizer.c
sql/backends/monet5/sql_optimizer.h
sql/backends/monet5/sql_scenario.c
sql/test/Tests/systemfunctions.stable.out
sql/test/Tests/systemfunctions.stable.out.int128
Branch: jit
Log Message:
Approve output
diffs (truncated from 478 to 300 lines):
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
@@ -1566,6 +1566,7 @@ int OPTmultiplexImplementation(Client cn
str OPTmultiplexSimple(Client cntxt, MalBlkPtr mb);
str OPTorcam(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
int OPTorcamImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
p);
+int OPTpostfixImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
int OPTprofilerImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
int OPTprojectionpathImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
int OPTpushselectImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
diff --git
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
--- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
+++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
@@ -61,25 +61,18 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 115 # length
+% 118 # length
function user.s4_1():void;
- sql.mvc();
- calc.ptr(nil);
- calc.str("|");
- calc.str("\\n");
- calc.str(nil:str);
- calc.str("null");
- calc.str("/tmp/xyz");
- calc.lng(-1);
- calc.lng(0);
- calc.int(0);
- calc.int(0);
- (X_21:bat[:int],X_22:bat[:int],X_23:bat[:int]) :=
sql.copy_from(X_2,X_4,X_6,X_8,X_10,X_12,X_14,X_16,X_18,X_20);
- sql.append(X_1,"sys","ttt","a",X_21);
- sql.append(X_25,"sys","ttt","b",X_22);
- sql.append(X_30,"sys","ttt","c",X_23);
- aggr.count(X_23);
- sql.affectedRows(X_33,X_35);
+ X_24:void := querylog.define("explain copy into ttt from
\\'/tmp/xyz\\';","default_pipe",12);
+barrier X_34 := language.dataflow();
+ X_1 := sql.mvc();
+ (X_11:bat[:int],X_12:bat[:int],X_13:bat[:int]) :=
sql.copy_from(nil,"|","\\n",nil:str,"null","/tmp/xyz",-1,0,0,0);
+exit X_34;
+ X_14 := sql.append(X_1,"sys","ttt","a",X_11);
+ X_18 := sql.append(X_14,"sys","ttt","b",X_12);
+ X_20 := sql.append(X_18,"sys","ttt","c",X_13);
+ X_22 := aggr.count(X_13);
+ sql.affectedRows(X_20,X_22);
end user.s4_1;
#declare opt_pipe_name string;
#set opt_pipe_name = ( select optimizer );
@@ -102,25 +95,18 @@ end user.s4_1;
% .explain # table_name
% mal # name
% clob # type
-% 115 # length
+% 118 # length
function user.s12_1():void;
- sql.mvc();
- calc.ptr(nil);
- calc.str("|");
- calc.str("\\n");
- calc.str(nil:str);
- calc.str("null");
- calc.str("/tmp/xyz");
- calc.lng(-1);
- calc.lng(0);
- calc.int(0);
- calc.int(0);
- (X_21:bat[:int],X_22:bat[:int],X_23:bat[:int]) :=
sql.copy_from(X_2,X_4,X_6,X_8,X_10,X_12,X_14,X_16,X_18,X_20);
- sql.append(X_1,"sys","ttt","a",X_21);
- sql.append(X_25,"sys","ttt","b",X_22);
- sql.append(X_30,"sys","ttt","c",X_23);
- aggr.count(X_23);
- sql.affectedRows(X_33,X_35);
+ X_24:void := querylog.define("explain copy into ttt from
\\'/tmp/xyz\\';","user_1",12);
+barrier X_35 := language.dataflow();
+ X_1 := sql.mvc();
+ (X_11:bat[:int],X_12:bat[:int],X_13:bat[:int]) :=
sql.copy_from(nil,"|","\\n",nil:str,"null","/tmp/xyz",-1,0,0,0);
+exit X_35;
+ X_14 := sql.append(X_1,"sys","ttt","a",X_11);
+ X_18 := sql.append(X_14,"sys","ttt","b",X_12);
+ X_22 := aggr.count(X_13);
+ X_20 := sql.append(X_18,"sys","ttt","c",X_13);
+ sql.affectedRows(X_20,X_22);
end user.s12_1;
#drop table ttt;
diff --git a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
--- a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
+++ b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
@@ -27,13 +27,11 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 66 # length
-function user.s2_1(A0:bte,A1:bte):void;
- sql.mvc();
- A0;
- A1;
- X_6:sht := udf.fuse(X_4,X_5);
- sql.resultSet(".L","fuse_single_value","smallint",16,0,7,X_6);
+% 82 # length
+function user.s2_1():void;
+ X_11:void := querylog.define("explain select
fuse(1,2);","sequential_pipe",5);
+ X_3:sht := udf.fuse(1,2);
+ sql.resultSet(".L","fuse_single_value","smallint",16,0,7,X_3);
end user.s2_1;
#select fuse(1,2);
% .L # table_name
@@ -45,13 +43,11 @@ end user.s2_1;
% .explain # table_name
% mal # name
% clob # type
-% 70 # length
-function user.s3_1(A0:sht,A1:sht):void;
- sql.mvc();
- A0;
- A1;
- X_6:int := udf.fuse(X_4,X_5);
- sql.resultSet(".L","fuse_single_value","int",32,0,7,X_6);
+% 88 # length
+function user.s3_1():void;
+ X_11:void := querylog.define("explain select
fuse(1000,2000);","sequential_pipe",5);
+ X_3:int := udf.fuse(1000,2000);
+ sql.resultSet(".L","fuse_single_value","int",32,0,7,X_3);
end user.s3_1;
#select fuse(1000,2000);
% .L # table_name
@@ -63,13 +59,11 @@ end user.s3_1;
% .explain # table_name
% mal # name
% clob # type
-% 76 # length
-function user.s4_1(A0:int,A1:int):void;
- sql.mvc();
- A0;
- A1;
- X_6:lng := udf.fuse(X_4,X_5);
- sql.resultSet(".L","fuse_single_value","bigint",64,0,7,X_6);
+% 94 # length
+function user.s4_1():void;
+ X_11:void := querylog.define("explain select
fuse(1000000,2000000);","sequential_pipe",5);
+ X_3:lng := udf.fuse(1000000,2000000);
+ sql.resultSet(".L","fuse_single_value","bigint",64,0,7,X_3);
end user.s4_1;
#select fuse(1000000,2000000);
% .L # table_name
@@ -99,94 +93,97 @@ end user.s4_1;
% .explain # table_name
% mal # name
% clob # type
-% 78 # length
+% 97 # length
function user.s8_1():void;
- sql.mvc();
- X_2:bat[:oid] := sql.tid(X_1,"sys","udf_fuse");
+ X_41:void := querylog.define("explain select fuse(a,b) from
udf_fuse;","sequential_pipe",27);
+ X_24 := bat.new(nil:oid,nil:str);
+ X_32 := bat.append(X_24,"sys.L");
+ X_27 := bat.new(nil:oid,nil:str);
+ X_34 := bat.append(X_27,"fuse_a");
+ X_28 := bat.new(nil:oid,nil:str);
+ X_36 := bat.append(X_28,"smallint");
+ X_29 := bat.new(nil:oid,nil:int);
+ X_38 := bat.append(X_29,16);
+ X_31 := bat.new(nil:oid,nil:int);
+ X_40 := bat.append(X_31,0);
+ X_1 := sql.mvc();
+ C_2:bat[:oid] := sql.tid(X_1,"sys","udf_fuse");
X_5:bat[:bte] := sql.bind(X_1,"sys","udf_fuse","a",0);
- (X_8,r1_8) := sql.bind(X_1,"sys","udf_fuse","a",2);
+ (C_8,r1_8) := sql.bind(X_1,"sys","udf_fuse","a",2);
X_11:bat[:bte] := sql.bind(X_1,"sys","udf_fuse","a",1);
- sql.delta(X_5,X_8,r1_8,X_11);
- algebra.projection(X_2,X_13);
+ X_13 := sql.delta(X_5,C_8,r1_8,X_11);
+ X_14 := algebra.projection(C_2,X_13);
X_15:bat[:bte] := sql.bind(X_1,"sys","udf_fuse","b",0);
- (X_17,r1_17) := sql.bind(X_1,"sys","udf_fuse","b",2);
+ (C_17,r1_17) := sql.bind(X_1,"sys","udf_fuse","b",2);
X_19:bat[:bte] := sql.bind(X_1,"sys","udf_fuse","b",1);
- sql.delta(X_15,X_17,r1_17,X_19);
- algebra.projection(X_2,X_20);
- X_22:bat[:sht] := mal.multiplex("udf","fuse",X_14,X_21);
- bat.new(nil:oid,nil:str);
- bat.new(nil:oid,nil:str);
- bat.new(nil:oid,nil:str);
- bat.new(nil:oid,nil:int);
- bat.new(nil:oid,nil:int);
- bat.append(X_26,"sys.L");
- bat.append(X_29,"fuse_a");
- bat.append(X_30,"smallint");
- bat.append(X_31,16);
- bat.append(X_33,0);
- sql.resultSet(X_34,X_36,X_38,X_40,X_42,X_22);
+ X_20 := sql.delta(X_15,C_17,r1_17,X_19);
+ X_21 := algebra.projection(C_2,X_20);
+ X_22:bat[:sht] := batudf.fuse(X_14,X_21);
+ sql.resultSet(X_32,X_34,X_36,X_38,X_40,X_22);
end user.s8_1;
#explain select fuse(c,d) from udf_fuse;
% .explain # table_name
% mal # name
% clob # type
-% 78 # length
+% 97 # length
function user.s9_1():void;
- sql.mvc();
- X_2:bat[:oid] := sql.tid(X_1,"sys","udf_fuse");
+ X_41:void := querylog.define("explain select fuse(c,d) from
udf_fuse;","sequential_pipe",27);
+ X_24 := bat.new(nil:oid,nil:str);
+ X_32 := bat.append(X_24,"sys.L");
+ X_27 := bat.new(nil:oid,nil:str);
+ X_34 := bat.append(X_27,"fuse_c");
+ X_28 := bat.new(nil:oid,nil:str);
+ X_36 := bat.append(X_28,"int");
+ X_29 := bat.new(nil:oid,nil:int);
+ X_38 := bat.append(X_29,32);
+ X_31 := bat.new(nil:oid,nil:int);
+ X_40 := bat.append(X_31,0);
+ X_1 := sql.mvc();
+ C_2:bat[:oid] := sql.tid(X_1,"sys","udf_fuse");
X_5:bat[:sht] := sql.bind(X_1,"sys","udf_fuse","c",0);
- (X_8,r1_8) := sql.bind(X_1,"sys","udf_fuse","c",2);
+ (C_8,r1_8) := sql.bind(X_1,"sys","udf_fuse","c",2);
X_11:bat[:sht] := sql.bind(X_1,"sys","udf_fuse","c",1);
- sql.delta(X_5,X_8,r1_8,X_11);
- algebra.projection(X_2,X_13);
+ X_13 := sql.delta(X_5,C_8,r1_8,X_11);
+ X_14 := algebra.projection(C_2,X_13);
X_15:bat[:sht] := sql.bind(X_1,"sys","udf_fuse","d",0);
- (X_17,r1_17) := sql.bind(X_1,"sys","udf_fuse","d",2);
+ (C_17,r1_17) := sql.bind(X_1,"sys","udf_fuse","d",2);
X_19:bat[:sht] := sql.bind(X_1,"sys","udf_fuse","d",1);
- sql.delta(X_15,X_17,r1_17,X_19);
- algebra.projection(X_2,X_20);
- X_22:bat[:int] := mal.multiplex("udf","fuse",X_14,X_21);
- bat.new(nil:oid,nil:str);
- bat.new(nil:oid,nil:str);
- bat.new(nil:oid,nil:str);
- bat.new(nil:oid,nil:int);
- bat.new(nil:oid,nil:int);
- bat.append(X_26,"sys.L");
- bat.append(X_29,"fuse_c");
- bat.append(X_30,"int");
- bat.append(X_31,32);
- bat.append(X_33,0);
- sql.resultSet(X_34,X_36,X_38,X_40,X_42,X_22);
+ X_20 := sql.delta(X_15,C_17,r1_17,X_19);
+ X_21 := algebra.projection(C_2,X_20);
+ X_22:bat[:int] := batudf.fuse(X_14,X_21);
+ sql.resultSet(X_32,X_34,X_36,X_38,X_40,X_22);
end user.s9_1;
#explain select fuse(e,f) from udf_fuse;
% .explain # table_name
% mal # name
% clob # type
-% 78 # length
+% 97 # length
function user.s10_1():void;
- sql.mvc();
- X_2:bat[:oid] := sql.tid(X_1,"sys","udf_fuse");
+ X_41:void := querylog.define("explain select fuse(e,f) from
udf_fuse;","sequential_pipe",27);
+ X_24 := bat.new(nil:oid,nil:str);
+ X_32 := bat.append(X_24,"sys.L");
+ X_27 := bat.new(nil:oid,nil:str);
+ X_34 := bat.append(X_27,"fuse_e");
+ X_28 := bat.new(nil:oid,nil:str);
+ X_36 := bat.append(X_28,"bigint");
+ X_29 := bat.new(nil:oid,nil:int);
+ X_38 := bat.append(X_29,64);
+ X_31 := bat.new(nil:oid,nil:int);
+ X_40 := bat.append(X_31,0);
+ X_1 := sql.mvc();
+ C_2:bat[:oid] := sql.tid(X_1,"sys","udf_fuse");
X_5:bat[:int] := sql.bind(X_1,"sys","udf_fuse","e",0);
- (X_8,r1_8) := sql.bind(X_1,"sys","udf_fuse","e",2);
+ (C_8,r1_8) := sql.bind(X_1,"sys","udf_fuse","e",2);
X_11:bat[:int] := sql.bind(X_1,"sys","udf_fuse","e",1);
- sql.delta(X_5,X_8,r1_8,X_11);
- algebra.projection(X_2,X_13);
+ X_13 := sql.delta(X_5,C_8,r1_8,X_11);
+ X_14 := algebra.projection(C_2,X_13);
X_15:bat[:int] := sql.bind(X_1,"sys","udf_fuse","f",0);
- (X_17,r1_17) := sql.bind(X_1,"sys","udf_fuse","f",2);
+ (C_17,r1_17) := sql.bind(X_1,"sys","udf_fuse","f",2);
X_19:bat[:int] := sql.bind(X_1,"sys","udf_fuse","f",1);
- sql.delta(X_15,X_17,r1_17,X_19);
- algebra.projection(X_2,X_20);
- X_22:bat[:lng] := mal.multiplex("udf","fuse",X_14,X_21);
- bat.new(nil:oid,nil:str);
- bat.new(nil:oid,nil:str);
- bat.new(nil:oid,nil:str);
- bat.new(nil:oid,nil:int);
- bat.new(nil:oid,nil:int);
- bat.append(X_26,"sys.L");
- bat.append(X_29,"fuse_e");
- bat.append(X_30,"bigint");
- bat.append(X_31,64);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list