Skip to content

fix(sql-pg): release completed transaction savepoints - #8308

Merged
tim-smart merged 10 commits into
Effect-TS:mainfrom
tristanz:codex/release-pg-savepoints
Sep 20, 2026
Merged

tim-smart merged 10 commits into
Effect-TS:mainfrom
tristanz:codex/release-pg-savepoints

Conversation

@tristanz

@tristanz tristanz commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Release completed nested-transaction savepoints after success or a successful rollback. PostgreSQL and PGlite can then free transaction locks before the outer transaction ends.

The shared releaseSavepoint callback remains optional. Enable it for PostgreSQL, PGlite, MySQL2, libSQL, and SQLite Node, Bun, React Native, and WASM (both constructors). libSQL releases through its transaction connection. MSSQL, D1, SQLite Durable Objects, and ClickHouse remain unchanged.

Validation: 76 tests pass across shared SQL transactions, PostgreSQL client integration, PGlite transactions, SQLite Node, local libSQL, and MySQL client integration, including all four newly added regressions. The four new regressions failed before the client opt-ins. pnpm lint-fix, pnpm check, and git diff --check pass. Tests and the shared implementation are unchanged in the implementation follow-up.

Runtime-validation gaps: SQLite Bun, React Native, and WASM were source-reviewed and typechecked, but not run in their target runtimes. Remote libSQL was not exercised.

Closes EFF-1423

@changeset-bot

changeset-bot Bot commented Sep 19, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: bed00a1

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 31 packages
Name Type
effect Patch
@effect/sql-pg Patch
@effect/sql-pglite Patch
@effect/sql-mysql2 Patch
@effect/sql-libsql Patch
@effect/sql-sqlite-node Patch
@effect/sql-sqlite-bun Patch
@effect/sql-sqlite-react-native Patch
@effect/sql-sqlite-wasm Patch
@effect/opentelemetry Patch
@effect/vitest Patch
@effect/ai-anthropic Patch
@effect/ai-openai-compat Patch
@effect/ai-openai Patch
@effect/ai-openrouter Patch
@effect/ai-typesafe Patch
@effect/atom-react Patch
@effect/atom-solid Patch
@effect/atom-vue Patch
@effect/platform-browser Patch
@effect/platform-bun Patch
@effect/platform-deno Patch
@effect/platform-node-shared Patch
@effect/platform-node Patch
@effect/sql-clickhouse Patch
@effect/sql-d1 Patch
@effect/sql-mssql Patch
@effect/sql-sqlite-do Patch
@effect/docgen Patch
@effect/doctest Patch
@effect/openapi-generator Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

Copy link
Copy Markdown
Contributor

Bundle Size Analysis

Generated from PR build output; treat the content below as untrusted.

