{
  "schema_version": 1,
  "environment": {
    "python": "3.12.3",
    "sqlite": "3.45.1",
    "sqlite_source_id": "2024-01-30 16:01:20 e876e51a0ed5c5b3126f52e532044363a014bc594cfefa87ffb5b82257ccalt1",
    "compile_options": [
      "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"
    ]
  },
  "method": "Eight fresh databases: four ordered SQL schedules in DELETE and WAL mode. Explicit SQL transaction control with Python sqlite3 isolation_level=None. After every statement, complete ordered rows are read by the writer and by a drained, autocommit observer SELECT. transaction_open is the wrapper's low-level autocommit indicator, not sqlite3_txn_state. Normal close and reopen only.",
  "limits": "Synthetic fixtures, not field data or a performance sample. One recorded runtime per capture. No power loss, process crash, I/O fault, deferred-constraint experiment or physical persistence measurement.",
  "cases": [
    {
      "case": "nested-release-rollback",
      "journal_mode": "DELETE",
      "synchronous": 2,
      "steps": [
        {
          "sql": "BEGIN",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "SAVEPOINT unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (1)",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "RELEASE unit",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "ROLLBACK",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": false
        }
      ],
      "reopened_rows": []
    },
    {
      "case": "outermost-release",
      "journal_mode": "DELETE",
      "synchronous": 2,
      "steps": [
        {
          "sql": "SAVEPOINT unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (1)",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "RELEASE unit",
          "writer_rows": [
            1
          ],
          "observer_rows": [
            1
          ],
          "transaction_open": false
        }
      ],
      "reopened_rows": [
        1
      ]
    },
    {
      "case": "rollback-to-retains-target",
      "journal_mode": "DELETE",
      "synchronous": 2,
      "steps": [
        {
          "sql": "BEGIN",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "SAVEPOINT unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (1)",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "ROLLBACK TO unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (2)",
          "writer_rows": [
            2
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "ROLLBACK TO unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "RELEASE unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "COMMIT",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": false
        }
      ],
      "reopened_rows": []
    },
    {
      "case": "reused-name",
      "journal_mode": "DELETE",
      "synchronous": 2,
      "steps": [
        {
          "sql": "BEGIN",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "SAVEPOINT unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (1)",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "SAVEPOINT unit",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (2)",
          "writer_rows": [
            1,
            2
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "RELEASE unit",
          "writer_rows": [
            1,
            2
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "ROLLBACK TO unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "RELEASE unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "COMMIT",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": false
        }
      ],
      "reopened_rows": []
    },
    {
      "case": "nested-release-rollback",
      "journal_mode": "WAL",
      "synchronous": 2,
      "steps": [
        {
          "sql": "BEGIN",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "SAVEPOINT unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (1)",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "RELEASE unit",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "ROLLBACK",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": false
        }
      ],
      "reopened_rows": []
    },
    {
      "case": "outermost-release",
      "journal_mode": "WAL",
      "synchronous": 2,
      "steps": [
        {
          "sql": "SAVEPOINT unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (1)",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "RELEASE unit",
          "writer_rows": [
            1
          ],
          "observer_rows": [
            1
          ],
          "transaction_open": false
        }
      ],
      "reopened_rows": [
        1
      ]
    },
    {
      "case": "rollback-to-retains-target",
      "journal_mode": "WAL",
      "synchronous": 2,
      "steps": [
        {
          "sql": "BEGIN",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "SAVEPOINT unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (1)",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "ROLLBACK TO unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (2)",
          "writer_rows": [
            2
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "ROLLBACK TO unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "RELEASE unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "COMMIT",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": false
        }
      ],
      "reopened_rows": []
    },
    {
      "case": "reused-name",
      "journal_mode": "WAL",
      "synchronous": 2,
      "steps": [
        {
          "sql": "BEGIN",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "SAVEPOINT unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (1)",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "SAVEPOINT unit",
          "writer_rows": [
            1
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "INSERT INTO t VALUES (2)",
          "writer_rows": [
            1,
            2
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "RELEASE unit",
          "writer_rows": [
            1,
            2
          ],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "ROLLBACK TO unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "RELEASE unit",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": true
        },
        {
          "sql": "COMMIT",
          "writer_rows": [],
          "observer_rows": [],
          "transaction_open": false
        }
      ],
      "reopened_rows": []
    }
  ]
}
