Changeset: eb29ffabd973 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=eb29ffabd973 Modified Files: monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out.single sql/test/SQLancer/Tests/sqlancer02.stable.out Branch: Oct2020 Log Message:
Approved output diffs (199 lines): diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows @@ -72,14 +72,14 @@ stdout of test 'opt_sql_append` in direc % clob # type % 235 # length function user.main():void; - X_1:void := querylog.define("explain copy into ttt from E\\'\\\\\\\\tmp/xyz\\';":str, "sequential_pipe":str, 21:int); + X_1:void := querylog.define("explain copy into ttt from E\\'\\\\\\\\tmp/xyz\\';":str, "sequential_pipe":str, 22:int); X_4:int := sql.mvc(); - (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := sql.copy_from(0x3698b20:ptr, "|":str, "\n":str, nil:str, "null":str, "\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); - X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str, X_26:bat[:int]); - X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, X_27:bat[:int]); - X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_28:bat[:int]); - X_40:lng := aggr.count(X_28:bat[:int]); - sql.affectedRows(X_38:int, X_40:lng); + (X_28:bat[:int], X_29:bat[:int], X_30:bat[:int]) := sql.copy_from(0xXXXXXX:ptr, "|":str, "\n":str, nil:str, "null":str, "\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int, 1:int); + X_32:int := sql.append(X_4:int, "sys":str, "ttt":str, "averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str, X_28:bat[:int]); + X_37:int := sql.append(X_32:int, "sys":str, "ttt":str, "b":str, X_29:bat[:int]); + X_40:int := sql.append(X_37:int, "sys":str, "ttt":str, "c":str, X_30:bat[:int]); + X_42:lng := aggr.count(X_30:bat[:int]); + sql.affectedRows(X_40:int, X_42:lng); end user.main; #inline actions= 0 time=0 usec #remap actions= 0 time=0 usec @@ -113,14 +113,14 @@ end user.main; % clob # type % 235 # length function user.main():void; - X_1:void := querylog.define("explain copy into ttt from E\\'a:\\\\\\\\tmp/xyz\\';":str, "sequential_pipe":str, 21:int); + X_1:void := querylog.define("explain copy into ttt from E\\'a:\\\\\\\\tmp/xyz\\';":str, "sequential_pipe":str, 22:int); X_4:int := sql.mvc(); - (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := sql.copy_from(0x3698b20:ptr, "|":str, "\n":str, nil:str, "null":str, "a:\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); - X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str, X_26:bat[:int]); - X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, X_27:bat[:int]); - X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_28:bat[:int]); - X_40:lng := aggr.count(X_28:bat[:int]); - sql.affectedRows(X_38:int, X_40:lng); + (X_28:bat[:int], X_29:bat[:int], X_30:bat[:int]) := sql.copy_from(0xXXXXXX:ptr, "|":str, "\n":str, nil:str, "null":str, "a:\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int, 1:int); + X_32:int := sql.append(X_4:int, "sys":str, "ttt":str, "averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str, X_28:bat[:int]); + X_37:int := sql.append(X_32:int, "sys":str, "ttt":str, "b":str, X_29:bat[:int]); + X_40:int := sql.append(X_37:int, "sys":str, "ttt":str, "c":str, X_30:bat[:int]); + X_42:lng := aggr.count(X_30:bat[:int]); + sql.affectedRows(X_40:int, X_42:lng); end user.main; #inline actions= 0 time=1 usec #remap actions= 0 time=2 usec @@ -171,14 +171,14 @@ end user.main; % clob # type % 235 # length function user.main():void; - X_1:void := querylog.define("explain copy into ttt from E\\'\\\\\\\\tmp/xyz\\';":str, "user_0":str, 21:int); + X_1:void := querylog.define("explain copy into ttt from E\\'\\\\\\\\tmp/xyz\\';":str, "user_0":str, 22:int); X_4:int := sql.mvc(); - (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := sql.copy_from(0x3698b20:ptr, "|":str, "\n":str, nil:str, "null":str, "\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); - X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str, X_26:bat[:int]); - X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, X_27:bat[:int]); - X_40:lng := aggr.count(X_28:bat[:int]); - X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_28:bat[:int]); - sql.affectedRows(X_38:int, X_40:lng); + (X_28:bat[:int], X_29:bat[:int], X_30:bat[:int]) := sql.copy_from(0xXXXXXX:ptr, "|":str, "\n":str, nil:str, "null":str, "\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int, 1:int); + X_32:int := sql.append(X_4:int, "sys":str, "ttt":str, "averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str, X_28:bat[:int]); + X_37:int := sql.append(X_32:int, "sys":str, "ttt":str, "b":str, X_29:bat[:int]); + X_42:lng := aggr.count(X_30:bat[:int]); + X_40:int := sql.append(X_37:int, "sys":str, "ttt":str, "c":str, X_30:bat[:int]); + sql.affectedRows(X_40:int, X_42:lng); end user.main; #inline actions= 0 time=0 usec #remap actions= 0 time=0 usec @@ -213,14 +213,14 @@ end user.main; % clob # type % 235 # length function user.main():void; - X_1:void := querylog.define("explain copy into ttt from \\'Z:/tmp/xyz\\';":str, "user_0":str, 21:int); + X_1:void := querylog.define("explain copy into ttt from \\'Z:/tmp/xyz\\';":str, "user_0":str, 22:int); X_4:int := sql.mvc(); - (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := sql.copy_from(0x2e73790:ptr, "|":str, "\n":str, nil:str, "null":str, "Z:/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); - X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str, X_26:bat[:int]); - X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, X_27:bat[:int]); - X_40:lng := aggr.count(X_28:bat[:int]); - X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_28:bat[:int]); - sql.affectedRows(X_38:int, X_40:lng); + (X_28:bat[:int], X_29:bat[:int], X_30:bat[:int]) := sql.copy_from(0xXXXXXX:ptr, "|":str, "\n":str, nil:str, "null":str, "Z:/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int, 1:int); + X_32:int := sql.append(X_4:int, "sys":str, "ttt":str, "averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str, X_28:bat[:int]); + X_37:int := sql.append(X_32:int, "sys":str, "ttt":str, "b":str, X_29:bat[:int]); + X_42:lng := aggr.count(X_30:bat[:int]); + X_40:int := sql.append(X_37:int, "sys":str, "ttt":str, "c":str, X_30:bat[:int]); + sql.affectedRows(X_40:int, X_42:lng); end user.main; #inline actions= 0 time=0 usec #remap actions= 0 time=2 usec diff --git a/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out.single b/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out.single --- a/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out.single +++ b/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out.single @@ -21,36 +21,30 @@ project ( % mal # name % clob # type % 197 # length -function user.s2_0():void; - X_6:void := querylog.define("explain select 1 from (values (\\'one\\'), (\\'two\\')) as l(s), (values (\\'three\\'), (\\'four\\')) as r(s) where l.s like r.s;":str, "default_pipe":str, 27:int); - X_10:bat[:str] := bat.new(nil:str); - X_13:bat[:str] := bat.append(X_10:bat[:str], "one":str, true:bit); - X_16:bat[:str] := bat.append(X_13:bat[:str], "two":str, true:bit); +function user.main():void; + X_1:void := querylog.define("explain select 1 from (values (\\'one\\'), (\\'two\\')) as l(s), (values (\\'three\\'), (\\'four\\')) as r(s) where l.s like r.s;":str, "default_pipe":str, 23:int); + X_33:bat[:str] := bat.pack(".%7":str); + X_34:bat[:str] := bat.pack("%7":str); + X_35:bat[:str] := bat.pack("tinyint":str); + X_36:bat[:int] := bat.pack(1:int); + X_37:bat[:int] := bat.pack(0:int); + X_9:bat[:str] := bat.new(nil:str); + X_11:bat[:str] := bat.appendBulk(X_9:bat[:str], true:bit, "one":str, "two":str); X_17:bat[:str] := bat.new(nil:str); - X_19:bat[:str] := bat.append(X_17:bat[:str], "three":str, true:bit); - X_27:bat[:str] := bat.append(X_19:bat[:str], "four":str, true:bit); - X_40:bat[:str] := bat.pack(".%7":str); - X_41:bat[:str] := bat.pack("%7":str); - X_42:bat[:str] := bat.pack("tinyint":str); - X_43:bat[:int] := bat.pack(1:int); - X_44:bat[:int] := bat.pack(0:int); - (X_30:bat[:oid], X_31:bat[:oid]) := algebra.likejoin(X_16:bat[:str], X_27:bat[:str], "":str, nil:BAT, nil:BAT, true:bit, nil:lng); - X_35:bat[:str] := algebra.projection(X_30:bat[:oid], X_16:bat[:str]); - X_38:bat[:bte] := algebra.project(X_35:bat[:str], 1:bte); - sql.resultSet(X_40:bat[:str], X_41:bat[:str], X_42:bat[:str], X_43:bat[:int], X_44:bat[:int], X_38:bat[:bte]); -end user.s2_0; -#inline actions= 0 time=0 usec -#remap actions= 0 time=2 usec -#costmodel actions= 1 time=1 usec -#coercion actions= 1 time=5 usec -#aliases actions= 6 time=24 usec -#evaluate actions= 1 time=27 usec -#emptybind actions= 0 time=1 usec -#pushselect actions= 0 time=24 usec -#aliases actions= 1 time=7 usec -#mitosis actions=1 time=1 usec -#mergetable actions= 0 time=57 usec -#deadcode actions= 2 time=8 usec + X_18:bat[:str] := bat.appendBulk(X_17:bat[:str], true:bit, "three":str, "four":str); + X_21:bat[:oid] := algebra.likejoin(X_11:bat[:str], X_18:bat[:str], "":str, nil:BAT, nil:BAT, true:bit, nil:lng, false:bit); + X_27:bat[:str] := algebra.projection(X_21:bat[:oid], X_11:bat[:str]); + X_31:bat[:bte] := algebra.project(X_27:bat[:str], 1:bte); + sql.resultSet(X_33:bat[:str], X_34:bat[:str], X_35:bat[:str], X_36:bat[:int], X_37:bat[:int], X_31:bat[:bte]); +end user.main; +#inline actions= 0 time=1 usec +#remap actions= 0 time=1 usec +#costmodel actions= 1 time=2 usec +#coercion actions= 0 time=1 usec +#aliases actions= 6 time=5 usec +#evaluate actions= 0 time=4 usec +#emptybind actions= 0 time=22 usec +#pushselect actions= 0 time=9 usec #aliases actions= 0 time=1 usec #constants actions= 3 time=6 usec #commonTerms actions= 0 time=4 usec diff --git a/sql/test/SQLancer/Tests/sqlancer02.stable.out b/sql/test/SQLancer/Tests/sqlancer02.stable.out --- a/sql/test/SQLancer/Tests/sqlancer02.stable.out +++ b/sql/test/SQLancer/Tests/sqlancer02.stable.out @@ -281,6 +281,22 @@ stdout of test 'sqlancer02` in directory [ 1970-01-02 ] #ROLLBACK; #START TRANSACTION; +#CREATE TABLE "sys"."t0" ( +# "c0" TIMESTAMP, +# "c2" DATE NOT NULL DEFAULT DATE '1970-01-02', +# CONSTRAINT "t0_c2_pkey" PRIMARY KEY ("c2"), +# CONSTRAINT "t0_c0_unique" UNIQUE ("c0") +#); +#COPY 5 RECORDS INTO "sys"."t0" FROM stdin USING DELIMITERS E'\t',E'\n','"'; +#NULL 1970-01-02 +#NULL 1970-01-11 +#NULL 1970-01-23 +#"1970-01-22 20:43:07.000000" 1970-01-16 +#"1970-01-08 05:11:41.000000" 1970-01-14 +[ 5 ] +#create view v0(c0) as (select t0.c2 from t0 where (t0.c2) not between asymmetric (date '1970-01-23') and (case when r'㏥' then t0.c2 when case true when (true) = true then substr(r' x+㶴9rr7긬X0陷?F5{W>gg0N*#Sꖿs', 1) end then nullif(t0.c2, t0.c2) end)); +#ROLLBACK; +#START TRANSACTION; #CREATE TABLE "sys"."t0" ("c0" INTEGER); #COPY 10 RECORDS INTO "sys"."t0" FROM stdin USING DELIMITERS E'\t',E'\n','"'; #-733291712 @@ -297,6 +313,18 @@ stdout of test 'sqlancer02` in directory #create view v0(c0, c1, c2, c3) as ( #select distinct cast(case time '03:52:21' when time '05:04:36' then r'0.2' end as date), #coalesce (t0.c0, length(coalesce (r't%QB', replace(r' ,yO_5G刵i稶bDßᶏ''', r'0.8', r'-1e500')))), 1, timestamp '1970-01-16 13:47:20' from t0) with check option; +#SELECT COUNT(*) FROM v0 LEFT OUTER JOIN t0 ON COALESCE(v0.c1, v0.c2) BETWEEN v0.c2 AND t0.c0; +% .%4 # table_name +% %4 # name +% bigint # type +% 2 # length +[ 16 ] +#SELECT ALL max(ALL v0.c3) FROM v0 LEFT OUTER JOIN t0 ON (- (((v0.c2)-(COALESCE(v0.c2, v0.c1))))) NOT BETWEEN SYMMETRIC (v0.c2) AND (t0.c0); +% .%4 # table_name +% %4 # name +% timestamp # type +% 26 # length +[ 1970-01-16 13:47:20.000000 ] #ROLLBACK; # 17:04:12 > _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list