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