Thanks for the review.
Here is a new version of the patch with updated isolation tests and
documentation.
--
Andreas Karlsson
diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml
index a0d6867..459e86d 100644
--- a/doc/src/sgml/mvcc.sgml
+++ b/doc/src/sgml/mvcc.sgml
@@ -908,9 +908,10 @@ ERROR: could not serialize access due to read/write dependencies among transact
</para>
<para>
- This lock mode is not automatically acquired by any
- <productname>PostgreSQL</productname> command.
- </para>
+ Acquired by <command>CREATE TRIGGER</command>, <command>ALTER
+ TRIGGER</command>, <command>ALTER TABLE ADD FOREIGN KEY</command>,
+ and <command>ALTER TABLE ENABLE/DISABLE TRIGGER</command>.
+ </para>>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index b5ef09e..0185e39 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -405,6 +405,9 @@ ALTER TABLE ALL IN TABLESPACE <replaceable class="PARAMETER">name</replaceable>
mode, and triggers configured as <literal>ENABLE ALWAYS</literal> will
fire regardless of the current replication mode.
</para>
+ <para>
+ Enabling and disabling triggers acquires a <literal>SHARE ROW EXCLUSIVE</literal> lock.
+ </para>
</listitem>
</varlistentry>
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 66d5083..5c3ef1d 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -2858,13 +2858,8 @@ AlterTableGetLockLevel(List *cmds)
break;
/*
- * These subcommands affect write operations only. XXX
- * Theoretically, these could be ShareRowExclusiveLock.
+ * These subcommands affect write operations only.
*/
- case AT_ColumnDefault:
- case AT_ProcessedConstraint: /* becomes AT_AddConstraint */
- case AT_AddConstraintRecurse: /* becomes AT_AddConstraint */
- case AT_ReAddConstraint: /* becomes AT_AddConstraint */
case AT_EnableTrig:
case AT_EnableAlwaysTrig:
case AT_EnableReplicaTrig:
@@ -2873,6 +2868,17 @@ AlterTableGetLockLevel(List *cmds)
case AT_DisableTrig:
case AT_DisableTrigAll:
case AT_DisableTrigUser:
+ cmd_lockmode = ShareRowExclusiveLock;
+ break;
+
+ /*
+ * These subcommands affect write operations only. XXX
+ * Theoretically, these could be ShareRowExclusiveLock.
+ */
+ case AT_ColumnDefault:
+ case AT_ProcessedConstraint: /* becomes AT_AddConstraint */
+ case AT_AddConstraintRecurse: /* becomes AT_AddConstraint */
+ case AT_ReAddConstraint: /* becomes AT_AddConstraint */
case AT_AlterConstraint:
case AT_AddIndex: /* from ADD CONSTRAINT */
case AT_AddIndexConstraint:
@@ -2909,11 +2915,9 @@ AlterTableGetLockLevel(List *cmds)
/*
* We add triggers to both tables when we add a
* Foreign Key, so the lock level must be at least
- * as strong as CREATE TRIGGER. XXX Might be set
- * down to ShareRowExclusiveLock though trigger
- * info is accessed by pg_get_triggerdef
+ * as strong as CREATE TRIGGER.
*/
- cmd_lockmode = AccessExclusiveLock;
+ cmd_lockmode = ShareRowExclusiveLock;
break;
default:
@@ -6030,16 +6034,13 @@ ATAddForeignKeyConstraint(AlteredTableInfo *tab, Relation rel,
ListCell *old_pfeqop_item = list_head(fkconstraint->old_conpfeqop);
/*
- * Grab an exclusive lock on the pk table, so that someone doesn't delete
- * rows out from under us. (Although a lesser lock would do for that
- * purpose, we'll need exclusive lock anyway to add triggers to the pk
- * table; trying to start with a lesser lock will just create a risk of
- * deadlock.)
+ * Grab an share lock on the pk table, so that someone doesn't delete
+ * rows out from under us.
*/
if (OidIsValid(fkconstraint->old_pktable_oid))
- pkrel = heap_open(fkconstraint->old_pktable_oid, AccessExclusiveLock);
+ pkrel = heap_open(fkconstraint->old_pktable_oid, ShareRowExclusiveLock);
else
- pkrel = heap_openrv(fkconstraint->pktable, AccessExclusiveLock);
+ pkrel = heap_openrv(fkconstraint->pktable, ShareRowExclusiveLock);
/*
* Validity checks (permission checks wait till we have the column
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
index 4899a27..33f8448 100644
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -158,9 +158,9 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
referenced;
if (OidIsValid(relOid))
- rel = heap_open(relOid, AccessExclusiveLock);
+ rel = heap_open(relOid, ShareRowExclusiveLock);
else
- rel = heap_openrv(stmt->relation, AccessExclusiveLock);
+ rel = heap_openrv(stmt->relation, ShareRowExclusiveLock);
/*
* Triggers must be on tables or views, and there are additional
@@ -526,8 +526,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
* can skip this for internally generated triggers, since the name
* modification above should be sufficient.
*
- * NOTE that this is cool only because we have AccessExclusiveLock on the
- * relation, so the trigger set won't be changing underneath us.
+ * NOTE that this is cool only because of the unique contraint.
*/
if (!isInternal)
{
@@ -1103,7 +1102,7 @@ RemoveTriggerById(Oid trigOid)
*/
relid = ((Form_pg_trigger) GETSTRUCT(tup))->tgrelid;
- rel = heap_open(relid, AccessExclusiveLock);
+ rel = heap_open(relid, ShareRowExclusiveLock);
if (rel->rd_rel->relkind != RELKIND_RELATION &&
rel->rd_rel->relkind != RELKIND_VIEW &&
@@ -1258,7 +1257,7 @@ renametrig(RenameStmt *stmt)
* Look up name, check permissions, and acquire lock (which we will NOT
* release until end of transaction).
*/
- relid = RangeVarGetRelidExtended(stmt->relation, AccessExclusiveLock,
+ relid = RangeVarGetRelidExtended(stmt->relation, ShareRowExclusiveLock,
false, false,
RangeVarCallbackForRenameTrigger,
NULL);
@@ -1272,8 +1271,7 @@ renametrig(RenameStmt *stmt)
* on tgrelid/tgname would complain anyway) and to ensure a trigger does
* exist with oldname.
*
- * NOTE that this is cool only because we have AccessExclusiveLock on the
- * relation, so the trigger set won't be changing underneath us.
+ * NOTE that this is cool only because there is a unique constraint.
*/
tgrel = heap_open(TriggerRelationId, RowExclusiveLock);
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index dd748ac..8eeccf2 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -699,7 +699,8 @@ pg_get_triggerdef_worker(Oid trigid, bool pretty)
HeapTuple ht_trig;
Form_pg_trigger trigrec;
StringInfoData buf;
- Relation tgrel;
+ Snapshot snapshot = RegisterSnapshot(GetTransactionSnapshot());
+ Relation tgrel = heap_open(TriggerRelationId, AccessShareLock);
ScanKeyData skey[1];
SysScanDesc tgscan;
int findx = 0;
@@ -710,18 +711,18 @@ pg_get_triggerdef_worker(Oid trigid, bool pretty)
/*
* Fetch the pg_trigger tuple by the Oid of the trigger
*/
- tgrel = heap_open(TriggerRelationId, AccessShareLock);
-
ScanKeyInit(&skey[0],
ObjectIdAttributeNumber,
BTEqualStrategyNumber, F_OIDEQ,
ObjectIdGetDatum(trigid));
tgscan = systable_beginscan(tgrel, TriggerOidIndexId, true,
- NULL, 1, skey);
+ snapshot, 1, skey);
ht_trig = systable_getnext(tgscan);
+ UnregisterSnapshot(snapshot);
+
if (!HeapTupleIsValid(ht_trig))
elog(ERROR, "could not find tuple for trigger %u", trigid);
diff --git a/src/test/isolation/expected/alter-table-1.out b/src/test/isolation/expected/alter-table-1.out
index edf7288..9daa418 100644
--- a/src/test/isolation/expected/alter-table-1.out
+++ b/src/test/isolation/expected/alter-table-1.out
@@ -703,12 +703,11 @@ step sc2: COMMIT;
starting permutation: s1 at1 rx1 sc1 s2 at2 sc2 wx rx1 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
@@ -724,12 +723,11 @@ step c2: COMMIT;
starting permutation: s1 at1 rx1 sc1 s2 at2 wx sc2 rx1 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step wx: INSERT INTO b VALUES (0);
@@ -745,12 +743,11 @@ step c2: COMMIT;
starting permutation: s1 at1 rx1 sc1 s2 at2 wx rx1 sc2 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step wx: INSERT INTO b VALUES (0);
@@ -766,12 +763,11 @@ step c2: COMMIT;
starting permutation: s1 at1 rx1 sc1 s2 at2 wx rx1 c2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step wx: INSERT INTO b VALUES (0);
@@ -787,12 +783,11 @@ step sc2: COMMIT;
starting permutation: s1 at1 rx1 sc1 s2 wx at2 sc2 rx1 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -808,12 +803,11 @@ step c2: COMMIT;
starting permutation: s1 at1 rx1 sc1 s2 wx at2 rx1 sc2 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -829,12 +823,11 @@ step c2: COMMIT;
starting permutation: s1 at1 rx1 sc1 s2 wx at2 rx1 c2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -850,12 +843,11 @@ step sc2: COMMIT;
starting permutation: s1 at1 rx1 sc1 s2 wx rx1 at2 sc2 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
@@ -871,12 +863,11 @@ step c2: COMMIT;
starting permutation: s1 at1 rx1 sc1 s2 wx rx1 at2 c2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
@@ -892,12 +883,11 @@ step sc2: COMMIT;
starting permutation: s1 at1 rx1 sc1 s2 wx rx1 c2 at2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
@@ -913,12 +903,11 @@ step sc2: COMMIT;
starting permutation: s1 at1 rx1 sc1 wx s2 at2 sc2 rx1 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -934,12 +923,11 @@ step c2: COMMIT;
starting permutation: s1 at1 rx1 sc1 wx s2 at2 rx1 sc2 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -955,12 +943,11 @@ step c2: COMMIT;
starting permutation: s1 at1 rx1 sc1 wx s2 at2 rx1 c2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -976,12 +963,11 @@ step sc2: COMMIT;
starting permutation: s1 at1 rx1 sc1 wx s2 rx1 at2 sc2 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
@@ -997,12 +983,11 @@ step c2: COMMIT;
starting permutation: s1 at1 rx1 sc1 wx s2 rx1 at2 c2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
@@ -1018,12 +1003,11 @@ step sc2: COMMIT;
starting permutation: s1 at1 rx1 sc1 wx s2 rx1 c2 at2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
@@ -1039,12 +1023,11 @@ step sc2: COMMIT;
starting permutation: s1 at1 rx1 sc1 wx rx1 s2 at2 sc2 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1060,12 +1043,11 @@ step c2: COMMIT;
starting permutation: s1 at1 rx1 sc1 wx rx1 s2 at2 c2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1081,12 +1063,11 @@ step sc2: COMMIT;
starting permutation: s1 at1 rx1 sc1 wx rx1 s2 c2 at2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1102,12 +1083,11 @@ step sc2: COMMIT;
starting permutation: s1 at1 rx1 sc1 wx rx1 c2 s2 at2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-step sc1: COMMIT;
-step rx1: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1123,137 +1103,362 @@ step sc2: COMMIT;
starting permutation: s1 at1 rx1 wx sc1 s2 at2 sc2 rx1 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
starting permutation: s1 at1 rx1 wx sc1 s2 at2 rx1 sc2 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step sc2: COMMIT;
+step c2: COMMIT;
starting permutation: s1 at1 rx1 wx sc1 s2 at2 rx1 c2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step sc2: COMMIT;
starting permutation: s1 at1 rx1 wx sc1 s2 rx1 at2 sc2 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step c2: COMMIT;
starting permutation: s1 at1 rx1 wx sc1 s2 rx1 at2 c2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
+step sc2: COMMIT;
starting permutation: s1 at1 rx1 wx sc1 s2 rx1 c2 at2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
starting permutation: s1 at1 rx1 wx sc1 rx1 s2 at2 sc2 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step c2: COMMIT;
starting permutation: s1 at1 rx1 wx sc1 rx1 s2 at2 c2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
+step sc2: COMMIT;
starting permutation: s1 at1 rx1 wx sc1 rx1 s2 c2 at2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step s2: BEGIN;
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
starting permutation: s1 at1 rx1 wx sc1 rx1 c2 s2 at2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
-starting permutation: s1 at1 rx1 wx rx1 sc1 s2 at2 sc2 c2
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+1
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
-starting permutation: s1 at1 rx1 wx rx1 sc1 s2 at2 c2 sc2
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+3
+3
+3
+step c2: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
-starting permutation: s1 at1 rx1 wx rx1 sc1 s2 c2 at2 sc2
+starting permutation: s1 at1 rx1 wx rx1 sc1 s2 at2 sc2 c2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
-starting permutation: s1 at1 rx1 wx rx1 sc1 c2 s2 at2 sc2
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
+1
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
-starting permutation: s1 at1 rx1 wx rx1 c2 sc1 s2 at2 sc2
+starting permutation: s1 at1 rx1 wx rx1 sc1 s2 at2 c2 sc2
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; <waiting ...>
-invalid permutation detected
-
-starting permutation: s1 rx1 at1 sc1 s2 at2 sc2 wx rx1 c2
-step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 sc1 s2 at2 wx sc2 rx1 c2
+starting permutation: s1 at1 rx1 wx rx1 sc1 s2 c2 at2 sc2
step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 sc1 s2 at2 wx rx1 sc2 c2
+starting permutation: s1 at1 rx1 wx rx1 sc1 c2 s2 at2 sc2
step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 sc1 s2 at2 wx rx1 c2 sc2
+starting permutation: s1 at1 rx1 wx rx1 c2 sc1 s2 at2 sc2
step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 sc1 s2 wx at2 sc2 rx1 c2
+starting permutation: s1 rx1 at1 sc1 s2 at2 sc2 wx rx1 c2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 s2 at2 wx sc2 rx1 c2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step wx: INSERT INTO b VALUES (0);
+step sc2: COMMIT;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 s2 at2 wx rx1 sc2 c2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step sc2: COMMIT;
+step c2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 s2 at2 wx rx1 c2 sc2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 s2 wx at2 sc2 rx1 c2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step wx: INSERT INTO b VALUES (0);
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
starting permutation: s1 rx1 at1 sc1 s2 wx at2 rx1 sc2 c2
step s1: BEGIN;
@@ -1261,8 +1466,19 @@ step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step wx: INSERT INTO b VALUES (0);
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step sc2: COMMIT;
+step c2: COMMIT;
starting permutation: s1 rx1 at1 sc1 s2 wx at2 rx1 c2 sc2
step s1: BEGIN;
@@ -1270,8 +1486,19 @@ step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step wx: INSERT INTO b VALUES (0);
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step sc2: COMMIT;
starting permutation: s1 rx1 at1 sc1 s2 wx rx1 at2 sc2 c2
step s1: BEGIN;
@@ -1279,8 +1506,19 @@ step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step c2: COMMIT;
starting permutation: s1 rx1 at1 sc1 s2 wx rx1 at2 c2 sc2
step s1: BEGIN;
@@ -1288,8 +1526,19 @@ step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
+step sc2: COMMIT;
starting permutation: s1 rx1 at1 sc1 s2 wx rx1 c2 at2 sc2
step s1: BEGIN;
@@ -1297,8 +1546,19 @@ step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
starting permutation: s1 rx1 at1 sc1 wx s2 at2 sc2 rx1 c2
step s1: BEGIN;
@@ -1306,8 +1566,19 @@ step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
starting permutation: s1 rx1 at1 sc1 wx s2 at2 rx1 sc2 c2
step s1: BEGIN;
@@ -1315,189 +1586,548 @@ step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step sc2: COMMIT;
+step c2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 wx s2 at2 rx1 c2 sc2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 wx s2 rx1 at2 sc2 c2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step c2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 wx s2 rx1 at2 c2 sc2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 wx s2 rx1 c2 at2 sc2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 wx rx1 s2 at2 sc2 c2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step c2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 wx rx1 s2 at2 c2 sc2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 wx rx1 s2 c2 at2 sc2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step s2: BEGIN;
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 sc1 wx rx1 c2 s2 at2 sc2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 wx sc1 s2 at2 sc2 rx1 c2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+
+starting permutation: s1 rx1 at1 wx sc1 s2 at2 rx1 sc2 c2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step sc2: COMMIT;
+step c2: COMMIT;
+
+starting permutation: s1 rx1 at1 wx sc1 s2 at2 rx1 c2 sc2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 wx sc1 s2 rx1 at2 sc2 c2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step c2: COMMIT;
+
+starting permutation: s1 rx1 at1 wx sc1 s2 rx1 at2 c2 sc2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 wx sc1 s2 rx1 c2 at2 sc2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 wx sc1 rx1 s2 at2 sc2 c2
+step s1: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+a_id
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step c2: COMMIT;
-starting permutation: s1 rx1 at1 sc1 wx s2 at2 rx1 c2 sc2
+starting permutation: s1 rx1 at1 wx sc1 rx1 s2 at2 c2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
-starting permutation: s1 rx1 at1 sc1 wx s2 rx1 at2 sc2 c2
+3
+3
+3
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 wx sc1 rx1 s2 c2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
-starting permutation: s1 rx1 at1 sc1 wx s2 rx1 at2 c2 sc2
+3
+3
+3
+step s2: BEGIN;
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 wx sc1 rx1 c2 s2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
-starting permutation: s1 rx1 at1 sc1 wx s2 rx1 c2 at2 sc2
+3
+3
+3
+step c2: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+
+starting permutation: s1 rx1 at1 wx rx1 sc1 s2 at2 sc2 c2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 sc1 wx rx1 s2 at2 sc2 c2
+starting permutation: s1 rx1 at1 wx rx1 sc1 s2 at2 c2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 sc1 wx rx1 s2 at2 c2 sc2
+starting permutation: s1 rx1 at1 wx rx1 sc1 s2 c2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 sc1 wx rx1 s2 c2 at2 sc2
+starting permutation: s1 rx1 at1 wx rx1 sc1 c2 s2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 sc1 wx rx1 c2 s2 at2 sc2
+starting permutation: s1 rx1 at1 wx rx1 c2 sc1 s2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 wx sc1 s2 at2 sc2 rx1 c2
+starting permutation: s1 rx1 wx at1 sc1 s2 at2 sc2 rx1 c2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 wx sc1 s2 at2 rx1 sc2 c2
+starting permutation: s1 rx1 wx at1 sc1 s2 at2 rx1 sc2 c2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 wx sc1 s2 at2 rx1 c2 sc2
+starting permutation: s1 rx1 wx at1 sc1 s2 at2 rx1 c2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 wx sc1 s2 rx1 at2 sc2 c2
+starting permutation: s1 rx1 wx at1 sc1 s2 rx1 at2 sc2 c2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 wx sc1 s2 rx1 at2 c2 sc2
+starting permutation: s1 rx1 wx at1 sc1 s2 rx1 at2 c2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 wx sc1 s2 rx1 c2 at2 sc2
+starting permutation: s1 rx1 wx at1 sc1 s2 rx1 c2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 wx sc1 rx1 s2 at2 sc2 c2
+starting permutation: s1 rx1 wx at1 sc1 rx1 s2 at2 sc2 c2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 wx sc1 rx1 s2 at2 c2 sc2
+starting permutation: s1 rx1 wx at1 sc1 rx1 s2 at2 c2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 wx sc1 rx1 s2 c2 at2 sc2
+starting permutation: s1 rx1 wx at1 sc1 rx1 s2 c2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 wx sc1 rx1 c2 s2 at2 sc2
+starting permutation: s1 rx1 wx at1 sc1 rx1 c2 s2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 at1 wx rx1 sc1 s2 at2 sc2 c2
+starting permutation: s1 rx1 wx at1 rx1 sc1 s2 at2 sc2 c2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1506,14 +2136,14 @@ a_id
3
invalid permutation detected
-starting permutation: s1 rx1 at1 wx rx1 sc1 s2 at2 c2 sc2
+starting permutation: s1 rx1 wx at1 rx1 sc1 s2 at2 c2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1522,14 +2152,14 @@ a_id
3
invalid permutation detected
-starting permutation: s1 rx1 at1 wx rx1 sc1 s2 c2 at2 sc2
+starting permutation: s1 rx1 wx at1 rx1 sc1 s2 c2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1538,14 +2168,14 @@ a_id
3
invalid permutation detected
-starting permutation: s1 rx1 at1 wx rx1 sc1 c2 s2 at2 sc2
+starting permutation: s1 rx1 wx at1 rx1 sc1 c2 s2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1554,14 +2184,14 @@ a_id
3
invalid permutation detected
-starting permutation: s1 rx1 at1 wx rx1 c2 sc1 s2 at2 sc2
+starting permutation: s1 rx1 wx at1 rx1 c2 sc1 s2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1575,197 +2205,181 @@ step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
-starting permutation: s1 rx1 wx at1 sc1 s2 at2 sc2 rx1 c2
-step s1: BEGIN;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
-
-1
-step wx: INSERT INTO b VALUES (0);
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: s1 rx1 wx at1 sc1 s2 at2 rx1 sc2 c2
-step s1: BEGIN;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
-
-1
-step wx: INSERT INTO b VALUES (0);
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: s1 rx1 wx at1 sc1 s2 at2 rx1 c2 sc2
+starting permutation: s1 rx1 wx rx1 at1 sc1 s2 at2 sc2 c2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step wx: INSERT INTO b VALUES (0);
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: s1 rx1 wx at1 sc1 s2 rx1 at2 sc2 c2
-step s1: BEGIN;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step wx: INSERT INTO b VALUES (0);
+3
+3
+3
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 wx at1 sc1 s2 rx1 at2 c2 sc2
+starting permutation: s1 rx1 wx rx1 at1 sc1 s2 at2 c2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step wx: INSERT INTO b VALUES (0);
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: s1 rx1 wx at1 sc1 s2 rx1 c2 at2 sc2
-step s1: BEGIN;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step wx: INSERT INTO b VALUES (0);
+3
+3
+3
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 wx at1 sc1 rx1 s2 at2 sc2 c2
+starting permutation: s1 rx1 wx rx1 at1 sc1 s2 c2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step wx: INSERT INTO b VALUES (0);
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: s1 rx1 wx at1 sc1 rx1 s2 at2 c2 sc2
-step s1: BEGIN;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step wx: INSERT INTO b VALUES (0);
+3
+3
+3
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 wx at1 sc1 rx1 s2 c2 at2 sc2
+starting permutation: s1 rx1 wx rx1 at1 sc1 c2 s2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step wx: INSERT INTO b VALUES (0);
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: s1 rx1 wx at1 sc1 rx1 c2 s2 at2 sc2
-step s1: BEGIN;
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step wx: INSERT INTO b VALUES (0);
+3
+3
+3
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
invalid permutation detected
-starting permutation: s1 rx1 wx at1 rx1 sc1 s2 at2 sc2 c2
+starting permutation: s1 rx1 wx rx1 at1 c2 sc1 s2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step wx: INSERT INTO b VALUES (0);
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
3
3
3
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step c2: COMMIT;
+step at1: <... completed>
+step sc1: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
-starting permutation: s1 rx1 wx at1 rx1 sc1 s2 at2 c2 sc2
+starting permutation: s1 rx1 wx rx1 c2 at1 sc1 s2 at2 sc2
step s1: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step wx: INSERT INTO b VALUES (0);
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
3
3
3
-invalid permutation detected
+step c2: COMMIT;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
-starting permutation: s1 rx1 wx at1 rx1 sc1 s2 c2 at2 sc2
-step s1: BEGIN;
+starting permutation: rx1 s1 at1 sc1 s2 at2 sc2 wx rx1 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
step wx: INSERT INTO b VALUES (0);
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
3
3
3
-invalid permutation detected
+step c2: COMMIT;
-starting permutation: s1 rx1 wx at1 rx1 sc1 c2 s2 at2 sc2
-step s1: BEGIN;
+starting permutation: rx1 s1 at1 sc1 s2 at2 wx sc2 rx1 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step wx: INSERT INTO b VALUES (0);
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step sc2: COMMIT;
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
3
3
3
-invalid permutation detected
+step c2: COMMIT;
-starting permutation: s1 rx1 wx at1 rx1 c2 sc1 s2 at2 sc2
-step s1: BEGIN;
+starting permutation: rx1 s1 at1 sc1 s2 at2 wx rx1 sc2 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step wx: INSERT INTO b VALUES (0);
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
3
3
3
-step c2: COMMIT;
-step at1: <... completed>
-step sc1: COMMIT;
-step s2: BEGIN;
-step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
+step c2: COMMIT;
-starting permutation: s1 rx1 wx rx1 at1 sc1 s2 at2 sc2 c2
-step s1: BEGIN;
+starting permutation: rx1 s1 at1 sc1 s2 at2 wx rx1 c2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step wx: INSERT INTO b VALUES (0);
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1773,63 +2387,78 @@ a_id
3
3
3
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step c2: COMMIT;
+step sc2: COMMIT;
-starting permutation: s1 rx1 wx rx1 at1 sc1 s2 at2 c2 sc2
-step s1: BEGIN;
+starting permutation: rx1 s1 at1 sc1 s2 wx at2 sc2 rx1 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
3
3
3
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step c2: COMMIT;
-starting permutation: s1 rx1 wx rx1 at1 sc1 s2 c2 at2 sc2
-step s1: BEGIN;
+starting permutation: rx1 s1 at1 sc1 s2 wx at2 rx1 sc2 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
3
3
3
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step sc2: COMMIT;
+step c2: COMMIT;
-starting permutation: s1 rx1 wx rx1 at1 sc1 c2 s2 at2 sc2
-step s1: BEGIN;
+starting permutation: rx1 s1 at1 sc1 s2 wx at2 rx1 c2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
3
3
3
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step c2: COMMIT;
+step sc2: COMMIT;
-starting permutation: s1 rx1 wx rx1 at1 c2 sc1 s2 at2 sc2
-step s1: BEGIN;
+starting permutation: rx1 s1 at1 sc1 s2 wx rx1 at2 sc2 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1837,20 +2466,19 @@ a_id
3
3
3
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step c2: COMMIT;
-step at1: <... completed>
-step sc1: COMMIT;
-step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
+step c2: COMMIT;
-starting permutation: s1 rx1 wx rx1 c2 at1 sc1 s2 at2 sc2
-step s1: BEGIN;
+starting permutation: rx1 s1 at1 sc1 s2 wx rx1 at2 c2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
+step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
@@ -1858,174 +2486,189 @@ a_id
3
3
3
-step c2: COMMIT;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
-step sc1: COMMIT;
-step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
step sc2: COMMIT;
-starting permutation: rx1 s1 at1 sc1 s2 at2 sc2 wx rx1 c2
+starting permutation: rx1 s1 at1 sc1 s2 wx rx1 c2 at2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: rx1 s1 at1 sc1 s2 at2 wx sc2 rx1 c2
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step s2: BEGIN;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+3
+3
+3
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
-starting permutation: rx1 s1 at1 sc1 s2 at2 wx rx1 sc2 c2
+starting permutation: rx1 s1 at1 sc1 wx s2 at2 sc2 rx1 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: rx1 s1 at1 sc1 s2 at2 wx rx1 c2 sc2
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+3
+3
+3
+step c2: COMMIT;
-starting permutation: rx1 s1 at1 sc1 s2 wx at2 sc2 rx1 c2
+starting permutation: rx1 s1 at1 sc1 wx s2 at2 rx1 sc2 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: rx1 s1 at1 sc1 s2 wx at2 rx1 sc2 c2
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+3
+3
+3
+step sc2: COMMIT;
+step c2: COMMIT;
-starting permutation: rx1 s1 at1 sc1 s2 wx at2 rx1 c2 sc2
+starting permutation: rx1 s1 at1 sc1 wx s2 at2 rx1 c2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: rx1 s1 at1 sc1 s2 wx rx1 at2 sc2 c2
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+3
+3
+3
+step c2: COMMIT;
+step sc2: COMMIT;
-starting permutation: rx1 s1 at1 sc1 s2 wx rx1 at2 c2 sc2
+starting permutation: rx1 s1 at1 sc1 wx s2 rx1 at2 sc2 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: rx1 s1 at1 sc1 s2 wx rx1 c2 at2 sc2
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step c2: COMMIT;
-starting permutation: rx1 s1 at1 sc1 wx s2 at2 sc2 rx1 c2
+starting permutation: rx1 s1 at1 sc1 wx s2 rx1 at2 c2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: rx1 s1 at1 sc1 wx s2 at2 rx1 sc2 c2
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
+step sc2: COMMIT;
-starting permutation: rx1 s1 at1 sc1 wx s2 at2 rx1 c2 sc2
+starting permutation: rx1 s1 at1 sc1 wx s2 rx1 c2 at2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: rx1 s1 at1 sc1 wx s2 rx1 at2 sc2 c2
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+3
+3
+3
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
-starting permutation: rx1 s1 at1 sc1 wx s2 rx1 at2 c2 sc2
+starting permutation: rx1 s1 at1 sc1 wx rx1 s2 at2 sc2 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: rx1 s1 at1 sc1 wx s2 rx1 c2 at2 sc2
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+3
+3
+3
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step c2: COMMIT;
-starting permutation: rx1 s1 at1 sc1 wx rx1 s2 at2 sc2 c2
+starting permutation: rx1 s1 at1 sc1 wx rx1 s2 at2 c2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
-
-starting permutation: rx1 s1 at1 sc1 wx rx1 s2 at2 c2 sc2
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+3
+3
+3
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
+step sc2: COMMIT;
starting permutation: rx1 s1 at1 sc1 wx rx1 s2 c2 at2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
@@ -2033,8 +2676,19 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step s2: BEGIN;
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
starting permutation: rx1 s1 at1 sc1 wx rx1 c2 s2 at2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
@@ -2042,8 +2696,19 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc1: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
starting permutation: rx1 s1 at1 wx sc1 s2 at2 sc2 rx1 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
@@ -2051,9 +2716,20 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
starting permutation: rx1 s1 at1 wx sc1 s2 at2 rx1 sc2 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
@@ -2061,9 +2737,20 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step sc2: COMMIT;
+step c2: COMMIT;
starting permutation: rx1 s1 at1 wx sc1 s2 at2 rx1 c2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
@@ -2071,9 +2758,20 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step sc2: COMMIT;
starting permutation: rx1 s1 at1 wx sc1 s2 rx1 at2 sc2 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
@@ -2081,9 +2779,20 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step c2: COMMIT;
starting permutation: rx1 s1 at1 wx sc1 s2 rx1 at2 c2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
@@ -2091,9 +2800,20 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
+step sc2: COMMIT;
starting permutation: rx1 s1 at1 wx sc1 s2 rx1 c2 at2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
@@ -2101,9 +2821,20 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step s2: BEGIN;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
starting permutation: rx1 s1 at1 wx sc1 rx1 s2 at2 sc2 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
@@ -2111,9 +2842,20 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
+step c2: COMMIT;
starting permutation: rx1 s1 at1 wx sc1 rx1 s2 at2 c2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
@@ -2121,9 +2863,20 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-invalid permutation detected
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+a_id
+
+3
+3
+3
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step c2: COMMIT;
+step sc2: COMMIT;
starting permutation: rx1 s1 at1 wx sc1 rx1 s2 c2 at2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
@@ -2131,50 +2884,60 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-invalid permutation detected
-
-starting permutation: rx1 s1 at1 wx sc1 rx1 c2 s2 at2 sc2
-step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
-1
-step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-invalid permutation detected
+3
+3
+3
+step s2: BEGIN;
+step c2: COMMIT;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
-starting permutation: rx1 s1 at1 wx rx1 sc1 s2 at2 sc2 c2
+starting permutation: rx1 s1 at1 wx sc1 rx1 c2 s2 at2 sc2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc1: COMMIT;
+step wx: <... completed>
step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
a_id
3
3
3
-invalid permutation detected
+step c2: COMMIT;
+step s2: BEGIN;
+step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
+step sc2: COMMIT;
-starting permutation: rx1 s1 at1 wx rx1 sc1 s2 at2 c2 sc2
+starting permutation: rx1 s1 at1 wx rx1 sc1 s2 at2 sc2 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+invalid permutation detected
+
+starting permutation: rx1 s1 at1 wx rx1 sc1 s2 at2 c2 sc2
+step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
a_id
-3
-3
-3
+1
+step s1: BEGIN;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
starting permutation: rx1 s1 at1 wx rx1 sc1 s2 c2 at2 sc2
@@ -2183,14 +2946,8 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
-
-3
-3
-3
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
starting permutation: rx1 s1 at1 wx rx1 sc1 c2 s2 at2 sc2
@@ -2199,14 +2956,8 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
-
-3
-3
-3
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
invalid permutation detected
starting permutation: rx1 s1 at1 wx rx1 c2 sc1 s2 at2 sc2
@@ -2215,20 +2966,9 @@ a_id
1
step s1: BEGIN;
-step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
-step wx: INSERT INTO b VALUES (0);
-step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
-
-3
-3
-3
-step c2: COMMIT;
-step at1: <... completed>
-step sc1: COMMIT;
-step s2: BEGIN;
-step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
-step sc2: COMMIT;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+invalid permutation detected
starting permutation: rx1 s1 wx at1 sc1 s2 at2 sc2 rx1 c2
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
diff --git a/src/test/isolation/expected/alter-table-2.out b/src/test/isolation/expected/alter-table-2.out
new file mode 100644
index 0000000..679cf7b
--- /dev/null
+++ b/src/test/isolation/expected/alter-table-2.out
@@ -0,0 +1,305 @@
+Parsed test spec with 2 sessions
+
+starting permutation: at1 sc2 rx1 rx1 wx wx c
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc2: COMMIT;
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0);
+step wx: INSERT INTO a VALUES (4);
+step c: COMMIT;
+
+starting permutation: at1 rx1 sc2 rx1 wx wx c
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step sc2: COMMIT;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0);
+step wx: INSERT INTO a VALUES (4);
+step c: COMMIT;
+
+starting permutation: at1 rx1 rx1 sc2 wx wx c
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step sc2: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step wx: INSERT INTO a VALUES (4);
+step c: COMMIT;
+
+starting permutation: at1 rx1 rx1 wx sc2 wx c
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc2: COMMIT;
+step wx: <... completed>
+step wx: INSERT INTO a VALUES (4);
+step c: COMMIT;
+
+starting permutation: at1 rx1 rx1 wx wx sc2 c
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+invalid permutation detected
+
+starting permutation: at1 rx1 rx1 wx wx c sc2
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+invalid permutation detected
+
+starting permutation: rx1 at1 sc2 rx1 wx wx c
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc2: COMMIT;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0);
+step wx: INSERT INTO a VALUES (4);
+step c: COMMIT;
+
+starting permutation: rx1 at1 rx1 sc2 wx wx c
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step sc2: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step wx: INSERT INTO a VALUES (4);
+step c: COMMIT;
+
+starting permutation: rx1 at1 rx1 wx sc2 wx c
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc2: COMMIT;
+step wx: <... completed>
+step wx: INSERT INTO a VALUES (4);
+step c: COMMIT;
+
+starting permutation: rx1 at1 rx1 wx wx sc2 c
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+invalid permutation detected
+
+starting permutation: rx1 at1 rx1 wx wx c sc2
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+invalid permutation detected
+
+starting permutation: rx1 rx1 at1 sc2 wx wx c
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc2: COMMIT;
+step wx: INSERT INTO b VALUES (0);
+step wx: INSERT INTO a VALUES (4);
+step c: COMMIT;
+
+starting permutation: rx1 rx1 at1 wx sc2 wx c
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+step sc2: COMMIT;
+step wx: <... completed>
+step wx: INSERT INTO a VALUES (4);
+step c: COMMIT;
+
+starting permutation: rx1 rx1 at1 wx wx sc2 c
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+invalid permutation detected
+
+starting permutation: rx1 rx1 at1 wx wx c sc2
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step wx: INSERT INTO b VALUES (0); <waiting ...>
+invalid permutation detected
+
+starting permutation: rx1 rx1 wx at1 sc2 wx c
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+invalid permutation detected
+
+starting permutation: rx1 rx1 wx at1 wx sc2 c
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step wx: INSERT INTO a VALUES (4);
+invalid permutation detected
+
+starting permutation: rx1 rx1 wx at1 wx c sc2
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step wx: INSERT INTO a VALUES (4);
+step c: COMMIT;
+step at1: <... completed>
+step sc2: COMMIT;
+
+starting permutation: rx1 rx1 wx wx at1 sc2 c
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0);
+step wx: INSERT INTO a VALUES (4);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+invalid permutation detected
+
+starting permutation: rx1 rx1 wx wx at1 c sc2
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0);
+step wx: INSERT INTO a VALUES (4);
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
+step c: COMMIT;
+step at1: <... completed>
+step sc2: COMMIT;
+
+starting permutation: rx1 rx1 wx wx c at1 sc2
+step rx1: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
+i
+
+1
+step rx1: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
+a_id
+
+3
+step wx: INSERT INTO b VALUES (0);
+step wx: INSERT INTO a VALUES (4);
+step c: COMMIT;
+step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
+step sc2: COMMIT;
diff --git a/src/test/isolation/expected/create-trigger.out b/src/test/isolation/expected/create-trigger.out
new file mode 100644
index 0000000..eb13e36
--- /dev/null
+++ b/src/test/isolation/expected/create-trigger.out
@@ -0,0 +1,101 @@
+Parsed test spec with 2 sessions
+
+starting permutation: ct sc rx wx c
+step ct: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
+step sc: COMMIT;
+step rx: SELECT * FROM a WHERE i = 1 FOR UPDATE;
+i
+
+1
+step wx: UPDATE a SET i = 4 WHERE i = 3;
+step c: COMMIT;
+
+starting permutation: ct rx sc wx c
+step ct: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
+step rx: SELECT * FROM a WHERE i = 1 FOR UPDATE;
+i
+
+1
+step sc: COMMIT;
+step wx: UPDATE a SET i = 4 WHERE i = 3;
+step c: COMMIT;
+
+starting permutation: ct rx wx sc c
+step ct: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
+step rx: SELECT * FROM a WHERE i = 1 FOR UPDATE;
+i
+
+1
+step wx: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
+step sc: COMMIT;
+step wx: <... completed>
+step c: COMMIT;
+
+starting permutation: ct rx wx c sc
+step ct: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
+step rx: SELECT * FROM a WHERE i = 1 FOR UPDATE;
+i
+
+1
+step wx: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
+invalid permutation detected
+
+starting permutation: rx ct sc wx c
+step rx: SELECT * FROM a WHERE i = 1 FOR UPDATE;
+i
+
+1
+step ct: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
+step sc: COMMIT;
+step wx: UPDATE a SET i = 4 WHERE i = 3;
+step c: COMMIT;
+
+starting permutation: rx ct wx sc c
+step rx: SELECT * FROM a WHERE i = 1 FOR UPDATE;
+i
+
+1
+step ct: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
+step wx: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
+step sc: COMMIT;
+step wx: <... completed>
+step c: COMMIT;
+
+starting permutation: rx ct wx c sc
+step rx: SELECT * FROM a WHERE i = 1 FOR UPDATE;
+i
+
+1
+step ct: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
+step wx: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
+invalid permutation detected
+
+starting permutation: rx wx ct sc c
+step rx: SELECT * FROM a WHERE i = 1 FOR UPDATE;
+i
+
+1
+step wx: UPDATE a SET i = 4 WHERE i = 3;
+step ct: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); <waiting ...>
+invalid permutation detected
+
+starting permutation: rx wx ct c sc
+step rx: SELECT * FROM a WHERE i = 1 FOR UPDATE;
+i
+
+1
+step wx: UPDATE a SET i = 4 WHERE i = 3;
+step ct: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); <waiting ...>
+step c: COMMIT;
+step ct: <... completed>
+step sc: COMMIT;
+
+starting permutation: rx wx c ct sc
+step rx: SELECT * FROM a WHERE i = 1 FOR UPDATE;
+i
+
+1
+step wx: UPDATE a SET i = 4 WHERE i = 3;
+step c: COMMIT;
+step ct: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
+step sc: COMMIT;
diff --git a/src/test/isolation/isolation_schedule b/src/test/isolation/isolation_schedule
index c055a53..b23428e 100644
--- a/src/test/isolation/isolation_schedule
+++ b/src/test/isolation/isolation_schedule
@@ -34,4 +34,6 @@ test: skip-locked-3
test: skip-locked-4
test: drop-index-concurrently-1
test: alter-table-1
+test: alter-table-2
+test: create-trigger
test: timeouts
diff --git a/src/test/isolation/specs/alter-table-2.spec b/src/test/isolation/specs/alter-table-2.spec
new file mode 100644
index 0000000..2ad7d62
--- /dev/null
+++ b/src/test/isolation/specs/alter-table-2.spec
@@ -0,0 +1,27 @@
+# ALTER TABLE - Add foreign keys with concurrent reads
+
+setup
+{
+ CREATE TABLE a (i int PRIMARY KEY);
+ CREATE TABLE b (a_id int);
+ INSERT INTO a VALUES (0), (1), (2), (3);
+ INSERT INTO b SELECT generate_series(1,1000) % 4;
+}
+
+teardown
+{
+ DROP TABLE a, b;
+}
+
+session "s1"
+setup { BEGIN; }
+step "at1" { ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; }
+step "sc2" { COMMIT; }
+
+session "s2"
+setup { BEGIN; }
+step "rx1" { SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; }
+step "rx1" { SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; }
+step "wx" { INSERT INTO b VALUES (0); }
+step "wx" { INSERT INTO a VALUES (4); }
+step "c" { COMMIT; }
diff --git a/src/test/isolation/specs/create-trigger.spec b/src/test/isolation/specs/create-trigger.spec
new file mode 100644
index 0000000..2a19ab8
--- /dev/null
+++ b/src/test/isolation/specs/create-trigger.spec
@@ -0,0 +1,25 @@
+# CREATE TRIGGER - Add trigger with concurrent reads
+
+setup
+{
+ CREATE TABLE a (i int);
+ CREATE FUNCTION f() RETURNS TRIGGER LANGUAGE plpgsql AS 'BEGIN RETURN NULL; END;';
+ INSERT INTO a VALUES (0), (1), (2), (3);
+}
+
+teardown
+{
+ DROP TABLE a;
+ DROP FUNCTION f();
+}
+
+session "s1"
+setup { BEGIN; }
+step "ct" { CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); }
+step "sc" { COMMIT; }
+
+session "s2"
+setup { BEGIN; }
+step "rx" { SELECT * FROM a WHERE i = 1 FOR UPDATE; }
+step "wx" { UPDATE a SET i = 4 WHERE i = 3; }
+step "c" { COMMIT; }
diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out
index d233710..1f7c265 100644
--- a/src/test/regress/expected/alter_table.out
+++ b/src/test/regress/expected/alter_table.out
@@ -1952,9 +1952,9 @@ create trigger ttdummy
execute procedure
ttdummy (1, 1);
select * from my_locks order by 1;
- relname | max_lockmode
------------+---------------------
- alterlock | AccessExclusiveLock
+ relname | max_lockmode
+-----------+-----------------------
+ alterlock | ShareRowExclusiveLock
(1 row)
rollback;
@@ -1966,10 +1966,10 @@ select * from my_locks order by 1;
alter table alterlock2 add foreign key (f1) references alterlock (f1);
select * from my_locks order by 1;
- relname | max_lockmode
------------------+---------------------
- alterlock | AccessExclusiveLock
- alterlock2 | AccessExclusiveLock
+ relname | max_lockmode
+-----------------+-----------------------
+ alterlock | ShareRowExclusiveLock
+ alterlock2 | ShareRowExclusiveLock
alterlock2_pkey | AccessShareLock
alterlock_pkey | AccessShareLock
(4 rows)
@@ -1979,10 +1979,10 @@ begin;
alter table alterlock2
add constraint alterlock2nv foreign key (f1) references alterlock (f1) NOT VALID;
select * from my_locks order by 1;
- relname | max_lockmode
-------------+---------------------
- alterlock | AccessExclusiveLock
- alterlock2 | AccessExclusiveLock
+ relname | max_lockmode
+------------+-----------------------
+ alterlock | ShareRowExclusiveLock
+ alterlock2 | ShareRowExclusiveLock
(2 rows)
commit;
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers