Skip to content

Add schema-specialized RowBinary encoders - #406

Open
ruslandoga wants to merge 2 commits into
masterfrom
rd/add-schema-encoders
Open

Add schema-specialized RowBinary encoders#406
ruslandoga wants to merge 2 commits into
masterfrom
rd/add-schema-encoders

Conversation

@ruslandoga

@ruslandoga ruslandoga commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Adds Ch.RowBinary.Encoder for compile-time map, struct, and list-row specialization, with deterministic column ordering and validated table identifiers for generated insert bodies. Generated schemas bypass generic type dispatch through the same canonical type helpers used by Ch.RowBinary.encode/2, avoiding duplicated encoding semantics; fixed-width binary coalescing was benchmarked and omitted because it regressed performance. Adds Ch.RowBinary.prepare/1 plus a repeated apples-to-apples benchmark covering fixed rows, mixed list rows, map extraction, compile time, and BEAM size. Documents both APIs and adds parity, validation, ordering, and prepared-plan coverage; the full suite passes with 483 tests.

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