Changeset: 3e18201d36c7 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3e18201d36c7 Added Files: sql/test/bugs/Tests/rtrim_bug.sql sql/test/bugs/Tests/rtrim_bug.stable.err sql/test/bugs/Tests/rtrim_bug.stable.out Modified Files: sql/test/bugs/Tests/All Branch: Oct2020 Log Message:
Add test for query which returns wrong result. It returns all rows instead of no rows. diffs (115 lines): diff --git a/sql/test/bugs/Tests/All b/sql/test/bugs/Tests/All --- a/sql/test/bugs/Tests/All +++ b/sql/test/bugs/Tests/All @@ -112,3 +112,4 @@ WHERE_IN_subquery_incorrect_results-JIRA select_select_bug HAVE_GEOM?filter_error in +rtrim_bug diff --git a/sql/test/bugs/Tests/rtrim_bug.sql b/sql/test/bugs/Tests/rtrim_bug.sql new file mode 100644 --- /dev/null +++ b/sql/test/bugs/Tests/rtrim_bug.sql @@ -0,0 +1,22 @@ +CREATE TABLE t1 (m varchar (1) NOT NULL); +INSERT into t1 values ('0'); +INSERT into t1 values ('2'); +SELECT * FROM sys.t1; +SELECT length("m") as data_length, "m" as data_value FROM "sys"."t1" WHERE "m" IS NOT NULL AND length("m") > 1; +-- no rows is expected + +CREATE VIEW v1 as select "m" from t1 where m in (select m from sys.t1); +SELECT * FROM v1; +SELECT length("m") as data_length, "m" as data_value FROM "sys"."v1" WHERE "m" IS NOT NULL AND length("m") > 1; +-- no rows is expected + +CREATE VIEW v2 as select "m" from t1 where rtrim(m) in (select rtrim(m) from sys.t1); +SELECT * FROM v2; +SELECT length("m") as data_length, "m" as data_value FROM "sys"."v2" WHERE "m" IS NOT NULL AND length("m") > 1; +-- 2 rows returned !! should be 0 rows as with v1 !! +-- This query produces wrong results!! + +DROP VIEW v1; +DROP VIEW v2; +DROP TABLE t1; + diff --git a/sql/test/bugs/Tests/rtrim_bug.stable.err b/sql/test/bugs/Tests/rtrim_bug.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/bugs/Tests/rtrim_bug.stable.err @@ -0,0 +1,12 @@ +stderr of test 'rtrim_bug` in directory 'sql/test/bugs` itself: + + +# 21:35:26 > +# 21:35:26 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-8351" "--port=36425" +# 21:35:26 > + + +# 21:35:26 > +# 21:35:26 > "Done." +# 21:35:26 > + diff --git a/sql/test/bugs/Tests/rtrim_bug.stable.out b/sql/test/bugs/Tests/rtrim_bug.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/bugs/Tests/rtrim_bug.stable.out @@ -0,0 +1,58 @@ +stdout of test 'rtrim_bug` in directory 'sql/test/bugs` itself: + + +# 21:35:26 > +# 21:35:26 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-8351" "--port=36425" +# 21:35:26 > + +#CREATE TABLE t1 (m varchar (1) NOT NULL); +#INSERT into t1 values ('0'); +[ 1 ] +#INSERT into t1 values ('2'); +[ 1 ] +#SELECT * FROM sys.t1; +% sys.t1 # table_name +% m # name +% varchar # type +% 1 # length +[ "0" ] +[ "2" ] +#SELECT length("m") as data_length, "m" as data_value FROM "sys"."t1" WHERE "m" IS NOT NULL AND length("m") > 1; +% sys., sys. # table_name +% data_length, data_value # name +% int, varchar # type +% 1, 0 # length +#CREATE VIEW v1 as select "m" from t1 where m in (select m from sys.t1); +#SELECT * FROM v1; +% sys.v1 # table_name +% m # name +% varchar # type +% 1 # length +[ "0" ] +[ "2" ] +#SELECT length("m") as data_length, "m" as data_value FROM "sys"."v1" WHERE "m" IS NOT NULL AND length("m") > 1; +% sys., sys. # table_name +% data_length, data_value # name +% int, varchar # type +% 1, 0 # length +#CREATE VIEW v2 as select "m" from t1 where rtrim(m) in (select rtrim(m) from sys.t1); +#SELECT * FROM v2; +% sys.v2 # table_name +% m # name +% varchar # type +% 1 # length +[ "0" ] +[ "2" ] +#SELECT length("m") as data_length, "m" as data_value FROM "sys"."v2" WHERE "m" IS NOT NULL AND length("m") > 1; +% sys., sys. # table_name +% data_length, data_value # name +% int, varchar # type +% 1, 1 # length +#DROP VIEW v1; +#DROP VIEW v2; +#DROP TABLE t1; + +# 21:35:26 > +# 21:35:26 > "Done." +# 21:35:26 > + _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list