Skip to content

Releases: boringSQL/regresql

Release list

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 17:14

RegreSQL 2.0 is major shift. Compared to 1.0 it

  • no longer tests just result and baseline
  • it can detect plan and cost changes, as well as cardinality errors

Reproducible state - snapshots
Database state captured once, restored before each run, so everyone tests against identical data

  • snapshot capture / build / restore / info
  • snapshot build pipeline: schema + fixtures in one step, section control (pre-data/data/post-data), fixture discovery, --schema flag + auto-format
  • snapshot tagging, history, and diff (--from/--to) across versions
  • schema-hash validation before tests; migration-change detection
  • auto-restore before test/update; skip restore if unchanged (mtime+size)
  • restore_database option; disable triggers on build; post-restore VACUUM ANALYZE; --clean suggestion when the target DB isn't empty
  • capture PostgreSQL server settings and planner-cost GUCs into the snapshot

Fixturize integration
https://github.com/boringSQL/fixturize

The harness layer

  • Ability to run the same corpus against two PostgreSQL builds
  • Testing against production's reality
  • Gate on measured actuals, not estimates
  • Plan-quality & policy kits
  • Correctness oracles without a reference database

Break-in changes

  • Removes per-test fixtures support completely

Full Changelog: v1.5.0...v2.0.0