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

Reply via email to