> **Plain-language companion:** [v0.8.0.md](v0.8.0.md) ## v0.8.0 — pg_dump Support & Test Hardening **Status:** Released **Goal:** Complete the pg_dump round-trip story so stream tables survive `pg_dump`/`pg_restore` cycles, and comprehensively harden the E2E test suites with multiset invariants to mathematically enforce DVM correctness. ### pg_dump / pg_restore Support > **In plain terms:** `pg_dump` is the standard PostgreSQL backup tool. > Without this, a dump of a database containing stream tables may not > capture them correctly — and restoring from that dump would require > manually recreating them by hand. This teaches `pg_dump` to emit valid > SQL for every stream table, and adds logic to automatically re-link > orphaned catalog entries when restoring an extension from a backup. Complete the native DDL story: teach pg_dump to emit `CREATE MATERIALIZED VIEW … WITH (pgtrickle.stream = true)` for stream tables and add an event trigger that re-links orphaned catalog entries on extension restore. | Item | Description | Effort | Ref | |------|-------------|--------|-----| | NAT-DUMP | `generate_dump()` + `restore_stream_tables()` companion functions (done); event trigger on extension load for orphaned catalog entries | 3–4d | [PLAN_NATIVE_SYNTAX.md](plans/sql/PLAN_NATIVE_SYNTAX.md) §pg_dump | | NAT-TEST | E2E tests: pg_dump round-trip, restore from backup, orphaned-entry recovery | 2–3d | [PLAN_NATIVE_SYNTAX.md](plans/sql/PLAN_NATIVE_SYNTAX.md) §pg_dump | > **pg_dump support subtotal: ~5–7 days** ### Test Suite Evaluation & Hardening > **In plain terms:** Replacing legacy, row-count-based assertions with comprehensive, order-independent multiset evaluations (`assert_st_matches_query`) across all testing tiers. This mathematical invariant proving guarantees differential dataflow correctness under highly chaotic multiset interleavings and edge cases. | Item | Description | Effort | Ref | |------|-------------|--------|-----| | TE1 | **Unit Test Hardening:** Full multiset equality testing for pure-Rust DVM operators | Done | [PLAN_EVALS_UNIT](plans/testing/PLAN_TEST_EVALS_UNIT.md) | | TE2 | **Light E2E Migration:** Expand speed-optimized E2E pipeline with rigorous symmetric difference checks | Done | [PLAN_EVALS_LIGHT_E2E](plans/testing/PLAN_TEST_EVALS_LIGHT_E2E.md) | | TE3 | **Integration Concurrency:** Prove complex orchestration correctness under transaction delays | Done | [PLAN_EVALS_INTEGRATION](plans/testing/PLAN_TEST_EVALS_INTEGRATION.md) | | TE4 | **Full E2E Hardening:** Validate cross-boundary, multi-DAG cascades, partition handling, and upgrade paths | Done | [PLAN_EVALS_FULL_E2E](plans/testing/PLAN_TEST_EVALS_FULL_E2E.md) | | TE5 | **TPC-H Smoke Test:** Stateful invariant evaluations for heavily randomized DML loads over large matrices | Done | [PLAN_EVALS_TPCH](plans/testing/PLAN_TEST_EVALS_TPCH.md) | | TE6 | **Property-Based Invariants:** Chaotic property testing pipelines for topological boundaries and cyclic executions | Done | [PLAN_PROPERTY_BASED_INVARIANTS](plans/testing/PLAN_TEST_PROPERTY_BASED_INVARIANTS.md) | | TE7 | **cargo-nextest Migration:** Move test suite execution to cargo-nextest to aggressively parallelize and isolate tests, solving wall-clock execution regressions | 1–2d | [PLAN_CARGO_NEXTEST](plans/testing/PLAN_CARGO_NEXTEST.md) | > **Test evaluation subtotal: ~11-14 days (Mostly Completed)** > **v0.8.0 total: ~16–21 days** **Exit criteria:** - [x] Test infrastructure hardened with exact mathematical multiset validation - [ ] Test harness migrated to `cargo-nextest` to fix speed and CI flake regressions - [x] pg_dump round-trip produces valid, restorable SQL for stream tables *(Done)* - [ ] Extension upgrade path tested (`0.7.0 → 0.8.0`) ---