Changeset: 926f96b4e4ea for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/926f96b4e4ea Added Files: sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options.test sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options_dump.SQL.py sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options_dump.stable.out Modified Files: sql/test/BugTracker-2024/Tests/All Branch: Aug2024 Log Message:
Add test for #7598 diffs (110 lines): diff --git a/sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options.test b/sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options.test new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options.test @@ -0,0 +1,56 @@ +statement ok +create table authors(lastname varchar(20), firstname varchar(20), primary key (lastname, firstname)) + +statement ok +insert into authors values ('doe', 'john'); + +statement ok +create table books_simple (authlast varchar (20), authfirst varchar(20), foreign key(authlast, authfirst) references authors(lastname, firstname)) + +statement ok +insert into books_simple values (null, null) + +statement ok +insert into books_simple values ('doe', null) + +statement ok +insert into books_simple values ('smith', null) + +statement ok +create table books_partial (authlast varchar (20), authfirst varchar(20), foreign key(authlast, authfirst) references authors(lastname, firstname) MATCH PARTIAL) + +statement ok +insert into books_partial values (null, null) + +statement ok +insert into books_partial values ('doe', null) + +statement error +insert into books_partial values ('smith', null) + +statement ok +create table books_full (authlast varchar (20), authfirst varchar(20)) + +statement ok +alter table books_full add foreign key (authlast, authfirst) references authors(lastname, firstname) MATCH FULL + +statement ok +insert into books_full values (null, null) + +statement error +insert into books_full values ('doe', null) + +statement error +insert into books_full values ('smith', null) + +statement ok +drop table books_full + +statement ok +drop table books_partial + +statement ok +drop table books_simple + +statement ok +drop table authors diff --git a/sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options_dump.SQL.py b/sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options_dump.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options_dump.SQL.py @@ -0,0 +1,12 @@ +from MonetDBtesting.sqltest import SQLTestCase + +with SQLTestCase() as tc: + tc.connect(username="monetdb", password="monetdb") + tc.execute("CREATE TABLE authors(lastname VARCHAR(20), firstname VARCHAR(20), PRIMARY KEY (lastname, firstname));") + tc.execute("CREATE TABLE books_partial (authlast VARCHAR(20), authfirst VARCHAR(20), FOREIGN KEY (authlast, authfirst) REFERENCES authors(lastname, firstname) MATCH PARTIAL);") + tc.execute("CREATE TABLE books_full (authlast VARCHAR(20), authfirst VARCHAR(20), FOREIGN KEY (authlast, authfirst) REFERENCES authors(lastname, firstname) MATCH FULL);") + d = tc.sqldump() + d.assertMatchStableOut(fout='7598-foreign_key_match_options_dump.stable.out', ratio=1) + tc.execute("DROP TABLE books_full;") + tc.execute("DROP TABLE books_partial;") + tc.execute("DROP TABLE authors;") diff --git a/sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options_dump.stable.out b/sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options_dump.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2024/Tests/7598-foreign_key_match_options_dump.stable.out @@ -0,0 +1,18 @@ +START TRANSACTION; +SET SCHEMA "sys"; +CREATE TABLE "sys"."authors" ( + "lastname" VARCHAR(20) NOT NULL, + "firstname" VARCHAR(20) NOT NULL, + CONSTRAINT "authors_lastname_firstname_pkey" PRIMARY KEY ("lastname", "firstname") +); +CREATE TABLE "sys"."books_partial" ( + "authlast" VARCHAR(20), + "authfirst" VARCHAR(20) +); +CREATE TABLE "sys"."books_full" ( + "authlast" VARCHAR(20), + "authfirst" VARCHAR(20) +); +ALTER TABLE "sys"."books_full" ADD CONSTRAINT "books_full_authlast_authfirst_fkey" FOREIGN KEY ("authlast", "authfirst") REFERENCES "sys"."authors" ("lastname", "firstname") MATCH FULL; +ALTER TABLE "sys"."books_partial" ADD CONSTRAINT "books_partial_authlast_authfirst_fkey" FOREIGN KEY ("authlast", "authfirst") REFERENCES "sys"."authors" ("lastname", "firstname") MATCH PARTIAL; +COMMIT; diff --git a/sql/test/BugTracker-2024/Tests/All b/sql/test/BugTracker-2024/Tests/All --- a/sql/test/BugTracker-2024/Tests/All +++ b/sql/test/BugTracker-2024/Tests/All @@ -94,3 +94,5 @@ 7580-date-diff 7582-ddl-exists 7587-rejectmismatch 7591-logical-expr +7598-foreign_key_match_options +7598-foreign_key_match_options_dump _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org