Skip to content

fix(sql-pg): support regclass binary values - #8309

Merged
tim-smart merged 5 commits into
Effect-TS:mainfrom
tristanz:codex/pg-regclass-codec
Sep 19, 2026
Merged

tim-smart merged 5 commits into
Effect-TS:mainfrom
tristanz:codex/pg-regclass-codec

Conversation

@tristanz

@tristanz tristanz commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

The PostgreSQL driver treats unregistered regclass results as UTF-8, producing strings or decoding errors. This also affects the migration runner's table-existence query.

Reuse the unsigned OID codec for regclass and register regclass[] with the existing array machinery. Values decode as numeric OIDs; callers wanting relation names can cast to text in SQL, for example SELECT 'public.orders'::regclass::text.

Validation: the scalar regression and existing array cases fail before the fix and pass afterward. All 119 codec and migrator tests pass, along with pnpm lint-fix and pnpm check. A temporary PostgreSQL probe verified scalar/array results and repeated migration runs.

Closes EFF-1424

@changeset-bot

changeset-bot Bot commented Sep 19, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: a295f98

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

This PR includes changesets to release 31 packages
Name Type
@effect/sql-pg Patch
effect 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-libsql Patch
@effect/sql-mssql Patch
@effect/sql-mysql2 Patch
@effect/sql-pglite Patch
@effect/sql-sqlite-bun Patch
@effect/sql-sqlite-do Patch
@effect/sql-sqlite-node Patch
@effect/sql-sqlite-react-native Patch
@effect/sql-sqlite-wasm 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

@effect-janitor effect-janitor Bot added bug Something isn't working 4.0 labels Sep 19, 2026
@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%)

@tim-smart
tim-smart enabled auto-merge (squash) September 19, 2026 22:19
@tim-smart
tim-smart merged commit 7869f54 into Effect-TS:main Sep 19, 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
Co-authored-by: Tim Smart <hello@timsmart.co>

This branch is waiting to be deployed

1 waiting deployment
fork — a295f987 Waiting Sep 19, 2026 by tim-smart via approval-gate #15364
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