Skip to content

Harden Nest adapters and cross-dialect query behavior - #1

Merged
martian56 merged 10 commits into
mainfrom
audit/orm-hardening
Jul 15, 2026
Merged

Harden Nest adapters and cross-dialect query behavior#1
martian56 merged 10 commits into
mainfrom
audit/orm-hardening

Conversation

@martian56

Copy link
Copy Markdown
Owner

What changed

  • update PostgreSQL, MySQL, and SQLite drivers to v0.2.0
  • propagate checked SQLite bind, execution, row-reading, finalize, and close failures
  • use SQLite result labels for wildcard and raw queries
  • fix empty NOT IN, NULL equality, portable booleans, and offset-only pagination
  • detect renamed or missing applied migrations
  • add a MySQL NO_BACKSLASH_ESCAPES adapter mode
  • expand live transaction, RETURNING, boolean, recovery, migration, and SQL-mode coverage
  • test PostgreSQL 16 and 17 in CI and prepare Nest v0.2.0

Why

Several adapter and compiler paths could silently change semantics across databases. SQLite discarded execution failures, empty NOT IN filtered every row, NULL equality emitted ineffective comparisons, MySQL boolean coercion was not portable, and offset-only SQL was invalid on MySQL and SQLite. Migration history could also drift without detection.

Validation

  • rvpm fmt --check
  • rvpm build
  • rvpm test (28 passed)
  • rvpm doc
  • Docker end-to-end suite with PostgreSQL 16.9, MySQL 8.0.43, and SQLite
  • Docker end-to-end suite with PostgreSQL 17.5, MySQL 8.0.43, and SQLite
  • docker compose config --quiet

@martian56
martian56 merged commit 7c1e12d into main Jul 15, 2026
5 checks passed
@martian56
martian56 deleted the audit/orm-hardening branch July 15, 2026 09:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant