summaryrefslogtreecommitdiffstats
path: root/src/test/isolation/specs/fk-partitioned-2.spec
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/isolation/specs/fk-partitioned-2.spec')
-rw-r--r--src/test/isolation/specs/fk-partitioned-2.spec29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/test/isolation/specs/fk-partitioned-2.spec b/src/test/isolation/specs/fk-partitioned-2.spec
new file mode 100644
index 0000000..209ad59
--- /dev/null
+++ b/src/test/isolation/specs/fk-partitioned-2.spec
@@ -0,0 +1,29 @@
+# Make sure that FKs referencing partitioned tables actually work.
+setup {
+ drop table if exists ppk, pfk, pfk1;
+ create table ppk (a int primary key) partition by list (a);
+ create table ppk1 partition of ppk for values in (1);
+ insert into ppk values (1);
+ create table pfk (a int references ppk) partition by list (a);
+ create table pfk1 partition of pfk for values in (1);
+}
+
+session s1
+step s1b { begin; }
+step s1d { delete from ppk where a = 1; }
+step s1c { commit; }
+
+session s2
+step s2b { begin; }
+step s2bs { begin isolation level serializable; select 1; }
+step s2i { insert into pfk values (1); }
+step s2c { commit; }
+
+teardown { drop table ppk, pfk, pfk1; }
+
+permutation s1b s1d s2b s2i s1c s2c
+permutation s1b s1d s2bs s2i s1c s2c
+permutation s1b s2b s1d s2i s1c s2c
+permutation s1b s2bs s1d s2i s1c s2c
+permutation s1b s2b s2i s1d s2c s1c
+permutation s1b s2bs s2i s1d s2c s1c