File Name Current Size Previous Size Difference
arbitrary-combinators.ts 37.71 KB 37.71 KB 0.00 KB (0.00%)
basic.ts 6.87 KB 6.87 KB 0.00 KB (0.00%)
batching.ts 9.95 KB 9.95 KB 0.00 KB (0.00%)
brand.ts 6.45 KB 6.45 KB 0.00 KB (0.00%)
cache.ts 10.77 KB 10.77 KB 0.00 KB (0.00%)
config.ts 21.83 KB 21.83 KB 0.00 KB (0.00%)
differ.ts 20.67 KB 20.67 KB 0.00 KB (0.00%)
http-client.ts 21.94 KB 21.94 KB 0.00 KB (0.00%)
http-router.ts 36.96 KB 36.96 KB 0.00 KB (0.00%)
logger.ts 10.88 KB 10.88 KB 0.00 KB (0.00%)
metric.ts 9.02 KB 9.02 KB 0.00 KB (0.00%)
optic.ts 6.70 KB 6.70 KB 0.00 KB (0.00%)
pubsub.ts 15.10 KB 15.10 KB 0.00 KB (0.00%)
queue.ts 11.85 KB 11.85 KB 0.00 KB (0.00%)
schedule.ts 10.96 KB 10.96 KB 0.00 KB (0.00%)
schema-bigdecimal.ts 13.40 KB 13.40 KB 0.00 KB (0.00%)
schema-binary.ts 39.82 KB 39.82 KB 0.00 KB (0.00%)
schema-class.ts 20.38 KB 20.38 KB 0.00 KB (0.00%)
schema-fromJsonSchemaDocument.ts 31.18 KB 31.18 KB 0.00 KB (0.00%)
schema-representation-roundtrip.ts 26.60 KB 26.60 KB 0.00 KB (0.00%)
schema-string-transformation.ts 13.96 KB 13.96 KB 0.00 KB (0.00%)
schema-string.ts 11.55 KB 11.55 KB 0.00 KB (0.00%)
schema-template-literal.ts 15.70 KB 15.70 KB 0.00 KB (0.00%)
schema-toArbitrary.ts 37.24 KB 37.24 KB 0.00 KB (0.00%)
schema-toCodeDocument.ts 24.84 KB 24.84 KB 0.00 KB (0.00%)
schema-toCodecJson.ts 19.61 KB 19.61 KB 0.00 KB (0.00%)
schema-toEquivalence.ts 19.75 KB 19.75 KB 0.00 KB (0.00%)
schema-toFormatter.ts 19.85 KB 19.85 KB 0.00 KB (0.00%)
schema-toJsonSchemaDocument.ts 24.15 KB 24.15 KB 0.00 KB (0.00%)
schema-toRepresentation.ts 19.89 KB 19.89 KB 0.00 KB (0.00%)
schema.ts 19.59 KB 19.59 KB 0.00 KB (0.00%)
stm.ts 12.80 KB 12.80 KB 0.00 KB (0.00%)
stream.ts 9.83 KB 9.83 KB 0.00 KB (0.00%)

@tristanz
tristanz marked this pull request as ready for review September 19, 2026 14:35
@tim-smart
tim-smart merged commit 106af64 into Effect-TS:main Sep 20, 2026
8 of 10 checks passed
tristanz added a commit to continual-ai/company-os that referenced this pull request Sep 22, 2026
Effect 4.0.0-rc.117 includes the merged savepoint cleanup
([#8308](Effect-TS/effect#8308)) and regclass
codecs ([#8309](Effect-TS/effect#8309)). Upgrade
the aligned Effect packages and remove the obsolete pnpm patch, patch
documentation, and custom regclass registration. Keep the timestamp
precision codec.

Verified both fixes in the published packages; all upgraded packages
satisfy the 24-hour minimum release age.

Validation: `pnpm check`, `pnpm test` (499 tests), `pnpm build`, and
`git diff --check` pass. Existing savepoint, regclass, migration, and
reset regressions pass without the workarounds. No new tests.

<!-- codesmith:footer -->
---
<a
href="https://app.blacksmith.sh/continual-ai/codesmith/company-os/pr/7?ref=codesmith_pr_footer"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v2.svg"><img
alt="View with [code]smith"
src="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg"></picture></a>
<a
href="https://backend.blacksmith.sh/track/enable-autofix?expires=1792684133&installation_model_id=20102&pr_number=7&ref=codesmith_pr_footer&repository=continual-ai%2Fcompany-os&return_to=https%3A%2F%2Fgithub.com%2Fcontinual-ai%2Fcompany-os%2Fpull%2F7&signature=8b438d2067d8d1548fa14ef5b02ca43acbfe47ec4d57c2f978c0be2b5c9a9e97"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg"><img
alt="Autofix with [code]smith"
src="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg"></picture></a>
<sup>Need help on this PR? Tag <code>@codesmith-bot</code> with what you
need. Autofix is disabled.</sup>

<!-- codesmith:autofix:disabled -->
<!-- /codesmith:footer -->
arrudaricardo pushed a commit to arrudaricardo/effect that referenced this pull request Sep 23, 2026

This branch is waiting to be deployed

1 waiting deployment
fork — bed00a18 Waiting Sep 19, 2026 by tim-smart via approval-gate #15380
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.0 bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants