@typed-sql/postgres 2.0.0 → 2.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/CHANGELOG.md +147 -0
  2. package/README.md +17 -0
  3. package/dist/packages/postgres/src/bulk.d.ts.map +1 -1
  4. package/dist/packages/postgres/src/bulk.js +1 -1
  5. package/dist/packages/postgres/src/bulk.js.map +1 -1
  6. package/dist/packages/postgres/src/capabilities.d.ts +19 -0
  7. package/dist/packages/postgres/src/capabilities.d.ts.map +1 -0
  8. package/dist/packages/postgres/src/capabilities.js +120 -0
  9. package/dist/packages/postgres/src/capabilities.js.map +1 -0
  10. package/dist/packages/postgres/src/catalog/generated/14.d.ts +4 -0
  11. package/dist/packages/postgres/src/catalog/generated/14.d.ts.map +1 -0
  12. package/dist/packages/postgres/src/catalog/generated/14.js +2018 -0
  13. package/dist/packages/postgres/src/catalog/generated/14.js.map +1 -0
  14. package/dist/packages/postgres/src/catalog/generated/15.d.ts +4 -0
  15. package/dist/packages/postgres/src/catalog/generated/15.d.ts.map +1 -0
  16. package/dist/packages/postgres/src/catalog/generated/15.js +2012 -0
  17. package/dist/packages/postgres/src/catalog/generated/15.js.map +1 -0
  18. package/dist/packages/postgres/src/catalog/generated/16.d.ts +4 -0
  19. package/dist/packages/postgres/src/catalog/generated/16.d.ts.map +1 -0
  20. package/dist/packages/postgres/src/catalog/generated/16.js +2012 -0
  21. package/dist/packages/postgres/src/catalog/generated/16.js.map +1 -0
  22. package/dist/packages/postgres/src/catalog/generated/17.d.ts +4 -0
  23. package/dist/packages/postgres/src/catalog/generated/17.d.ts.map +1 -0
  24. package/dist/packages/postgres/src/catalog/generated/17.js +2012 -0
  25. package/dist/packages/postgres/src/catalog/generated/17.js.map +1 -0
  26. package/dist/packages/postgres/src/catalog/generated/18.d.ts +4 -0
  27. package/dist/packages/postgres/src/catalog/generated/18.d.ts.map +1 -0
  28. package/dist/packages/postgres/src/catalog/generated/18.js +2048 -0
  29. package/dist/packages/postgres/src/catalog/generated/18.js.map +1 -0
  30. package/dist/packages/postgres/src/catalog/generated/19.d.ts +4 -0
  31. package/dist/packages/postgres/src/catalog/generated/19.d.ts.map +1 -0
  32. package/dist/packages/postgres/src/catalog/generated/19.js +2048 -0
  33. package/dist/packages/postgres/src/catalog/generated/19.js.map +1 -0
  34. package/dist/packages/postgres/src/catalog/index.d.ts +14 -0
  35. package/dist/packages/postgres/src/catalog/index.d.ts.map +1 -0
  36. package/dist/packages/postgres/src/catalog/index.js +86 -0
  37. package/dist/packages/postgres/src/catalog/index.js.map +1 -0
  38. package/dist/packages/postgres/src/catalog/types.d.ts +46 -0
  39. package/dist/packages/postgres/src/catalog/types.d.ts.map +1 -0
  40. package/dist/packages/postgres/src/catalog/types.js +2 -0
  41. package/dist/packages/postgres/src/catalog/types.js.map +1 -0
  42. package/dist/packages/postgres/src/expression-evidence.d.ts +11 -0
  43. package/dist/packages/postgres/src/expression-evidence.d.ts.map +1 -0
  44. package/dist/packages/postgres/src/expression-evidence.js +33 -0
  45. package/dist/packages/postgres/src/expression-evidence.js.map +1 -0
  46. package/dist/packages/postgres/src/extensions.d.ts +61 -0
  47. package/dist/packages/postgres/src/extensions.d.ts.map +1 -0
  48. package/dist/packages/postgres/src/extensions.js +311 -0
  49. package/dist/packages/postgres/src/extensions.js.map +1 -0
  50. package/dist/packages/postgres/src/index.d.ts +13 -0
  51. package/dist/packages/postgres/src/index.d.ts.map +1 -1
  52. package/dist/packages/postgres/src/index.js +51 -17
  53. package/dist/packages/postgres/src/index.js.map +1 -1
  54. package/dist/packages/postgres/src/parser/index.d.ts +8 -0
  55. package/dist/packages/postgres/src/parser/index.d.ts.map +1 -0
  56. package/dist/packages/postgres/src/parser/index.js +4 -0
  57. package/dist/packages/postgres/src/parser/index.js.map +1 -0
  58. package/dist/packages/postgres/src/parser/parser.d.ts +14 -0
  59. package/dist/packages/postgres/src/parser/parser.d.ts.map +1 -0
  60. package/dist/packages/postgres/src/parser/parser.js +2683 -0
  61. package/dist/packages/postgres/src/parser/parser.js.map +1 -0
  62. package/dist/packages/postgres/src/parser/tokenizer.d.ts +15 -0
  63. package/dist/packages/postgres/src/parser/tokenizer.d.ts.map +1 -0
  64. package/dist/packages/postgres/src/parser/tokenizer.js +470 -0
  65. package/dist/packages/postgres/src/parser/tokenizer.js.map +1 -0
  66. package/dist/packages/postgres/src/parser/types.d.ts +652 -0
  67. package/dist/packages/postgres/src/parser/types.d.ts.map +1 -0
  68. package/dist/packages/postgres/src/parser/types.js +9 -0
  69. package/dist/packages/postgres/src/parser/types.js.map +1 -0
  70. package/dist/packages/postgres/src/parser/walk.d.ts +13 -0
  71. package/dist/packages/postgres/src/parser/walk.d.ts.map +1 -0
  72. package/dist/packages/postgres/src/parser/walk.js +374 -0
  73. package/dist/packages/postgres/src/parser/walk.js.map +1 -0
  74. package/dist/packages/postgres/src/pg.d.ts +35 -4
  75. package/dist/packages/postgres/src/pg.d.ts.map +1 -1
  76. package/dist/packages/postgres/src/pg.js +355 -40
  77. package/dist/packages/postgres/src/pg.js.map +1 -1
  78. package/dist/packages/postgres/src/prepared.d.ts +5 -3
  79. package/dist/packages/postgres/src/prepared.d.ts.map +1 -1
  80. package/dist/packages/postgres/src/prepared.js +23 -15
  81. package/dist/packages/postgres/src/prepared.js.map +1 -1
  82. package/dist/packages/postgres/src/provider.d.ts +149 -11
  83. package/dist/packages/postgres/src/provider.d.ts.map +1 -1
  84. package/dist/packages/postgres/src/provider.js +652 -42
  85. package/dist/packages/postgres/src/provider.js.map +1 -1
  86. package/dist/packages/postgres/src/resolver.d.ts +1 -1
  87. package/dist/packages/postgres/src/resolver.d.ts.map +1 -1
  88. package/dist/packages/postgres/src/resolver.js +2767 -203
  89. package/dist/packages/postgres/src/resolver.js.map +1 -1
  90. package/dist/packages/postgres/src/routing.d.ts.map +1 -1
  91. package/dist/packages/postgres/src/routing.js +1 -1
  92. package/dist/packages/postgres/src/routing.js.map +1 -1
  93. package/dist/packages/postgres/src/runtime-compatibility.d.ts +14 -0
  94. package/dist/packages/postgres/src/runtime-compatibility.d.ts.map +1 -0
  95. package/dist/packages/postgres/src/runtime-compatibility.js +63 -0
  96. package/dist/packages/postgres/src/runtime-compatibility.js.map +1 -0
  97. package/dist/packages/postgres/src/runtime.d.ts +10 -1
  98. package/dist/packages/postgres/src/runtime.d.ts.map +1 -1
  99. package/dist/packages/postgres/src/runtime.js +50 -2
  100. package/dist/packages/postgres/src/runtime.js.map +1 -1
  101. package/dist/packages/postgres/src/semantics.d.ts +1 -1
  102. package/dist/packages/postgres/src/semantics.d.ts.map +1 -1
  103. package/dist/packages/postgres/src/semantics.js +19 -6
  104. package/dist/packages/postgres/src/semantics.js.map +1 -1
  105. package/dist/packages/postgres/src/support.d.ts +29 -0
  106. package/dist/packages/postgres/src/support.d.ts.map +1 -0
  107. package/dist/packages/postgres/src/support.js +45 -0
  108. package/dist/packages/postgres/src/support.js.map +1 -0
  109. package/dist/packages/postgres/src/type-policy.d.ts.map +1 -1
  110. package/dist/packages/postgres/src/type-policy.js +34 -43
  111. package/dist/packages/postgres/src/type-policy.js.map +1 -1
  112. package/dist/packages/postgres/src/type-resolution.d.ts +33 -0
  113. package/dist/packages/postgres/src/type-resolution.d.ts.map +1 -0
  114. package/dist/packages/postgres/src/type-resolution.js +906 -0
  115. package/dist/packages/postgres/src/type-resolution.js.map +1 -0
  116. package/package.json +7 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,152 @@
1
1
  # @typed-sql/postgres
2
2
 
3
+ ## 2.1.0-rc.1
4
+
5
+ ### Patch Changes
6
+
7
+ - af8882c: Preserve domain evidence from legacy snapshots and schema-qualified v2 introspection during PostgreSQL operator resolution so parameters compared with domain-typed columns retain their inferred base type.
8
+
9
+ ## 2.1.0-rc.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 1c64475: Add the grammar-neutral parser toolkit and move first-party parsing, ASTs, tokenization, and walking into each grammar package. The historical multi-dialect AST parser is isolated as a deprecated typed-sql 2.x compatibility surface for removal in 3.0.
14
+ - e433feb: Allow non-empty arrays of typed SQL fragments to be interpolated directly as homogeneous,
15
+ comma-separated structure. Add fail-closed compiler analysis for direct map callbacks and fragment
16
+ literals, cardinality-independent artifacts, bounded prepared-cardinality caches, shared grammar
17
+ conformance, and runtime limits while preserving ordinary arrays as single bound values.
18
+ - 1c64475: Complete PostgreSQL grouping-set, ordered/hypothetical aggregate, window-frame, lateral function,
19
+ `ROWS FROM`, ordinality, table-sampling, and pagination analysis. Grouping legality, window
20
+ inheritance and modifiers, record-returning functions, null-padded function rows, and version-stable
21
+ query clauses now infer exact or deliberately conservative types with source diagnostics.
22
+ - 1c64475: Infer PostgreSQL `UNION`, `INTERSECT`, and `EXCEPT` rows and recursive CTE seed/member contracts,
23
+ including PostgreSQL 14+ `SEARCH` and `CYCLE` generated columns. Invalid compound arity, missing
24
+ `WITH RECURSIVE`, misplaced seed terms, unsafe self-reference shapes, and invalid generated-column
25
+ references now fail closed with stable diagnostics and source spans.
26
+ - 00ee816: Add a public, versioned PostgreSQL extension manifest API for types, routines, operators, casts,
27
+ codecs, and optional driver-neutral introspection. Manifests activate from installed extension
28
+ version evidence, participate in fail-closed query analysis and snapshot generation, and report
29
+ unsupported versions or conflicting declarations with stable diagnostics.
30
+ - 77355fe: Complete PostgreSQL snapshot v2 introspection evidence for partition relationships, partition
31
+ strategies, search-path and role-scoped catalog visibility, routine parallel safety, record results,
32
+ and distinct `anyelement` and `anycompatible` polymorphic families. The provider keeps role names
33
+ out of serialized artifacts while making the visibility boundary explicit.
34
+ - ff0e3bb: Harden PostgreSQL execution with policy-owned scalar and array codecs, runtime extension codec OID
35
+ resolution, generated-snapshot compatibility checks, bounded per-connection prepared-statement
36
+ caches with schema and search-path invalidation, and structured driver failure classifications.
37
+ Keep the shared `TSQ230` diagnostic registry text grammar-neutral.
38
+ - 1c64475: Publish the grammar-owned PostgreSQL support policy for upstream-supported majors 14 through 18,
39
+ the exact current minor selected for each differential target, PostgreSQL 19 beta as a canary, and
40
+ the deprecation window used when an upstream major reaches end of life.
41
+ - 6f5b977: Resolve PostgreSQL operators and snapshot v2 routines through a grammar-owned candidate selector
42
+ that uses canonical types, cast contexts, preferred categories, unknown-literal rules, domains,
43
+ arrays, ranges, enums, and the `anyelement` and `anycompatible` polymorphic families.
44
+ Named, defaulted, expanded-variadic, and explicit-variadic routine calls now select against snapshot
45
+ argument evidence, while known invalid explicit casts produce a stable diagnostic.
46
+ The versioned core catalog now recognizes PostgreSQL temporal, bit-string, network, geometric,
47
+ full-text, XML, range, multirange, object-identifier, and related scalar types. Unary numeric and
48
+ bitwise operators, plus binary integer and bit-string operators, now resolve through typed
49
+ candidates and reject invalid operands. Date, timestamp, time, and interval arithmetic now uses
50
+ asymmetric PostgreSQL signatures, with parameter inference deferred until candidate selection.
51
+ Built-in range/multirange containment and arithmetic, network containment and address arithmetic,
52
+ full-text search composition, JSON-path predicates and deletion, and their multi-character tokens
53
+ now use exact grammar-owned signatures.
54
+ Geometric transformation, position, intersection, distance, containment, and relationship operators
55
+ now resolve through their exact operand and result signatures, including prefix forms.
56
+ Numeric promotion, mathematical prefix, bit-string shift, binary/JSON/text concatenation, money,
57
+ `pg_lsn`, and tuple-identifier operators now use catalog-derived signatures and coercions.
58
+ Array subscripts infer nullable element types, slices preserve the array type, omitted bounds are
59
+ represented explicitly, index parameters infer `integer`, and nested array mappings retain every dimension.
60
+ `ANY`, `SOME`, and `ALL` comparisons now resolve array elements or single-column subqueries through
61
+ the operator catalog, while row comparisons validate arity and select an operator for each field pair.
62
+ Parenthesized composite field selection now uses snapshot v2 field evidence for its database type,
63
+ TypeScript type, nullability, parameter context, and unknown-field diagnostics.
64
+ `COLLATE` now preserves collatable expression types, and `AT TIME ZONE` resolves PostgreSQL's exact
65
+ timestamp, timestamp-with-time-zone, and time-with-time-zone conversions with text or interval zones.
66
+ PostgreSQL 17 and newer also resolve and version-gate the corresponding `AT LOCAL` forms.
67
+ Scalar and row-valued `IN` lists and subqueries now validate equality candidates, numeric literals,
68
+ row arity, composite field comparability, nullability, and per-position parameter contexts.
69
+ The versioned cast catalogs now include every direct `pg_cast` conversion among shipped core types
70
+ for PostgreSQL 14 through 18, including the PostgreSQL 15 geometric removal and PostgreSQL 18
71
+ integer/bytea additions. Automatic assignment-to-string and explicit string I/O casts follow the
72
+ server's fallback conversion rules.
73
+ PostgreSQL interval literals now parse prefix precision, every valid field and field-range qualifier,
74
+ suffix second precision, and qualified interval cast types while retaining typed-literal source spans.
75
+ All forms resolve through the canonical `interval` type, and invalid field ranges fail during parsing.
76
+ JSON, JSONB, and JSONPATH typed literals now preserve their grammar-owned cast form. The core catalog
77
+ and resolver cover `jsonb_path_exists`, `jsonb_path_match`, query-array, query-first, and set-returning
78
+ query variants, including timezone-aware forms, optional variables/silent arguments, and nullability.
79
+ Database parameter identities are now retained even when their configured TypeScript mapping is
80
+ `unknown`, so JSON and other deliberately opaque codecs still produce typed prepared parameters.
81
+ PostgreSQL 17 and newer now parse and resolve the grammar-owned `JSON_EXISTS` SQL/JSON expression,
82
+ including formatted inputs, `PASSING` variables, error behavior, parameter identities, nullability,
83
+ and server-version diagnostics.
84
+ The grammar-owned PostgreSQL 17 `JSON_QUERY` form also resolves returning types, JSON output formats,
85
+ wrapper and quote behavior, constant `ON EMPTY` and `ON ERROR` defaults, and exact output nullability.
86
+ PostgreSQL 17 `JSON_VALUE` now resolves scalar return types and behaviors while preserving its
87
+ always-possible SQL null result for JSON null and rejecting unsupported collection or format clauses.
88
+ PostgreSQL 16 and newer now parse and resolve the standard `JSON_OBJECT` and `JSON_ARRAY`
89
+ constructors, including key/value and query forms, null handling, unique-key declarations, formatted
90
+ inputs, encoded returns, parameter identities, non-null output types, and server-version diagnostics.
91
+ Legacy and quoted `json_object(...)` calls remain ordinary catalog-backed routine calls.
92
+ PostgreSQL 17 and newer also own `JSON`, `JSON_SCALAR`, and `JSON_SERIALIZE`, including JSON-compatible
93
+ inputs, uniqueness declarations, scalar and composite conversion, string or binary returns, UTF-8
94
+ encoding, parameter inference, null propagation, and version diagnostics. The overlapping pre-17
95
+ functional `json(...)` cast keeps its earlier cast semantics.
96
+ PostgreSQL 16 and newer now own `IS JSON` and `IS NOT JSON` predicates across value, scalar,
97
+ array, object, and unique-key constraints, with JSON-compatible input validation, text parameter
98
+ inference, SQL-null propagation, and server-version diagnostics.
99
+ PostgreSQL 16 and newer now also own the standard `JSON_OBJECTAGG` and `JSON_ARRAYAGG` grammar,
100
+ including null and uniqueness clauses, aggregate-local ordering, `FILTER`, `OVER`, formatted inputs,
101
+ encoded returns, grouping validation, parameter inference, nullable empty-input results, and
102
+ server-version diagnostics.
103
+ PostgreSQL 17 `JSON_TABLE` now owns its table-reference grammar and resolves root, ordinality,
104
+ scalar, formatted, `EXISTS`, and nested columns with implicit lateral scope, alias lists, declared
105
+ types, behavior validation, nested null-padding, and server-version diagnostics.
106
+
107
+ Expose optional routine argument names and default evidence through the neutral resolver bridge so
108
+ grammar packages can implement named, defaulted, and variadic call selection.
109
+ - 1c64475: Add deterministic generated PostgreSQL core catalogs for every supported major and the canary.
110
+ Type mapping, operator families, and built-in routine families now resolve from one version-selected
111
+ catalog revision instead of parallel hard-coded resolver lists.
112
+ - 1c64475: Complete PostgreSQL DML parsing and analysis for identity overriding, `ON CONFLICT` targets and the
113
+ `excluded` namespace, row assignments, source-aware update/delete returning, versioned `MERGE`, and
114
+ PostgreSQL 18 old/new `RETURNING` aliases. Version-dependent forms now use server-major evidence and
115
+ fail closed when that evidence is absent or outside the feature's supported range. Snapshot v2 index
116
+ evidence now verifies expression, operator-class, collation, and partial-predicate conflict targets,
117
+ while insert/select, update, and merge writes propagate parameter types and reject known-incompatible
118
+ source types.
119
+
120
+ The neutral resolver snapshot bridge now exposes optional index and constraint-deferrability evidence
121
+ so grammar packages can consume schema v2 conflict-target metadata without importing schema internals.
122
+ - 1c64475: Add canonical schema snapshot format 2 with isolated v1/v2 codecs, conservative v1 upgrades,
123
+ neutral relation/constraint/index/type/routine evidence, and complete provider introspection.
124
+ Resolvers now consume structural write and routine evidence, while drift, compatibility, manifests,
125
+ verification proofs, and plan artifacts bind to the schema format and canonical hash.
126
+
127
+ ### Patch Changes
128
+
129
+ - 81b888d: Cache PostgreSQL operator and capability resolution per schema snapshot so version-complete semantic analysis remains inside the compiler performance budget.
130
+ - 1c64475: Add deterministic versioned dialect capability states backed by normalized server versions,
131
+ settings, extensions, and compile options. Query manifests now invalidate on capability changes and
132
+ record evidence for capabilities each query uses, while the CLI exposes a human-readable capability
133
+ report. The boolean capability map remains available as an additive migration bridge.
134
+ - Updated dependencies [58bd4d1]
135
+ - Updated dependencies [58aa9ef]
136
+ - Updated dependencies [1c64475]
137
+ - Updated dependencies [65b662f]
138
+ - Updated dependencies [e433feb]
139
+ - Updated dependencies [0efc90c]
140
+ - Updated dependencies [ff0e3bb]
141
+ - Updated dependencies [6f5b977]
142
+ - Updated dependencies [1c64475]
143
+ - Updated dependencies [1c64475]
144
+ - Updated dependencies [1c64475]
145
+ - Updated dependencies [1c64475]
146
+ - @typed-sql/core@2.1.0-rc.0
147
+ - @typed-sql/ast@2.1.0-rc.0
148
+ - @typed-sql/schema@2.1.0-rc.0
149
+
3
150
  ## 2.0.0
