Changeset: e1d7c2068e4f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e1d7c2068e4f
Modified Files:
monetdb5/optimizer/opt_pushselect.c
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/Tests/explain.SF-1739353.stable.out
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
Branch: Jun2020
Log Message:
rewrite delta/projection of
cnd = subdelta(..)
col = delta(b, ui, uv, i)
projection(cnd, col)
into
deltaproject(cnd, b, ui, uv, i)
diffs (truncated from 370 to 300 lines):
diff --git a/monetdb5/optimizer/opt_pushselect.c
b/monetdb5/optimizer/opt_pushselect.c
--- a/monetdb5/optimizer/opt_pushselect.c
+++ b/monetdb5/optimizer/opt_pushselect.c
@@ -674,6 +674,28 @@ OPTpushselectImplementation(Client cntxt
oclean[i] = 1;
continue;
}
+ } else if (getModuleId(p) == algebraRef && getFunctionId(p) ==
projectionRef) {
+ int var = getArg(p, 2);
+ InstrPtr q = old[vars[var]];
+
+ if (getModuleId(q) == sqlRef && getFunctionId(q) ==
deltaRef && q->argc == 5) {
+ q = copyInstruction(q);
+ if( q == NULL){
+ GDKfree(vars);
+ GDKfree(nvars);
+ GDKfree(slices);
+ GDKfree(rslices);
+ GDKfree(oclean);
+ GDKfree(old);
+ throw(MAL,"optimizer.pushselect",
SQLSTATE(HY013) MAL_MALLOC_FAIL);
+ }
+ setFunctionId(q, projectdeltaRef);
+ getArg(q, 0) = getArg(p, 0);
+ q = PushArgument(mb, q, getArg(p, 1), 1);
+ p = q;
+ oclean[i] = 1;
+ actions++;
+ }
}
pushInstruction(mb,p);
}
diff --git
a/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
b/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
---
a/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
+++
b/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
@@ -45,13 +45,11 @@ function user.s4_0():void;
X_19:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"name":str, 1:int);
C_86:bat[:oid] := algebra.likeselect(X_19:bat[:str], C_6:bat[:oid],
"%optimizers%":str, "":str, false:bit);
C_32:bat[:oid] := sql.subdelta(C_83:bat[:oid], C_6:bat[:oid],
X_20:bat[:oid], C_84:bat[:oid], C_86:bat[:oid]);
- X_22:bat[:str] := sql.delta(X_18:bat[:str], X_20:bat[:oid],
X_21:bat[:str], X_19:bat[:str]);
- X_34:bat[:str] := algebra.projection(C_32:bat[:oid], X_22:bat[:str]);
+ X_34:bat[:str] := sql.projectdelta(C_32:bat[:oid], X_18:bat[:str],
X_20:bat[:oid], X_21:bat[:str], X_19:bat[:str]);
X_23:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 0:int);
(X_26:bat[:oid], X_27:bat[:str]) := sql.bind(X_5:int, "sys":str,
"functions":str, "func":str, 2:int);
X_25:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 1:int);
- X_28:bat[:str] := sql.delta(X_23:bat[:str], X_26:bat[:oid],
X_27:bat[:str], X_25:bat[:str]);
- X_35:bat[:str] := algebra.projection(C_32:bat[:oid], X_28:bat[:str]);
+ X_35:bat[:str] := sql.projectdelta(C_32:bat[:oid], X_23:bat[:str],
X_26:bat[:oid], X_27:bat[:str], X_25:bat[:str]);
sql.resultSet(X_37:bat[:str], X_38:bat[:str], X_39:bat[:str],
X_40:bat[:int], X_41:bat[:int], X_34:bat[:str], X_35:bat[:str]);
end user.s4_0;
#inline actions= 0 time=1 usec
@@ -98,13 +96,11 @@ function user.s6_0():void;
X_19:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"name":str, 1:int);
C_86:bat[:oid] := algebra.likeselect(X_19:bat[:str], C_6:bat[:oid],
"%optimizers%":str, "":str, true:bit);
C_32:bat[:oid] := sql.subdelta(C_83:bat[:oid], C_6:bat[:oid],
X_20:bat[:oid], C_84:bat[:oid], C_86:bat[:oid]);
- X_22:bat[:str] := sql.delta(X_18:bat[:str], X_20:bat[:oid],
X_21:bat[:str], X_19:bat[:str]);
- X_34:bat[:str] := algebra.projection(C_32:bat[:oid], X_22:bat[:str]);
+ X_34:bat[:str] := sql.projectdelta(C_32:bat[:oid], X_18:bat[:str],
X_20:bat[:oid], X_21:bat[:str], X_19:bat[:str]);
X_23:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 0:int);
(X_26:bat[:oid], X_27:bat[:str]) := sql.bind(X_5:int, "sys":str,
"functions":str, "func":str, 2:int);
X_25:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 1:int);
- X_28:bat[:str] := sql.delta(X_23:bat[:str], X_26:bat[:oid],
X_27:bat[:str], X_25:bat[:str]);
- X_35:bat[:str] := algebra.projection(C_32:bat[:oid], X_28:bat[:str]);
+ X_35:bat[:str] := sql.projectdelta(C_32:bat[:oid], X_23:bat[:str],
X_26:bat[:oid], X_27:bat[:str], X_25:bat[:str]);
sql.resultSet(X_37:bat[:str], X_38:bat[:str], X_39:bat[:str],
X_40:bat[:int], X_41:bat[:int], X_34:bat[:str], X_35:bat[:str]);
end user.s6_0;
#inline actions= 0 time=1 usec
@@ -152,13 +148,11 @@ function user.s8_0():void;
X_19:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"name":str, 1:int);
C_86:bat[:oid] := algebra.ilikeselect(X_19:bat[:str], C_6:bat[:oid],
"%optimizers%":str, "":str, false:bit);
C_32:bat[:oid] := sql.subdelta(C_83:bat[:oid], C_6:bat[:oid],
X_20:bat[:oid], C_84:bat[:oid], C_86:bat[:oid]);
- X_22:bat[:str] := sql.delta(X_18:bat[:str], X_20:bat[:oid],
X_21:bat[:str], X_19:bat[:str]);
- X_34:bat[:str] := algebra.projection(C_32:bat[:oid], X_22:bat[:str]);
+ X_34:bat[:str] := sql.projectdelta(C_32:bat[:oid], X_18:bat[:str],
X_20:bat[:oid], X_21:bat[:str], X_19:bat[:str]);
X_23:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 0:int);
(X_26:bat[:oid], X_27:bat[:str]) := sql.bind(X_5:int, "sys":str,
"functions":str, "func":str, 2:int);
X_25:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 1:int);
- X_28:bat[:str] := sql.delta(X_23:bat[:str], X_26:bat[:oid],
X_27:bat[:str], X_25:bat[:str]);
- X_35:bat[:str] := algebra.projection(C_32:bat[:oid], X_28:bat[:str]);
+ X_35:bat[:str] := sql.projectdelta(C_32:bat[:oid], X_23:bat[:str],
X_26:bat[:oid], X_27:bat[:str], X_25:bat[:str]);
sql.resultSet(X_37:bat[:str], X_38:bat[:str], X_39:bat[:str],
X_40:bat[:int], X_41:bat[:int], X_34:bat[:str], X_35:bat[:str]);
end user.s8_0;
#inline actions= 0 time=1 usec
@@ -204,13 +198,11 @@ function user.s10_0():void;
X_19:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"name":str, 1:int);
C_86:bat[:oid] := algebra.ilikeselect(X_19:bat[:str], C_6:bat[:oid],
"%optimizers%":str, "":str, true:bit);
C_32:bat[:oid] := sql.subdelta(C_83:bat[:oid], C_6:bat[:oid],
X_20:bat[:oid], C_84:bat[:oid], C_86:bat[:oid]);
- X_22:bat[:str] := sql.delta(X_18:bat[:str], X_20:bat[:oid],
X_21:bat[:str], X_19:bat[:str]);
- X_34:bat[:str] := algebra.projection(C_32:bat[:oid], X_22:bat[:str]);
+ X_34:bat[:str] := sql.projectdelta(C_32:bat[:oid], X_18:bat[:str],
X_20:bat[:oid], X_21:bat[:str], X_19:bat[:str]);
X_23:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 0:int);
(X_26:bat[:oid], X_27:bat[:str]) := sql.bind(X_5:int, "sys":str,
"functions":str, "func":str, 2:int);
X_25:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 1:int);
- X_28:bat[:str] := sql.delta(X_23:bat[:str], X_26:bat[:oid],
X_27:bat[:str], X_25:bat[:str]);
- X_35:bat[:str] := algebra.projection(C_32:bat[:oid], X_28:bat[:str]);
+ X_35:bat[:str] := sql.projectdelta(C_32:bat[:oid], X_23:bat[:str],
X_26:bat[:oid], X_27:bat[:str], X_25:bat[:str]);
sql.resultSet(X_37:bat[:str], X_38:bat[:str], X_39:bat[:str],
X_40:bat[:int], X_41:bat[:int], X_34:bat[:str], X_35:bat[:str]);
end user.s10_0;
#inline actions= 0 time=0 usec
@@ -277,12 +269,11 @@ function user.s20_0():void;
X_91:bat[:bit] := batalgebra.like(X_22:bat[:str], "%optimizers%":str);
C_6:bat[:oid] := sql.tid(X_5:int, "sys":str, "functions":str);
C_35:bat[:oid] := algebra.thetaselect(X_91:bat[:bit], C_6:bat[:oid],
true:bit, "==":str);
- X_37:bat[:str] := algebra.projection(C_35:bat[:oid], X_22:bat[:str]);
+ X_37:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_18:bat[:str],
X_20:bat[:oid], X_21:bat[:str], X_19:bat[:str]);
X_23:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 0:int);
(X_26:bat[:oid], X_27:bat[:str]) := sql.bind(X_5:int, "sys":str,
"functions":str, "func":str, 2:int);
X_25:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 1:int);
- X_28:bat[:str] := sql.delta(X_23:bat[:str], X_26:bat[:oid],
X_27:bat[:str], X_25:bat[:str]);
- X_38:bat[:str] := algebra.projection(C_35:bat[:oid], X_28:bat[:str]);
+ X_38:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_23:bat[:str],
X_26:bat[:oid], X_27:bat[:str], X_25:bat[:str]);
sql.resultSet(X_40:bat[:str], X_41:bat[:str], X_42:bat[:str],
X_43:bat[:int], X_44:bat[:int], X_37:bat[:str], X_38:bat[:str]);
end user.s20_0;
#inline actions= 0 time=4 usec
@@ -330,12 +321,11 @@ function user.s22_0():void;
X_91:bat[:bit] := batalgebra.not_like(X_22:bat[:str], "%optimizers%":str);
C_6:bat[:oid] := sql.tid(X_5:int, "sys":str, "functions":str);
C_35:bat[:oid] := algebra.thetaselect(X_91:bat[:bit], C_6:bat[:oid],
true:bit, "==":str);
- X_37:bat[:str] := algebra.projection(C_35:bat[:oid], X_22:bat[:str]);
+ X_37:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_18:bat[:str],
X_20:bat[:oid], X_21:bat[:str], X_19:bat[:str]);
X_23:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 0:int);
(X_26:bat[:oid], X_27:bat[:str]) := sql.bind(X_5:int, "sys":str,
"functions":str, "func":str, 2:int);
X_25:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 1:int);
- X_28:bat[:str] := sql.delta(X_23:bat[:str], X_26:bat[:oid],
X_27:bat[:str], X_25:bat[:str]);
- X_38:bat[:str] := algebra.projection(C_35:bat[:oid], X_28:bat[:str]);
+ X_38:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_23:bat[:str],
X_26:bat[:oid], X_27:bat[:str], X_25:bat[:str]);
sql.resultSet(X_40:bat[:str], X_41:bat[:str], X_42:bat[:str],
X_43:bat[:int], X_44:bat[:int], X_37:bat[:str], X_38:bat[:str]);
end user.s22_0;
#inline actions= 0 time=4 usec
@@ -383,12 +373,11 @@ function user.s24_0():void;
X_91:bat[:bit] := batalgebra.ilike(X_22:bat[:str], "%optimizers%":str);
C_6:bat[:oid] := sql.tid(X_5:int, "sys":str, "functions":str);
C_35:bat[:oid] := algebra.thetaselect(X_91:bat[:bit], C_6:bat[:oid],
true:bit, "==":str);
- X_37:bat[:str] := algebra.projection(C_35:bat[:oid], X_22:bat[:str]);
+ X_37:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_18:bat[:str],
X_20:bat[:oid], X_21:bat[:str], X_19:bat[:str]);
X_23:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 0:int);
(X_26:bat[:oid], X_27:bat[:str]) := sql.bind(X_5:int, "sys":str,
"functions":str, "func":str, 2:int);
X_25:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 1:int);
- X_28:bat[:str] := sql.delta(X_23:bat[:str], X_26:bat[:oid],
X_27:bat[:str], X_25:bat[:str]);
- X_38:bat[:str] := algebra.projection(C_35:bat[:oid], X_28:bat[:str]);
+ X_38:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_23:bat[:str],
X_26:bat[:oid], X_27:bat[:str], X_25:bat[:str]);
sql.resultSet(X_40:bat[:str], X_41:bat[:str], X_42:bat[:str],
X_43:bat[:int], X_44:bat[:int], X_37:bat[:str], X_38:bat[:str]);
end user.s24_0;
#inline actions= 0 time=3 usec
@@ -436,12 +425,11 @@ function user.s26_0():void;
X_91:bat[:bit] := batalgebra.not_ilike(X_22:bat[:str], "%optimizers%":str);
C_6:bat[:oid] := sql.tid(X_5:int, "sys":str, "functions":str);
C_35:bat[:oid] := algebra.thetaselect(X_91:bat[:bit], C_6:bat[:oid],
true:bit, "==":str);
- X_37:bat[:str] := algebra.projection(C_35:bat[:oid], X_22:bat[:str]);
+ X_37:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_18:bat[:str],
X_20:bat[:oid], X_21:bat[:str], X_19:bat[:str]);
X_23:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 0:int);
(X_26:bat[:oid], X_27:bat[:str]) := sql.bind(X_5:int, "sys":str,
"functions":str, "func":str, 2:int);
X_25:bat[:str] := sql.bind(X_5:int, "sys":str, "functions":str,
"func":str, 1:int);
- X_28:bat[:str] := sql.delta(X_23:bat[:str], X_26:bat[:oid],
X_27:bat[:str], X_25:bat[:str]);
- X_38:bat[:str] := algebra.projection(C_35:bat[:oid], X_28:bat[:str]);
+ X_38:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_23:bat[:str],
X_26:bat[:oid], X_27:bat[:str], X_25:bat[:str]);
sql.resultSet(X_40:bat[:str], X_41:bat[:str], X_42:bat[:str],
X_43:bat[:int], X_44:bat[:int], X_37:bat[:str], X_38:bat[:str]);
end user.s26_0;
#inline actions= 0 time=3 usec
diff --git a/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
--- a/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
+++ b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
@@ -73,14 +73,12 @@ function user.s4_0():void;
X_24:bat[:str] := sql.bind(X_6:int, "sys":str, "functions":str,
"name":str, 0:int);
(X_27:bat[:oid], X_28:bat[:str]) := sql.bind(X_6:int, "sys":str,
"functions":str, "name":str, 2:int);
X_26:bat[:str] := sql.bind(X_6:int, "sys":str, "functions":str,
"name":str, 1:int);
- X_29:bat[:str] := sql.delta(X_24:bat[:str], X_27:bat[:oid],
X_28:bat[:str], X_26:bat[:str]);
- X_31:bat[:str] := algebra.projection(C_7:bat[:oid], X_29:bat[:str]);
+ X_31:bat[:str] := sql.projectdelta(C_7:bat[:oid], X_24:bat[:str],
X_27:bat[:oid], X_28:bat[:str], X_26:bat[:str]);
X_34:bat[:str] := mal.manifold("str":str, "replace":str, X_31:bat[:str],
"a":str, "A":str);
X_19:bat[:int] := sql.bind(X_6:int, "sys":str, "functions":str, "id":str,
0:int);
(X_21:bat[:oid], X_22:bat[:int]) := sql.bind(X_6:int, "sys":str,
"functions":str, "id":str, 2:int);
X_20:bat[:int] := sql.bind(X_6:int, "sys":str, "functions":str, "id":str,
1:int);
- X_23:bat[:int] := sql.delta(X_19:bat[:int], X_21:bat[:oid],
X_22:bat[:int], X_20:bat[:int]);
- X_30:bat[:int] := algebra.projection(C_7:bat[:oid], X_23:bat[:int]);
+ X_30:bat[:int] := sql.projectdelta(C_7:bat[:oid], X_19:bat[:int],
X_21:bat[:oid], X_22:bat[:int], X_20:bat[:int]);
sql.resultSet(X_38:bat[:str], X_39:bat[:str], X_40:bat[:str],
X_41:bat[:int], X_42:bat[:int], X_34:bat[:str], X_30:bat[:int]);
end user.s4_0;
#inline actions= 0 time=2 usec
@@ -129,13 +127,11 @@ function user.s6_0():void;
X_25:bat[:str] := sql.bind(X_7:int, "sys":str, "functions":str,
"name":str, 0:int);
(X_28:bat[:oid], X_29:bat[:str]) := sql.bind(X_7:int, "sys":str,
"functions":str, "name":str, 2:int);
X_27:bat[:str] := sql.bind(X_7:int, "sys":str, "functions":str,
"name":str, 1:int);
- X_30:bat[:str] := sql.delta(X_25:bat[:str], X_28:bat[:oid],
X_29:bat[:str], X_27:bat[:str]);
- X_32:bat[:str] := algebra.projection(C_8:bat[:oid], X_30:bat[:str]);
+ X_32:bat[:str] := sql.projectdelta(C_8:bat[:oid], X_25:bat[:str],
X_28:bat[:oid], X_29:bat[:str], X_27:bat[:str]);
X_20:bat[:int] := sql.bind(X_7:int, "sys":str, "functions":str, "id":str,
0:int);
(X_22:bat[:oid], X_23:bat[:int]) := sql.bind(X_7:int, "sys":str,
"functions":str, "id":str, 2:int);
X_21:bat[:int] := sql.bind(X_7:int, "sys":str, "functions":str, "id":str,
1:int);
- X_24:bat[:int] := sql.delta(X_20:bat[:int], X_22:bat[:oid],
X_23:bat[:int], X_21:bat[:int]);
- X_31:bat[:int] := algebra.projection(C_8:bat[:oid], X_24:bat[:int]);
+ X_31:bat[:int] := sql.projectdelta(C_8:bat[:oid], X_20:bat[:int],
X_22:bat[:oid], X_23:bat[:int], X_21:bat[:int]);
X_34:bat[:str] := algebra.project(X_31:bat[:int], "a":str);
X_36:bat[:str] := algebra.project(X_31:bat[:int], "A":str);
X_43:bat[:str] := mal.manifold("str":str, "replace":str, X_32:bat[:str],
X_34:bat[:str], X_36:bat[:str]);
@@ -189,13 +185,11 @@ function user.s8_0():void;
X_24:bat[:str] := sql.bind(X_6:int, "sys":str, "functions":str,
"name":str, 0:int);
(X_27:bat[:oid], X_28:bat[:str]) := sql.bind(X_6:int, "sys":str,
"functions":str, "name":str, 2:int);
X_26:bat[:str] := sql.bind(X_6:int, "sys":str, "functions":str,
"name":str, 1:int);
- X_29:bat[:str] := sql.delta(X_24:bat[:str], X_27:bat[:oid],
X_28:bat[:str], X_26:bat[:str]);
- X_31:bat[:str] := algebra.projection(C_7:bat[:oid], X_29:bat[:str]);
+ X_31:bat[:str] := sql.projectdelta(C_7:bat[:oid], X_24:bat[:str],
X_27:bat[:oid], X_28:bat[:str], X_26:bat[:str]);
X_19:bat[:int] := sql.bind(X_6:int, "sys":str, "functions":str, "id":str,
0:int);
(X_21:bat[:oid], X_22:bat[:int]) := sql.bind(X_6:int, "sys":str,
"functions":str, "id":str, 2:int);
X_20:bat[:int] := sql.bind(X_6:int, "sys":str, "functions":str, "id":str,
1:int);
- X_23:bat[:int] := sql.delta(X_19:bat[:int], X_21:bat[:oid],
X_22:bat[:int], X_20:bat[:int]);
- X_30:bat[:int] := algebra.projection(C_7:bat[:oid], X_23:bat[:int]);
+ X_30:bat[:int] := sql.projectdelta(C_7:bat[:oid], X_19:bat[:int],
X_21:bat[:oid], X_22:bat[:int], X_20:bat[:int]);
X_33:bat[:str] := algebra.project(X_30:bat[:int], "a":str);
X_35:bat[:str] := algebra.project(X_30:bat[:int], "A":str);
X_39:bat[:str] := mal.manifold("str":str, "replace":str, X_31:bat[:str],
X_33:bat[:str], X_35:bat[:str]);
diff --git a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
--- a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
+++ b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
@@ -25,9 +25,9 @@ stdout of test 'explain.SF-1739353` in d
Operation successful
-+--------------------------------------------------------------------------------------------------------------------+
++-------------------------------------------------------------------------------------------------------------------------+
| mal
|
-+====================================================================================================================+
++=========================================================================================================================+
| function user.s4_0():void;
|
| X_1:void := querylog.define("explain select \"name\" from
\"tables\"\n;":str, "sequential_pipe":str, 34:int); |
| X_39:bat[:str] := bat.new(nil:str);
|
@@ -43,8 +43,7 @@ Operation successful
| X_17:bat[:str] := sql.bind(X_4:int, "sys":str, "_tables":str,
"name":str, 0:int); |
| (X_19:bat[:oid], X_20:bat[:str]) := sql.bind(X_4:int, "sys":str,
"_tables":str, "name":str, 2:int); |
| X_18:bat[:str] := sql.bind(X_4:int, "sys":str, "_tables":str,
"name":str, 1:int); |
-| X_21:bat[:str] := sql.delta(X_17:bat[:str], X_19:bat[:oid],
X_20:bat[:str], X_18:bat[:str]); |
-| X_32:bat[:str] := algebra.projection(C_30:bat[:oid], X_21:bat[:str]);
|
+| X_32:bat[:str] := sql.projectdelta(C_30:bat[:oid], X_17:bat[:str],
X_19:bat[:oid], X_20:bat[:str], X_18:bat[:str]); |
| C_34:bat[:oid] := sql.tid(X_4:int, "tmp":str, "_tables":str);
|
| X_37:bat[:str] := sql.bind(X_4:int, "tmp":str, "_tables":str,
"name":str, 0:int); |
| X_38:bat[:str] := algebra.projection(C_34:bat[:oid], X_37:bat[:str]);
|
@@ -57,36 +56,36 @@ Operation successful
| X_49:bat[:int] := bat.pack(0:int);
|
| sql.resultSet(X_45:bat[:str], X_46:bat[:str], X_47:bat[:str],
X_48:bat[:int], X_49:bat[:int], X_43:bat[:str]); |
| end user.s4_0;
|
-| #inline actions= 0 time=1 usec
|
+| #inline actions= 0 time=0 usec
|
| #remap actions= 0 time=1 usec
|
| #costmodel actions= 1 time=1 usec
|
| #coercion actions= 1 time=2 usec
|
| #aliases actions= 1 time=2 usec
|
| #evaluate actions= 0 time=3 usec
|
-| #emptybind actions= 0 time=1 usec
|
-| #pushselect actions= 0 time=6 usec
|
+| #emptybind actions= 0 time=0 usec
|
+| #pushselect actions= 2 time=13 usec
|
| #aliases actions= 0 time=0 usec
|
-| #mergetable actions= 0 time=21 usec
|
-| #deadcode actions= 7 time=5 usec
|
+| #mergetable actions= 0 time=14 usec
|
+| #deadcode actions= 8 time=5 usec
|
| #aliases actions= 0 time=0 usec
|
-| #constants actions= 2 time=4 usec
|
+| #constants actions= 2 time=3 usec
|
| #commonTerms actions= 0 time=4 usec
|
| #projectionpath actions= 0 time=2 usec
|
-| #deadcode actions= 0 time=4 usec
|
-| #reorder actions= 1 time=12 usec
|
+| #deadcode actions= 0 time=3 usec
|
+| #reorder actions= 1 time=9 usec
|
| #matpack actions= 0 time=0 usec
|
-| #multiplex actions= 0 time=0 usec
|
+| #multiplex actions= 0 time=1 usec
|
| #profiler actions= 1 time=0 usec
|
| #candidates actions= 1 time=1 usec
|
| #deadcode actions= 0 time=3 usec
|
| #postfix actions= 0 time=2 usec
|
| #wlc actions= 0 time=0 usec
|
| #garbagecollector actions= 1 time=18 usec
|
-| #total actions=27 time=144 usec
|
-+--------------------------------------------------------------------------------------------------------------------+
-55 rows
+| #total actions=27 time=136 usec
|
++-------------------------------------------------------------------------------------------------------------------------+
+54 rows
-# 16:17:13 >
-# 16:17:13 > "Done."
-# 16:17:13 >
+# 17:52:43 >
+# 17:52:43 > "Done."
+# 17:52:43 >
diff --git a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
--- a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
+++ b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
@@ -52,19 +52,21 @@ stdout of test 'jdbc_no_debug.SF-1739356
+----------------------------------------------------------------------------+
18 rows
Operation successful
-+---------------------------------------------------------------------------------------------------------------+
++--------------------------------------------------------------------------------------------------------------------+
| mal
|
-+===============================================================================================================+
++====================================================================================================================+
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list