@intentius/chant-lexicon-sql 0.121.1 → 0.123.0

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 (219) hide show
  1. package/README.md +1 -1
  2. package/dist/clickhouse/catalog-types.d.ts +8 -0
  3. package/dist/clickhouse/catalog-types.d.ts.map +1 -1
  4. package/dist/clickhouse/entities.d.ts +37 -11
  5. package/dist/clickhouse/entities.d.ts.map +1 -1
  6. package/dist/clickhouse/import/generator.d.ts.map +1 -1
  7. package/dist/clickhouse/overlays/codecs.d.ts.map +1 -1
  8. package/dist/clickhouse/overlays/kinds.d.ts +1 -1
  9. package/dist/clickhouse/overlays/kinds.d.ts.map +1 -1
  10. package/dist/clickhouse/overlays/types.d.ts.map +1 -1
  11. package/dist/clickhouse/plan/commands.d.ts.map +1 -1
  12. package/dist/clickhouse/row-types.d.ts +30 -0
  13. package/dist/clickhouse/row-types.d.ts.map +1 -0
  14. package/dist/clickhouse/type-syntax.d.ts +33 -0
  15. package/dist/clickhouse/type-syntax.d.ts.map +1 -0
  16. package/dist/clickhouse.d.ts +1 -1
  17. package/dist/clickhouse.d.ts.map +1 -1
  18. package/dist/codegen/clickhouse-module.d.ts.map +1 -1
  19. package/dist/codegen/postgres-module.d.ts.map +1 -1
  20. package/dist/core/index.d.ts +4 -0
  21. package/dist/core/index.d.ts.map +1 -1
  22. package/dist/core/typed.d.ts +132 -0
  23. package/dist/core/typed.d.ts.map +1 -0
  24. package/dist/generated/clickhouse.d.ts +7 -1
  25. package/dist/generated/clickhouse.d.ts.map +1 -1
  26. package/dist/generated/postgres.d.ts +6 -0
  27. package/dist/generated/postgres.d.ts.map +1 -1
  28. package/dist/integrity.json +27 -5
  29. package/dist/lint/audit-catalog.d.ts.map +1 -1
  30. package/dist/lint/post-synth/audit-entries.d.ts.map +1 -1
  31. package/dist/lint/post-synth/clickhouse-type-check.d.ts +37 -0
  32. package/dist/lint/post-synth/clickhouse-type-check.d.ts.map +1 -0
  33. package/dist/lint/post-synth/index.d.ts.map +1 -1
  34. package/dist/lint/post-synth/postgres-audit-entries.d.ts.map +1 -1
  35. package/dist/lint/post-synth/postgres-names.d.ts +151 -0
  36. package/dist/lint/post-synth/postgres-names.d.ts.map +1 -0
  37. package/dist/lint/post-synth/sql101.d.ts +9 -0
  38. package/dist/lint/post-synth/sql101.d.ts.map +1 -0
  39. package/dist/lint/post-synth/sql102.d.ts +16 -0
  40. package/dist/lint/post-synth/sql102.d.ts.map +1 -0
  41. package/dist/lint/post-synth/sqlch121.d.ts +10 -0
  42. package/dist/lint/post-synth/sqlch121.d.ts.map +1 -0
  43. package/dist/lint/post-synth/sqlch122.d.ts +10 -0
  44. package/dist/lint/post-synth/sqlch122.d.ts.map +1 -0
  45. package/dist/lint/post-synth/sqlch123.d.ts +9 -0
  46. package/dist/lint/post-synth/sqlch123.d.ts.map +1 -0
  47. package/dist/lint/post-synth/sqlch124.d.ts +6 -0
  48. package/dist/lint/post-synth/sqlch124.d.ts.map +1 -0
  49. package/dist/lint/post-synth/sqlch125.d.ts +11 -0
  50. package/dist/lint/post-synth/sqlch125.d.ts.map +1 -0
  51. package/dist/lint/post-synth/sqlch126.d.ts +12 -0
  52. package/dist/lint/post-synth/sqlch126.d.ts.map +1 -0
  53. package/dist/lint/post-synth/sqlch127.d.ts +22 -0
  54. package/dist/lint/post-synth/sqlch127.d.ts.map +1 -0
  55. package/dist/lint/post-synth/sqlpg119.d.ts +18 -0
  56. package/dist/lint/post-synth/sqlpg119.d.ts.map +1 -0
  57. package/dist/lint/post-synth/sqlpg120.d.ts +17 -0
  58. package/dist/lint/post-synth/sqlpg120.d.ts.map +1 -0
  59. package/dist/lint/post-synth/sqlpg121.d.ts +12 -0
  60. package/dist/lint/post-synth/sqlpg121.d.ts.map +1 -0
  61. package/dist/lint/post-synth/sqlpg122.d.ts +12 -0
  62. package/dist/lint/post-synth/sqlpg122.d.ts.map +1 -0
  63. package/dist/lint/post-synth/sqlpg123.d.ts +17 -0
  64. package/dist/lint/post-synth/sqlpg123.d.ts.map +1 -0
  65. package/dist/lint/post-synth/sqlpg124.d.ts +16 -0
  66. package/dist/lint/post-synth/sqlpg124.d.ts.map +1 -0
  67. package/dist/lint/post-synth/sqlpg125.d.ts +17 -0
  68. package/dist/lint/post-synth/sqlpg125.d.ts.map +1 -0
  69. package/dist/lint/post-synth/sqlpg126.d.ts +19 -0
  70. package/dist/lint/post-synth/sqlpg126.d.ts.map +1 -0
  71. package/dist/lint/rules/index.d.ts +3 -1
  72. package/dist/lint/rules/index.d.ts.map +1 -1
  73. package/dist/lint/rules/sqlch004.d.ts +19 -0
  74. package/dist/lint/rules/sqlch004.d.ts.map +1 -0
  75. package/dist/lint/rules/sqlpg005.d.ts +18 -0
  76. package/dist/lint/rules/sqlpg005.d.ts.map +1 -0
  77. package/dist/lint/rules/typed-names.d.ts +43 -0
  78. package/dist/lint/rules/typed-names.d.ts.map +1 -0
  79. package/dist/manifest.json +1 -1
  80. package/dist/okf/index.md +19 -0
  81. package/dist/okf/rules/SQL101.md +23 -0
  82. package/dist/okf/rules/SQL102.md +11 -0
  83. package/dist/okf/rules/SQLCH004.md +11 -0
  84. package/dist/okf/rules/SQLCH121.md +11 -0
  85. package/dist/okf/rules/SQLCH122.md +11 -0
  86. package/dist/okf/rules/SQLCH123.md +11 -0
  87. package/dist/okf/rules/SQLCH124.md +18 -0
  88. package/dist/okf/rules/SQLCH125.md +11 -0
  89. package/dist/okf/rules/SQLCH126.md +15 -0
  90. package/dist/okf/rules/SQLCH127.md +15 -0
  91. package/dist/okf/rules/SQLPG005.md +11 -0
  92. package/dist/okf/rules/SQLPG119.md +16 -0
  93. package/dist/okf/rules/SQLPG120.md +16 -0
  94. package/dist/okf/rules/SQLPG121.md +11 -0
  95. package/dist/okf/rules/SQLPG122.md +15 -0
  96. package/dist/okf/rules/SQLPG123.md +16 -0
  97. package/dist/okf/rules/SQLPG124.md +11 -0
  98. package/dist/okf/rules/SQLPG125.md +11 -0
  99. package/dist/okf/rules/SQLPG126.md +11 -0
  100. package/dist/okf/types/Dictionary.md +4 -0
  101. package/dist/okf/types/Function.md +5 -0
  102. package/dist/okf/types/Grant.md +6 -0
  103. package/dist/okf/types/MaterializedView.md +1 -0
  104. package/dist/okf/types/PostgresDefaultPrivileges.md +4 -0
  105. package/dist/okf/types/PostgresDomain.md +2 -0
  106. package/dist/okf/types/PostgresEnum.md +1 -0
  107. package/dist/okf/types/PostgresFunction.md +4 -0
  108. package/dist/okf/types/PostgresGrant.md +5 -0
  109. package/dist/okf/types/PostgresPolicy.md +4 -0
  110. package/dist/okf/types/PostgresProcedure.md +4 -0
  111. package/dist/okf/types/PostgresSequence.md +2 -0
  112. package/dist/okf/types/PostgresTrigger.md +4 -0
  113. package/dist/okf/types/RowPolicy.md +4 -0
  114. package/dist/okf/types/Table.md +1 -0
  115. package/dist/okf/types/View.md +1 -0
  116. package/dist/postgres/entities.d.ts +38 -9
  117. package/dist/postgres/entities.d.ts.map +1 -1
  118. package/dist/postgres/import/generator.d.ts.map +1 -1
  119. package/dist/postgres/overlays/extension-objects.d.ts +28 -0
  120. package/dist/postgres/overlays/extension-objects.d.ts.map +1 -0
  121. package/dist/postgres/overlays/types.d.ts +10 -0
  122. package/dist/postgres/overlays/types.d.ts.map +1 -1
  123. package/dist/postgres/row-types.d.ts +17 -0
  124. package/dist/postgres/row-types.d.ts.map +1 -0
  125. package/dist/postgres/testing/migration.d.ts +3 -2
  126. package/dist/postgres/testing/migration.d.ts.map +1 -1
  127. package/dist/postgres.d.ts +1 -1
  128. package/dist/postgres.d.ts.map +1 -1
  129. package/dist/rules/audit-entries.ts +7 -0
  130. package/dist/rules/clickhouse-type-check.ts +173 -0
  131. package/dist/rules/postgres-audit-entries.ts +8 -0
  132. package/dist/rules/postgres-names.ts +510 -0
  133. package/dist/rules/sql101.ts +62 -0
  134. package/dist/rules/sql102.ts +34 -0
  135. package/dist/rules/sqlch004.ts +81 -0
  136. package/dist/rules/sqlch121.ts +12 -0
  137. package/dist/rules/sqlch122.ts +12 -0
  138. package/dist/rules/sqlch123.ts +11 -0
  139. package/dist/rules/sqlch124.ts +21 -0
  140. package/dist/rules/sqlch125.ts +56 -0
  141. package/dist/rules/sqlch126.ts +57 -0
  142. package/dist/rules/sqlch127.ts +128 -0
  143. package/dist/rules/sqlpg005.ts +73 -0
  144. package/dist/rules/sqlpg119.ts +37 -0
  145. package/dist/rules/sqlpg120.ts +70 -0
  146. package/dist/rules/sqlpg121.ts +32 -0
  147. package/dist/rules/sqlpg122.ts +28 -0
  148. package/dist/rules/sqlpg123.ts +63 -0
  149. package/dist/rules/sqlpg124.ts +47 -0
  150. package/dist/rules/sqlpg125.ts +40 -0
  151. package/dist/rules/sqlpg126.ts +37 -0
  152. package/dist/rules/typed-names.ts +120 -0
  153. package/dist/sql-types-command.d.ts +19 -0
  154. package/dist/sql-types-command.d.ts.map +1 -0
  155. package/dist/sql-types.d.ts +53 -0
  156. package/dist/sql-types.d.ts.map +1 -0
  157. package/package.json +2 -2
  158. package/src/clickhouse/catalog-types.ts +9 -0
  159. package/src/clickhouse/dictionary.test.ts +1 -1
  160. package/src/clickhouse/entities.ts +79 -14
  161. package/src/clickhouse/import/generator.ts +7 -1
  162. package/src/clickhouse/import/roundtrip.test.ts +1 -1
  163. package/src/clickhouse/overlays/codecs.ts +6 -2
  164. package/src/clickhouse/overlays/kinds.ts +1 -1
  165. package/src/clickhouse/overlays/types.ts +20 -3
  166. package/src/clickhouse/plan/commands.ts +5 -0
  167. package/src/clickhouse/row-types.ts +158 -0
  168. package/src/clickhouse/type-syntax.ts +82 -0
  169. package/src/clickhouse.ts +10 -0
  170. package/src/codegen/clickhouse-module.ts +15 -1
  171. package/src/codegen/postgres-module.ts +43 -0
  172. package/src/composites/composites.test.ts +7 -6
  173. package/src/core/index.ts +4 -0
  174. package/src/core/typed.ts +143 -0
  175. package/src/generated/clickhouse.ts +1905 -6
  176. package/src/generated/postgres.ts +2639 -0
  177. package/src/lint/audit-catalog.ts +28 -0
  178. package/src/lint/post-synth/audit-entries.ts +7 -0
  179. package/src/lint/post-synth/clickhouse-catalog-checks.test.ts +315 -0
  180. package/src/lint/post-synth/clickhouse-type-check.ts +173 -0
  181. package/src/lint/post-synth/index.ts +34 -0
  182. package/src/lint/post-synth/postgres-audit-entries.ts +8 -0
  183. package/src/lint/post-synth/postgres-checks.test.ts +214 -1
  184. package/src/lint/post-synth/postgres-names.ts +510 -0
  185. package/src/lint/post-synth/sql101.ts +62 -0
  186. package/src/lint/post-synth/sql102.ts +34 -0
  187. package/src/lint/post-synth/sqlch121.ts +12 -0
  188. package/src/lint/post-synth/sqlch122.ts +12 -0
  189. package/src/lint/post-synth/sqlch123.ts +11 -0
  190. package/src/lint/post-synth/sqlch124.ts +21 -0
  191. package/src/lint/post-synth/sqlch125.ts +56 -0
  192. package/src/lint/post-synth/sqlch126.ts +57 -0
  193. package/src/lint/post-synth/sqlch127.ts +128 -0
  194. package/src/lint/post-synth/sqlpg119.ts +37 -0
  195. package/src/lint/post-synth/sqlpg120.ts +70 -0
  196. package/src/lint/post-synth/sqlpg121.ts +32 -0
  197. package/src/lint/post-synth/sqlpg122.ts +28 -0
  198. package/src/lint/post-synth/sqlpg123.ts +63 -0
  199. package/src/lint/post-synth/sqlpg124.ts +47 -0
  200. package/src/lint/post-synth/sqlpg125.ts +40 -0
  201. package/src/lint/post-synth/sqlpg126.ts +37 -0
  202. package/src/lint/rules/index.ts +4 -2
  203. package/src/lint/rules/sqlch004.ts +81 -0
  204. package/src/lint/rules/sqlpg005.ts +73 -0
  205. package/src/lint/rules/typed-names.test.ts +151 -0
  206. package/src/lint/rules/typed-names.ts +120 -0
  207. package/src/op/__snapshots__/watch-pipeline.test.ts.snap +3 -3
  208. package/src/postgres/entities.ts +65 -12
  209. package/src/postgres/import/generator.ts +7 -1
  210. package/src/postgres/overlays/extension-objects.ts +100 -0
  211. package/src/postgres/overlays/types.ts +25 -0
  212. package/src/postgres/row-types.ts +111 -0
  213. package/src/postgres.ts +10 -0
  214. package/src/sql-types-command.ts +99 -0
  215. package/src/sql-types-staleness.test.ts +110 -0
  216. package/src/sql-types.test.ts +132 -0
  217. package/src/sql-types.ts +352 -0
  218. package/src/typecheck.test.ts +12 -3
  219. package/src/typed-columns.test.ts +92 -0
package/README.md CHANGED
@@ -11,7 +11,7 @@ chant is spec-true per dialect, not database-agnostic. A dialect's engines, colu
11
11
  What the package holds:
12
12
 
13
13
  - SQL-shaped tagged templates that parse each dialect's DDL at build time into entities, with references, dependency order and column-level lineage for views. ClickHouse has `database`, `table`, `view` and materialized views; Postgres has schemas, tables, indexes, views, materialized views, sequences, enum types, domains and extensions. `chant build` writes a JSON schema document and the statements, in creation order, to `clickhouse.sql` or `postgres.sql`.
14
- - Lint at the token (SQLCH001 to SQLCH003, SQLPG001 to SQLPG004) and after the build (SQLCH101 to SQLCH120, SQLPG101 to SQLPG118), checked against what the pinned server accepts.
14
+ - Lint at the token (SQLCH001 to SQLCH004, SQLPG001 to SQLPG005) and after the build (SQLCH101 to SQLCH120, SQLPG101 to SQLPG118), checked against what the pinned server accepts.
15
15
  - Type catalogs generated from pinned servers and committed as snapshots: `clickhouse/clickhouse-server:26.8.15.10`'s `system.*` tables, and one Postgres server per major from 14 to 18, with hand-written overlays for the grammar a catalog does not carry.
16
16
  - Composites for both dialects, among them events, audit-log, soft-delete and tenant tables, rollup and refreshed views, and a CDC mirror.
17
17
 
@@ -49,6 +49,14 @@ export interface TypeFamilySpec {
49
49
  canonical: string;
50
50
  caseInsensitive: boolean;
51
51
  }
52
+ /** A function the server has: \`system.functions\`. */
53
+ export interface FunctionSpec {
54
+ aggregate: boolean;
55
+ /** The server resolves the name in any case. */
56
+ caseInsensitive: boolean;
57
+ /** The function this name is an alias of. */
58
+ aliasOf?: string;
59
+ }
52
60
  export interface CodecSpec {
53
61
  compression: boolean;
54
62
  generic: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-types.d.ts","sourceRoot":"","sources":["../../src/clickhouse/catalog-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;AAElE,gHAAgH;AAChH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,6FAA6F;IAC7F,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,kBAAkB,CAAC;IACjC,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,iDAAiD;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"catalog-types.d.ts","sourceRoot":"","sources":["../../src/clickhouse/catalog-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;AAElE,gHAAgH;AAChH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,6FAA6F;IAC7F,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,kBAAkB,CAAC;IACjC,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,iDAAiD;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,gDAAgD;IAChD,eAAe,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;CACnB"}
@@ -41,9 +41,11 @@ import { type TemplateDialect } from "../core/interpolation.js";
41
41
  import { SqlObject } from "../core/entity.js";
42
42
  import type { LineageEdge } from "../core/references.js";
43
43
  import { SqlLiteral } from "../core/template.js";
44
+ import { type ColumnsIn, type Named, type RowIn, type SlotsIn, type Unnamed } from "../core/typed.js";
44
45
  export { SQL_LEXICON } from "../core/entity.js";
45
46
  export type { LineageEdge } from "../core/references.js";
46
47
  export { SqlLiteral, SqlTemplateError, templateParts, unescapeTemplateDelimiters } from "../core/template.js";
48
+ export type { AnyColumn, Column, ColumnTraits, KeyColumn, Named, NotNullColumn, UncheckedColumn, Unnamed } from "../core/typed.js";
47
49
  export declare const CLICKHOUSE_ENTITY_TYPES: {
48
50
  readonly database: "ClickHouse::Database";
49
51
  readonly table: "ClickHouse::Table";
@@ -186,16 +188,28 @@ export interface ClickHouseDatabase extends ClickHouseObject {
186
188
  readonly entityType: "ClickHouse::Database";
187
189
  readonly props: DatabaseProps;
188
190
  }
189
- /** A table or a view: something with columns that SQL can reference. */
190
- export interface ClickHouseRelation extends ClickHouseObject {
191
+ /**
192
+ * Every ClickHouse table, view and dictionary the project declares, keyed by
193
+ * its qualified name (`shop.events`). Empty here; the `sql-types.d.ts` that
194
+ * `chant sql types` writes augments it, and a tag given the name as its type
195
+ * argument reads its columns from there.
196
+ */
197
+ export interface SqlSchema {
198
+ }
199
+ /**
200
+ * A table or a view: something with columns that SQL can reference. `N` is
201
+ * its qualified name when its tag was given one (`` table<"shop.events">`...` ``):
202
+ * its columns are then the generated declarations' entry for that name.
203
+ */
204
+ export interface ClickHouseRelation<N extends string = string> extends ClickHouseObject, Named<N> {
191
205
  /** One reference per column, by name: `${events.columns.user_id}`. */
192
- readonly columns: Readonly<Record<string, AttrRef>>;
206
+ readonly columns: ColumnsIn<SqlSchema, N>;
193
207
  }
194
- export interface ClickHouseTable extends ClickHouseRelation {
208
+ export interface ClickHouseTable<N extends string = string> extends ClickHouseRelation<N> {
195
209
  readonly entityType: "ClickHouse::Table";
196
210
  readonly props: TableProps;
197
211
  }
198
- export interface ClickHouseView extends ClickHouseRelation {
212
+ export interface ClickHouseView<N extends string = string> extends ClickHouseRelation<N> {
199
213
  readonly entityType: "ClickHouse::View" | "ClickHouse::MaterializedView";
200
214
  readonly props: ViewProps;
201
215
  }
@@ -300,10 +314,17 @@ export interface ClickHouseGrant extends ClickHouseObject {
300
314
  readonly props: GrantProps;
301
315
  }
302
316
  /** A dictionary: its attributes are columns `dictGet` reads, so SQL can reference them. */
303
- export interface ClickHouseDictionary extends ClickHouseRelation {
317
+ export interface ClickHouseDictionary<N extends string = string> extends ClickHouseRelation<N> {
304
318
  readonly entityType: "ClickHouse::Dictionary";
305
319
  readonly props: DictionaryProps;
306
320
  }
321
+ /**
322
+ * A declared table's, view's or dictionary's row, for application code:
323
+ * `RowOf<typeof events>` for a declaration given its name, or
324
+ * `RowOf<"shop.users">` by name, which also covers an object only a `.sql`
325
+ * file declares.
326
+ */
327
+ export type RowOf<T extends keyof SqlSchema | Named<keyof SqlSchema & string>> = RowIn<SqlSchema, T>;
307
328
  export declare function isClickHouseObject(value: unknown): value is ClickHouseObject;
308
329
  /** A column reference: an AttrRef whose parent is a ClickHouse table or view. */
309
330
  export declare function isColumnRef(value: unknown): value is AttrRef;
@@ -313,19 +334,24 @@ export declare function quoteIdentifier(name: string): string;
313
334
  export declare const CLICKHOUSE_TEMPLATES: TemplateDialect;
314
335
  /** `` database`CREATE DATABASE ...` ``: one ClickHouse database, parsed at build time. */
315
336
  export declare function database(strings: TemplateStringsArray, ...values: unknown[]): ClickHouseDatabase;
316
- /** `` table`CREATE TABLE ...` ``: one ClickHouse table, parsed at build time. */
317
- export declare function table(strings: TemplateStringsArray, ...values: unknown[]): ClickHouseTable;
337
+ /**
338
+ * `` table`CREATE TABLE ...` ``: one ClickHouse table, parsed at build time.
339
+ * Given its qualified name as the type argument (`` table<"shop.events">`...` ``),
340
+ * its columns are the ones `chant sql types` declared for that name.
341
+ */
342
+ export declare function table<const N extends string = Unnamed>(strings: TemplateStringsArray, ...values: SlotsIn<SqlSchema, N>): ClickHouseTable<N>;
318
343
  /**
319
344
  * `` view`CREATE [MATERIALIZED] VIEW ...` ``: one view or materialized view,
320
- * with the tables it reads and its column lineage.
345
+ * with the tables it reads and its column lineage. Takes its qualified name
346
+ * as the type argument, as {@link table} does.
321
347
  */
322
- export declare function view(strings: TemplateStringsArray, ...values: unknown[]): ClickHouseView;
348
+ export declare function view<const N extends string = Unnamed>(strings: TemplateStringsArray, ...values: SlotsIn<SqlSchema, N>): ClickHouseView<N>;
323
349
  /**
324
350
  * `` dictionary`CREATE DICTIONARY ...` ``: one dictionary, its attributes,
325
351
  * key, source, layout and lifetime, parsed at build time (#3682). Its
326
352
  * attributes are columns: `${rates.columns.rate}`.
327
353
  */
328
- export declare function dictionary(strings: TemplateStringsArray, ...values: unknown[]): ClickHouseDictionary;
354
+ export declare function dictionary<const N extends string = Unnamed>(strings: TemplateStringsArray, ...values: SlotsIn<SqlSchema, N>): ClickHouseDictionary<N>;
329
355
  /**
330
356
  * `` func`CREATE FUNCTION ...` ``: one SQL user-defined function, a lambda
331
357
  * with a name (#3682). It belongs to no database, and has no comment, so it
@@ -1 +1 @@
1
- {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/clickhouse/entities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/clickhouse/entities.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/clickhouse/import/generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAKjE,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AACD,KAAK,IAAI,GAAG,cAAc,CAAC;AAE3B,uHAAuH;AACvH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,CAYpJ,CAAC;AA+EF,0DAA0D;AAC1D,eAAO,MAAM,QAAQ,GAAI,MAAM,YAAY,KAAG,MAA0F,CAAC;AAEzI;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,GAAE,SAAS,IAAI,EAAU,GAAG;IAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,CA2BlJ;AAOD,qBAAa,mBAAoB,YAAW,mBAAmB;IAGjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAFpC,QAAQ,CAAC,UAAU,QAAQ;gBAEE,MAAM,CAAC,EAAE,MAAM,YAAA;IAE5C,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,aAAa,EAAE;CAuB1C"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/clickhouse/import/generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAKjE,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AACD,KAAK,IAAI,GAAG,cAAc,CAAC;AAE3B,uHAAuH;AACvH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,CAYpJ,CAAC;AA+EF,0DAA0D;AAC1D,eAAO,MAAM,QAAQ,GAAI,MAAM,YAAY,KAAG,MAA0F,CAAC;AAEzI;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,GAAE,SAAS,IAAI,EAAU,GAAG;IAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,CA2BlJ;AAYD,qBAAa,mBAAoB,YAAW,mBAAmB;IAGjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAFpC,QAAQ,CAAC,UAAU,QAAQ;gBAEE,MAAM,CAAC,EAAE,MAAM,YAAA;IAE5C,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,aAAa,EAAE;CAuB1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../../../src/clickhouse/overlays/codecs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,kGAAkG;IAClG,UAAU,EAAE,SAAS,CAAC,eAAe,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,GAAG,SAAS,CAAC;IACxE;;;;OAIG;IACH,IAAI,EAAE,eAAe,GAAG,aAAa,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;CAC5E;AASD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAiCtD,CAAC"}
1
+ {"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../../../src/clickhouse/overlays/codecs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,kGAAkG;IAClG,UAAU,EAAE,SAAS,CAAC,eAAe,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,GAAG,SAAS,CAAC;IACxE;;;;OAIG;IACH,IAAI,EAAE,eAAe,GAAG,aAAa,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;CAC5E;AAUD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAoCtD,CAAC"}
@@ -28,7 +28,7 @@ export interface ArgumentOverlay {
28
28
  kind: ArgumentKind;
29
29
  /** Overrides the syntax line's optionality, with `note` saying why. */
30
30
  optional?: boolean;
31
- /** The legal values of a `keyword`. */
31
+ /** The legal values of a `keyword`, or of a `number` limited to a set (a codec's byte width: 1, 2, 4 or 8). */
32
32
  values?: readonly string[];
33
33
  /** The inclusive range of a `number`. */
34
34
  range?: readonly [number, number];
@@ -1 +1 @@
1
- {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../../../src/clickhouse/overlays/kinds.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,YAAY;AACtB,wCAAwC;AACtC,QAAQ;AACV,uCAAuC;GACrC,SAAS;AACX,+CAA+C;GAC7C,YAAY;AACd,qDAAqD;GACnD,YAAY;AACd,wBAAwB;GACtB,QAAQ;AACV,yBAAyB;GACvB,QAAQ;AACV,kDAAkD;GAChD,SAAS;AACX,2CAA2C;GACzC,MAAM;AACR,iGAAiG;GAC/F,UAAU;AACZ,+CAA+C;GAC7C,OAAO,CAAC;AAEZ,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../../../src/clickhouse/overlays/kinds.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,YAAY;AACtB,wCAAwC;AACtC,QAAQ;AACV,uCAAuC;GACrC,SAAS;AACX,+CAA+C;GAC7C,YAAY;AACd,qDAAqD;GACnD,YAAY;AACd,wBAAwB;GACtB,QAAQ;AACV,yBAAyB;GACvB,QAAQ;AACV,kDAAkD;GAChD,SAAS;AACX,2CAA2C;GACzC,MAAM;AACR,iGAAiG;GAC/F,UAAU;AACZ,+CAA+C;GAC7C,OAAO,CAAC;AAEZ,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+GAA+G;IAC/G,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/clickhouse/overlays/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAUD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CA0BpE,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAuB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/clickhouse/overlays/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAoBD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAiCpE,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/clickhouse/plan/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAe,KAAK,UAAU,EAAwB,MAAM,QAAQ,CAAC;AAM5E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAyD9C,wBAAsB,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBvE;AAED,mFAAmF;AACnF,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAyBvJ;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYvE;AAED,eAAO,MAAM,WAAW,EAAE,YAOzB,CAAC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/clickhouse/plan/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAe,KAAK,UAAU,EAAwB,MAAM,QAAQ,CAAC;AAM5E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAyD9C,wBAAsB,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBvE;AAED,mFAAmF;AACnF,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAyBvJ;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYvE;AAED,eAAO,MAAM,WAAW,EAAE,YAYzB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * What a ClickHouse column's value is in TypeScript, for `RowOf` (#3751): the
3
+ * value a row has in ClickHouse's JSON formats (`JSONEachRow`, what the HTTP
4
+ * clients read) with the server's default settings. 64-bit and wider
5
+ * integers are quoted (`output_format_json_quote_64bit_integers`), so they
6
+ * are strings; narrower integers, floats and decimals are numbers; dates,
7
+ * times, UUIDs and addresses are their text; a named tuple is an object
8
+ * (`output_format_json_named_tuples_as_objects`) and an unnamed one an array.
9
+ * `Nullable(T)` adds `| null` and `LowCardinality(T)` is `T`.
10
+ *
11
+ * The table names every type family of the pinned server's catalog
12
+ * (`TYPE_FAMILIES`, aliases resolved), and a test fails on one it does not,
13
+ * so a family a new release adds is a decision rather than a silent
14
+ * `unknown`.
15
+ */
16
+ import type { ColumnTypeFamily } from "../generated/clickhouse-types.js";
17
+ import { type TypeParam } from "./type-syntax.js";
18
+ /** How a family's parameters make its row type: `inner` maps a parameter that is itself a type. */
19
+ type Composed = (params: readonly TypeParam[], inner: (type: string) => string) => string;
20
+ /** The TypeScript type of each type family's value, or how its parameters make it. */
21
+ export declare const CLICKHOUSE_ROW_TYPES: Readonly<Record<ColumnTypeFamily, string | Composed>>;
22
+ /** A type's row type, wrappers and all; `unknown` for a type this cannot read. */
23
+ export declare function clickhouseTsType(type: string): string;
24
+ /** A column's row type and whether it can be NULL: `Nullable(...)` at the top, under any `LowCardinality(...)`. */
25
+ export declare function clickhouseRowType(type: string): {
26
+ ts: string;
27
+ nullable: boolean;
28
+ };
29
+ export {};
30
+ //# sourceMappingURL=row-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-types.d.ts","sourceRoot":"","sources":["../../src/clickhouse/row-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAGrE,mGAAmG;AACnG,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,KAAK,MAAM,CAAC;AAmB1F,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,GAAG,QAAQ,CAAC,CA+EtF,CAAC;AAcF,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED,mHAAmH;AACnH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAUjF"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * A column type, read into its family and parameters: `Nullable(String)` is
3
+ * the family `Nullable` with the one parameter `String`;
4
+ * `DateTime64(3, 'UTC')` is `DateTime64` with `3` and `'UTC'`.
5
+ *
6
+ * The reading is lexical, over the same tokenizer the parser uses, so a
7
+ * string literal holding a parenthesis (`Enum8('a(' = 1)`) or a comma does not
8
+ * split a parameter. What a parameter means (a type, a number, a name) is the
9
+ * caller's question, answered from `TYPE_PARAMETERS`.
10
+ */
11
+ import { type Token } from "./tokens.js";
12
+ export interface TypeParam {
13
+ /** The parameter as written, trimmed. */
14
+ text: string;
15
+ tokens: Token[];
16
+ }
17
+ export interface TypeSyntax {
18
+ /** The words before the parameters: `UInt64`, `BIGINT UNSIGNED`, or `a String` for a named tuple element. */
19
+ words: Token[];
20
+ /** The parameters, or undefined when the type has no parentheses. */
21
+ params?: TypeParam[];
22
+ }
23
+ /** The significant tokens of a type, or undefined when it does not tokenize. */
24
+ export declare function typeTokens(text: string): Token[] | undefined;
25
+ /**
26
+ * Read a type into its leading words and its parameters. Undefined when the
27
+ * text is not a type this can read: no leading name, or unbalanced parentheses.
28
+ * Anything after the closing parenthesis (`COLLATE utf8`) is ignored.
29
+ */
30
+ export declare function readType(tokens: readonly Token[]): TypeSyntax | undefined;
31
+ /** A parameter that is a numeric literal, possibly negative: its value. */
32
+ export declare function numericParam(param: TypeParam): number | undefined;
33
+ //# sourceMappingURL=type-syntax.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-syntax.d.ts","sourceRoot":"","sources":["../../src/clickhouse/type-syntax.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAA0B,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,6GAA6G;IAC7G,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,qEAAqE;IACrE,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAID,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,SAAS,CAM5D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,UAAU,GAAG,SAAS,CA8BzE;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAMjE"}
@@ -7,7 +7,7 @@
7
7
  * server's own, read from its `system.*` tables, and the argument grammar the
8
8
  * catalog does not carry comes from the overlays beside them.
9
9
  */
10
- export { database, table, view, dictionary, func, user, role, policy, grant, literal, SqlLiteral, SqlTemplateError, ClickHouseObject, CLICKHOUSE_ENTITY_TYPES, isClickHouseObject, isColumnRef, quoteIdentifier, type ClickHouseEntityType, type ClickHouseDatabase, type ClickHouseDictionary, type ClickHouseFunction, type FunctionProps, type ClickHouseUser, type ClickHouseRole, type ClickHouseRowPolicy, type ClickHouseGrant, type UserProps, type RoleProps, type RowPolicyProps, type GrantProps, type DictionaryAttributeDef, type DictionaryProps, type ClickHouseRelation, type ClickHouseTable, type ClickHouseView, type ColumnDef, type DatabaseProps, type EngineDef, type LineageEdge, type TableProps, type ViewProps, } from "./clickhouse/entities.js";
10
+ export { database, table, view, dictionary, func, user, role, policy, grant, literal, SqlLiteral, SqlTemplateError, ClickHouseObject, CLICKHOUSE_ENTITY_TYPES, isClickHouseObject, isColumnRef, quoteIdentifier, type ClickHouseEntityType, type ClickHouseDatabase, type ClickHouseDictionary, type ClickHouseFunction, type FunctionProps, type ClickHouseUser, type ClickHouseRole, type ClickHouseRowPolicy, type ClickHouseGrant, type UserProps, type RoleProps, type RowPolicyProps, type GrantProps, type DictionaryAttributeDef, type DictionaryProps, type ClickHouseRelation, type ClickHouseTable, type ClickHouseView, type ColumnDef, type DatabaseProps, type EngineDef, type LineageEdge, type TableProps, type ViewProps, type SqlSchema, type RowOf, type Column, type ColumnTraits, type AnyColumn, type UncheckedColumn, type KeyColumn, type NotNullColumn, type Named, type Unnamed, } from "./clickhouse/entities.js";
11
11
  export * from "./generated/clickhouse.js";
12
12
  export * from "./composites/clickhouse.js";
13
13
  export type * from "./clickhouse/catalog-types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"clickhouse.d.ts","sourceRoot":"","sources":["../src/clickhouse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,GACf,MAAM,uBAAuB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,mBAAmB,4BAA4B,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjG,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,KAAK,SAAS,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,cAAc,GACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"clickhouse.d.ts","sourceRoot":"","sources":["../src/clickhouse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,OAAO,GACb,MAAM,uBAAuB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,mBAAmB,4BAA4B,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjG,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,KAAK,SAAS,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,cAAc,GACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clickhouse-module.d.ts","sourceRoot":"","sources":["../../src/codegen/clickhouse-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,iBAAiB,CAAC;AA6BrE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAmED,MAAM,WAAW,cAAc;IAC7B,0GAA0G;IAC1G,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAqJjF"}
1
+ {"version":3,"file":"clickhouse-module.d.ts","sourceRoot":"","sources":["../../src/codegen/clickhouse-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,iBAAiB,CAAC;AA6BrE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAmED,MAAM,WAAW,cAAc;IAC7B,0GAA0G;IAC1G,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAmKjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-module.d.ts","sourceRoot":"","sources":["../../src/codegen/postgres-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAMV,eAAe,EAGhB,MAAM,0BAA0B,CAAC;AA6GlC,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,sBAAsB,CA8RjG"}
1
+ {"version":3,"file":"postgres-module.d.ts","sourceRoot":"","sources":["../../src/codegen/postgres-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAMV,eAAe,EAGhB,MAAM,0BAA0B,CAAC;AA6GlC,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,sBAAsB,CAyUjG"}
@@ -25,6 +25,9 @@
25
25
  * (`classifier.ts`);
26
26
  * - normalization helpers that are not a database's grammar, such as the
27
27
  * `-- previously:` hint (`normalize.ts`);
28
+ * - typed columns: the brands, `ColumnsIn`, `SlotsIn` and `RowIn` each
29
+ * dialect's `SqlSchema` is read through, and the slot record a tag leaves
30
+ * for `chant sql types` (`typed.ts`);
28
31
  * - the ownership trailer on an object's comment (`ownership.ts`);
29
32
  * - receipts kept on the server (`receipts.ts`);
30
33
  * - the applier's tri-state outcome, its envelope projection and the build
@@ -53,6 +56,7 @@ export * from "./references.js";
53
56
  export * from "./diff.js";
54
57
  export * from "./classifier.js";
55
58
  export * from "./normalize.js";
59
+ export * from "./typed.js";
56
60
  export * from "./ownership.js";
57
61
  export * from "./receipts.js";
58
62
  export * from "./apply.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Typed columns (#3751): the types that carry a relation's columns from the
3
+ * declarations `chant sql types` generates to `tsc`, in every dialect.
4
+ *
5
+ * Each dialect declares an empty `SqlSchema` interface keyed by qualified
6
+ * name, and the generated `sql-types.d.ts` augments it. A tag given the name
7
+ * as its type argument (`` table<"shop.orders">`CREATE TABLE ...` ``) returns
8
+ * a relation whose `columns` are that entry's, each a {@link Column} branded
9
+ * with its SQL type. The tag's interpolations are typed by the entry's
10
+ * `slots`: the generator writes, per `${}` position, the column a foreign key
11
+ * or a sort key there must be ({@link KeyColumn}, {@link NotNullColumn}).
12
+ *
13
+ * A relation with no type argument, or one the generated file does not list
14
+ * yet, keeps unchecked columns: any name type-checks and every slot takes
15
+ * them, so a project adopts the type argument one declaration at a time.
16
+ *
17
+ * The runtime half is the record of those slots: a tag notes which `${}`
18
+ * feeds a foreign key's column list or a sort key, off the serialized output
19
+ * as `setInterpolationFields` keeps its record, for the generator to read.
20
+ */
21
+ import type { AttrRef } from "@intentius/chant/attrref";
22
+ declare const columnBrand: unique symbol;
23
+ declare const checkedBrand: unique symbol;
24
+ declare const relationName: unique symbol;
25
+ declare const unnamedBrand: unique symbol;
26
+ /** What the generator knows about a column. */
27
+ export interface ColumnTraits {
28
+ /** The row type `RowOf` gives the column, before `| null`. */
29
+ readonly ts: unknown;
30
+ readonly nullable: boolean;
31
+ /**
32
+ * How the column compares in a key. Postgres: the catalog category letter
33
+ * (`N`, `S`), or the type itself for the user-defined category, an enum or
34
+ * a row type; a domain compares as its base. ClickHouse: the type family.
35
+ */
36
+ readonly cmp: string;
37
+ }
38
+ /**
39
+ * A column reference branded with its SQL type, spelled as the catalog
40
+ * spells it. `Checked` is true for a column the generated declarations type,
41
+ * false for an unchecked one; it is a discriminant, so a slot's error names
42
+ * the checked member it wanted.
43
+ */
44
+ export interface Column<SqlType extends string = string, T extends ColumnTraits = ColumnTraits, Checked extends boolean = true> extends AttrRef {
45
+ readonly [columnBrand]: {
46
+ readonly sqlType: SqlType;
47
+ readonly traits: T;
48
+ };
49
+ readonly [checkedBrand]: Checked;
50
+ }
51
+ /** A column of a relation the declarations do not cover: any name type-checks, and it fits every slot. */
52
+ export type UncheckedColumn = Column<string, ColumnTraits, false>;
53
+ /** Any column, checked or not: what a relation annotated without a name (`PostgresTable`) holds. */
54
+ export type AnyColumn = Column<string, ColumnTraits, boolean>;
55
+ /**
56
+ * What a slot takes besides its checked column: an unchecked relation's
57
+ * column, which reads as `| undefined` under `noUncheckedIndexedAccess`. A
58
+ * checked relation's columns are named properties, so nothing of theirs gets
59
+ * through here.
60
+ */
61
+ type Unchecked = UncheckedColumn | undefined;
62
+ /** A `${}` that must be a column comparing as `Cmp`: the referenced column of a foreign key. */
63
+ export type KeyColumn<Cmp extends string> = Unchecked | Column<string, {
64
+ readonly ts: unknown;
65
+ readonly nullable: boolean;
66
+ readonly cmp: Cmp;
67
+ }>;
68
+ /** A `${}` that must be a column that cannot be NULL: an element of a ClickHouse sort key. */
69
+ export type NotNullColumn = Unchecked | Column<string, {
70
+ readonly ts: unknown;
71
+ readonly nullable: false;
72
+ readonly cmp: string;
73
+ }>;
74
+ /**
75
+ * The name a relation's type carries when its tag has no type argument. Its
76
+ * columns are unchecked, and `RowOf` refuses it.
77
+ */
78
+ export type Unnamed = string & {
79
+ readonly [unnamedBrand]: true;
80
+ };
81
+ /** Carries a relation's declared name on its type, so `RowOf<typeof t>` can find its entry. */
82
+ export interface Named<N extends string> {
83
+ readonly [relationName]?: N;
84
+ }
85
+ /**
86
+ * The columns of relation `N` in `Registry` (a dialect's `SqlSchema`):
87
+ * unchecked for an {@link Unnamed} relation or a name the registry does not
88
+ * list, any column for the bare annotation (`N` is `string`), and the
89
+ * entry's own otherwise.
90
+ */
91
+ export type ColumnsIn<Registry, N extends string> = [N] extends [Unnamed] ? Readonly<Record<string, UncheckedColumn>> : string extends N ? Readonly<Record<string, AnyColumn>> : N extends keyof Registry ? Registry[N] extends {
92
+ readonly columns: infer C;
93
+ } ? C : never : Readonly<Record<string, UncheckedColumn>>;
94
+ /** The interpolations a tag for relation `N` takes: the entry's slots, then anything. */
95
+ export type SlotsIn<Registry, N extends string> = N extends keyof Registry ? Registry[N] extends {
96
+ readonly slots: infer S extends readonly unknown[];
97
+ } ? [...S, ...unknown[]] : unknown[] : unknown[];
98
+ type RowFromColumns<C> = {
99
+ -readonly [K in keyof C]: C[K] extends Column<string, infer T> ? (T["nullable"] extends true ? T["ts"] | null : T["ts"]) : unknown;
100
+ };
101
+ /** A relation's row: `T` is its name or a relation's type carrying one. */
102
+ export type RowIn<Registry, T> = T extends string ? RowFromColumns<ColumnsIn<Registry, T>> : T extends Named<infer N> ? RowFromColumns<ColumnsIn<Registry, N>> : never;
103
+ /**
104
+ * One `${}` the generator types. `references`: a column in a foreign key's
105
+ * referenced column list, paired with `column`, the referencing table's own
106
+ * column at that position. `sortKey`: a bare element of a ClickHouse
107
+ * `ORDER BY` or `PRIMARY KEY`.
108
+ */
109
+ export type TypedSlot = {
110
+ readonly index: number;
111
+ readonly kind: "references";
112
+ readonly column: string;
113
+ } | {
114
+ readonly index: number;
115
+ readonly kind: "sortKey";
116
+ };
117
+ /** Record the typed slots on an entity: non-enumerable and symbol-keyed, so no serializer sees it. */
118
+ export declare function setTypedSlots(entity: object, slots: readonly TypedSlot[]): void;
119
+ /** What {@link setTypedSlots} recorded on an entity; empty when nothing was. */
120
+ export declare function getTypedSlots(entity: object): readonly TypedSlot[];
121
+ /**
122
+ * A relation's key in `SqlSchema`: `schema.name` (Postgres) or
123
+ * `database.name` (ClickHouse), unquoted and with Postgres's folding
124
+ * applied, or the name alone when the DDL does not qualify it.
125
+ */
126
+ export declare function relationKey(props: {
127
+ readonly schema?: string;
128
+ readonly database?: string;
129
+ readonly name: string;
130
+ }): string;
131
+ export {};
132
+ //# sourceMappingURL=typed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../../src/core/typed.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,16 @@
1
- import type { CodecSpec, DatabaseEngineSpec, SettingSpec, SkipIndexSpec, TableEngineSpec, TypeFamilySpec } from "../clickhouse/catalog-types.js";
1
+ import type { CodecSpec, DatabaseEngineSpec, FunctionSpec, SettingSpec, SkipIndexSpec, TableEngineSpec, TypeFamilySpec } from "../clickhouse/catalog-types.js";
2
2
  import type { CodecName, ColumnTypeName, DatabaseEngineName, MergeTreeSettings, QuerySettings, SkipIndexType, TableEngineName } from "./clickhouse-types.js";
3
3
  export * from "./clickhouse-types.js";
4
4
  export declare const TABLE_ENGINES: Readonly<Record<TableEngineName, TableEngineSpec>>;
5
5
  export declare const DATABASE_ENGINES: Readonly<Record<DatabaseEngineName, DatabaseEngineSpec>>;
6
6
  export declare const TYPE_FAMILIES: Readonly<Record<ColumnTypeName, TypeFamilySpec>>;
7
7
  export declare const CODECS: Readonly<Record<CodecName, CodecSpec>>;
8
+ /** Every function the server has (`system.functions`, origin System), aliases included. */
9
+ export declare const FUNCTIONS: Readonly<Record<string, FunctionSpec>>;
10
+ /** The aggregate function combinators (`system.aggregate_function_combinators`): the suffixes of `countIf`, `sumState`. */
11
+ export declare const AGGREGATE_COMBINATORS: readonly string[];
12
+ /** The table functions (`system.table_functions`): `numbers`, `remote`, `s3`. */
13
+ export declare const TABLE_FUNCTIONS: readonly string[];
8
14
  export declare const SKIP_INDEX_TYPES: Readonly<Record<SkipIndexType, SkipIndexSpec>>;
9
15
  export declare const MERGE_TREE_SETTINGS: Readonly<Record<keyof MergeTreeSettings, SettingSpec>>;
10
16
  export declare const QUERY_SETTINGS: Readonly<Record<keyof QuerySettings, SettingSpec>>;
@@ -1 +1 @@
1
- {"version":3,"file":"clickhouse.d.ts","sourceRoot":"","sources":["../../src/generated/clickhouse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC9I,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1J,cAAc,oBAAoB,CAAC;AAEnC,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,CAqF5E,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAkBrF,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CA8I1E,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAkBzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAU3E,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,iBAAiB,EAAE,WAAW,CAAC,CA4WtF,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,aAAa,EAAE,WAAW,CAAC,CAyxD7E,CAAC"}
1
+ {"version":3,"file":"clickhouse.d.ts","sourceRoot":"","sources":["../../src/generated/clickhouse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC5J,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1J,cAAc,oBAAoB,CAAC;AAEnC,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,CAqF5E,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAkBrF,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CA8I1E,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAkBzD,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAk2D5D,CAAC;AAEF,2HAA2H;AAC3H,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAA6I,CAAC;AAEjM,iFAAiF;AACjF,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAAizC,CAAC;AAE/1C,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAU3E,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,iBAAiB,EAAE,WAAW,CAAC,CA4WtF,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,aAAa,EAAE,WAAW,CAAC,CAyxD7E,CAAC"}
@@ -6,4 +6,10 @@ export declare const STORAGE_PARAMETERS: Readonly<Record<string, StorageParamete
6
6
  export declare const COLUMN_TYPES: Readonly<Record<TypeSqlName, ColumnTypeSpec>>;
7
7
  /** Every key word at the latest pinned major, by its `pg_get_keywords()` category: U unreserved, C column name, T type or function name, R reserved. */
8
8
  export declare const KEYWORDS: Readonly<Record<string, "U" | "C" | "T" | "R">>;
9
+ /** Every function, aggregate and procedure name in `pg_proc`, to the majors that have it (`true`: all of them). */
10
+ export declare const FUNCTIONS: Readonly<Record<string, true | readonly number[]>>;
11
+ /** The index access methods, to the majors that have each (`true`: all of them). */
12
+ export declare const INDEX_ACCESS_METHODS: Readonly<Record<string, true | readonly number[]>>;
13
+ /** The operator classes of each index access method, to the majors that have each (`true`: all of them). */
14
+ export declare const OPERATOR_CLASSES: Readonly<Record<string, Readonly<Record<string, true | readonly number[]>>>>;
9
15
  //# sourceMappingURL=postgres.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/generated/postgres.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACnG,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE9D,cAAc,kBAAkB,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,QAAQ,EAAE,WAAW,CAAC,CAyZlE,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAmC7E,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAmFtE,CAAC;AAEF,wJAAwJ;AACxJ,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CA+epE,CAAC"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/generated/postgres.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACnG,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE9D,cAAc,kBAAkB,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,QAAQ,EAAE,WAAW,CAAC,CAyZlE,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAmC7E,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAmFtE,CAAC;AAEF,wJAAwJ;AACxJ,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CA+epE,CAAC;AAEF,mHAAmH;AACnH,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,MAAM,EAAE,CAAC,CAi4ExE,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,MAAM,EAAE,CAAC,CAOnF,CAAC;AAEF,4GAA4G;AAC5G,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC,CA8LzG,CAAC"}