{
  "schemaVersion": 1,
  "generatedAt": "2026-10-21T14:27:34.069653+00:00",
  "kind": "controlled-software-observation",
  "environment": {
    "python": "3.12.3",
    "sqlite": "3.45.1",
    "sqliteSourceId": "2024-01-30 16:01:20 e876e51a0ed5c5b3126f52e532044363a014bc594cfefa87ffb5b82257ccalt1",
    "compileOptions": [
      "ATOMIC_INTRINSICS=1",
      "COMPILER=gcc-13.3.0",
      "DEFAULT_AUTOVACUUM",
      "DEFAULT_CACHE_SIZE=-2000",
      "DEFAULT_FILE_FORMAT=4",
      "DEFAULT_JOURNAL_SIZE_LIMIT=-1",
      "DEFAULT_MMAP_SIZE=0",
      "DEFAULT_PAGE_SIZE=4096",
      "DEFAULT_PCACHE_INITSZ=20",
      "DEFAULT_RECURSIVE_TRIGGERS",
      "DEFAULT_SECTOR_SIZE=4096",
      "DEFAULT_SYNCHRONOUS=2",
      "DEFAULT_WAL_AUTOCHECKPOINT=1000",
      "DEFAULT_WAL_SYNCHRONOUS=2",
      "DEFAULT_WORKER_THREADS=0",
      "DIRECT_OVERFLOW_READ",
      "ENABLE_COLUMN_METADATA",
      "ENABLE_DBSTAT_VTAB",
      "ENABLE_FTS3",
      "ENABLE_FTS3_PARENTHESIS",
      "ENABLE_FTS3_TOKENIZER",
      "ENABLE_FTS4",
      "ENABLE_FTS5",
      "ENABLE_LOAD_EXTENSION",
      "ENABLE_MATH_FUNCTIONS",
      "ENABLE_PREUPDATE_HOOK",
      "ENABLE_RTREE",
      "ENABLE_SESSION",
      "ENABLE_STMTVTAB",
      "ENABLE_UNLOCK_NOTIFY",
      "ENABLE_UPDATE_DELETE_LIMIT",
      "HAVE_ISNAN",
      "LIKE_DOESNT_MATCH_BLOBS",
      "MALLOC_SOFT_LIMIT=1024",
      "MAX_ATTACHED=10",
      "MAX_COLUMN=2000",
      "MAX_COMPOUND_SELECT=500",
      "MAX_DEFAULT_PAGE_SIZE=32768",
      "MAX_EXPR_DEPTH=1000",
      "MAX_FUNCTION_ARG=127",
      "MAX_LENGTH=1000000000",
      "MAX_LIKE_PATTERN_LENGTH=50000",
      "MAX_MMAP_SIZE=0x7fff0000",
      "MAX_PAGE_COUNT=0xfffffffe",
      "MAX_PAGE_SIZE=65536",
      "MAX_SCHEMA_RETRY=25",
      "MAX_SQL_LENGTH=1000000000",
      "MAX_TRIGGER_DEPTH=1000",
      "MAX_VARIABLE_NUMBER=250000",
      "MAX_VDBE_OP=250000000",
      "MAX_WORKER_THREADS=8",
      "MUTEX_PTHREADS",
      "SECURE_DELETE",
      "SOUNDEX",
      "SYSTEM_MALLOC",
      "TEMP_STORE=1",
      "THREADSAFE=1",
      "USE_URI"
    ],
    "system": "Linux",
    "kernel": "6.8.0-146-generic"
  },
  "harnessSha256": "eb5ce57e83bec1902a8d5e54a3b10052f9a3923d06adae96d6961049f6a75878",
  "design": "2 journals x 3 deferred FK actions x 2 trigger settings x 2 operations; 2 orphan controls; 4 global-deferral controls",
  "limits": [
    "Single writer and one INTEGER PRIMARY KEY conflict.",
    "All FK declarations are DEFERRABLE INITIALLY DEFERRED; main matrix leaves defer_foreign_keys OFF; four extra controls enable it.",
    "No crash, power loss, concurrency, performance or failure-frequency measurement.",
    "Trace callbacks can repeat statement text during trigger execution; they are not event counts."
  ],
  "cases": [
    {
      "id": "DELETE-CASCADE-0-replace",
      "journal": "DELETE",
      "action": "CASCADE",
      "recursiveTriggers": 0,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "4c0c14edcf5d894898d00ad4e324353569d6ab9ec1af515851dc7131ca705da0",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "DELETE-CASCADE-0-upsert",
      "journal": "DELETE",
      "action": "CASCADE",
      "recursiveTriggers": 0,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "8ba76c75bf3dcda73458b1f7101e0a0692cd5ca610b040048bc9a213e715c8a0",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "DELETE-CASCADE-1-replace",
      "journal": "DELETE",
      "action": "CASCADE",
      "recursiveTriggers": 1,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "14c07ed9deaead9a059bb1225054b17377c9780895f20c1f654802a30332337d",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "DELETE-CASCADE-1-upsert",
      "journal": "DELETE",
      "action": "CASCADE",
      "recursiveTriggers": 1,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "8ba76c75bf3dcda73458b1f7101e0a0692cd5ca610b040048bc9a213e715c8a0",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "DELETE-RESTRICT-0-replace",
      "journal": "DELETE",
      "action": "RESTRICT",
      "recursiveTriggers": 0,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": {
          "message": "FOREIGN KEY constraint failed",
          "code": 1811,
          "name": "SQLITE_CONSTRAINT_TRIGGER",
          "phase": "statement"
        },
        "pending": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": {
          "message": "FOREIGN KEY constraint failed",
          "code": 1811,
          "name": "SQLITE_CONSTRAINT_TRIGGER",
          "phase": "statement"
        },
        "pending": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "rollback-after-statement-error",
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "0a7e0438bee29c96bb409d95cc7f965eac8e0372e3dd3ddc870fb00aaf2e5360",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK"
      ]
    },
    {
      "id": "DELETE-RESTRICT-0-upsert",
      "journal": "DELETE",
      "action": "RESTRICT",
      "recursiveTriggers": 0,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "353914a6521e4d668f86caca1925b1ccc45108c67784d9f8d4bc915fc49beb35",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "DELETE-RESTRICT-1-replace",
      "journal": "DELETE",
      "action": "RESTRICT",
      "recursiveTriggers": 1,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": {
          "message": "FOREIGN KEY constraint failed",
          "code": 1811,
          "name": "SQLITE_CONSTRAINT_TRIGGER",
          "phase": "statement"
        },
        "pending": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": {
          "message": "FOREIGN KEY constraint failed",
          "code": 1811,
          "name": "SQLITE_CONSTRAINT_TRIGGER",
          "phase": "statement"
        },
        "pending": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "rollback-after-statement-error",
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "0a7e0438bee29c96bb409d95cc7f965eac8e0372e3dd3ddc870fb00aaf2e5360",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK"
      ]
    },
    {
      "id": "DELETE-RESTRICT-1-upsert",
      "journal": "DELETE",
      "action": "RESTRICT",
      "recursiveTriggers": 1,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "353914a6521e4d668f86caca1925b1ccc45108c67784d9f8d4bc915fc49beb35",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "DELETE-NO-ACTION-0-replace",
      "journal": "DELETE",
      "action": "NO ACTION",
      "recursiveTriggers": 0,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "f88f5b616c0ebb85cd3751a6f641f1f8dcb4cfc200878caa356d74495a101f2f",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "DELETE-NO-ACTION-0-upsert",
      "journal": "DELETE",
      "action": "NO ACTION",
      "recursiveTriggers": 0,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "f2b3d249b1923a26207ab61f36315d93dcd21a18d4e1f6f14cb0eb80cfc6bced",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "DELETE-NO-ACTION-1-replace",
      "journal": "DELETE",
      "action": "NO ACTION",
      "recursiveTriggers": 1,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "d5103b7375e06f9fb4d689bf044a4caf31c36bb0a484ffd355eedba0660c0dbb",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "DELETE-NO-ACTION-1-upsert",
      "journal": "DELETE",
      "action": "NO ACTION",
      "recursiveTriggers": 1,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "f2b3d249b1923a26207ab61f36315d93dcd21a18d4e1f6f14cb0eb80cfc6bced",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-CASCADE-0-replace",
      "journal": "WAL",
      "action": "CASCADE",
      "recursiveTriggers": 0,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "507984dd2cb9ba634cd17dfd6f3cabd9f4ddde88103a691b14c33d25c5ac7f57",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-CASCADE-0-upsert",
      "journal": "WAL",
      "action": "CASCADE",
      "recursiveTriggers": 0,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "353d54b75ce16cfc23f8a51218720978332090ee433e9f29a9083b28029f6525",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-CASCADE-1-replace",
      "journal": "WAL",
      "action": "CASCADE",
      "recursiveTriggers": 1,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "child-delete",
              11
            ],
            [
              "child-delete",
              12
            ],
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "e2dcc94e0c1cddec6ffa064e863ac54456d998c8deff57bdd74ba349e7782c2a",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-CASCADE-1-upsert",
      "journal": "WAL",
      "action": "CASCADE",
      "recursiveTriggers": 1,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "353d54b75ce16cfc23f8a51218720978332090ee433e9f29a9083b28029f6525",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-RESTRICT-0-replace",
      "journal": "WAL",
      "action": "RESTRICT",
      "recursiveTriggers": 0,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": {
          "message": "FOREIGN KEY constraint failed",
          "code": 1811,
          "name": "SQLITE_CONSTRAINT_TRIGGER",
          "phase": "statement"
        },
        "pending": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": {
          "message": "FOREIGN KEY constraint failed",
          "code": 1811,
          "name": "SQLITE_CONSTRAINT_TRIGGER",
          "phase": "statement"
        },
        "pending": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "rollback-after-statement-error",
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "66e7a16ee6d076f1477596fb2bc81c1b4f4596e0fbf1f28076166ed3f8c14b17",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK"
      ]
    },
    {
      "id": "WAL-RESTRICT-0-upsert",
      "journal": "WAL",
      "action": "RESTRICT",
      "recursiveTriggers": 0,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "a8646d56b5511c666e195efe955b47947a1c2f0731cbadbbeaf824cd52f75e77",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-RESTRICT-1-replace",
      "journal": "WAL",
      "action": "RESTRICT",
      "recursiveTriggers": 1,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": {
          "message": "FOREIGN KEY constraint failed",
          "code": 1811,
          "name": "SQLITE_CONSTRAINT_TRIGGER",
          "phase": "statement"
        },
        "pending": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": {
          "message": "FOREIGN KEY constraint failed",
          "code": 1811,
          "name": "SQLITE_CONSTRAINT_TRIGGER",
          "phase": "statement"
        },
        "pending": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "rollback-after-statement-error",
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "66e7a16ee6d076f1477596fb2bc81c1b4f4596e0fbf1f28076166ed3f8c14b17",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK"
      ]
    },
    {
      "id": "WAL-RESTRICT-1-upsert",
      "journal": "WAL",
      "action": "RESTRICT",
      "recursiveTriggers": 1,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "a8646d56b5511c666e195efe955b47947a1c2f0731cbadbbeaf824cd52f75e77",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-NO-ACTION-0-replace",
      "journal": "WAL",
      "action": "NO ACTION",
      "recursiveTriggers": 0,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "2adf46838234d7e45f8f18fd2e9d0f34b88b1b5a307168f9822b6e981def3f27",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-NO-ACTION-0-upsert",
      "journal": "WAL",
      "action": "NO ACTION",
      "recursiveTriggers": 0,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "9258cc34a6e24cb9c82e1bd9bf33e2e25aa529ea5686119d76debd5b007c449f",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-NO-ACTION-1-replace",
      "journal": "WAL",
      "action": "NO ACTION",
      "recursiveTriggers": 1,
      "operation": "replace",
      "globalDefer": 0,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "d10726dc77069957e806e14a9543f04c8f5cdf9568fbbf97afa77efecb8205b4",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-NO-ACTION-1-upsert",
      "journal": "WAL",
      "action": "NO ACTION",
      "recursiveTriggers": 1,
      "operation": "upsert",
      "globalDefer": 0,
      "sql": "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 0
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-update",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "9258cc34a6e24cb9c82e1bd9bf33e2e25aa529ea5686119d76debd5b007c449f",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=0",
        "PRAGMA defer_foreign_keys",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "INSERT INTO parent VALUES(1, 'new') ON CONFLICT(id) DO UPDATE SET label=excluded.label",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    }
  ],
  "orphanControls": [
    {
      "journal": "DELETE",
      "method": "foreign_keys OFF before parent deletion; ON after reopen",
      "reopened": {
        "parent": [
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [
          [
            "parent-delete",
            1
          ]
        ],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [
          [
            "child",
            11,
            "parent",
            0
          ],
          [
            "child",
            12,
            "parent",
            0
          ]
        ],
        "inTransaction": false,
        "deferForeignKeys": 0
      }
    },
    {
      "journal": "WAL",
      "method": "foreign_keys OFF before parent deletion; ON after reopen",
      "reopened": {
        "parent": [
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [
          [
            "parent-delete",
            1
          ]
        ],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [
          [
            "child",
            11,
            "parent",
            0
          ],
          [
            "child",
            12,
            "parent",
            0
          ]
        ],
        "inTransaction": false,
        "deferForeignKeys": 0
      }
    }
  ],
  "globalDeferControls": [
    {
      "id": "DELETE-RESTRICT-0-replace-global-defer",
      "journal": "DELETE",
      "action": "RESTRICT",
      "recursiveTriggers": 0,
      "operation": "replace",
      "globalDefer": 1,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 1
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 1
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "82c748878c7f0c876af17f9e658f793b3226d91ef53b53991b7f730bb94f9e14",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=1",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=1",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "DELETE-RESTRICT-1-replace-global-defer",
      "journal": "DELETE",
      "action": "RESTRICT",
      "recursiveTriggers": 1,
      "operation": "replace",
      "globalDefer": 1,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "delete",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 1
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 1
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "c69e25e18275e19398e6ff25fa2e28f7445c0aa72ac7e42f2fae8d425d0f61a8",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=1",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=1",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-RESTRICT-0-replace-global-defer",
      "journal": "WAL",
      "action": "RESTRICT",
      "recursiveTriggers": 0,
      "operation": "replace",
      "globalDefer": 1,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 0,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 1
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 1
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "124acee4bf1036faa70a14eb57d7de51c0f89a4769c6bb2c91a4cfe65c8acbf2",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=1",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=1",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    },
    {
      "id": "WAL-RESTRICT-1-replace-global-defer",
      "journal": "WAL",
      "action": "RESTRICT",
      "recursiveTriggers": 1,
      "operation": "replace",
      "globalDefer": 1,
      "sql": "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
      "schemaSql": "\nCREATE TABLE parent(id INTEGER PRIMARY KEY, label TEXT NOT NULL);\nCREATE TABLE child(id INTEGER PRIMARY KEY, parent_id INTEGER NOT NULL\n REFERENCES parent(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,\n payload TEXT NOT NULL);\nCREATE TABLE audit(seq INTEGER PRIMARY KEY, event TEXT, object_id INTEGER);\nINSERT INTO parent VALUES(1,'original'),(2,'sentinel');\nINSERT INTO child VALUES(11,1,'alpha'),(12,1,'beta'),(21,2,'untouched');\nCREATE TRIGGER parent_delete AFTER DELETE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-delete',old.id); END;\nCREATE TRIGGER parent_insert AFTER INSERT ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-insert',new.id); END;\nCREATE TRIGGER parent_update AFTER UPDATE ON parent BEGIN\n INSERT INTO audit(event,object_id) VALUES('parent-update',new.id); END;\nCREATE TRIGGER child_delete AFTER DELETE ON child BEGIN\n INSERT INTO audit(event,object_id) VALUES('child-delete',old.id); END;\n",
      "settings": {
        "foreign_keys": 1,
        "recursive_triggers": 1,
        "journal_mode": "wal",
        "defer_foreign_keys": 0
      },
      "baseline": {
        "parent": [
          [
            1,
            "original"
          ],
          [
            2,
            "sentinel"
          ]
        ],
        "child": [
          [
            11,
            1,
            "alpha"
          ],
          [
            12,
            1,
            "beta"
          ],
          [
            21,
            2,
            "untouched"
          ]
        ],
        "audit": [],
        "integrityCheck": [
          [
            "ok"
          ]
        ],
        "foreignKeyCheck": [],
        "inTransaction": false,
        "deferForeignKeys": 0
      },
      "rollback": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 1
        },
        "reopened": {
          "parent": [
            [
              1,
              "original"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "final": {
        "error": null,
        "pending": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": true,
          "deferForeignKeys": 1
        },
        "finalizer": "commit",
        "reopened": {
          "parent": [
            [
              1,
              "new"
            ],
            [
              2,
              "sentinel"
            ]
          ],
          "child": [
            [
              11,
              1,
              "alpha"
            ],
            [
              12,
              1,
              "beta"
            ],
            [
              21,
              2,
              "untouched"
            ]
          ],
          "audit": [
            [
              "parent-delete",
              1
            ],
            [
              "parent-insert",
              1
            ]
          ],
          "integrityCheck": [
            [
              "ok"
            ]
          ],
          "foreignKeyCheck": [],
          "inTransaction": false,
          "deferForeignKeys": 0
        }
      },
      "closedDatabaseSha256": "30f76603079b7e5ebe8f87ffb08f52f7fc0c28fa861bf77c286d6de9c01a973c",
      "trace": [
        "BEGIN",
        "PRAGMA defer_foreign_keys=1",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "ROLLBACK",
        "BEGIN",
        "PRAGMA defer_foreign_keys=1",
        "PRAGMA defer_foreign_keys",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "INSERT OR REPLACE INTO parent VALUES(1, 'new')",
        "SELECT * FROM parent ORDER BY id",
        "SELECT * FROM child ORDER BY id",
        "SELECT event,object_id FROM audit ORDER BY seq",
        "PRAGMA integrity_check",
        "PRAGMA foreign_key_check",
        "PRAGMA defer_foreign_keys",
        "COMMIT"
      ]
    }
  ]
}
