Changeset: 47777cf64530 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=47777cf64530 Modified Files: sql/backends/monet5/sql.c sql/test/SQLancer/Tests/sqlancer05.sql sql/test/SQLancer/Tests/sqlancer05.stable.err sql/test/SQLancer/Tests/sqlancer05.stable.out Branch: Oct2020 Log Message:
Making SQLancer happy. Disallow vaccuming on non persistent tables diffs (76 lines): diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c --- a/sql/backends/monet5/sql.c +++ b/sql/backends/monet5/sql.c @@ -4080,6 +4080,9 @@ vacuum(Client cntxt, MalBlkPtr mb, MalSt throw(SQL, name, SQLSTATE(42000) "%s not allowed on tables with indices", name + 4); if (t->system) throw(SQL, name, SQLSTATE(42000) "%s not allowed on system tables", name + 4); + if (!isTable(t)) + throw(SQL, name, SQLSTATE(42000) "%s: %s '%s' is not persistent", name + 4, + TABLE_TYPE_DESCRIPTION(t->type, t->properties), t->base.name); if (has_snapshots(m->session->tr)) throw(SQL, name, SQLSTATE(42000) "%s not allowed on snapshots", name + 4); diff --git a/sql/test/SQLancer/Tests/sqlancer05.sql b/sql/test/SQLancer/Tests/sqlancer05.sql --- a/sql/test/SQLancer/Tests/sqlancer05.sql +++ b/sql/test/SQLancer/Tests/sqlancer05.sql @@ -268,3 +268,9 @@ SELECT t1.c0 FROM t1 WHERE t1.c0 NOT ILI SELECT t1.c0 NOT ILIKE t1.c0 FROM t1; --14 * false ROLLBACK; + +START TRANSACTION; +CREATE TABLE "sys"."t0" ("c0" INTERVAL MONTH,"c1" INTERVAL SECOND); +create view v0(c0) as (select all t0.c1 from t0); +CALL sys.reuse('sys', 'v0'); --error not persistent +ROLLBACK; diff --git a/sql/test/SQLancer/Tests/sqlancer05.stable.err b/sql/test/SQLancer/Tests/sqlancer05.stable.err --- a/sql/test/SQLancer/Tests/sqlancer05.stable.err +++ b/sql/test/SQLancer/Tests/sqlancer05.stable.err @@ -32,6 +32,10 @@ MAPI = (monetdb) /var/tmp/mtest-533187/ QUERY = select sub0.c0 from (select 1 as c0, 2 as c0) as sub0; ERROR = !SELECT: identifier 'sub0.c0' ambiguous CODE = 42000 +MAPI = (monetdb) /var/tmp/mtest-15258/.s.monetdb.36565 +QUERY = CALL sys.reuse('sys', 'v0'); --error not persistent +ERROR = !reuse: VIEW 'v0' is not persistent +CODE = 42000 # 12:00:38 > # 12:00:38 > "Done." diff --git a/sql/test/SQLancer/Tests/sqlancer05.stable.out b/sql/test/SQLancer/Tests/sqlancer05.stable.out --- a/sql/test/SQLancer/Tests/sqlancer05.stable.out +++ b/sql/test/SQLancer/Tests/sqlancer05.stable.out @@ -298,6 +298,32 @@ stdout of test 'sqlancer05` in directory % 1 # length [ 4 ] #ROLLBACK; +#START TRANSACTION; +#CREATE TABLE "sys"."t1" ( +# "c0" CHAR(420) NOT NULL, +# CONSTRAINT "t1_c0_pkey" PRIMARY KEY ("c0") +#); +#COPY 14 RECORDS INTO "sys"."t1" FROM stdin USING DELIMITERS E'\t',E'\n','"'; +#"-1284014837" +#"R/<" +#"" +#"s2" +#")L" +#"-1637493938" +#"0.7778392099491236" +#"w" +#"-\\h" +#"d" +#"mfvgds&o" +#"449949101" +#"f8i8c" +#"?" +[ 14 ] +#ROLLBACK; +#START TRANSACTION; +#CREATE TABLE "sys"."t0" ("c0" INTERVAL MONTH,"c1" INTERVAL SECOND); +#create view v0(c0) as (select all t0.c1 from t0); +#ROLLBACK; # 12:00:38 > # 12:00:38 > "Done." _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list