Changeset: e5451cf8596e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e5451cf8596e Modified Files: monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/mal/mal_instruction.c sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_gencode.h sql/backends/monet5/sql_scenario.c sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.out sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128 sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out sql/test/BugTracker-2012/Tests/aggregate_incorrect_precision_scale.Bug-3182.stable.out sql/test/BugTracker-2012/Tests/aggregate_incorrect_precision_scale.Bug-3182.stable.out.int128 sql/test/BugTracker-2012/Tests/aggregate_vs_positional_column_crash.Bug-3085.stable.out sql/test/BugTracker-2012/Tests/algebra_find.Bug-2728.stable.out sql/test/BugTracker-2012/Tests/any_null.Bug-2594.stable.out sql/test/BugTracker-2012/Tests/boolean_coersion.Bug-3012.stable.out sql/test/BugTracker-2012/Tests/case_evaluated_too_early.Bug-3186.stable.out sql/test/BugTracker-2012/Tests/cast-tinyint-Bug-3137.stable.out sql/test/BugTracker-2012/Tests/cast_varchar_to_double.Bug-3071.stable.out sql/test/BugTracker-2012/Tests/correlated_groupby_in_selection.Bug-3011.stable.out sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.stable.out sql/test/BugTracker-2012/Tests/date_script_test.Bug-2973.stable.out sql/test/BugTracker-2012/Tests/day-of-month-localization.Bug-2962.stable.out sql/test/BugTracker-2012/Tests/fixed_limit_for_prepare.Bug-3208.stable.out sql/test/BugTracker-2012/Tests/float-mod.Bug-3086.stable.out sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out sql/test/BugTracker-2012/Tests/large-number-operation-strange-results.Bug-2929.stable.out.int128 sql/test/BugTracker-2012/Tests/many-columns-truncated.Bug-3161.stable.out sql/test/BugTracker-2012/Tests/not-equal-Bug.3139.stable.out sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.out sql/test/BugTracker-2012/Tests/null_except_null.Bug-3040.stable.out sql/test/BugTracker-2012/Tests/order_by_on_column_exp.Bug-3193.stable.out sql/test/BugTracker-2012/Tests/power_priority.Bug-2291.stable.out sql/test/BugTracker-2012/Tests/power_priority.Bug-2291.stable.out.int128 sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out sql/test/BugTracker-2012/Tests/round-type-inference.Bug-2987.stable.out sql/test/BugTracker-2012/Tests/row_number_does_not_work_in_complex_query.Bug-2805.stable.out sql/test/BugTracker-2012/Tests/scalar_subquery_with_alias.Bug-3093.stable.out sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.out sql/test/BugTracker-2012/Tests/set_operation.Bug-3059.stable.out sql/test/BugTracker-2012/Tests/simple_select.Bug-2988.stable.out sql/test/BugTracker-2012/Tests/sticky-precision.Bug-2969.stable.out sql/test/BugTracker-2012/Tests/timestamp-diff.Bug-3190.stable.out sql/test/BugTracker-2012/Tests/tuples_INTERSECT_vs_count_intersect_differs.Bug-2659.stable.out sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out sql/test/BugTracker-2012/Tests/user_defined_decimal_function.Bug-2992.stable.out sql/test/BugTracker-2012/Tests/with_and_exists.Bug-3099.stable.out sql/test/BugTracker-2012/Tests/with_in_derived_table.Bug-3043.stable.out 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.stable.out sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out.single sql/test/BugTracker-2014/Tests/queueError.Bug-3604.stable.out sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.out sql/test/BugTracker-2015/Tests/useless_casts.Bug-3756.stable.out sql/test/BugTracker-2016/Tests/CREATE_INDEX_breaks_table_queries.Bug-4053.stable.out sql/test/BugTracker-2016/Tests/DISTINCT_with_correlated_scalar_subquery_crashes_mserver.Bug-3920.stable.out sql/test/BugTracker-2016/Tests/assert-on-project.Bug-6078.stable.out sql/test/BugTracker-2016/Tests/assert-on-push-project-up.Bug-6077.stable.out sql/test/BugTracker-2016/Tests/assert-on-table-producing-function.Bug-6076.stable.out sql/test/BugTracker-2016/Tests/case-with-string-Bug.3932.stable.out sql/test/BugTracker-2016/Tests/cast_and_floor.Bug-6071.stable.out sql/test/BugTracker-2016/Tests/catalog_name_qualifier.Bug-3948.stable.out sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out.int128 sql/test/BugTracker-2016/Tests/column_not_found.Bug-4064.stable.out sql/test/BugTracker-2016/Tests/convert-function-test-hge.Bug-3460.stable.out sql/test/BugTracker-2016/Tests/crash.Bug-6081.stable.out sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.stable.out sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out sql/test/BugTracker-2016/Tests/epoch.Bug-3979.stable.out sql/test/BugTracker-2016/Tests/fk-smaller-pk.Bug-3983.stable.out sql/test/BugTracker-2016/Tests/group_distinct_quantile.Bug-3927.stable.out sql/test/BugTracker-2016/Tests/ifthenelse-void.Bug-6075.stable.out sql/test/BugTracker-2016/Tests/isaUUID_function.Bug-3997.stable.out sql/test/BugTracker-2016/Tests/like_in_non_sys_schema.Bug-4062.stable.out sql/test/BugTracker-2016/Tests/min-max-uuid-column-wrong-results.Bug-3953.stable.out sql/test/BugTracker-2016/Tests/name_conflict_in_union.Bug-6065.stable.out sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.stable.out sql/test/BugTracker-2016/Tests/null_in_null.Bug-3900.stable.out sql/test/BugTracker-2016/Tests/outer_constant_predicate.Bug-4070.stable.out sql/test/BugTracker-2016/Tests/storagemodel.stable.out sql/test/BugTracker-2016/Tests/storagemodel.stable.out.32bit sql/test/BugTracker-2016/Tests/storagemodel.stable.out.int128 sql/test/BugTracker-2016/Tests/string-length.Bug-3999.stable.out sql/test/BugTracker-2016/Tests/subcorr-missing.Bug-3978.stable.out sql/test/BugTracker-2016/Tests/union.Bug-6069.stable.out sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937.stable.out sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.stable.err sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/BugTracker/Tests/groupby_orderby_nonselected.SF-1723863.stable.err sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out sql/test/BugTracker/Tests/subquery_orderby.SF-1688915.stable.err sql/test/leaks/Tests/check1.stable.out.int128 sql/test/leaks/Tests/check2.stable.out.int128 sql/test/leaks/Tests/check3.stable.out.int128 sql/test/leaks/Tests/check4.stable.out.int128 sql/test/leaks/Tests/check5.stable.out.int128 sql/test/mapi/Tests/sql_int128.stable.out sql/test/mergetables/Tests/mergequery.stable.out sql/test/remote/Tests/partition_elim.stable.out sql/test/remote/Tests/ssbm.stable.out sql/test/remote/Tests/ssbm.stable.out.int128 Branch: default Log Message:
Merge with Dec2016 branch. diffs (truncated from 7277 to 300 lines): 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,14 +63,14 @@ Ready. % clob # type % 126 # length function user.s8_1():void; - X_38:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","default_pipe",10); - X_0 := sql.mvc(); - (X_21:bat[:int],X_22:bat[:int],X_23:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","/tmp/xyz",-1,0,0,0,nil:str); - X_25 := sql.append(X_0,"sys","ttt","a",X_21); - X_30 := sql.append(X_25,"sys","ttt","b",X_22); - X_33 := sql.append(X_30,"sys","ttt","c",X_23); - X_35 := aggr.count(X_23); - sql.affectedRows(X_33,X_35); + X_41:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","default_pipe",11); + X_3 := sql.mvc(); + (X_24:bat[:int],X_25:bat[:int],X_26:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","/tmp/xyz",-1,0,0,0,nil:str); + 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); end user.s8_1; #inline actions= 0 time=1 usec #candidates actions= 1 time=14 usec @@ -122,14 +122,14 @@ end user.s8_1; % clob # type % 126 # length function user.s24_1():void; - X_38:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","user_1",10); - X_0 := sql.mvc(); - (X_21:bat[:int],X_22:bat[:int],X_23:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","/tmp/xyz",-1,0,0,0,nil:str); - X_25 := sql.append(X_0,"sys","ttt","a",X_21); - X_30 := sql.append(X_25,"sys","ttt","b",X_22); - X_35 := aggr.count(X_23); - X_33 := sql.append(X_30,"sys","ttt","c",X_23); - sql.affectedRows(X_33,X_35); + X_41:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","user_1",11); + X_3 := sql.mvc(); + (X_24:bat[:int],X_25:bat[:int],X_26:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","/tmp/xyz",-1,0,0,0,nil:str); + 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); 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 @@ -722,15 +722,14 @@ makeVarSpace(MalBlkPtr mb) VarPtr *new; int s = mb->vsize * 2; - new = (VarPtr *) GDKzalloc(s * sizeof(VarPtr)); + new = GDKrealloc(mb->var, s * sizeof(VarPtr)); if (new == NULL) { mb->errors++; showScriptException(GDKout, mb, 0, MAL, "newMalBlk:no storage left\n"); assert(0); return -1; } - memcpy((char *) new, (char *) mb->var, sizeof(VarPtr) * mb->vtop); - GDKfree(mb->var); + memset(new + mb->vsize, 0, (s - mb->vsize) * sizeof(VarPtr)); mb->vsize = s; mb->var = new; } 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,9 +29,10 @@ Ready. % clob # type % 82 # length function user.s4_1():void; - X_11:void := querylog.define("explain select fuse(1,2);","sequential_pipe",5); - X_3:sht := udf.fuse(1,2); - sql.resultSet(".L2","L2","smallint",16,0,7,X_3); + X_14:void := querylog.define("explain select fuse(1,2);","sequential_pipe",6); + X_6:sht := udf.fuse(1,2); +# querylog.define("explain select fuse(1,2);","sequential_pipe") + sql.resultSet(".L2","L2","smallint",16,0,7,X_6); end user.s4_1; #inline actions= 0 time=2 usec #candidates actions= 1 time=12 usec @@ -70,9 +71,10 @@ end user.s4_1; % clob # type % 88 # length function user.s6_1():void; - X_11:void := querylog.define("explain select fuse(1000,2000);","sequential_pipe",5); - X_3:int := udf.fuse(1000,2000); - sql.resultSet(".L2","L2","int",32,0,7,X_3); + X_14:void := querylog.define("explain select fuse(1000,2000);","sequential_pipe",6); + X_6:int := udf.fuse(1000,2000); +# querylog.define("explain select fuse(1000,2000);","sequential_pipe") + sql.resultSet(".L2","L2","int",32,0,7,X_6); end user.s6_1; #inline actions= 0 time=2 usec #candidates actions= 1 time=10 usec @@ -111,9 +113,10 @@ end user.s6_1; % clob # type % 94 # length function user.s8_1():void; - X_11:void := querylog.define("explain select fuse(1000000,2000000);","sequential_pipe",5); - X_3:lng := udf.fuse(1000000,2000000); - sql.resultSet(".L2","L2","bigint",64,0,7,X_3); + X_14:void := querylog.define("explain select fuse(1000000,2000000);","sequential_pipe",6); + X_6:lng := udf.fuse(1000000,2000000); +# querylog.define("explain select fuse(1000000,2000000);","sequential_pipe") + sql.resultSet(".L2","L2","bigint",64,0,7,X_6); end user.s8_1; #inline actions= 0 time=3 usec #candidates actions= 1 time=10 usec @@ -170,25 +173,25 @@ end user.s8_1; % clob # type % 97 # length function user.s16_1():void; - X_42:void := querylog.define("explain select fuse(a,b) from udf_fuse;","sequential_pipe",21); - X_25 := bat.new(nil:str); - X_32 := bat.append(X_25,"sys.L2"); - X_27 := bat.new(nil:str); - X_34 := bat.append(X_27,"L2"); + X_45:void := querylog.define("explain select fuse(a,b) from udf_fuse;","sequential_pipe",22); X_28 := bat.new(nil:str); - X_36 := bat.append(X_28,"smallint"); - X_29 := bat.new(nil:int); - X_38 := bat.append(X_29,16); - X_31 := bat.new(nil:int); - X_40 := bat.append(X_31,0); - X_0 := sql.mvc(); - C_1:bat[:oid] := sql.tid(X_0,"sys","udf_fuse"); - X_4:bat[:bte] := sql.bind(X_0,"sys","udf_fuse","a",0); - X_13 := algebra.projection(C_1,X_4); - X_14:bat[:bte] := sql.bind(X_0,"sys","udf_fuse","b",0); - X_20 := algebra.projection(C_1,X_14); - X_21:bat[:sht] := batudf.fuse(X_13,X_20); - sql.resultSet(X_32,X_34,X_36,X_38,X_40,X_21); + 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); + X_34 := bat.new(nil:int); + X_43 := bat.append(X_34,0); + 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); + X_16 := algebra.projection(C_4,X_7); + X_17:bat[:bte] := sql.bind(X_3,"sys","udf_fuse","b",0); + 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); end user.s16_1; #inline actions= 0 time=4 usec #candidates actions= 1 time=19 usec @@ -221,25 +224,25 @@ end user.s16_1; % clob # type % 97 # length function user.s18_1():void; - X_42:void := querylog.define("explain select fuse(c,d) from udf_fuse;","sequential_pipe",21); - X_25 := bat.new(nil:str); - X_32 := bat.append(X_25,"sys.L2"); - X_27 := bat.new(nil:str); - X_34 := bat.append(X_27,"L2"); + X_45:void := querylog.define("explain select fuse(c,d) from udf_fuse;","sequential_pipe",22); X_28 := bat.new(nil:str); - X_36 := bat.append(X_28,"int"); - X_29 := bat.new(nil:int); - X_38 := bat.append(X_29,32); - X_31 := bat.new(nil:int); - X_40 := bat.append(X_31,0); - X_0 := sql.mvc(); - C_1:bat[:oid] := sql.tid(X_0,"sys","udf_fuse"); - X_4:bat[:sht] := sql.bind(X_0,"sys","udf_fuse","c",0); - X_13 := algebra.projection(C_1,X_4); - X_14:bat[:sht] := sql.bind(X_0,"sys","udf_fuse","d",0); - X_20 := algebra.projection(C_1,X_14); - X_21:bat[:int] := batudf.fuse(X_13,X_20); - sql.resultSet(X_32,X_34,X_36,X_38,X_40,X_21); + 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); + X_34 := bat.new(nil:int); + X_43 := bat.append(X_34,0); + 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); + X_16 := algebra.projection(C_4,X_7); + X_17:bat[:sht] := sql.bind(X_3,"sys","udf_fuse","d",0); + 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); end user.s18_1; #inline actions= 0 time=2 usec #candidates actions= 1 time=19 usec @@ -272,25 +275,25 @@ end user.s18_1; % clob # type % 97 # length function user.s20_1():void; - X_42:void := querylog.define("explain select fuse(e,f) from udf_fuse;","sequential_pipe",21); - X_25 := bat.new(nil:str); - X_32 := bat.append(X_25,"sys.L2"); - X_27 := bat.new(nil:str); - X_34 := bat.append(X_27,"L2"); + X_45:void := querylog.define("explain select fuse(e,f) from udf_fuse;","sequential_pipe",22); X_28 := bat.new(nil:str); - X_36 := bat.append(X_28,"bigint"); - X_29 := bat.new(nil:int); - X_38 := bat.append(X_29,64); - X_31 := bat.new(nil:int); - X_40 := bat.append(X_31,0); - X_0 := sql.mvc(); - C_1:bat[:oid] := sql.tid(X_0,"sys","udf_fuse"); - X_4:bat[:int] := sql.bind(X_0,"sys","udf_fuse","e",0); - X_13 := algebra.projection(C_1,X_4); - X_14:bat[:int] := sql.bind(X_0,"sys","udf_fuse","f",0); - X_20 := algebra.projection(C_1,X_14); - X_21:bat[:lng] := batudf.fuse(X_13,X_20); - sql.resultSet(X_32,X_34,X_36,X_38,X_40,X_21); + 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); + X_34 := bat.new(nil:int); + X_43 := bat.append(X_34,0); + 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); + X_16 := algebra.projection(C_4,X_7); + X_17:bat[:int] := sql.bind(X_3,"sys","udf_fuse","f",0); + 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); 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 @@ -50,9 +50,10 @@ Ready. % clob # type % 95 # length function user.s4_1():void; - X_10:void := querylog.define("explain select reverse(\\'MonetDB\\');","sequential_pipe",5); - X_2:str := udf.reverse("MonetDB"); - sql.resultSet(".L2","L2","clob",0,0,4,X_2); + X_13:void := querylog.define("explain select reverse(\\'MonetDB\\');","sequential_pipe",6); + X_5:str := udf.reverse("MonetDB"); +# querylog.define("explain select reverse(\\'MonetDB\\');","sequential_pipe") + sql.resultSet(".L2","L2","clob",0,0,4,X_5); end user.s4_1; #inline actions= 0 time=2 usec #candidates actions= 1 time=8 usec @@ -109,23 +110,23 @@ end user.s4_1; % clob # type % 101 # length function user.s12_1():void; - X_33:void := querylog.define("explain select reverse(x) from udf_reverse;","sequential_pipe",19); - X_18 := bat.new(nil:str); - X_25 := bat.append(X_18,"sys.L2"); - X_20 := bat.new(nil:str); - X_27 := bat.append(X_20,"L2"); + X_36:void := querylog.define("explain select reverse(x) from udf_reverse;","sequential_pipe",20); X_21 := bat.new(nil:str); - X_29 := bat.append(X_21,"clob"); - X_22 := bat.new(nil:int); - X_31 := bat.append(X_22,0); - X_24 := bat.new(nil:int); - X_32 := bat.append(X_24,0); - X_0 := sql.mvc(); - C_1:bat[:oid] := sql.tid(X_0,"sys","udf_reverse"); - X_4:bat[:str] := sql.bind(X_0,"sys","udf_reverse","x",0); - X_13 := algebra.projection(C_1,X_4); - X_14:bat[:str] := batudf.reverse(X_13); - sql.resultSet(X_25,X_27,X_29,X_31,X_32,X_14); + X_28 := bat.append(X_21,"sys.L2"); + X_23 := bat.new(nil:str); + X_30 := bat.append(X_23,"L2"); + X_24 := bat.new(nil:str); + X_32 := bat.append(X_24,"clob"); + X_25 := bat.new(nil:int); + X_34 := bat.append(X_25,0); + X_27 := bat.new(nil:int); + X_35 := bat.append(X_27,0); + X_3 := sql.mvc(); + C_4:bat[:oid] := sql.tid(X_3,"sys","udf_reverse"); + X_7:bat[:str] := sql.bind(X_3,"sys","udf_reverse","x",0); + X_16 := algebra.projection(C_4,X_7); + X_17:bat[:str] := batudf.reverse(X_16); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list