4
151
 
5
152
  ### Major Changes
package/README.md CHANGED
@@ -35,6 +35,7 @@ const query = sql`
35
35
 
36
36
  const database = await createPgDatabase({
37
37
  connectionString: process.env.DATABASE_URL!,
38
+ compatibilitySnapshot: new URL("./generated/db/schema.json", import.meta.url),
38
39
  poolConfig: { pipeline: true },
39
40
  typePolicy,
40
41
  copyStreamsImporter: () => import("pg-copy-streams"),
@@ -74,6 +75,22 @@ The root also exports `createPostgresRoutedDatabase`, the runtime semantic resol
74
75
  transaction retry classifier. These compose application-owned adapters without installing or
75
76
  creating `pg` pools.
76
77
 
78
+ The stable grammar supports PostgreSQL majors 14 through 18 and is release-tested against exact
79
+ 14.24, 15.19, 16.15, 17.11, and 18.6 targets. `POSTGRES_SUPPORT_POLICY` exposes those per-major
80
+ targets, the separately reported PostgreSQL 19beta3 canary, and the upstream end-of-life deprecation
81
+ rule; future and prerelease majors remain conservative unless canary policy is selected explicitly.
82
+
83
+ Operator and snapshot-routine overloads use PostgreSQL-owned canonical types, cast contexts,
84
+ preferred categories, unknown-literal selection, and simple/common polymorphic families. Ambiguous
85
+ or incompatible candidates produce diagnostics instead of optimistic result types.
86
+
87
+ The grammar resolves PostgreSQL grouping sets and ordered aggregates, inherited and framed windows,
88
+ lateral function relations and `ROWS FROM`, `WITH ORDINALITY`, `TABLESAMPLE`, and `FETCH` pagination.
89
+ PostgreSQL DML includes identity overriding, snapshot-backed expression and partial-index
90
+ `ON CONFLICT` inference, action-scoped `excluded`, typed row/subquery assignments, versioned
91
+ `MERGE`, and PostgreSQL 18 old/new `RETURNING` namespaces.
92
+ Unsupported or structurally invalid forms fail closed with source diagnostics.
93
+
77
94
  Read the [PostgreSQL grammar guide](https://github.com/Lojhan/typed-sql/blob/main/docs/dialects/postgresql.md),
78
95
  [execution guide](https://github.com/Lojhan/typed-sql/blob/main/docs/guides/execution.md),
79
96
  [bulk data guide](https://github.com/Lojhan/typed-sql/blob/main/docs/guides/bulk-data.md),
@@ -1 +1 @@
1
- {"version":3,"file":"bulk.d.ts","sourceRoot":"","sources":["../../../../src/bulk.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,KAAK,EAEV,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AAOzB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;CAAG;AAEnE,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;CAAG;AAElE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,SAAS,OAAO,EAAE,EACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,EAC9C,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,EAC5C,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B,wEAAwE;IACxE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;CACvG;AAED,eAAO,MAAM,YAAY,qEAAmE,CAAC;AAqH7F,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,qBAAqB,GAAG,sBAAsB,CA2GrG"}
1
+ {"version":3,"file":"bulk.d.ts","sourceRoot":"","sources":["../../../../src/bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,KAAK,EAEV,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AAQzB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;CAAG;AAEnE,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;CAAG;AAElE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,SAAS,OAAO,EAAE,EACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,EAC9C,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,EAC5C,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B,wEAAwE;IACxE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;CACvG;AAED,eAAO,MAAM,YAAY,qEAAmE,CAAC;AAqH7F,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,qBAAqB,GAAG,sBAAsB,CA2GrG"}
@@ -1,5 +1,5 @@
1
- import { parseStatement } from "@typed-sql/ast";
2
1
  import { bindQueryRenderSkeleton, compileQueryRenderSkeleton, defineAdapterCapability, QueryCancelledError, } from "@typed-sql/core";
2
+ import { parseStatement } from "./parser/index.js";
3
3
  const postgresRenderer = Object.freeze({
4
4
  placeholder: (index) => `$${index}`,
5
5
  quoteIdentifier: (name) => `"${name.replaceAll('"', '""')}"`,
