Changeset: a40f551077dc for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a40f551077dc
Modified Files:
monetdb5/modules/mal/sysmon.c
sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out
sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out
sql/backends/monet5/sql_gencode.c
sql/benchmarks/ssbm/Tests/01-explain.stable.out
sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/02-explain.stable.out
sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/03-explain.stable.out
sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/04-explain.stable.out
sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/05-explain.stable.out
sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/06-explain.stable.out
sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/07-explain.stable.out
sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/08-explain.stable.out
sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/09-explain.stable.out
sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/10-explain.stable.out
sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/11-explain.stable.out
sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/12-explain.stable.out
sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/13-explain.stable.out
sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128
sql/benchmarks/tpch/Tests/01-explain.stable.out.int128
sql/benchmarks/tpch/Tests/02-explain.stable.out
sql/benchmarks/tpch/Tests/03-explain.stable.out
sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
sql/benchmarks/tpch/Tests/04-explain.stable.out
sql/benchmarks/tpch/Tests/05-explain.stable.out
sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
sql/benchmarks/tpch/Tests/06-explain.stable.out.int128
sql/benchmarks/tpch/Tests/07-explain.stable.out
sql/benchmarks/tpch/Tests/07-explain.stable.out.int128
sql/benchmarks/tpch/Tests/08-explain.stable.out
sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
sql/benchmarks/tpch/Tests/09-explain.stable.out
sql/benchmarks/tpch/Tests/09-explain.stable.out.int128
sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
sql/benchmarks/tpch/Tests/11-explain.stable.out
sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
sql/benchmarks/tpch/Tests/12-explain.stable.out
sql/benchmarks/tpch/Tests/12-explain.stable.out.int128
sql/benchmarks/tpch/Tests/13-explain.stable.out
sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
sql/benchmarks/tpch/Tests/15-explain.stable.out
sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
sql/benchmarks/tpch/Tests/16-explain.stable.out
sql/benchmarks/tpch/Tests/17-explain.stable.out
sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
sql/benchmarks/tpch/Tests/18-explain.stable.out
sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
sql/benchmarks/tpch/Tests/19-explain.stable.out
sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
sql/benchmarks/tpch/Tests/20-explain.stable.out
sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
sql/benchmarks/tpch/Tests/21-explain.stable.out
sql/benchmarks/tpch/Tests/22-explain.stable.out
sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out.single
sql/test/BugTracker-2015/Tests/useless_casts.Bug-3756.stable.out
sql/test/BugTracker-2016/Tests/querylog.stable.out
sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
sql/test/mergetables/Tests/mergequery.stable.out
Branch: default
Log Message:
Make type explicit for bind operation
This fixes bug #3597
All sql.bind operations should make the type fixed.
diffs (truncated from 3923 to 300 lines):
diff --git a/monetdb5/modules/mal/sysmon.c b/monetdb5/modules/mal/sysmon.c
--- a/monetdb5/modules/mal/sysmon.c
+++ b/monetdb5/modules/mal/sysmon.c
@@ -36,6 +36,7 @@ SYSMONqueue(Client cntxt, MalBlkPtr mb,
(void) cntxt;
(void) mb;
+ MT_lock_set(&mal_delayLock);
tag = COLnew(0, TYPE_lng, 256, TRANSIENT);
user = COLnew(0, TYPE_str, 256, TRANSIENT);
started = COLnew(0, TYPE_timestamp, 256, TRANSIENT);
@@ -53,10 +54,10 @@ SYSMONqueue(Client cntxt, MalBlkPtr mb,
if (estimate) BBPunfix(estimate->batCacheid);
if (progress) BBPunfix(progress->batCacheid);
if (oids) BBPunfix(oids->batCacheid);
+ MT_lock_unset(&mal_delayLock);
throw(MAL, "SYSMONqueue", MAL_MALLOC_FAIL);
}
- MT_lock_set(&mal_delayLock);
for ( i = 0; i< QRYqueue[i].tag; i++)
if( QRYqueue[i].query && (QRYqueue[i].cntxt->idx == 0 ||
QRYqueue[i].cntxt->user == cntxt->user)) {
now= (lng) time(0);
diff --git a/sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out
b/sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out
--- a/sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out
+++ b/sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out
@@ -109,12 +109,12 @@ function user.s8_1():void;
X_0 := sql.mvc();
C_1:bat[:oid] := sql.tid(X_0,"sys","udf_fuse");
X_4:bat[:bte] := sql.bind(X_0,"sys","udf_fuse","a",0);
- (C_7,r1_8) := sql.bind(X_0,"sys","udf_fuse","a",2);
+ (C_7:bat[:oid],r1_8:bat[:bte]) := sql.bind(X_0,"sys","udf_fuse","a",2);
X_10:bat[:bte] := sql.bind(X_0,"sys","udf_fuse","a",1);
X_12 := sql.delta(X_4,C_7,r1_8,X_10);
X_13 := algebra.projection(C_1,X_12);
X_14:bat[:bte] := sql.bind(X_0,"sys","udf_fuse","b",0);
- (C_16,r1_17) := sql.bind(X_0,"sys","udf_fuse","b",2);
+ (C_16:bat[:oid],r1_17:bat[:bte]) := sql.bind(X_0,"sys","udf_fuse","b",2);
X_18:bat[:bte] := sql.bind(X_0,"sys","udf_fuse","b",1);
X_19 := sql.delta(X_14,C_16,r1_17,X_18);
X_20 := algebra.projection(C_1,X_19);
@@ -141,12 +141,12 @@ function user.s9_1():void;
X_0 := sql.mvc();
C_1:bat[:oid] := sql.tid(X_0,"sys","udf_fuse");
X_4:bat[:sht] := sql.bind(X_0,"sys","udf_fuse","c",0);
- (C_7,r1_8) := sql.bind(X_0,"sys","udf_fuse","c",2);
+ (C_7:bat[:oid],r1_8:bat[:sht]) := sql.bind(X_0,"sys","udf_fuse","c",2);
X_10:bat[:sht] := sql.bind(X_0,"sys","udf_fuse","c",1);
X_12 := sql.delta(X_4,C_7,r1_8,X_10);
X_13 := algebra.projection(C_1,X_12);
X_14:bat[:sht] := sql.bind(X_0,"sys","udf_fuse","d",0);
- (C_16,r1_17) := sql.bind(X_0,"sys","udf_fuse","d",2);
+ (C_16:bat[:oid],r1_17:bat[:sht]) := sql.bind(X_0,"sys","udf_fuse","d",2);
X_18:bat[:sht] := sql.bind(X_0,"sys","udf_fuse","d",1);
X_19 := sql.delta(X_14,C_16,r1_17,X_18);
X_20 := algebra.projection(C_1,X_19);
@@ -173,12 +173,12 @@ function user.s10_1():void;
X_0 := sql.mvc();
C_1:bat[:oid] := sql.tid(X_0,"sys","udf_fuse");
X_4:bat[:int] := sql.bind(X_0,"sys","udf_fuse","e",0);
- (C_7,r1_8) := sql.bind(X_0,"sys","udf_fuse","e",2);
+ (C_7:bat[:oid],r1_8:bat[:int]) := sql.bind(X_0,"sys","udf_fuse","e",2);
X_10:bat[:int] := sql.bind(X_0,"sys","udf_fuse","e",1);
X_12 := sql.delta(X_4,C_7,r1_8,X_10);
X_13 := algebra.projection(C_1,X_12);
X_14:bat[:int] := sql.bind(X_0,"sys","udf_fuse","f",0);
- (C_16,r1_17) := sql.bind(X_0,"sys","udf_fuse","f",2);
+ (C_16:bat[:oid],r1_17:bat[:int]) := sql.bind(X_0,"sys","udf_fuse","f",2);
X_18:bat[:int] := sql.bind(X_0,"sys","udf_fuse","f",1);
X_19 := sql.delta(X_14,C_16,r1_17,X_18);
X_20 := algebra.projection(C_1,X_19);
diff --git a/sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out
b/sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out
--- a/sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out
+++ b/sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out
@@ -98,7 +98,7 @@ function user.s6_1():void;
X_0 := sql.mvc();
C_1:bat[:oid] := sql.tid(X_0,"sys","udf_reverse");
X_4:bat[:str] := sql.bind(X_0,"sys","udf_reverse","x",0);
- (C_7,r1_8) := sql.bind(X_0,"sys","udf_reverse","x",2);
+ (C_7:bat[:oid],r1_8:bat[:str]) := sql.bind(X_0,"sys","udf_reverse","x",2);
X_10:bat[:str] := sql.bind(X_0,"sys","udf_reverse","x",1);
X_12 := sql.delta(X_4,C_7,r1_8,X_10);
X_13 := algebra.projection(C_1,X_12);
diff --git a/sql/backends/monet5/sql_gencode.c
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -1092,6 +1092,7 @@ static int
return -1;
if (s->flag == RD_UPD_ID) {
q = pushReturn(mb, q, newTmpVariable(mb,
newBatType(tt)));
+ setVarUDFtype(mb, getArg(q, 0));
} else {
setVarType(mb, getArg(q, 0), newBatType(tt));
setVarUDFtype(mb, getArg(q, 0));
@@ -1108,6 +1109,8 @@ static int
if (s->flag == RD_UPD_ID) {
/* rename second result */
renameVariable(mb, getArg(q, 1), "r1_%d",
s->nr);
+ setVarType(mb, getArg(q, 1), newBatType(tt));
+ setVarUDFtype(mb, getArg(q, 1));
}
if (s->flag != RD_INS && s->partition) {
sql_trans *tr = sql->mvc->session->tr;
diff --git a/sql/benchmarks/ssbm/Tests/01-explain.stable.out
b/sql/benchmarks/ssbm/Tests/01-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/01-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/01-explain.stable.out
@@ -44,13 +44,13 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_15:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",0);
C_1:bat[:oid] := sql.tid(X_0,"sys","lineorder");
C_93 := algebra.subselect(X_15,C_1,A1,A2,true,true,false);
- (C_17,r1_22) := sql.bind(X_0,"sys","lineorder","lo_discount",2);
+ (C_17:bat[:oid],r1_22:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_discount",2);
C_94 := algebra.subselect(r1_22,nil:bat[:oid],A1,A2,true,true,false);
X_19:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",1);
C_96 := algebra.subselect(X_19,C_1,A1,A2,true,true,false);
C_24 := sql.subdelta(C_93,C_1,C_17,C_94,C_96);
C_97 := algebra.thetasubselect(X_4,C_24,A3,"<");
- (C_7,r1_12) := sql.bind(X_0,"sys","lineorder","lo_quantity",2);
+ (C_7:bat[:oid],r1_12:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_quantity",2);
C_98 := algebra.thetasubselect(r1_12,nil:bat[:oid],A3,"<");
X_10:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_quantity",1);
C_100 := algebra.thetasubselect(X_10,C_24,A3,"<");
@@ -62,14 +62,14 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_40:bat[:int] := sql.bind(X_0,"sys","dwdate","d_year",0);
C_38:bat[:oid] := sql.tid(X_0,"sys","dwdate");
C_101 := algebra.subselect(X_40,C_38,A0,A0,true,false,false);
- (C_42,r1_47) := sql.bind(X_0,"sys","dwdate","d_year",2);
+ (C_42:bat[:oid],r1_47:bat[:int]) :=
sql.bind(X_0,"sys","dwdate","d_year",2);
C_102 := algebra.subselect(r1_47,nil:bat[:oid],A0,A0,true,false,false);
X_44:bat[:int] := sql.bind(X_0,"sys","dwdate","d_year",1);
C_104 := algebra.subselect(X_44,C_38,A0,A0,true,false,false);
C_48 := sql.subdelta(C_101,C_38,C_42,C_102,C_104);
(X_50,r1_55) := algebra.subjoin(X_37,C_48,nil:BAT,nil:BAT,false,nil:lng);
X_55:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",0);
- (C_57,r1_62) := sql.bind(X_0,"sys","lineorder","lo_extendedprice",2);
+ (C_57:bat[:oid],r1_62:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_extendedprice",2);
X_59:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",1);
X_62 := sql.projectdelta(C_28,X_55,C_57,r1_62,X_59);
X_63 := algebra.projection(X_50,X_62);
diff --git a/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
b/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
@@ -44,13 +44,13 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_15:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",0);
C_1:bat[:oid] := sql.tid(X_0,"sys","lineorder");
C_93 := algebra.subselect(X_15,C_1,A1,A2,true,true,false);
- (C_17,r1_22) := sql.bind(X_0,"sys","lineorder","lo_discount",2);
+ (C_17:bat[:oid],r1_22:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_discount",2);
C_94 := algebra.subselect(r1_22,nil:bat[:oid],A1,A2,true,true,false);
X_19:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",1);
C_96 := algebra.subselect(X_19,C_1,A1,A2,true,true,false);
C_24 := sql.subdelta(C_93,C_1,C_17,C_94,C_96);
C_97 := algebra.thetasubselect(X_4,C_24,A3,"<");
- (C_7,r1_12) := sql.bind(X_0,"sys","lineorder","lo_quantity",2);
+ (C_7:bat[:oid],r1_12:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_quantity",2);
C_98 := algebra.thetasubselect(r1_12,nil:bat[:oid],A3,"<");
X_10:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_quantity",1);
C_100 := algebra.thetasubselect(X_10,C_24,A3,"<");
@@ -62,14 +62,14 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_40:bat[:int] := sql.bind(X_0,"sys","dwdate","d_year",0);
C_38:bat[:oid] := sql.tid(X_0,"sys","dwdate");
C_101 := algebra.subselect(X_40,C_38,A0,A0,true,false,false);
- (C_42,r1_47) := sql.bind(X_0,"sys","dwdate","d_year",2);
+ (C_42:bat[:oid],r1_47:bat[:int]) :=
sql.bind(X_0,"sys","dwdate","d_year",2);
C_102 := algebra.subselect(r1_47,nil:bat[:oid],A0,A0,true,false,false);
X_44:bat[:int] := sql.bind(X_0,"sys","dwdate","d_year",1);
C_104 := algebra.subselect(X_44,C_38,A0,A0,true,false,false);
C_48 := sql.subdelta(C_101,C_38,C_42,C_102,C_104);
(X_50,r1_55) := algebra.subjoin(X_37,C_48,nil:BAT,nil:BAT,false,nil:lng);
X_55:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",0);
- (C_57,r1_62) := sql.bind(X_0,"sys","lineorder","lo_extendedprice",2);
+ (C_57:bat[:oid],r1_62:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_extendedprice",2);
X_59:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",1);
X_62 := sql.projectdelta(C_28,X_55,C_57,r1_62,X_59);
X_63 := algebra.projection(X_50,X_62);
diff --git a/sql/benchmarks/ssbm/Tests/02-explain.stable.out
b/sql/benchmarks/ssbm/Tests/02-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/02-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/02-explain.stable.out
@@ -44,13 +44,13 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_16:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",0);
C_1:bat[:oid] := sql.tid(X_0,"sys","lineorder");
C_93 := algebra.subselect(X_16,C_1,A1,A2,true,true,false);
- (C_18,r1_24) := sql.bind(X_0,"sys","lineorder","lo_discount",2);
+ (C_18:bat[:oid],r1_24:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_discount",2);
C_94 := algebra.subselect(r1_24,nil:bat[:oid],A1,A2,true,true,false);
X_20:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",1);
C_96 := algebra.subselect(X_20,C_1,A1,A2,true,true,false);
C_25 := sql.subdelta(C_93,C_1,C_18,C_94,C_96);
C_97 := algebra.subselect(X_4,C_25,A3,A4,true,true,false);
- (C_7,r1_13) := sql.bind(X_0,"sys","lineorder","lo_quantity",2);
+ (C_7:bat[:oid],r1_13:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_quantity",2);
C_98 := algebra.subselect(r1_13,nil:bat[:oid],A3,A4,true,true,false);
X_10:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_quantity",1);
C_100 := algebra.subselect(X_10,C_25,A3,A4,true,true,false);
@@ -62,14 +62,14 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_40:bat[:int] := sql.bind(X_0,"sys","dwdate","d_yearmonthnum",0);
C_38:bat[:oid] := sql.tid(X_0,"sys","dwdate");
C_101 := algebra.subselect(X_40,C_38,A0,A0,true,false,false);
- (C_42,r1_48) := sql.bind(X_0,"sys","dwdate","d_yearmonthnum",2);
+ (C_42:bat[:oid],r1_48:bat[:int]) :=
sql.bind(X_0,"sys","dwdate","d_yearmonthnum",2);
C_102 := algebra.subselect(r1_48,nil:bat[:oid],A0,A0,true,false,false);
X_44:bat[:int] := sql.bind(X_0,"sys","dwdate","d_yearmonthnum",1);
C_104 := algebra.subselect(X_44,C_38,A0,A0,true,false,false);
C_48 := sql.subdelta(C_101,C_38,C_42,C_102,C_104);
(X_50,r1_56) := algebra.subjoin(X_37,C_48,nil:BAT,nil:BAT,false,nil:lng);
X_55:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",0);
- (C_57,r1_63) := sql.bind(X_0,"sys","lineorder","lo_extendedprice",2);
+ (C_57:bat[:oid],r1_63:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_extendedprice",2);
X_59:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",1);
X_62 := sql.projectdelta(C_29,X_55,C_57,r1_63,X_59);
X_63 := algebra.projection(X_50,X_62);
diff --git a/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
b/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
@@ -44,13 +44,13 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_16:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",0);
C_1:bat[:oid] := sql.tid(X_0,"sys","lineorder");
C_93 := algebra.subselect(X_16,C_1,A1,A2,true,true,false);
- (C_18,r1_24) := sql.bind(X_0,"sys","lineorder","lo_discount",2);
+ (C_18:bat[:oid],r1_24:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_discount",2);
C_94 := algebra.subselect(r1_24,nil:bat[:oid],A1,A2,true,true,false);
X_20:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",1);
C_96 := algebra.subselect(X_20,C_1,A1,A2,true,true,false);
C_25 := sql.subdelta(C_93,C_1,C_18,C_94,C_96);
C_97 := algebra.subselect(X_4,C_25,A3,A4,true,true,false);
- (C_7,r1_13) := sql.bind(X_0,"sys","lineorder","lo_quantity",2);
+ (C_7:bat[:oid],r1_13:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_quantity",2);
C_98 := algebra.subselect(r1_13,nil:bat[:oid],A3,A4,true,true,false);
X_10:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_quantity",1);
C_100 := algebra.subselect(X_10,C_25,A3,A4,true,true,false);
@@ -62,14 +62,14 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_40:bat[:int] := sql.bind(X_0,"sys","dwdate","d_yearmonthnum",0);
C_38:bat[:oid] := sql.tid(X_0,"sys","dwdate");
C_101 := algebra.subselect(X_40,C_38,A0,A0,true,false,false);
- (C_42,r1_48) := sql.bind(X_0,"sys","dwdate","d_yearmonthnum",2);
+ (C_42:bat[:oid],r1_48:bat[:int]) :=
sql.bind(X_0,"sys","dwdate","d_yearmonthnum",2);
C_102 := algebra.subselect(r1_48,nil:bat[:oid],A0,A0,true,false,false);
X_44:bat[:int] := sql.bind(X_0,"sys","dwdate","d_yearmonthnum",1);
C_104 := algebra.subselect(X_44,C_38,A0,A0,true,false,false);
C_48 := sql.subdelta(C_101,C_38,C_42,C_102,C_104);
(X_50,r1_56) := algebra.subjoin(X_37,C_48,nil:BAT,nil:BAT,false,nil:lng);
X_55:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",0);
- (C_57,r1_63) := sql.bind(X_0,"sys","lineorder","lo_extendedprice",2);
+ (C_57:bat[:oid],r1_63:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_extendedprice",2);
X_59:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",1);
X_62 := sql.projectdelta(C_29,X_55,C_57,r1_63,X_59);
X_63 := algebra.projection(X_50,X_62);
diff --git a/sql/benchmarks/ssbm/Tests/03-explain.stable.out
b/sql/benchmarks/ssbm/Tests/03-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/03-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/03-explain.stable.out
@@ -44,13 +44,13 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_16:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",0);
C_1:bat[:oid] := sql.tid(X_0,"sys","lineorder");
C_104 := algebra.subselect(X_16,C_1,A2,A3,true,true,false);
- (C_18,r1_25) := sql.bind(X_0,"sys","lineorder","lo_discount",2);
+ (C_18:bat[:oid],r1_25:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_discount",2);
C_105 := algebra.subselect(r1_25,nil:bat[:oid],A2,A3,true,true,false);
X_20:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",1);
C_107 := algebra.subselect(X_20,C_1,A2,A3,true,true,false);
C_25 := sql.subdelta(C_104,C_1,C_18,C_105,C_107);
C_108 := algebra.subselect(X_4,C_25,A4,A5,true,true,false);
- (C_7,r1_14) := sql.bind(X_0,"sys","lineorder","lo_quantity",2);
+ (C_7:bat[:oid],r1_14:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_quantity",2);
C_109 := algebra.subselect(r1_14,nil:bat[:oid],A4,A5,true,true,false);
X_10:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_quantity",1);
C_111 := algebra.subselect(X_10,C_25,A4,A5,true,true,false);
@@ -63,20 +63,20 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_48:bat[:int] := sql.bind(X_0,"sys","dwdate","d_year",0);
C_38:bat[:oid] := sql.tid(X_0,"sys","dwdate");
C_112 := algebra.subselect(X_48,C_38,A1,A1,true,false,false);
- (C_50,r1_57) := sql.bind(X_0,"sys","dwdate","d_year",2);
+ (C_50:bat[:oid],r1_57:bat[:int]) :=
sql.bind(X_0,"sys","dwdate","d_year",2);
C_113 := algebra.subselect(r1_57,nil:bat[:oid],A1,A1,true,false,false);
X_52:bat[:int] := sql.bind(X_0,"sys","dwdate","d_year",1);
C_115 := algebra.subselect(X_52,C_38,A1,A1,true,false,false);
C_56 := sql.subdelta(C_112,C_38,C_50,C_113,C_115);
C_116 := algebra.subselect(X_40,C_56,A0,A0,true,false,false);
- (C_42,r1_49) := sql.bind(X_0,"sys","dwdate","d_weeknuminyear",2);
+ (C_42:bat[:oid],r1_49:bat[:int]) :=
sql.bind(X_0,"sys","dwdate","d_weeknuminyear",2);
C_117 := algebra.subselect(r1_49,nil:bat[:oid],A0,A0,true,false,false);
X_44:bat[:int] := sql.bind(X_0,"sys","dwdate","d_weeknuminyear",1);
C_119 := algebra.subselect(X_44,C_56,A0,A0,true,false,false);
C_57 := sql.subdelta(C_116,C_56,C_42,C_117,C_119);
(X_59,r1_66) := algebra.subjoin(X_37,C_57,nil:BAT,nil:BAT,false,nil:lng);
X_65:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",0);
- (C_67,r1_74) := sql.bind(X_0,"sys","lineorder","lo_extendedprice",2);
+ (C_67:bat[:oid],r1_74:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_extendedprice",2);
X_69:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",1);
X_72 := sql.projectdelta(C_29,X_65,C_67,r1_74,X_69);
X_73 := algebra.projection(X_59,X_72);
diff --git a/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
b/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
@@ -44,13 +44,13 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_16:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",0);
C_1:bat[:oid] := sql.tid(X_0,"sys","lineorder");
C_104 := algebra.subselect(X_16,C_1,A2,A3,true,true,false);
- (C_18,r1_25) := sql.bind(X_0,"sys","lineorder","lo_discount",2);
+ (C_18:bat[:oid],r1_25:bat[:int]) :=
sql.bind(X_0,"sys","lineorder","lo_discount",2);
C_105 := algebra.subselect(r1_25,nil:bat[:oid],A2,A3,true,true,false);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list