Changeset: adbdd7edb8d5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=adbdd7edb8d5
Modified Files:
        clients/Tests/exports.stable.out
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_instruction.h
        sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out
        sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
        
sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out
        sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.sql
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.sql
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
        sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.sql
        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-2013/Tests/between.Bug-3259.sql
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128
        sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.sql
        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.sql
        sql/test/BugTracker-2015/Tests/useless_casts.Bug-3756.stable.out
        sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out
        sql/test/mapi/Tests/sql_int128.stable.out
        sql/test/mergetables/Tests/mergequery.stable.out
        sql/test/remote/Tests/partition_elim.stable.out
Branch: default
Log Message:

Reset the tmp variable counter
and remove some explain output


diffs (truncated from 3072 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
@@ -2205,6 +2205,7 @@ str mal_quote(const char *msg, size_t si
 MT_Lock mal_remoteLock;
 void mal_resource_reset(void) __attribute__((__visibility__("hidden")));
 void mal_runtime_reset(void) __attribute__((__visibility__("hidden")));
+str mal_session_uuid;
 int mal_trace;
 void mal_unquote(char *msg);
 str manifoldRef;
@@ -2410,7 +2411,6 @@ void setHeartbeat(int delay);
 void setPolymorphic(InstrPtr p, int tpe, int force);
 void setReturnArgument(InstrPtr p, int varid);
 str setScenario(Client c, str nme);
-void setVarName(MalBlkPtr mb, int i, str nme);
 void setVarType(MalBlkPtr mb, int i, int tpe);
 str setVariableRef;
 void setVariableScope(MalBlkPtr mb);
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
@@ -63,15 +63,15 @@ Ready.
 % clob # type
 % 146 # length
 function user.s8_1():void;
-    X_41:void := querylog.define("explain copy into ttt from 
\\'/tmp/xyz\\';","default_pipe",11:int);
+    X_26:void := querylog.define("explain copy into ttt from 
\\'/tmp/xyz\\';","default_pipe",11:int);
     X_3 := sql.mvc();
-    (X_24:bat[:int],X_25:bat[:int],X_26:bat[:int]) := 
sql.copy_from(nil:ptr,"|","\\n",nil:str,"null","/tmp/xyz",-1:lng,0:lng,0:int,0:int,nil:str);
+    (X_13:bat[:int],X_14:bat[:int],X_15:bat[:int]) := 
sql.copy_from(nil:ptr,"|","\\n",nil:str,"null","/tmp/xyz",-1:lng,0:lng,0:int,0:int,nil:str);
 # querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","default_pipe")
-    X_28 := sql.append(X_3,"sys","ttt","a",X_24);
-    X_33 := sql.append(X_28,"sys","ttt","b",X_25);
-    X_36 := sql.append(X_33,"sys","ttt","c",X_26);
-    X_38 := aggr.count(X_26);
-    sql.affectedRows(X_36,X_38);
+    X_16 := sql.append(X_3,"sys","ttt","a",X_13);
+    X_20 := sql.append(X_16,"sys","ttt","b",X_14);
+    X_22 := sql.append(X_20,"sys","ttt","c",X_15);
+    X_24 := aggr.count(X_15);
+    sql.affectedRows(X_22,X_24);
 end user.s8_1;
 #inline               actions= 0 time=1 usec 
 #candidates           actions= 1 time=14 usec 
@@ -123,15 +123,15 @@ end user.s8_1;
 % clob # type
 % 146 # length
 function user.s24_1():void;
-    X_41:void := querylog.define("explain copy into ttt from 
\\'/tmp/xyz\\';","user_1",11:int);
+    X_26:void := querylog.define("explain copy into ttt from 
\\'/tmp/xyz\\';","user_1",11:int);
     X_3 := sql.mvc();
-    (X_24:bat[:int],X_25:bat[:int],X_26:bat[:int]) := 
sql.copy_from(nil:ptr,"|","\\n",nil:str,"null","/tmp/xyz",-1:lng,0:lng,0:int,0:int,nil:str);
+    (X_13:bat[:int],X_14:bat[:int],X_15:bat[:int]) := 
sql.copy_from(nil:ptr,"|","\\n",nil:str,"null","/tmp/xyz",-1:lng,0:lng,0:int,0:int,nil:str);
 # querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","user_1")
-    X_28 := sql.append(X_3,"sys","ttt","a",X_24);
-    X_33 := sql.append(X_28,"sys","ttt","b",X_25);
-    X_38 := aggr.count(X_26);
-    X_36 := sql.append(X_33,"sys","ttt","c",X_26);
-    sql.affectedRows(X_36,X_38);
+    X_16 := sql.append(X_3,"sys","ttt","a",X_13);
+    X_20 := sql.append(X_16,"sys","ttt","b",X_14);
+    X_24 := aggr.count(X_15);
+    X_22 := sql.append(X_20,"sys","ttt","c",X_15);
+    sql.affectedRows(X_22,X_24);
 end user.s24_1;
 #inline               actions= 0 time=1 usec 
 #candidates           actions= 1 time=14 usec 
diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -882,12 +882,12 @@ freeVariable(MalBlkPtr mb, int varid)
 
 /* A special action is to reduce the variable space by removing all
  * that do not contribute.
+ * All temporary variables are renamed in the process to trim the varid.
  */
 void
 trimMalVariables_(MalBlkPtr mb, MalStkPtr glb)
 {
        int *vars, cnt = 0, i, j;
-       int maxid = 0,m;
        InstrPtr q;
 
        vars = (int *) GDKzalloc(mb->vtop * sizeof(int));
@@ -902,11 +902,6 @@ trimMalVariables_(MalBlkPtr mb, MalStkPt
                        freeVariable(mb, i);
                        continue;
                }
-               if( isTmpVar(mb,i) ){
-                       m = atoi(getVarName(mb,i)+2);
-                       if( m > maxid)
-                               maxid = m;
-               }
         if (i > cnt) {
             /* remap temporary variables */
             VarRecord *t = mb->var[cnt];
@@ -937,8 +932,12 @@ trimMalVariables_(MalBlkPtr mb, MalStkPt
                                getArg(q, j) = vars[getArg(q, j)];
                }
        }
-       /* reset the variable counter */
-       mb->vid= maxid + 1;
+       /* rename the temporary variable */
+       mb->vid = 0;
+       for( i =0; i< cnt; i++)
+       if( isTmpVar(mb,i))
+        (void) snprintf(mb->var[i]->id, IDLENGTH,"%c%c%d", REFMARKER, 
TMPMARKER,mb->vid++);
+       
 #ifdef DEBUG_REDUCE
        mnstr_printf(GDKout, "After reduction \n");
        printFunction(GDKout, mb, 0, 0);
diff --git a/monetdb5/mal/mal_instruction.h b/monetdb5/mal/mal_instruction.h
--- a/monetdb5/mal/mal_instruction.h
+++ b/monetdb5/mal/mal_instruction.h
@@ -146,7 +146,6 @@ mal_export int findVariable(MalBlkPtr mb
 mal_export int findVariableLength(MalBlkPtr mb, str name, int len);
 mal_export malType getType(MalBlkPtr mb, str nme);
 mal_export str getArgDefault(MalBlkPtr mb, InstrPtr p, int idx);
-mal_export void setVarName(MalBlkPtr mb, int i, str nme);
 mal_export int newVariable(MalBlkPtr mb, const char *name, size_t len, malType 
type);
 mal_export int cloneVariable(MalBlkPtr dst, MalBlkPtr src, int varid);
 mal_export void renameVariable(MalBlkPtr mb, int i, str pattern, int newid);
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
@@ -29,10 +29,10 @@ Ready.
 % clob # type
 % 86 # length
 function user.s4_1():void;
-    X_14:void := querylog.define("explain select 
fuse(1,2);","sequential_pipe",6:int);
-    X_6:sht := udf.fuse(1:bte,2:bte);
+    X_11:void := querylog.define("explain select 
fuse(1,2);","sequential_pipe",6:int);
+    X_3:sht := udf.fuse(1:bte,2:bte);
 # querylog.define("explain select fuse(1,2);","sequential_pipe")
-    sql.resultSet(".L2","L2","smallint",16:int,0:int,7:int,X_6);
+    sql.resultSet(".L2","L2","smallint",16:int,0:int,7:int,X_3);
 end user.s4_1;
 #inline               actions= 0 time=2 usec 
 #candidates           actions= 1 time=12 usec 
@@ -71,10 +71,10 @@ end user.s4_1;
 % clob # type
 % 92 # length
 function user.s6_1():void;
-    X_14:void := querylog.define("explain select 
fuse(1000,2000);","sequential_pipe",6:int);
-    X_6:int := udf.fuse(1000:sht,2000:sht);
+    X_11:void := querylog.define("explain select 
fuse(1000,2000);","sequential_pipe",6:int);
+    X_3:int := udf.fuse(1000:sht,2000:sht);
 # querylog.define("explain select fuse(1000,2000);","sequential_pipe")
-    sql.resultSet(".L2","L2","int",32:int,0:int,7:int,X_6);
+    sql.resultSet(".L2","L2","int",32:int,0:int,7:int,X_3);
 end user.s6_1;
 #inline               actions= 0 time=2 usec 
 #candidates           actions= 1 time=10 usec 
@@ -113,10 +113,10 @@ end user.s6_1;
 % clob # type
 % 98 # length
 function user.s8_1():void;
-    X_14:void := querylog.define("explain select 
fuse(1000000,2000000);","sequential_pipe",6:int);
-    X_6:lng := udf.fuse(1000000:int,2000000:int);
+    X_11:void := querylog.define("explain select 
fuse(1000000,2000000);","sequential_pipe",6:int);
+    X_3:lng := udf.fuse(1000000:int,2000000:int);
 # querylog.define("explain select fuse(1000000,2000000);","sequential_pipe")
-    sql.resultSet(".L2","L2","bigint",64:int,0:int,7:int,X_6);
+    sql.resultSet(".L2","L2","bigint",64:int,0:int,7:int,X_3);
 end user.s8_1;
 #inline               actions= 0 time=3 usec 
 #candidates           actions= 1 time=10 usec 
@@ -173,25 +173,26 @@ end user.s8_1;
 % clob # type
 % 101 # length
 function user.s16_1():void;
-    X_45:void := querylog.define("explain select fuse(a,b) from 
udf_fuse;","sequential_pipe",22:int);
-    X_28 := bat.new(nil:str);
-    X_35 := bat.append(X_28,"sys.L2");
-    X_30 := bat.new(nil:str);
-    X_37 := bat.append(X_30,"L2");
-    X_31 := bat.new(nil:str);
-    X_39 := bat.append(X_31,"smallint");
-    X_32 := bat.new(nil:int);
-    X_41 := bat.append(X_32,16:int);
-    X_34 := bat.new(nil:int);
-    X_43 := bat.append(X_34,0:int);
+    X_32:void := querylog.define("explain select fuse(a,b) from 
udf_fuse;","sequential_pipe",22:int);
+    X_16 := bat.new(nil:str);
+    X_23 := bat.append(X_16,"sys.L2");
+    X_18 := bat.new(nil:str);
+    X_25 := bat.append(X_18,"L2");
+    X_19 := bat.new(nil:str);
+    X_27 := bat.append(X_19,"smallint");
+    X_20 := bat.new(nil:int);
+    X_29 := bat.append(X_20,16:int);
+    X_22 := bat.new(nil:int);
+    X_31 := bat.append(X_22,0:int);
     X_3 := sql.mvc();
     C_4:bat[:oid] := sql.tid(X_3,"sys","udf_fuse");
     X_7:bat[:bte] := sql.bind(X_3,"sys","udf_fuse","a",0:int);
-    X_16 := algebra.projection(C_4,X_7);
-    X_17:bat[:bte] := sql.bind(X_3,"sys","udf_fuse","b",0:int);
-    X_23 := algebra.projection(C_4,X_17);
-    X_24:bat[:sht] := batudf.fuse(X_16,X_23);
-    sql.resultSet(X_35,X_37,X_39,X_41,X_43,X_24);
+    X_10 := algebra.projection(C_4,X_7);
+    X_11:bat[:bte] := sql.bind(X_3,"sys","udf_fuse","b",0:int);
+    X_13 := algebra.projection(C_4,X_11);
+    X_14:bat[:sht] := batudf.fuse(X_10,X_13);
+# querylog.define("explain select fuse(a,b) from udf_fuse;","sequential_pipe")
+    sql.resultSet(X_23,X_25,X_27,X_29,X_31,X_14);
 end user.s16_1;
 #inline               actions= 0 time=4 usec 
 #candidates           actions= 1 time=19 usec 
@@ -224,25 +225,26 @@ end user.s16_1;
 % clob # type
 % 101 # length
 function user.s18_1():void;
-    X_45:void := querylog.define("explain select fuse(c,d) from 
udf_fuse;","sequential_pipe",22:int);
-    X_28 := bat.new(nil:str);
-    X_35 := bat.append(X_28,"sys.L2");
-    X_30 := bat.new(nil:str);
-    X_37 := bat.append(X_30,"L2");
-    X_31 := bat.new(nil:str);
-    X_39 := bat.append(X_31,"int");
-    X_32 := bat.new(nil:int);
-    X_41 := bat.append(X_32,32:int);
-    X_34 := bat.new(nil:int);
-    X_43 := bat.append(X_34,0:int);
+    X_32:void := querylog.define("explain select fuse(c,d) from 
udf_fuse;","sequential_pipe",22:int);
+    X_16 := bat.new(nil:str);
+    X_23 := bat.append(X_16,"sys.L2");
+    X_18 := bat.new(nil:str);
+    X_25 := bat.append(X_18,"L2");
+    X_19 := bat.new(nil:str);
+    X_27 := bat.append(X_19,"int");
+    X_20 := bat.new(nil:int);
+    X_29 := bat.append(X_20,32:int);
+    X_22 := bat.new(nil:int);
+    X_31 := bat.append(X_22,0:int);
     X_3 := sql.mvc();
     C_4:bat[:oid] := sql.tid(X_3,"sys","udf_fuse");
     X_7:bat[:sht] := sql.bind(X_3,"sys","udf_fuse","c",0:int);
-    X_16 := algebra.projection(C_4,X_7);
-    X_17:bat[:sht] := sql.bind(X_3,"sys","udf_fuse","d",0:int);
-    X_23 := algebra.projection(C_4,X_17);
-    X_24:bat[:int] := batudf.fuse(X_16,X_23);
-    sql.resultSet(X_35,X_37,X_39,X_41,X_43,X_24);
+    X_10 := algebra.projection(C_4,X_7);
+    X_11:bat[:sht] := sql.bind(X_3,"sys","udf_fuse","d",0:int);
+    X_13 := algebra.projection(C_4,X_11);
+    X_14:bat[:int] := batudf.fuse(X_10,X_13);
+# querylog.define("explain select fuse(c,d) from udf_fuse;","sequential_pipe")
+    sql.resultSet(X_23,X_25,X_27,X_29,X_31,X_14);
 end user.s18_1;
 #inline               actions= 0 time=2 usec 
 #candidates           actions= 1 time=19 usec 
@@ -275,25 +277,26 @@ end user.s18_1;
 % clob # type
 % 101 # length
 function user.s20_1():void;
-    X_45:void := querylog.define("explain select fuse(e,f) from 
udf_fuse;","sequential_pipe",22:int);
-    X_28 := bat.new(nil:str);
-    X_35 := bat.append(X_28,"sys.L2");
-    X_30 := bat.new(nil:str);
-    X_37 := bat.append(X_30,"L2");
-    X_31 := bat.new(nil:str);
-    X_39 := bat.append(X_31,"bigint");
-    X_32 := bat.new(nil:int);
-    X_41 := bat.append(X_32,64:int);
-    X_34 := bat.new(nil:int);
-    X_43 := bat.append(X_34,0:int);
+    X_32:void := querylog.define("explain select fuse(e,f) from 
udf_fuse;","sequential_pipe",22:int);
+    X_16 := bat.new(nil:str);
+    X_23 := bat.append(X_16,"sys.L2");
+    X_18 := bat.new(nil:str);
+    X_25 := bat.append(X_18,"L2");
+    X_19 := bat.new(nil:str);
+    X_27 := bat.append(X_19,"bigint");
+    X_20 := bat.new(nil:int);
+    X_29 := bat.append(X_20,64:int);
+    X_22 := bat.new(nil:int);
+    X_31 := bat.append(X_22,0:int);
     X_3 := sql.mvc();
     C_4:bat[:oid] := sql.tid(X_3,"sys","udf_fuse");
     X_7:bat[:int] := sql.bind(X_3,"sys","udf_fuse","e",0:int);
-    X_16 := algebra.projection(C_4,X_7);
-    X_17:bat[:int] := sql.bind(X_3,"sys","udf_fuse","f",0:int);
-    X_23 := algebra.projection(C_4,X_17);
-    X_24:bat[:lng] := batudf.fuse(X_16,X_23);
-    sql.resultSet(X_35,X_37,X_39,X_41,X_43,X_24);
+    X_10 := algebra.projection(C_4,X_7);
+    X_11:bat[:int] := sql.bind(X_3,"sys","udf_fuse","f",0:int);
+    X_13 := algebra.projection(C_4,X_11);
+    X_14:bat[:lng] := batudf.fuse(X_10,X_13);
+# querylog.define("explain select fuse(e,f) from udf_fuse;","sequential_pipe")
+    sql.resultSet(X_23,X_25,X_27,X_29,X_31,X_14);
 end user.s20_1;
 #inline               actions= 0 time=2 usec 
 #candidates           actions= 1 time=18 usec 
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
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to