Changeset: aa7c11abc3dc for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aa7c11abc3dc
Modified Files:
clients/mapiclient/tachograph.c
monetdb5/extras/rapi/Tests/All
monetdb5/optimizer/opt_coercion.c
sql/benchmarks/ssbm/Tests/04-explain.stable.out
sql/benchmarks/ssbm/Tests/05-explain.stable.out
sql/benchmarks/ssbm/Tests/06-explain.stable.out
sql/benchmarks/ssbm/Tests/07-explain.stable.out
sql/benchmarks/ssbm/Tests/08-explain.stable.out
sql/benchmarks/ssbm/Tests/09-explain.stable.out
sql/benchmarks/ssbm/Tests/10-explain.stable.out
sql/benchmarks/tpch/Tests/01-explain.stable.out
sql/benchmarks/tpch/Tests/01-explain.stable.out.int128
sql/benchmarks/tpch/Tests/12-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/20-explain.stable.out
sql/benchmarks/tpch/Tests/20-explain.stable.out.32bit
sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out
Branch: notepad
Log Message:
Merge from default branch.
diffs (truncated from 1098 to 300 lines):
diff --git a/clients/mapiclient/tachograph.c b/clients/mapiclient/tachograph.c
--- a/clients/mapiclient/tachograph.c
+++ b/clients/mapiclient/tachograph.c
@@ -122,7 +122,7 @@ addSourcePair(char *varname, char *name)
if( srcmax == 0)
sources = (Source *) malloc(1024 * sizeof(Source));
else
- sources = (Source *) realloc(sources, srcmax+1024);
+ sources = (Source *) realloc((void *)sources,
(srcmax+1024) * sizeof(Source));
srcmax+= 1024;
}
for( i=0; i< srctop; i++)
diff --git a/monetdb5/extras/rapi/Tests/All b/monetdb5/extras/rapi/Tests/All
--- a/monetdb5/extras/rapi/Tests/All
+++ b/monetdb5/extras/rapi/Tests/All
@@ -1,6 +1,6 @@
HAVE_LIBR?rapi00
HAVE_LIBR?rapi01
-HAVE_LIBR?rapi02
+HAVE_LIBR&HAVE_HGE?rapi02
HAVE_LIBR?rapi03
HAVE_LIBR?rapi04
HAVE_LIBR?rapi05
diff --git a/monetdb5/optimizer/opt_coercion.c
b/monetdb5/optimizer/opt_coercion.c
--- a/monetdb5/optimizer/opt_coercion.c
+++ b/monetdb5/optimizer/opt_coercion.c
@@ -18,11 +18,6 @@ typedef struct{
int fromtype;
int totype;
int src;
-/* not used, yet !?? Indeed
- int digits;
- int fromscale;
- int scale;
-*/
} Coercion;
static int
@@ -71,26 +66,26 @@ coercionOptimizerCalcStep(Client cntxt,
a = getColumnType(getVarType(mb, getArg(p,1)));
b = getColumnType(getVarType(mb, getArg(p,2)));
- if ( a == r && coerce[getArg(p,1)].src && coerce[getArg(p,1)].fromtype
< r )
+ varid = getArg(p,1);
+ if ( a == r && coerce[varid].src && coerce[varid].fromtype < r )
{
#ifdef _DEBUG_COERCION_
mnstr_printf(cntxt->fdout,"#remove upcast on first argument
%d\n", getArg(p,1));
printInstruction(cntxt->fdout, mb, 0, p, LIST_MAL_ALL);
#endif
- varid = getArg(p,1);
- getArg(p,1) = coerce[getArg(p,1)].src;
- if ( chkInstruction(NULL, cntxt->nspace, mb, p) || p->typechk
== TYPE_UNKNOWN )
- getArg(p,1) = varid;
+ getArg(p,1) = coerce[varid].src;
+ if ( chkInstruction(NULL, cntxt->nspace, mb, p) || p->typechk
== TYPE_UNKNOWN)
+ getArg(p,1)= varid;
}
- if ( b == r && coerce[getArg(p,2)].src && coerce[getArg(p,2)].fromtype
< r )
+ varid = getArg(p,2);
+ if ( b == r && coerce[varid].src && coerce[varid].fromtype < r )
{
#ifdef _DEBUG_COERCION_
mnstr_printf(cntxt->fdout,"#remove upcast on second argument
%d\n", getArg(p,2));
printInstruction(cntxt->fdout, mb, 0, p, LIST_MAL_ALL);
#endif
- varid = getArg(p,2);
- getArg(p,2) = coerce[getArg(p,2)].src;
- if ( chkInstruction(NULL, cntxt->nspace, mb, p) || p->typechk
== TYPE_UNKNOWN )
+ getArg(p,2) = coerce[varid].src;
+ if ( chkInstruction(NULL, cntxt->nspace, mb, p) || p->typechk
== TYPE_UNKNOWN)
getArg(p,2) = varid;
}
#ifdef _DEBUG_COERCION_
@@ -114,8 +109,11 @@ coercionOptimizerAggrStep(Client cntxt,
r = getColumnType(getVarType(mb, getArg(p,0)));
k = getArg(p,1);
- if( r == TYPE_dbl && coerce[k].src )
+ if( r == TYPE_dbl && coerce[k].src ){
getArg(p,1) = coerce[getArg(p,1)].src;
+ if ( chkInstruction(NULL, cntxt->nspace, mb, p) || p->typechk
== TYPE_UNKNOWN)
+ getArg(p,1)= k;
+ }
return;
}
@@ -158,14 +156,8 @@ OPTcoercionImplementation(Client cntxt,M
coerce[k].totype= TYPE_hge;
coerce[k].src= getArg(p,2);
coerce[k].fromtype= getColumnType(getArgType(mb,p,2));
-/* not used, yet !?? indeed
- coerce[k].fromscale=
getVarConstant(mb,getArg(p,1)).val.ival;
- coerce[k].digits=
getVarConstant(mb,getArg(p,3)).val.ival;
- coerce[k].scale=
getVarConstant(mb,getArg(p,4)).val.ival;
-*/
}
#endif
-/*
if ( getModuleId(p) == batcalcRef
&& getFunctionId(p) == dblRef
&& p->retc == 1
@@ -181,7 +173,6 @@ OPTcoercionImplementation(Client cntxt,M
coerce[k].src= getArg(p,1 + (p->argc ==3));
coerce[k].fromtype= getColumnType(getArgType(mb,p,1 +
(p->argc ==3)));
}
-*/
coercionOptimizerAggrStep(cntxt,mb, i, coerce);
coercionOptimizerCalcStep(cntxt,mb, i, coerce);
if (getModuleId(p)==calcRef && p->argc == 2) {
diff --git a/sql/benchmarks/ssbm/Tests/04-explain.stable.out
b/sql/benchmarks/ssbm/Tests/04-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/04-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/04-explain.stable.out
@@ -100,7 +100,7 @@ function user.s2_1{autoCommit=true}(A0:s
(X_108,r1_123) := sql.bind(X_4,"sys","lineorder","lo_revenue",2);
X_111:bat[:oid,:int] := sql.bind(X_4,"sys","lineorder","lo_revenue",1);
X_113 := sql.projectdelta(X_5,X_103,X_108,r1_123,X_111);
- X_114:bat[:oid,:int] := algebra.leftfetchjoinPath(X_175,X_27,X_113);
+ X_114:bat[:oid,:int] := algebra.leftfetchjoinPath(X_176,X_27,X_113);
X_115:bat[:oid,:lng] := aggr.subsum(X_114,X_91,r1_106,true,true);
(X_96,r1_111,r2_111) := algebra.subsort(X_95,false,false);
(X_100,r1_115,r2_115) := algebra.subsort(X_94,r1_111,r2_111,false,false);
@@ -108,11 +108,11 @@ function user.s2_1{autoCommit=true}(A0:s
X_119 := algebra.leftfetchjoin(r1_115,X_94);
X_118 := algebra.leftfetchjoin(r1_115,X_95);
X_120 := sql.resultSet(3,1,X_117);
- sql.rsColumn(X_120,"sys.L1","L1","bigint",32,0,X_117);
+ sql.rsColumn(X_120,"sys.L1","L1","bigint",64,0,X_117);
sql.rsColumn(X_120,"sys.dwdate","d_year","int",32,0,X_118);
sql.rsColumn(X_120,"sys.part","p_brand1","clob",0,0,X_119);
- X_135 := io.stdout();
- sql.exportResult(X_135,X_120);
+ X_136 := io.stdout();
+ sql.exportResult(X_136,X_120);
end user.s2_1;
# 23:10:46 >
diff --git a/sql/benchmarks/ssbm/Tests/05-explain.stable.out
b/sql/benchmarks/ssbm/Tests/05-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/05-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/05-explain.stable.out
@@ -99,7 +99,7 @@ function user.s2_1{autoCommit=true}(A0:s
(X_102,r1_116) := sql.bind(X_5,"sys","lineorder","lo_revenue",2);
X_104:bat[:oid,:int] := sql.bind(X_5,"sys","lineorder","lo_revenue",1);
X_105 := sql.projectdelta(X_6,X_98,X_102,r1_116,X_104);
- X_106:bat[:oid,:int] := algebra.leftfetchjoinPath(X_168,X_28,X_105);
+ X_106:bat[:oid,:int] := algebra.leftfetchjoinPath(X_169,X_28,X_105);
X_107:bat[:oid,:lng] := aggr.subsum(X_106,X_86,r1_100,true,true);
(X_91,r1_105,r2_105) := algebra.subsort(X_90,false,false);
(X_95,r1_109,r2_109) := algebra.subsort(X_89,r1_105,r2_105,false,false);
@@ -107,11 +107,11 @@ function user.s2_1{autoCommit=true}(A0:s
X_111 := algebra.leftfetchjoin(r1_109,X_89);
X_110 := algebra.leftfetchjoin(r1_109,X_90);
X_112 := sql.resultSet(3,1,X_109);
- sql.rsColumn(X_112,"sys.L1","L1","bigint",32,0,X_109);
+ sql.rsColumn(X_112,"sys.L1","L1","bigint",64,0,X_109);
sql.rsColumn(X_112,"sys.dwdate","d_year","int",32,0,X_110);
sql.rsColumn(X_112,"sys.part","p_brand1","clob",0,0,X_111);
- X_129 := io.stdout();
- sql.exportResult(X_129,X_112);
+ X_130 := io.stdout();
+ sql.exportResult(X_130,X_112);
end user.s2_1;
# 23:10:46 >
diff --git a/sql/benchmarks/ssbm/Tests/06-explain.stable.out
b/sql/benchmarks/ssbm/Tests/06-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/06-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/06-explain.stable.out
@@ -99,7 +99,7 @@ function user.s2_1{autoCommit=true}(A0:s
(X_101,r1_114) := sql.bind(X_4,"sys","lineorder","lo_revenue",2);
X_103:bat[:oid,:int] := sql.bind(X_4,"sys","lineorder","lo_revenue",1);
X_104 := sql.projectdelta(X_5,X_97,X_101,r1_114,X_103);
- X_105:bat[:oid,:int] := algebra.leftfetchjoinPath(X_167,X_27,X_104);
+ X_105:bat[:oid,:int] := algebra.leftfetchjoinPath(X_168,X_27,X_104);
X_106:bat[:oid,:lng] := aggr.subsum(X_105,X_85,r1_98,true,true);
(X_90,r1_103,r2_103) := algebra.subsort(X_89,false,false);
(X_94,r1_107,r2_107) := algebra.subsort(X_88,r1_103,r2_103,false,false);
@@ -107,11 +107,11 @@ function user.s2_1{autoCommit=true}(A0:s
X_110 := algebra.leftfetchjoin(r1_107,X_88);
X_109 := algebra.leftfetchjoin(r1_107,X_89);
X_111 := sql.resultSet(3,1,X_108);
- sql.rsColumn(X_111,"sys.L1","L1","bigint",32,0,X_108);
+ sql.rsColumn(X_111,"sys.L1","L1","bigint",64,0,X_108);
sql.rsColumn(X_111,"sys.dwdate","d_year","int",32,0,X_109);
sql.rsColumn(X_111,"sys.part","p_brand1","clob",0,0,X_110);
- X_128 := io.stdout();
- sql.exportResult(X_128,X_111);
+ X_129 := io.stdout();
+ sql.exportResult(X_129,X_111);
end user.s2_1;
# 23:10:46 >
diff --git a/sql/benchmarks/ssbm/Tests/07-explain.stable.out
b/sql/benchmarks/ssbm/Tests/07-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/07-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/07-explain.stable.out
@@ -115,18 +115,18 @@ function user.s2_1{autoCommit=true}(A0:s
X_120 := algebra.leftfetchjoin(r1_139,X_108);
(X_121,r1_145,r2_145) := algebra.subsort(X_120,false,false);
(X_125,r1_149,r2_149) := algebra.subsort(X_118,r1_145,r2_145,true,false);
- X_198 := algebra.leftfetchjoin(r1_149,r1_139);
- X_128:bat[:oid,:str] := algebra.leftfetchjoin(X_198,X_106);
+ X_199 := algebra.leftfetchjoin(r1_149,r1_139);
+ X_128:bat[:oid,:str] := algebra.leftfetchjoin(X_199,X_106);
X_131 := algebra.leftfetchjoin(r1_149,X_118);
X_130 := algebra.leftfetchjoin(r1_149,X_120);
- X_129:bat[:oid,:str] := algebra.leftfetchjoin(X_198,X_98);
+ X_129:bat[:oid,:str] := algebra.leftfetchjoin(X_199,X_98);
X_132 := sql.resultSet(4,1,X_128);
sql.rsColumn(X_132,"sys.customer","c_nation","clob",0,0,X_128);
sql.rsColumn(X_132,"sys.supplier","s_nation","clob",0,0,X_129);
sql.rsColumn(X_132,"sys.dwdate","d_year","int",32,0,X_130);
- sql.rsColumn(X_132,"sys.L1","revenue","bigint",32,0,X_131);
- X_152 := io.stdout();
- sql.exportResult(X_152,X_132);
+ sql.rsColumn(X_132,"sys.L1","revenue","bigint",64,0,X_131);
+ X_153 := io.stdout();
+ sql.exportResult(X_153,X_132);
end user.s2_1;
# 23:10:47 >
diff --git a/sql/benchmarks/ssbm/Tests/08-explain.stable.out
b/sql/benchmarks/ssbm/Tests/08-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/08-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/08-explain.stable.out
@@ -115,18 +115,18 @@ function user.s2_1{autoCommit=true}(A0:s
X_120 := algebra.leftfetchjoin(r1_139,X_108);
(X_121,r1_145,r2_145) := algebra.subsort(X_120,false,false);
(X_125,r1_149,r2_149) := algebra.subsort(X_118,r1_145,r2_145,true,false);
- X_198 := algebra.leftfetchjoin(r1_149,r1_139);
- X_128:bat[:oid,:str] := algebra.leftfetchjoin(X_198,X_106);
+ X_199 := algebra.leftfetchjoin(r1_149,r1_139);
+ X_128:bat[:oid,:str] := algebra.leftfetchjoin(X_199,X_106);
X_131 := algebra.leftfetchjoin(r1_149,X_118);
X_130 := algebra.leftfetchjoin(r1_149,X_120);
- X_129:bat[:oid,:str] := algebra.leftfetchjoin(X_198,X_98);
+ X_129:bat[:oid,:str] := algebra.leftfetchjoin(X_199,X_98);
X_132 := sql.resultSet(4,1,X_128);
sql.rsColumn(X_132,"sys.customer","c_city","clob",0,0,X_128);
sql.rsColumn(X_132,"sys.supplier","s_city","clob",0,0,X_129);
sql.rsColumn(X_132,"sys.dwdate","d_year","int",32,0,X_130);
- sql.rsColumn(X_132,"sys.L1","revenue","bigint",32,0,X_131);
- X_152 := io.stdout();
- sql.exportResult(X_152,X_132);
+ sql.rsColumn(X_132,"sys.L1","revenue","bigint",64,0,X_131);
+ X_153 := io.stdout();
+ sql.exportResult(X_153,X_132);
end user.s2_1;
# 23:10:47 >
diff --git a/sql/benchmarks/ssbm/Tests/09-explain.stable.out
b/sql/benchmarks/ssbm/Tests/09-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/09-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/09-explain.stable.out
@@ -135,18 +135,18 @@ function user.s2_1{autoCommit=true}(A0:s
X_137 := algebra.leftfetchjoin(r1_160,X_125);
(X_138,r1_166,r2_166) := algebra.subsort(X_137,false,false);
(X_142,r1_170,r2_170) := algebra.subsort(X_135,r1_166,r2_166,true,false);
- X_231 := algebra.leftfetchjoin(r1_170,r1_160);
- X_145:bat[:oid,:str] := algebra.leftfetchjoin(X_231,X_123);
+ X_232 := algebra.leftfetchjoin(r1_170,r1_160);
+ X_145:bat[:oid,:str] := algebra.leftfetchjoin(X_232,X_123);
X_148 := algebra.leftfetchjoin(r1_170,X_135);
X_147 := algebra.leftfetchjoin(r1_170,X_137);
- X_146:bat[:oid,:str] := algebra.leftfetchjoin(X_231,X_121);
+ X_146:bat[:oid,:str] := algebra.leftfetchjoin(X_232,X_121);
X_149 := sql.resultSet(4,1,X_145);
sql.rsColumn(X_149,"sys.customer","c_city","clob",0,0,X_145);
sql.rsColumn(X_149,"sys.supplier","s_city","clob",0,0,X_146);
sql.rsColumn(X_149,"sys.dwdate","d_year","int",32,0,X_147);
- sql.rsColumn(X_149,"sys.L1","revenue","bigint",32,0,X_148);
- X_169 := io.stdout();
- sql.exportResult(X_169,X_149);
+ sql.rsColumn(X_149,"sys.L1","revenue","bigint",64,0,X_148);
+ X_170 := io.stdout();
+ sql.exportResult(X_170,X_149);
end user.s2_1;
# 23:10:47 >
diff --git a/sql/benchmarks/ssbm/Tests/10-explain.stable.out
b/sql/benchmarks/ssbm/Tests/10-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/10-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/10-explain.stable.out
@@ -138,18 +138,18 @@ function user.s2_1{autoCommit=true}(A0:s
X_140 := algebra.leftfetchjoin(r1_164,X_128);
(X_141,r1_170,r2_170) := algebra.subsort(X_140,false,false);
(X_145,r1_174,r2_174) := algebra.subsort(X_138,r1_170,r2_170,true,false);
- X_234 := algebra.leftfetchjoin(r1_174,r1_164);
- X_148:bat[:oid,:str] := algebra.leftfetchjoin(X_234,X_117);
+ X_235 := algebra.leftfetchjoin(r1_174,r1_164);
+ X_148:bat[:oid,:str] := algebra.leftfetchjoin(X_235,X_117);
X_151 := algebra.leftfetchjoin(r1_174,X_138);
X_150 := algebra.leftfetchjoin(r1_174,X_140);
- X_149:bat[:oid,:str] := algebra.leftfetchjoin(X_234,X_115);
+ X_149:bat[:oid,:str] := algebra.leftfetchjoin(X_235,X_115);
X_152 := sql.resultSet(4,1,X_148);
sql.rsColumn(X_152,"sys.customer","c_city","clob",0,0,X_148);
sql.rsColumn(X_152,"sys.supplier","s_city","clob",0,0,X_149);
sql.rsColumn(X_152,"sys.dwdate","d_year","int",32,0,X_150);
- sql.rsColumn(X_152,"sys.L1","revenue","bigint",32,0,X_151);
- X_171 := io.stdout();
- sql.exportResult(X_171,X_152);
+ sql.rsColumn(X_152,"sys.L1","revenue","bigint",64,0,X_151);
+ X_172 := io.stdout();
+ sql.exportResult(X_172,X_152);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list