@@ -1 +1 @@
1
- {"version":3,"file":"bulk.js","sourceRoot":"","sources":["../../../../src/bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EAGvB,mBAAmB,GAGpB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,gBAAgB,GAAgB,MAAM,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE;IAC3C,eAAe,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG;CACrE,CAAC,CAAC;AAqCH,MAAM,CAAC,MAAM,YAAY,GAAG,uBAAuB,CAAyB,eAAe,CAAC,CAAC;AAE7F,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,MAAM,mBAAmB,GAAG,EAAE,GAAG,KAAK,CAAC;AAEvC,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,gBAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC9C,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAClF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,kDAAkD,CAAC,CAAC;QACtG,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;QACzG,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACnF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,IAAI,SAAS,CAAC,iCAAiC,OAAO,KAAK,SAAS,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrD,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AAC/D,CAAC;AAED,SAAS,MAAM,CAAC,MAA0B;IACxC,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB;IAC1C,MAAM,QAAQ,GAAG,KAAK,IAAI,mBAAmB,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,UAAU,CAAC,4DAA4D,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,cAAsB;IAC7D,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,IACE,SAAS,CAAC,IAAI,KAAK,QAAQ;QAC3B,SAAS,CAAC,IAAI,KAAK,SAAS;QAC5B,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;QACnC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;QAClC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAClC,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAChC,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAC9B,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,0HAA0H,CAC3H,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;IACzC,IACE,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,CAAC,MAAM;QAC1C,MAAM,CAAC,MAAM,KAAK,cAAc;QAChC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,EACrG,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,+EAA+E,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/J,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtF,OAAO,QAAQ,KAAK,KAAK,OAAO,gCAAgC,CAAC;AACnE,CAAC;AAED,SAAS,eAAe,CAAM,KAA8B;IAC1D,MAAM,EAAE,QAAQ,EAAE,GAAG,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAC9B,MAAM,IAAI,SAAS,CAAC,mEAAmE,CAAC,CAAC;IAC3F,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3C,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,SAAS,IAAI,+BAA+B,CAAC;AACtD,CAAC;AAED,SAAS,SAAS,CAAC,MAA+B;IAChD,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI;QAAE,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,aAAa,CAAQ,MAA8C;IAC1E,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC;QAAE,OAAQ,MAA+B,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAC5G,MAAM,QAAQ,GAAI,MAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChE,OAAO;QACL,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE;QACjC,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAO,EAAE,EAAE,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAA6B,EAAE,MAAc;IAChE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,SAAgC;IAC3E,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,CAAC,QAAQ,CACZ,QAA8C,EAC9C,IAA4C,EAC5C,OAAO,GAA4B,EAAE;YAErC,MAAM,mBAAmB,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1D,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,MAAM,aAAa,GAAG,KAAK,IAAmB,EAAE;gBAC9C,IAAI,cAAc,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;oBAAE,OAAO;gBAC5D,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC,CAAC;YACF,IAAI,KAA4B,CAAC;YACjC,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,MAAM,aAAa,EAAE,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,oCAAoC;gBACtC,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAErE,IAAI,UAA8B,CAAC;YACnC,IAAI,QAAoE,CAAC;YACzE,IAAI,SAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnC,QAAQ,GAAG,0BAA0B,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBACpE,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,MAAM,aAAa,EAAE,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,6CAA6C;gBAC/C,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,MAAM,MAAM,GAAG,CAAC,KAAK,SAAS,CAAC;gBAC7B,IAAI,OAAO,GAAiB,EAAE,CAAC;gBAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,OAAO,GAA0B,KAAK,CAAC;gBAC3C,IAAI,CAAC;oBACH,OAAO,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;wBAC7B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC1B,MAAM,KAAK,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACpE,MAAM,QAAQ,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACxG,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;4BAC3B,MAAM,IAAI,SAAS,CAAC,4DAA4D,CAAC,CAAC;wBACpF,CAAC;wBACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACxC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,mBAAmB,EAAE,CAAC;4BAChF,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;4BACjD,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC;4BAC9B,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;4BAC1E,MAAM,KAAK,CAAC;4BACZ,OAAO,GAAG,EAAE,CAAC;4BACb,YAAY,GAAG,CAAC,CAAC;wBACnB,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACtB,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;wBACnC,QAAQ,IAAI,CAAC,CAAC;wBACd,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAClC,CAAC;oBACD,aAAa,GAAG,IAAI,CAAC;oBACrB,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;wBACrB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;wBACjD,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC;wBAC9B,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;wBAC1E,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;wBAAE,MAAM,aAAa,EAAE,CAAC;gBACnD,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YAEL,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACH,MAAM,aAAa,EAAE,CAAC;oBACxB,CAAC;oBAAC,MAAM,CAAC;wBACP,4DAA4D;oBAC9D,CAAC;gBACH,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,CAAC,aAAa;gBAAE,MAAM,aAAa,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,CAAM,KAA8B,EAAE,OAAO,GAA0B,EAAE;YAC7E,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1B,OAAO,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"bulk.js","sourceRoot":"","sources":["../../../../src/bulk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type DialectCapabilityStates, type DialectServerEvidence } from "@typed-sql/core";
2
+ import type { PostgresSchemaSnapshot } from "./index.js";
3
+ import { type PostgresVersionPolicy } from "./support.js";
4
+ export type { PostgresVersionPolicy } from "./support.js";
5
+ export { parsePostgresMajor } from "./support.js";
6
+ export declare const POSTGRES_CAPABILITIES: Readonly<{
7
+ aggregateFilter: true;
8
+ arrays: true;
9
+ distinctOn: true;
10
+ fullJoins: true;
11
+ lockingReads: true;
12
+ recursiveCtes: true;
13
+ returning: true;
14
+ setOperations: true;
15
+ }>;
16
+ export declare function assertPostgresServerEvidence(server: DialectServerEvidence): void;
17
+ export declare function postgresServerEvidence(version: string, features?: readonly string[], settings?: Readonly<Record<string, string | boolean | number>>): DialectServerEvidence;
18
+ export declare function resolvePostgresCapabilities(snapshot: PostgresSchemaSnapshot, versionPolicy?: PostgresVersionPolicy): DialectCapabilityStates;
19
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAI3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAEL,KAAK,qBAAqB,EAG3B,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,eAAO,MAAM,qBAAqB;;;;;;;;;EAShC,CAAC;AAEH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAwBhF;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,SAAS,MAAM,EAAO,EAChC,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAM,GACjE,qBAAqB,CAUvB;AAgDD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,sBAAsB,EAChC,aAAa,GAAE,qBAAgC,GAC9C,uBAAuB,CAuEzB"}
@@ -0,0 +1,120 @@
1
+ import { defineDialectCapabilityStates, defineDialectServerEvidence, staticDialectCapabilityStates, } from "@typed-sql/core";
2
+ import { POSTGRES_SUPPORT_POLICY, parsePostgresMajor, postgresVersionSupport, } from "./support.js";
3
+ import { POSTGRES_DIALECT_VERSION } from "./version.js";
4
+ export { parsePostgresMajor } from "./support.js";
5
+ export const POSTGRES_CAPABILITIES = Object.freeze({
6
+ aggregateFilter: true,
7
+ arrays: true,
8
+ distinctOn: true,
9
+ fullJoins: true,
10
+ lockingReads: true,
11
+ recursiveCtes: true,
12
+ returning: true,
13
+ setOperations: true,
14
+ });
15
+ export function assertPostgresServerEvidence(server) {
16
+ const major = parsePostgresMajor(server.version);
17
+ if (major === undefined || parsePostgresMajor(server.versionKey) !== major) {
18
+ throw new TypeError("PostgreSQL server versionKey must match the normalized server major");
19
+ }
20
+ const settings = Object.keys(server.settings);
21
+ if (settings.some((key) => !["searchPath", "standardConformingStrings", "visibilityScope"].includes(key))) {
22
+ throw new TypeError("PostgreSQL server evidence contains a non-allowlisted semantic setting");
23
+ }
24
+ const strings = server.settings.standardConformingStrings;
25
+ if (strings !== undefined && strings !== "on" && strings !== "off") {
26
+ throw new TypeError("PostgreSQL standardConformingStrings evidence must be on or off");
27
+ }
28
+ const searchPath = server.settings.searchPath;
29
+ if (searchPath !== undefined && (typeof searchPath !== "string" || searchPath.length === 0)) {
30
+ throw new TypeError("PostgreSQL searchPath evidence must be a non-empty string");
31
+ }
32
+ const visibilityScope = server.settings.visibilityScope;
33
+ if (visibilityScope !== undefined && visibilityScope !== "current-role") {
34
+ throw new TypeError("PostgreSQL visibilityScope evidence must be current-role");
35
+ }
36
+ if (server.features.some((feature) => !/^[A-Za-z0-9_.-]+:[A-Za-z0-9_.+-]+$/u.test(feature))) {
37
+ throw new TypeError("PostgreSQL server features must be normalized extension name/version identities");
38
+ }
39
+ }
40
+ export function postgresServerEvidence(version, features = [], settings = {}) {
41
+ const major = parsePostgresMajor(version);
42
+ if (major === undefined)
43
+ throw new TypeError(`Cannot normalize PostgreSQL version ${JSON.stringify(version)}`);
44
+ return defineDialectServerEvidence({
45
+ product: "postgres",
46
+ version,
47
+ versionKey: String(major),
48
+ features: [...features],
49
+ settings,
50
+ });
51
+ }
52
+ function serverConditions(server, versionPolicy) {
53
+ return [
54
+ { kind: "policy", key: "versionChannel", value: versionPolicy },
55
+ ...server.features.map((feature) => ({ kind: "feature", key: feature, value: "present" })),
56
+ ...Object.entries(server.settings).map(([key, value]) => ({
57
+ kind: "setting",
58
+ key,
59
+ value: String(value),
60
+ })),
61
+ ];
62
+ }
63
+ function conservativeStates(reason, server, diagnostic = "TSQ402", versionPolicy = "stable") {
64
+ const evidence = [
65
+ { kind: "grammar", key: "grammarVersion", value: POSTGRES_DIALECT_VERSION },
66
+ ...(server === undefined ? [] : [{ kind: "server-version", key: "postgres", value: server.versionKey }]),
67
+ ...(server === undefined
68
+ ? [{ kind: "policy", key: "versionChannel", value: versionPolicy }]
69
+ : serverConditions(server, versionPolicy)),
70
+ ];
71
+ return defineDialectCapabilityStates(Object.fromEntries(Object.entries(POSTGRES_CAPABILITIES).map(([capability, supported]) => [
72
+ capability,
73
+ supported
74
+ ? { level: "conservative", reason, diagnostic, evidence }
75
+ : {
76
+ level: "unsupported",
77
+ reason: "This PostgreSQL grammar version does not implement the feature.",
78
+ diagnostic: "TSQ401",
79
+ evidence,
80
+ },
81
+ ])), Object.keys(POSTGRES_CAPABILITIES));
82
+ }
83
+ export function resolvePostgresCapabilities(snapshot, versionPolicy = "stable") {
84
+ let server = snapshot.server;
85
+ if (server === undefined && snapshot.version !== undefined) {
86
+ try {
87
+ server = postgresServerEvidence(snapshot.version);
88
+ }
89
+ catch {
90
+ return conservativeStates("The PostgreSQL server version could not be normalized.", undefined, "TSQ402", versionPolicy);
91
+ }
92
+ }
93
+ if (server === undefined) {
94
+ return conservativeStates("Exact support requires PostgreSQL server-version evidence.", undefined, "TSQ402", versionPolicy);
95
+ }
96
+ assertPostgresServerEvidence(server);
97
+ if (server.product !== "postgres") {
98
+ return conservativeStates(`${server.product} is not PostgreSQL server evidence.`, server, "TSQ403", versionPolicy);
99
+ }
100
+ const major = parsePostgresMajor(server.versionKey);
101
+ if (major === undefined) {
102
+ return conservativeStates("The PostgreSQL server version could not be normalized.", server, "TSQ402", versionPolicy);
103
+ }
104
+ const support = postgresVersionSupport(server.version, versionPolicy);
105
+ if (support === "prerelease") {
106
+ return conservativeStates("Pre-release PostgreSQL versions require an explicit canary support policy.", server, "TSQ403", versionPolicy);
107
+ }
108
+ if (support !== "supported" && support !== "canary") {
109
+ const minimum = POSTGRES_SUPPORT_POLICY.stableMajors[0];
110
+ const maximum = POSTGRES_SUPPORT_POLICY.stableMajors.at(-1);
111
+ return conservativeStates(`PostgreSQL ${major} is outside the tested ${minimum}-${maximum} support band.`, server, "TSQ403", versionPolicy);
112
+ }
113
+ if (server.settings.standardConformingStrings !== "on") {
114
+ return conservativeStates(server.settings.standardConformingStrings === undefined
115
+ ? "Exact PostgreSQL lexical analysis requires standard_conforming_strings evidence."
116
+ : "standard_conforming_strings=off is outside the exact lexical policy.", server, server.settings.standardConformingStrings === undefined ? "TSQ402" : "TSQ407", versionPolicy);
117
+ }
118
+ return staticDialectCapabilityStates(POSTGRES_CAPABILITIES, POSTGRES_DIALECT_VERSION, server, "TSQ401", serverConditions(server, versionPolicy));
119
+ }
120
+ //# sourceMappingURL=capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../../src/capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { PostgresCoreCatalog } from "../types.js";
2
+ declare const _default: PostgresCoreCatalog;
3
+ export default _default;
4
+ //# sourceMappingURL=14.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"14.d.ts","sourceRoot":"","sources":["../../../../../../src/catalog/generated/14.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;wBAk+DtC,mBAAmB"}