Repository navigation
feat: integrate SQL assets, named bindings, and branded scalar types - #256
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Imported SQL files currently sit outside query manifests and their verification, plan and migration-compatibility reports, and their factories only accept positional placeholders appearing once in order. Include literal SQL imports/re-exports from the configured TypeScript graph in those workflows and compile them through the same analysis used by runtime factories. Missing sources and stale manifests fail explicitly; artifacts retain original source locations without persisting SQL text or values.
Add named parameter objects across PostgreSQL, MySQL and SQLite and repeated/reordered numbered bindings. Factories bind repeated values independently, reject mixed styles, gaps and incompatible repeated contracts, and retain grammar-owned quoting, comment, SQL-mode and PostgreSQL array-slice behavior.
Add
Brand,brandValueandwithSchemaBrandsfor explicit scalar column/domain identities. Brands survive snapshot serialization, schema hashing, projections and column-context parameters; wire conversion and native verification continue to use the underlying scalar. External input must be validated before an application establishes a brand. Include a Changeset and public API contracts.Document the complete SQL-file and identity workflow, including manifest, live-verification, plan and migration evidence. Add SQL parameter bindings and Branded application IDs playground lessons for PostgreSQL, MySQL and SQLite. The browser shares the compiler’s SQL-file binding analyzer and reads brand configuration as literal data without executing it. Keep stable SQL-file build integrations in the main integration navigation.
Verification
pnpm verifypassed: quality/catalog checks, typechecking, package/example/contract tests, coverage thresholds, production build, documentation build and performance budgets.pnpm test:packpassed with isolated packed-consumer installation.vfkit exited unexpectedly with exit code 1). Native SQLite and the PostgreSQL/MySQL package suites passed. No real-server verification is claimed for the local run.Release impact
Correctness
Query<unknown>Separate expansion requests are tracked in #253 (SQL Server), #254 (DuckDB), and #255 (SQLite Wasm adapter). These issues remain open and are not implemented by this PR.