chkit 0.1.2-beta.7 → 0.2.0-beta.12

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 (322) hide show
  1. package/README.md +69 -56
  2. package/dist/bin/chkit.js +82 -31
  3. package/dist/bin/chkit.js.map +1 -1
  4. package/dist/commands/check/output.js +1 -1
  5. package/dist/commands/check/output.js.map +1 -1
  6. package/dist/commands/drift/command.d.ts.map +1 -1
  7. package/dist/commands/drift/command.js +9 -0
  8. package/dist/commands/drift/command.js.map +1 -1
  9. package/dist/commands/drift/compare.d.ts +52 -4
  10. package/dist/commands/drift/compare.d.ts.map +1 -1
  11. package/dist/commands/drift/compare.js +258 -49
  12. package/dist/commands/drift/compare.js.map +1 -1
  13. package/dist/commands/drift/payload.d.ts +1 -0
  14. package/dist/commands/drift/payload.d.ts.map +1 -1
  15. package/dist/commands/drift/payload.js +59 -10
  16. package/dist/commands/drift/payload.js.map +1 -1
  17. package/dist/commands/generate/command.d.ts.map +1 -1
  18. package/dist/commands/generate/command.js +73 -33
  19. package/dist/commands/generate/command.js.map +1 -1
  20. package/dist/commands/generate/cutover.d.ts +56 -0
  21. package/dist/commands/generate/cutover.d.ts.map +1 -0
  22. package/dist/commands/generate/cutover.js +138 -0
  23. package/dist/commands/generate/cutover.js.map +1 -0
  24. package/dist/commands/generate/output.d.ts +3 -2
  25. package/dist/commands/generate/output.d.ts.map +1 -1
  26. package/dist/commands/generate/output.js +17 -2
  27. package/dist/commands/generate/output.js.map +1 -1
  28. package/dist/commands/generate/plan-pipeline.d.ts.map +1 -1
  29. package/dist/commands/generate/plan-pipeline.js +35 -36
  30. package/dist/commands/generate/plan-pipeline.js.map +1 -1
  31. package/dist/commands/init.d.ts +2 -0
  32. package/dist/commands/init.d.ts.map +1 -1
  33. package/dist/commands/init.js +21 -4
  34. package/dist/commands/init.js.map +1 -1
  35. package/dist/commands/migrate/abandon.d.ts +39 -0
  36. package/dist/commands/migrate/abandon.d.ts.map +1 -0
  37. package/dist/commands/migrate/abandon.js +76 -0
  38. package/dist/commands/migrate/abandon.js.map +1 -0
  39. package/dist/commands/migrate/apply.d.ts +10 -1
  40. package/dist/commands/migrate/apply.d.ts.map +1 -1
  41. package/dist/commands/migrate/apply.js +108 -10
  42. package/dist/commands/migrate/apply.js.map +1 -1
  43. package/dist/commands/migrate/async-apply.d.ts +11 -3
  44. package/dist/commands/migrate/async-apply.d.ts.map +1 -1
  45. package/dist/commands/migrate/async-apply.js +113 -27
  46. package/dist/commands/migrate/async-apply.js.map +1 -1
  47. package/dist/commands/migrate/command.d.ts +46 -1
  48. package/dist/commands/migrate/command.d.ts.map +1 -1
  49. package/dist/commands/migrate/command.js +159 -35
  50. package/dist/commands/migrate/command.js.map +1 -1
  51. package/dist/commands/migrate/empty.d.ts +8 -0
  52. package/dist/commands/migrate/empty.d.ts.map +1 -0
  53. package/dist/commands/migrate/empty.js +17 -0
  54. package/dist/commands/migrate/empty.js.map +1 -0
  55. package/dist/commands/migrate/errors.d.ts +22 -0
  56. package/dist/commands/migrate/errors.d.ts.map +1 -0
  57. package/dist/commands/migrate/errors.js +31 -0
  58. package/dist/commands/migrate/errors.js.map +1 -0
  59. package/dist/commands/migrate/output.d.ts +31 -0
  60. package/dist/commands/migrate/output.d.ts.map +1 -1
  61. package/dist/commands/migrate/output.js +120 -9
  62. package/dist/commands/migrate/output.js.map +1 -1
  63. package/dist/commands/migrate/prompts.d.ts +1 -0
  64. package/dist/commands/migrate/prompts.d.ts.map +1 -1
  65. package/dist/commands/migrate/prompts.js +3 -0
  66. package/dist/commands/migrate/prompts.js.map +1 -1
  67. package/dist/commands/migrate/recovery.d.ts +90 -0
  68. package/dist/commands/migrate/recovery.d.ts.map +1 -0
  69. package/dist/commands/migrate/recovery.js +163 -0
  70. package/dist/commands/migrate/recovery.js.map +1 -0
  71. package/dist/commands/migrate/retry.d.ts +37 -0
  72. package/dist/commands/migrate/retry.d.ts.map +1 -0
  73. package/dist/commands/migrate/retry.js +46 -0
  74. package/dist/commands/migrate/retry.js.map +1 -0
  75. package/dist/commands/migrate/settings.d.ts +8 -0
  76. package/dist/commands/migrate/settings.d.ts.map +1 -0
  77. package/dist/commands/migrate/settings.js +40 -0
  78. package/dist/commands/migrate/settings.js.map +1 -0
  79. package/dist/commands/plugin.d.ts.map +1 -1
  80. package/dist/commands/plugin.js +28 -4
  81. package/dist/commands/plugin.js.map +1 -1
  82. package/dist/commands/query.d.ts.map +1 -1
  83. package/dist/commands/query.js +11 -15
  84. package/dist/commands/query.js.map +1 -1
  85. package/dist/commands/registry.d.ts +2 -0
  86. package/dist/commands/registry.d.ts.map +1 -0
  87. package/dist/commands/registry.js +228 -0
  88. package/dist/commands/registry.js.map +1 -0
  89. package/dist/commands/snapshot/command.d.ts +3 -0
  90. package/dist/commands/snapshot/command.d.ts.map +1 -0
  91. package/dist/commands/snapshot/command.js +32 -0
  92. package/dist/commands/snapshot/command.js.map +1 -0
  93. package/dist/commands/snapshot/output.d.ts +24 -0
  94. package/dist/commands/snapshot/output.d.ts.map +1 -0
  95. package/dist/commands/snapshot/output.js +86 -0
  96. package/dist/commands/snapshot/output.js.map +1 -0
  97. package/dist/commands/snapshot/rebuild.d.ts +19 -0
  98. package/dist/commands/snapshot/rebuild.d.ts.map +1 -0
  99. package/dist/commands/snapshot/rebuild.js +94 -0
  100. package/dist/commands/snapshot/rebuild.js.map +1 -0
  101. package/dist/internal-plugins/core/plugin.d.ts.map +1 -1
  102. package/dist/internal-plugins/core/plugin.js +2 -0
  103. package/dist/internal-plugins/core/plugin.js.map +1 -1
  104. package/dist/registry/build.d.ts +17 -0
  105. package/dist/registry/build.d.ts.map +1 -0
  106. package/dist/registry/build.js +94 -0
  107. package/dist/registry/build.js.map +1 -0
  108. package/dist/registry/dependencies.d.ts +19 -0
  109. package/dist/registry/dependencies.d.ts.map +1 -0
  110. package/dist/registry/dependencies.js +105 -0
  111. package/dist/registry/dependencies.js.map +1 -0
  112. package/dist/registry/files.d.ts +4 -0
  113. package/dist/registry/files.d.ts.map +1 -0
  114. package/dist/registry/files.js +33 -0
  115. package/dist/registry/files.js.map +1 -0
  116. package/dist/registry/install.d.ts +55 -0
  117. package/dist/registry/install.d.ts.map +1 -0
  118. package/dist/registry/install.js +175 -0
  119. package/dist/registry/install.js.map +1 -0
  120. package/dist/registry/model.d.ts +172 -0
  121. package/dist/registry/model.d.ts.map +1 -0
  122. package/dist/registry/model.js +161 -0
  123. package/dist/registry/model.js.map +1 -0
  124. package/dist/registry/project-config.d.ts +18 -0
  125. package/dist/registry/project-config.d.ts.map +1 -0
  126. package/dist/registry/project-config.js +337 -0
  127. package/dist/registry/project-config.js.map +1 -0
  128. package/dist/registry/resolve.d.ts +7 -0
  129. package/dist/registry/resolve.d.ts.map +1 -0
  130. package/dist/registry/resolve.js +136 -0
  131. package/dist/registry/resolve.js.map +1 -0
  132. package/dist/runtime/argv.d.ts +3 -0
  133. package/dist/runtime/argv.d.ts.map +1 -0
  134. package/dist/runtime/argv.js +29 -0
  135. package/dist/runtime/argv.js.map +1 -0
  136. package/dist/runtime/command-dispatch.d.ts +2 -1
  137. package/dist/runtime/command-dispatch.d.ts.map +1 -1
  138. package/dist/runtime/command-dispatch.js +15 -7
  139. package/dist/runtime/command-dispatch.js.map +1 -1
  140. package/dist/runtime/config-merge.d.ts.map +1 -1
  141. package/dist/runtime/config-merge.js +2 -1
  142. package/dist/runtime/config-merge.js.map +1 -1
  143. package/dist/runtime/config.d.ts.map +1 -1
  144. package/dist/runtime/config.js +2 -1
  145. package/dist/runtime/config.js.map +1 -1
  146. package/dist/runtime/global-flags.d.ts +4 -0
  147. package/dist/runtime/global-flags.d.ts.map +1 -1
  148. package/dist/runtime/global-flags.js +1 -0
  149. package/dist/runtime/global-flags.js.map +1 -1
  150. package/dist/runtime/help.d.ts +1 -1
  151. package/dist/runtime/help.d.ts.map +1 -1
  152. package/dist/runtime/help.js +13 -4
  153. package/dist/runtime/help.js.map +1 -1
  154. package/dist/runtime/journal-store.d.ts.map +1 -1
  155. package/dist/runtime/journal-store.js +178 -42
  156. package/dist/runtime/journal-store.js.map +1 -1
  157. package/dist/runtime/json-output.d.ts +15 -1
  158. package/dist/runtime/json-output.d.ts.map +1 -1
  159. package/dist/runtime/json-output.js +43 -2
  160. package/dist/runtime/json-output.js.map +1 -1
  161. package/dist/runtime/migration-store.d.ts +1 -1
  162. package/dist/runtime/migration-store.d.ts.map +1 -1
  163. package/dist/runtime/migration-store.js +17 -16
  164. package/dist/runtime/migration-store.js.map +1 -1
  165. package/dist/runtime/plugin-runtime/executor-debug.d.ts.map +1 -1
  166. package/dist/runtime/plugin-runtime/executor-debug.js +10 -8
  167. package/dist/runtime/plugin-runtime/executor-debug.js.map +1 -1
  168. package/dist/runtime/plugin-runtime/loader.js +1 -1
  169. package/dist/runtime/plugin-runtime/loader.js.map +1 -1
  170. package/dist/runtime/safety-markers.d.ts +4 -2
  171. package/dist/runtime/safety-markers.d.ts.map +1 -1
  172. package/dist/runtime/safety-markers.js +4 -2
  173. package/dist/runtime/safety-markers.js.map +1 -1
  174. package/dist/runtime/schema-loader.d.ts +20 -1
  175. package/dist/runtime/schema-loader.d.ts.map +1 -1
  176. package/dist/runtime/schema-loader.js +26 -0
  177. package/dist/runtime/schema-loader.js.map +1 -1
  178. package/dist/runtime/snapshot-document.d.ts +33 -0
  179. package/dist/runtime/snapshot-document.d.ts.map +1 -0
  180. package/dist/runtime/snapshot-document.js +65 -0
  181. package/dist/runtime/snapshot-document.js.map +1 -0
  182. package/package.json +20 -7
  183. package/dist/bin/clickhouse-resource.d.ts +0 -4
  184. package/dist/bin/clickhouse-resource.d.ts.map +0 -1
  185. package/dist/bin/clickhouse-resource.js +0 -11
  186. package/dist/bin/clickhouse-resource.js.map +0 -1
  187. package/dist/bin/command-dispatch.d.ts +0 -13
  188. package/dist/bin/command-dispatch.d.ts.map +0 -1
  189. package/dist/bin/command-dispatch.js +0 -186
  190. package/dist/bin/command-dispatch.js.map +0 -1
  191. package/dist/bin/command-registry.d.ts +0 -34
  192. package/dist/bin/command-registry.d.ts.map +0 -1
  193. package/dist/bin/command-registry.js +0 -87
  194. package/dist/bin/command-registry.js.map +0 -1
  195. package/dist/bin/commands/check.d.ts +0 -3
  196. package/dist/bin/commands/check.d.ts.map +0 -1
  197. package/dist/bin/commands/check.js +0 -181
  198. package/dist/bin/commands/check.js.map +0 -1
  199. package/dist/bin/commands/codegen.d.ts +0 -2
  200. package/dist/bin/commands/codegen.d.ts.map +0 -1
  201. package/dist/bin/commands/codegen.js +0 -25
  202. package/dist/bin/commands/codegen.js.map +0 -1
  203. package/dist/bin/commands/drift.d.ts +0 -27
  204. package/dist/bin/commands/drift.d.ts.map +0 -1
  205. package/dist/bin/commands/drift.js +0 -220
  206. package/dist/bin/commands/drift.js.map +0 -1
  207. package/dist/bin/commands/generate/output.d.ts +0 -8
  208. package/dist/bin/commands/generate/output.d.ts.map +0 -1
  209. package/dist/bin/commands/generate/output.js +0 -58
  210. package/dist/bin/commands/generate/output.js.map +0 -1
  211. package/dist/bin/commands/generate/plan-pipeline.d.ts +0 -7
  212. package/dist/bin/commands/generate/plan-pipeline.d.ts.map +0 -1
  213. package/dist/bin/commands/generate/plan-pipeline.js +0 -143
  214. package/dist/bin/commands/generate/plan-pipeline.js.map +0 -1
  215. package/dist/bin/commands/generate/rename-mappings.d.ts +0 -29
  216. package/dist/bin/commands/generate/rename-mappings.d.ts.map +0 -1
  217. package/dist/bin/commands/generate/rename-mappings.js +0 -195
  218. package/dist/bin/commands/generate/rename-mappings.js.map +0 -1
  219. package/dist/bin/commands/generate.d.ts +0 -3
  220. package/dist/bin/commands/generate.d.ts.map +0 -1
  221. package/dist/bin/commands/generate.js +0 -158
  222. package/dist/bin/commands/generate.js.map +0 -1
  223. package/dist/bin/commands/init.d.ts +0 -2
  224. package/dist/bin/commands/init.d.ts.map +0 -1
  225. package/dist/bin/commands/init.js +0 -12
  226. package/dist/bin/commands/init.js.map +0 -1
  227. package/dist/bin/commands/migrate.d.ts +0 -3
  228. package/dist/bin/commands/migrate.d.ts.map +0 -1
  229. package/dist/bin/commands/migrate.js +0 -288
  230. package/dist/bin/commands/migrate.js.map +0 -1
  231. package/dist/bin/commands/plugin-like.d.ts +0 -38
  232. package/dist/bin/commands/plugin-like.d.ts.map +0 -1
  233. package/dist/bin/commands/plugin-like.js +0 -101
  234. package/dist/bin/commands/plugin-like.js.map +0 -1
  235. package/dist/bin/commands/plugin.d.ts +0 -3
  236. package/dist/bin/commands/plugin.d.ts.map +0 -1
  237. package/dist/bin/commands/plugin.js +0 -148
  238. package/dist/bin/commands/plugin.js.map +0 -1
  239. package/dist/bin/commands/pull.d.ts +0 -2
  240. package/dist/bin/commands/pull.d.ts.map +0 -1
  241. package/dist/bin/commands/pull.js +0 -25
  242. package/dist/bin/commands/pull.js.map +0 -1
  243. package/dist/bin/commands/status.d.ts +0 -3
  244. package/dist/bin/commands/status.d.ts.map +0 -1
  245. package/dist/bin/commands/status.js +0 -63
  246. package/dist/bin/commands/status.js.map +0 -1
  247. package/dist/bin/commands/typegen.d.ts +0 -2
  248. package/dist/bin/commands/typegen.d.ts.map +0 -1
  249. package/dist/bin/commands/typegen.js +0 -25
  250. package/dist/bin/commands/typegen.js.map +0 -1
  251. package/dist/bin/config.d.ts +0 -13
  252. package/dist/bin/config.d.ts.map +0 -1
  253. package/dist/bin/config.js +0 -48
  254. package/dist/bin/config.js.map +0 -1
  255. package/dist/bin/debug.d.ts +0 -3
  256. package/dist/bin/debug.d.ts.map +0 -1
  257. package/dist/bin/debug.js +0 -14
  258. package/dist/bin/debug.js.map +0 -1
  259. package/dist/bin/global-flags.d.ts +0 -16
  260. package/dist/bin/global-flags.d.ts.map +0 -1
  261. package/dist/bin/global-flags.js +0 -7
  262. package/dist/bin/global-flags.js.map +0 -1
  263. package/dist/bin/help.d.ts +0 -5
  264. package/dist/bin/help.d.ts.map +0 -1
  265. package/dist/bin/help.js +0 -84
  266. package/dist/bin/help.js.map +0 -1
  267. package/dist/bin/internal-plugins/index.d.ts +0 -3
  268. package/dist/bin/internal-plugins/index.d.ts.map +0 -1
  269. package/dist/bin/internal-plugins/index.js +0 -5
  270. package/dist/bin/internal-plugins/index.js.map +0 -1
  271. package/dist/bin/internal-plugins/skill-hint.d.ts +0 -31
  272. package/dist/bin/internal-plugins/skill-hint.d.ts.map +0 -1
  273. package/dist/bin/internal-plugins/skill-hint.js +0 -172
  274. package/dist/bin/internal-plugins/skill-hint.js.map +0 -1
  275. package/dist/bin/journal-store.d.ts +0 -10
  276. package/dist/bin/journal-store.d.ts.map +0 -1
  277. package/dist/bin/journal-store.js +0 -137
  278. package/dist/bin/journal-store.js.map +0 -1
  279. package/dist/bin/json-output.d.ts +0 -5
  280. package/dist/bin/json-output.d.ts.map +0 -1
  281. package/dist/bin/json-output.js +0 -21
  282. package/dist/bin/json-output.js.map +0 -1
  283. package/dist/bin/lib.d.ts +0 -5
  284. package/dist/bin/lib.d.ts.map +0 -1
  285. package/dist/bin/lib.js +0 -5
  286. package/dist/bin/lib.js.map +0 -1
  287. package/dist/bin/logging.d.ts +0 -3
  288. package/dist/bin/logging.d.ts.map +0 -1
  289. package/dist/bin/logging.js +0 -31
  290. package/dist/bin/logging.js.map +0 -1
  291. package/dist/bin/migration-store.d.ts +0 -22
  292. package/dist/bin/migration-store.d.ts.map +0 -1
  293. package/dist/bin/migration-store.js +0 -60
  294. package/dist/bin/migration-store.js.map +0 -1
  295. package/dist/bin/plugin-runtime.d.ts +0 -45
  296. package/dist/bin/plugin-runtime.d.ts.map +0 -1
  297. package/dist/bin/plugin-runtime.js +0 -513
  298. package/dist/bin/plugin-runtime.js.map +0 -1
  299. package/dist/bin/safety-markers.d.ts +0 -23
  300. package/dist/bin/safety-markers.d.ts.map +0 -1
  301. package/dist/bin/safety-markers.js +0 -85
  302. package/dist/bin/safety-markers.js.map +0 -1
  303. package/dist/bin/schema-loader.d.ts +0 -3
  304. package/dist/bin/schema-loader.d.ts.map +0 -1
  305. package/dist/bin/schema-loader.js +0 -11
  306. package/dist/bin/schema-loader.js.map +0 -1
  307. package/dist/bin/table-scope.d.ts +0 -38
  308. package/dist/bin/table-scope.d.ts.map +0 -1
  309. package/dist/bin/table-scope.js +0 -167
  310. package/dist/bin/table-scope.js.map +0 -1
  311. package/dist/bin/version.d.ts +0 -2
  312. package/dist/bin/version.d.ts.map +0 -1
  313. package/dist/bin/version.js +0 -5
  314. package/dist/bin/version.js.map +0 -1
  315. package/dist/drift-diff.d.ts +0 -8
  316. package/dist/drift-diff.d.ts.map +0 -1
  317. package/dist/drift-diff.js +0 -46
  318. package/dist/drift-diff.js.map +0 -1
  319. package/dist/drift.d.ts +0 -66
  320. package/dist/drift.d.ts.map +0 -1
  321. package/dist/drift.js +0 -220
  322. package/dist/drift.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/commands/drift/compare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/commands/drift/compare.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
- import { normalizeEngine as coreNormalizeEngine, isIndexProjection, normalizeProjectionIndex, normalizeSQLFragment, } from '@chkit/core';
1
+ import { codecFingerprint, constraintExpression, constraintKind, identifierName, normalizeEngine as coreNormalizeEngine, isKafkaEngine, parseKafkaSettings, kafkaSettingFingerprint, isIndexProjection, isSyntheticEphemeralDefault, normalizeProjectionIndex, normalizeSQLFragment, renderDefault, renderColumnType, renderKeyClauseColumns, splitTopLevelComma, sqlExpressionFingerprint, unquoteIdentifiers, textIndexFingerprint, tokenizeSQL, renderVectorIndexType, vectorIndexGranularity, } from '@chkit/core';
2
2
  import { diffByName, diffNamedShapeMaps, diffSettings } from './diff.js';
3
+ function canonicalizeExpression(base, canonicalizer) {
4
+ return canonicalizer?.expression(base) ?? base;
5
+ }
6
+ /** What ClickHouse stores in place of a secret in a view's query. */
7
+ const HIDDEN_SECRET = "'[HIDDEN]'";
3
8
  function schemaObjectKey(item) {
4
9
  return `${item.kind}:${item.database}.${item.name}`;
5
10
  }
@@ -81,31 +86,31 @@ export function summarizeDriftReasons(input) {
81
86
  };
82
87
  }
83
88
  function normalizeColumnShape(column) {
84
- const normalizeDefaultValue = (value) => {
85
- const normalized = normalizeSQLFragment(value);
86
- const quoted = normalized.match(/^'(.*)'$/);
87
- if (!quoted)
88
- return normalized;
89
- return (quoted[1] ?? '').replace(/''/g, "'");
90
- };
91
- const normalizedDefault = (() => {
92
- if (column.default === undefined)
93
- return '';
94
- const asString = String(column.default);
95
- if (asString.startsWith('fn:'))
96
- return normalizeDefaultValue(asString.slice(3));
97
- return normalizeDefaultValue(asString);
98
- })();
89
+ const rendered = column.default === undefined ? undefined : renderDefault(column.default);
90
+ // ClickHouse stores a bare EPHEMERAL column as defaultValueOfTypeName('<type>'),
91
+ // which introspection reads back as no expression; an explicit one matches it.
92
+ const normalizedDefault = rendered === undefined ||
93
+ (column.defaultKind === 'EPHEMERAL' && isSyntheticEphemeralDefault(rendered))
94
+ ? ''
95
+ : sqlExpressionFingerprint(rendered);
99
96
  const parts = [
100
- `type=${String(column.type).trim()}`,
101
- `nullable=${column.nullable ? '1' : '0'}`,
97
+ // Introspection unwraps Nullable(T) into type=T plus nullable=true.
98
+ `type=${renderColumnType(column)}`,
102
99
  `default=${normalizedDefault}`,
100
+ `defaultKind=${column.defaultKind ?? 'DEFAULT'}`,
103
101
  `comment=${column.comment?.trim() ?? ''}`,
102
+ `codec=${codecFingerprint(column.codec)}`,
104
103
  ];
105
104
  return parts.join('|');
106
105
  }
107
106
  function renderIndexTypeFingerprint(index) {
108
107
  switch (index.type) {
108
+ case 'text':
109
+ return textIndexFingerprint(index);
110
+ case 'vector_similarity':
111
+ return renderVectorIndexType(index);
112
+ case 'raw':
113
+ return normalizeSQLFragment(index.rawType);
109
114
  case 'minmax':
110
115
  return 'minmax';
111
116
  case 'set':
@@ -120,69 +125,191 @@ function renderIndexTypeFingerprint(index) {
120
125
  return `ngrambf_v1(${index.ngramSize}, ${index.sizeBytes}, ${index.hashFunctions}, ${index.randomSeed})`;
121
126
  }
122
127
  }
123
- function normalizeIndexShape(index) {
128
+ // chkit renders `INDEX name (expr)`, and ClickHouse keeps those parentheses in
129
+ // system.data_skipping_indices.expr. Strip one pair only when it encloses the
130
+ // whole expression, so `(a) + (b)` stays intact.
131
+ function stripEnclosingParens(value) {
132
+ if (!value.startsWith('(') || !value.endsWith(')'))
133
+ return value;
134
+ let depth = 0;
135
+ for (let i = 0; i < value.length; i++) {
136
+ if (value[i] === '(')
137
+ depth++;
138
+ else if (value[i] === ')')
139
+ depth--;
140
+ if (depth === 0 && i < value.length - 1)
141
+ return value;
142
+ }
143
+ return value.slice(1, -1).trim();
144
+ }
145
+ function indexExpressionBase(index) {
146
+ return stripEnclosingParens(normalizeSQLFragment(index.expression));
147
+ }
148
+ function normalizeIndexShape(index, canonicalizer) {
149
+ if (index.type === 'text')
150
+ return textIndexFingerprint(index);
124
151
  return [
125
- `expr=${normalizeSQLFragment(index.expression)}`,
126
- `type=${renderIndexTypeFingerprint(index)}`,
127
- `granularity=${index.granularity}`,
152
+ `expr=${canonicalizeExpression(indexExpressionBase(index), canonicalizer)}`,
153
+ // A raw type is compared as ClickHouse formats it, so a structured index on
154
+ // one side and the same type written raw on the other compare equal.
155
+ `type=${canonicalizeExpression(renderIndexTypeFingerprint(index), canonicalizer)}`,
156
+ `granularity=${index.type === 'vector_similarity' ? vectorIndexGranularity(index) : index.granularity}`,
128
157
  ].join('|');
129
158
  }
130
- function normalizeProjectionShape(projection) {
159
+ // ClickHouse re-formats a constraint expression when it stores it, e.g.
160
+ // `s IN ('a','b') AND (id+1)*2 > 0` comes back as
161
+ // `(s IN ('a', 'b')) AND (((id + 1) * 2) > 0)`, so both sides go through the
162
+ // canonicalizer.
163
+ function normalizeConstraintShape(constraint, canonicalizer) {
164
+ const expression = canonicalizeExpression(normalizeSQLFragment(constraintExpression(constraint)), canonicalizer);
165
+ return `${constraintKind(constraint)} ${expression}`;
166
+ }
167
+ function normalizeProjectionShape(projection, canonicalizer) {
131
168
  if (isIndexProjection(projection)) {
132
169
  return [
133
170
  `index=${normalizeProjectionIndex(projection.index)}`,
134
171
  `type=${projection.type.trim()}`,
135
172
  ].join('|');
136
173
  }
137
- return `query=${normalizeSQLFragment(projection.query)}`;
174
+ const base = normalizeSQLFragment(projection.query);
175
+ return `query=${canonicalizer?.query(base) ?? base}`;
138
176
  }
139
- function normalizeClause(value) {
177
+ // Key and partition clauses are compared as SQL: the schema's keys as chkit
178
+ // renders them, the live clauses as ClickHouse reports them. Comments are
179
+ // removed while quoted names still carry their backticks. Then the names are
180
+ // unquoted, since ClickHouse re-renders identifiers with its own quoting and
181
+ // escaping, and one pair of parentheses around the whole clause is dropped.
182
+ // From there on only whitespace is collapsed: unquoted, `user--id` would read
183
+ // as `user` followed by a comment. For the same reason a canonicalizer sees each
184
+ // element while its names are still quoted.
185
+ function normalizeClause(value, canonicalizer) {
140
186
  if (!value)
141
187
  return '';
142
- const normalized = normalizeSQLFragment(value).replace(/`/g, '');
143
- const wrapped = normalized.match(/^\((.*)\)$/);
144
- return wrapped?.[1] ? normalizeSQLFragment(wrapped[1]) : normalized;
188
+ const sql = normalizeSQLFragment(value);
189
+ const canonical = canonicalizer
190
+ ? clauseElements(sql)
191
+ .map((element) => canonicalizeExpression(element, canonicalizer))
192
+ .join(', ')
193
+ : sql;
194
+ const unquoted = unquoteIdentifiers(canonical).replace(/\s+/g, ' ').trim();
195
+ const wrapped = unquoted.match(/^\((.*)\)$/);
196
+ return wrapped?.[1] ? wrapped[1].trim() : unquoted;
197
+ }
198
+ /** The elements of a key/partition clause, canonicalized one by one so a
199
+ * function expression (`cityHash64(a,b)`) matches ClickHouse's spelling. */
200
+ function clauseElements(sql) {
201
+ const wrapped = sql.match(/^\((.*)\)$/);
202
+ return splitTopLevelComma(wrapped?.[1] ?? sql);
203
+ }
204
+ /** The key/partition clauses compared for a table, schema side vs live side. */
205
+ function tableClauses(expected, actual) {
206
+ // ClickHouse derives PRIMARY KEY from ORDER BY when it is omitted, then omits
207
+ // it from SHOW CREATE — so a table with only ORDER BY reports no primary key.
208
+ // Mirror that on both sides (as canonical.ts does for the schema), else every
209
+ // such table drifts forever (#194).
210
+ // Render expected keys as chkit emits them so declared column names (which may
211
+ // contain commas or backticks) are compared as single identifiers.
212
+ const columnNames = new Set(expected.columns.map((column) => column.name));
213
+ return {
214
+ primaryKey: [
215
+ renderKeyClauseColumns(expected.primaryKey.length > 0 ? expected.primaryKey : expected.orderBy, columnNames),
216
+ actual.primaryKey ?? actual.orderBy,
217
+ ],
218
+ orderBy: [renderKeyClauseColumns(expected.orderBy, columnNames), actual.orderBy],
219
+ uniqueKey: [renderKeyClauseColumns(expected.uniqueKey ?? [], columnNames), actual.uniqueKey],
220
+ partitionBy: [expected.partitionBy, actual.partitionBy],
221
+ };
145
222
  }
146
223
  function normalizeEngine(value) {
147
224
  if (!value)
148
225
  return '';
149
226
  return coreNormalizeEngine(normalizeSQLFragment(value)).toLowerCase();
150
227
  }
151
- export function compareTableShape(expected, actual) {
152
- const columnDiff = diffByName(expected.columns, actual.columns, (column) => column.name, normalizeColumnShape);
228
+ /**
229
+ * Every SQL fragment `compareTableShape` will look up in a `SqlCanonicalizer`,
230
+ * at the exact granularity it looks them up (whole expressions for index/ttl,
231
+ * per-element for key/partition clauses, whole query for SELECT projections).
232
+ * The drift command collects these across all compared tables, formats them in
233
+ * one round-trip, and hands back a map-backed canonicalizer.
234
+ */
235
+ export function collectTableSqlFragments(expected, actual) {
236
+ const expressions = [];
237
+ const queries = [];
238
+ for (const index of [...(expected.indexes ?? []), ...actual.indexes]) {
239
+ if (index.type !== 'text')
240
+ expressions.push(indexExpressionBase(index));
241
+ }
242
+ for (const index of [...(expected.indexes ?? []), ...actual.indexes]) {
243
+ if (index.type !== 'text')
244
+ expressions.push(renderIndexTypeFingerprint(index));
245
+ }
246
+ for (const constraint of [...(expected.constraints ?? []), ...(actual.constraints ?? [])]) {
247
+ expressions.push(normalizeSQLFragment(constraintExpression(constraint)));
248
+ }
249
+ for (const ttl of [expected.ttl, actual.ttl]) {
250
+ if (ttl)
251
+ expressions.push(normalizeSQLFragment(ttl));
252
+ }
253
+ for (const clause of Object.values(tableClauses(expected, actual)).flat()) {
254
+ if (clause)
255
+ expressions.push(...clauseElements(normalizeSQLFragment(clause)));
256
+ }
257
+ for (const projection of [...(expected.projections ?? []), ...actual.projections]) {
258
+ if (!isIndexProjection(projection))
259
+ queries.push(normalizeSQLFragment(projection.query));
260
+ }
261
+ return { expressions, queries };
262
+ }
263
+ export function compareTableShape(expected, actual, canonicalizer) {
264
+ const columnDiff = diffByName(expected.columns,
265
+ // system.columns stores SQL, whereas schema strings are literals unless fn:-prefixed.
266
+ actual.columns.map((column) => ({
267
+ ...column,
268
+ default: typeof column.default === 'string' && !column.default.startsWith('fn:')
269
+ ? `fn:${column.default}`
270
+ : column.default,
271
+ })), (column) => column.name, normalizeColumnShape);
153
272
  const missingColumns = columnDiff.missing;
154
273
  const extraColumns = columnDiff.extra;
155
274
  const changedColumns = columnDiff.changed;
156
- const settingDiffs = diffSettings(expected.settings ?? {}, actual.settings);
157
- const expectedIndexes = new Map((expected.indexes ?? []).map((idx) => [idx.name, normalizeIndexShape(idx)]));
158
- const actualIndexes = new Map(actual.indexes.map((idx) => [idx.name, normalizeIndexShape(idx)]));
275
+ const kafka = isKafkaEngine(expected.engine);
276
+ const expectedSettings = kafka
277
+ ? Object.fromEntries(Object.entries(expected.settings ?? {}).map(([key, value]) => [key, kafkaSettingFingerprint(value)]))
278
+ : expected.settings ?? {};
279
+ const actualSettings = kafka
280
+ ? Object.fromEntries(Object.entries(parseKafkaSettings(actual.settings)).map(([key, value]) => [key, kafkaSettingFingerprint(value)]))
281
+ : actual.settings;
282
+ const settingDiffs = diffSettings(expectedSettings, actualSettings);
283
+ const expectedIndexes = new Map((expected.indexes ?? []).map((idx) => [idx.name, normalizeIndexShape(idx, canonicalizer)]));
284
+ const actualIndexes = new Map(actual.indexes.map((idx) => [idx.name, normalizeIndexShape(idx, canonicalizer)]));
159
285
  const indexDiffs = diffNamedShapeMaps(expectedIndexes, actualIndexes);
160
- const expectedTTL = expected.ttl ? normalizeSQLFragment(expected.ttl) : '';
161
- const actualTTL = actual.ttl ? normalizeSQLFragment(actual.ttl) : '';
286
+ const expectedTTL = canonicalizeExpression(expected.ttl ? normalizeSQLFragment(expected.ttl) : '', canonicalizer);
287
+ const actualTTL = canonicalizeExpression(actual.ttl ? normalizeSQLFragment(actual.ttl) : '', canonicalizer);
162
288
  const ttlMismatch = expectedTTL !== actualTTL;
163
289
  const engineMismatch = normalizeEngine(expected.engine) !== normalizeEngine(actual.engine);
164
- // ClickHouse derives PRIMARY KEY from ORDER BY when it is omitted, then omits
165
- // it from SHOW CREATE — so a table with only ORDER BY reports no primary key.
166
- // Mirror that on both sides (as canonical.ts does for the schema), else every
167
- // such table drifts forever (#194).
168
- const expectedPrimaryKey = normalizeClause((expected.primaryKey.length > 0 ? expected.primaryKey : expected.orderBy).join(', '));
169
- const actualPrimaryKey = normalizeClause(actual.primaryKey ?? actual.orderBy);
290
+ const clauses = tableClauses(expected, actual);
291
+ const expectedPrimaryKey = normalizeClause(clauses.primaryKey[0], canonicalizer);
292
+ const actualPrimaryKey = normalizeClause(clauses.primaryKey[1], canonicalizer);
170
293
  const primaryKeyMismatch = expectedPrimaryKey !== actualPrimaryKey;
171
- const expectedOrderBy = normalizeClause(expected.orderBy.join(', '));
172
- const actualOrderBy = normalizeClause(actual.orderBy);
294
+ const expectedOrderBy = normalizeClause(clauses.orderBy[0], canonicalizer);
295
+ const actualOrderBy = normalizeClause(clauses.orderBy[1], canonicalizer);
173
296
  const orderByMismatch = expectedOrderBy !== actualOrderBy;
174
- const expectedUniqueKey = normalizeClause((expected.uniqueKey ?? []).join(', '));
175
- const actualUniqueKey = normalizeClause(actual.uniqueKey);
297
+ const expectedUniqueKey = normalizeClause(clauses.uniqueKey[0], canonicalizer);
298
+ const actualUniqueKey = normalizeClause(clauses.uniqueKey[1], canonicalizer);
176
299
  const uniqueKeyMismatch = expectedUniqueKey !== actualUniqueKey;
177
- const expectedPartitionBy = normalizeClause(expected.partitionBy);
178
- const actualPartitionBy = normalizeClause(actual.partitionBy);
300
+ const expectedPartitionBy = normalizeClause(clauses.partitionBy[0], canonicalizer);
301
+ const actualPartitionBy = normalizeClause(clauses.partitionBy[1], canonicalizer);
179
302
  const partitionByMismatch = expectedPartitionBy !== actualPartitionBy;
180
303
  const expectedProjections = new Map((expected.projections ?? []).map((projection) => [
181
304
  projection.name,
182
- normalizeProjectionShape(projection),
305
+ normalizeProjectionShape(projection, canonicalizer),
306
+ ]));
307
+ const actualProjections = new Map(actual.projections.map((projection) => [
308
+ projection.name,
309
+ normalizeProjectionShape(projection, canonicalizer),
183
310
  ]));
184
- const actualProjections = new Map(actual.projections.map((projection) => [projection.name, normalizeProjectionShape(projection)]));
185
311
  const projectionDiffs = diffNamedShapeMaps(expectedProjections, actualProjections);
312
+ const constraintDiffs = diffNamedShapeMaps(new Map((expected.constraints ?? []).map((item) => [item.name, normalizeConstraintShape(item, canonicalizer)])), new Map((actual.constraints ?? []).map((item) => [item.name, normalizeConstraintShape(item, canonicalizer)])));
186
313
  const reasonCodes = [];
187
314
  if (missingColumns.length > 0)
188
315
  reasonCodes.push('missing_column');
@@ -208,6 +335,8 @@ export function compareTableShape(expected, actual) {
208
335
  reasonCodes.push('partition_by_mismatch');
209
336
  if (projectionDiffs.length > 0)
210
337
  reasonCodes.push('projection_mismatch');
338
+ if (constraintDiffs.length > 0)
339
+ reasonCodes.push('constraint_mismatch');
211
340
  if (reasonCodes.length === 0)
212
341
  return null;
213
342
  return {
@@ -225,6 +354,86 @@ export function compareTableShape(expected, actual) {
225
354
  uniqueKeyMismatch,
226
355
  partitionByMismatch,
227
356
  projectionDiffs,
357
+ constraintDiffs,
228
358
  };
229
359
  }
360
+ /** The view and materialized view queries `compareViewShape` will look up. */
361
+ export function collectViewSqlQueries(expected, actual) {
362
+ // Formatting the schema's query would log its secret in `system.query_log`.
363
+ if (actual.query.includes(HIDDEN_SECRET))
364
+ return [];
365
+ return [normalizeSQLFragment(expected.as), normalizeSQLFragment(actual.query)];
366
+ }
367
+ /**
368
+ * Compares a view or materialized view query with the live one, and a
369
+ * materialized view's `TO` target. ClickHouse stores the query reformatted, so
370
+ * the queries are compared only as its formatter renders them: when either side
371
+ * can't be formatted, the query is not compared, rather than reporting drift
372
+ * on a query that may be the same. Nor is a query in which ClickHouse replaced
373
+ * a secret (a table function's password) with `'[HIDDEN]'`: it never matches
374
+ * the schema, and the schema's side would print the secret.
375
+ */
376
+ export function compareViewShape(expected, actual, currentDatabase, canonicalizer) {
377
+ const object = `${expected.database}.${expected.name}`;
378
+ const drift = [];
379
+ if (canonicalizer && !actual.query.includes(HIDDEN_SECRET)) {
380
+ const expectedQuery = canonicalizer.query(normalizeSQLFragment(expected.as));
381
+ const actualQuery = canonicalizer.query(normalizeSQLFragment(actual.query));
382
+ if (expectedQuery && actualQuery) {
383
+ const expectedShape = stripDatabaseQualifier(expectedQuery, currentDatabase);
384
+ const actualShape = stripDatabaseQualifier(actualQuery, currentDatabase);
385
+ if (expectedShape !== actualShape) {
386
+ drift.push({ code: 'query_mismatch', object, expected: expectedShape, actual: actualShape });
387
+ }
388
+ }
389
+ }
390
+ if (expected.kind === 'materialized_view') {
391
+ const expectedTo = `${expected.to.database}.${expected.to.name}`;
392
+ // A live materialized view with an inner table has no `TO`.
393
+ const actualTo = actual.to ? `${actual.to.database}.${actual.to.name}` : '';
394
+ if (expectedTo !== actualTo) {
395
+ drift.push({ code: 'target_mismatch', object, expected: expectedTo, actual: actualTo });
396
+ }
397
+ }
398
+ return drift;
399
+ }
400
+ /**
401
+ * Removes `<database>.` in front of names. ClickHouse qualifies every table
402
+ * name in a view's query with the database the view was created from, so a
403
+ * schema's `FROM events` is stored as `FROM analytics.events`, and the
404
+ * dictionary name in `dictGet('users', …)` as `'analytics.users'`. Both sides
405
+ * drop that qualifier, which names the same object as no qualifier.
406
+ */
407
+ function stripDatabaseQualifier(sql, database) {
408
+ const tokens = tokenizeSQL(sql);
409
+ const qualifiedLiteral = `'${database}.`;
410
+ let out = '';
411
+ for (let i = 0; i < tokens.length; i++) {
412
+ const token = tokens[i];
413
+ if (!token)
414
+ continue;
415
+ const callee = tokens[i - 2];
416
+ const dictionaryName = token.kind === 'string' &&
417
+ token.text.startsWith(qualifiedLiteral) &&
418
+ tokens[i - 1]?.text === '(' &&
419
+ callee !== undefined &&
420
+ /^dict/i.test(identifierName(callee) ?? '');
421
+ if (dictionaryName) {
422
+ out += `'${token.text.slice(qualifiedLiteral.length)}`;
423
+ continue;
424
+ }
425
+ const next = tokens[i + 2];
426
+ const qualifier = identifierName(token) === database &&
427
+ tokens[i - 1]?.text !== '.' &&
428
+ tokens[i + 1]?.text === '.' &&
429
+ next !== undefined &&
430
+ identifierName(next) !== undefined;
431
+ if (qualifier) {
432
+ i += 1;
433
+ continue;
434
+ }
435
+ out += token.text;
436
+ }
437
+ return out;
438
+ }
230
439
  //# sourceMappingURL=compare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/commands/drift/compare.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,GAKrB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAqExE,SAAS,eAAe,CAAC,IAA2D;IAClF,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,eAAoC,EACpC,aAAkC;IAOlC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC9F,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC1F,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,cAAc,GAAgE,EAAE,CAAA;IACtF,MAAM,WAAW,GAAwB,EAAE,CAAA;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5C,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,UAAU;YAAE,SAAQ;QAExB,MAAM,uBAAuB,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAC5E,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAC/B,CAAA;QACD,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG;gBACf,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;aACnC,CAAA;YACD,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC7B,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,QAAQ,CAAC,QAAQ;gBAC/B,UAAU,EAAE,QAAQ,CAAC,MAAM;aAC5B,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,IAAI;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAQ;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5C,MAAM,4BAA4B,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAChF,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CACjC,CAAA;QACD,IAAI,4BAA4B;YAAE,SAAQ;QAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,OAAO;QACP,KAAK;QACL,cAAc;QACd,WAAW;KACZ,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAGrC;IACC,MAAM,MAAM,GAA6C,EAAE,CAAA;IAC3D,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAChD,MAAM,IAAI,CAAC,CAAA;IACb,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YACtC,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM;QACN,KAAK,EAAE,MAAM,GAAG,KAAK;QACrB,MAAM;QACN,KAAK;KACN,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAwB;IACpD,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAU,EAAE;QACtD,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO,UAAU,CAAA;QAC9B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE;QAC9B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,CAAA;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/E,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC,CAAC,EAAE,CAAA;IACJ,MAAM,KAAK,GAAG;QACZ,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,YAAY,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;QACzC,WAAW,iBAAiB,EAAE;QAC9B,WAAW,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;KAC1C,CAAA;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,0BAA0B,CAAC,KAA0B;IAC5D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;QACjB,KAAK,KAAK;YACR,OAAO,OAAO,KAAK,CAAC,OAAO,GAAG,CAAA;QAChC,KAAK,cAAc;YACjB,OAAO,KAAK,CAAC,iBAAiB,KAAK,SAAS;gBAC1C,CAAC,CAAC,gBAAgB,KAAK,CAAC,iBAAiB,GAAG;gBAC5C,CAAC,CAAC,cAAc,CAAA;QACpB,KAAK,YAAY;YACf,OAAO,cAAc,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,UAAU,GAAG,CAAA;QACtF,KAAK,YAAY;YACf,OAAO,cAAc,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,UAAU,GAAG,CAAA;IAC5G,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA0B;IACrD,OAAO;QACL,QAAQ,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;QAChD,QAAQ,0BAA0B,CAAC,KAAK,CAAC,EAAE;QAC3C,eAAe,KAAK,CAAC,WAAW,EAAE;KACnC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACb,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAgC;IAChE,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,SAAS,wBAAwB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACrD,QAAQ,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;SACjC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACb,CAAC;IACD,OAAO,SAAS,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAA;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC9C,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;AACrE,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAyB,EAAE,MAAwB;IACnF,MAAM,UAAU,GAAG,UAAU,CAC3B,QAAQ,CAAC,OAAO,EAChB,MAAM,CAAC,OAAO,EACd,CAAC,MAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EACzC,oBAAoB,CACrB,CAAA;IACD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAA;IACzC,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAA;IACrC,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAA;IAEzC,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAE3E,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAC5E,CAAA;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAChG,MAAM,UAAU,GAAG,kBAAkB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;IAErE,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACpE,MAAM,WAAW,GAAG,WAAW,KAAK,SAAS,CAAA;IAE7C,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1F,8EAA8E;IAC9E,8EAA8E;IAC9E,8EAA8E;IAC9E,oCAAoC;IACpC,MAAM,kBAAkB,GAAG,eAAe,CACxC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACrF,CAAA;IACD,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7E,MAAM,kBAAkB,GAAG,kBAAkB,KAAK,gBAAgB,CAAA;IAClE,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACpE,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,eAAe,GAAG,eAAe,KAAK,aAAa,CAAA;IACzD,MAAM,iBAAiB,GAAG,eAAe,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAChF,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzD,MAAM,iBAAiB,GAAG,iBAAiB,KAAK,eAAe,CAAA;IAC/D,MAAM,mBAAmB,GAAG,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC7D,MAAM,mBAAmB,GAAG,mBAAmB,KAAK,iBAAiB,CAAA;IAErE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;QAC/C,UAAU,CAAC,IAAI;QACf,wBAAwB,CAAC,UAAU,CAAC;KACrC,CAAC,CACH,CAAA;IACD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAChG,CAAA;IACD,MAAM,eAAe,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAA;IAElF,MAAM,WAAW,GAA2B,EAAE,CAAA;IAC9C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACjE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC7D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACjE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACjE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC7D,IAAI,WAAW;QAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACjD,IAAI,cAAc;QAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACvD,IAAI,kBAAkB;QAAE,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IAChE,IAAI,eAAe;QAAE,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC1D,IAAI,iBAAiB;QAAE,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IAC9D,IAAI,mBAAmB;QAAE,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IAClE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IAEvE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEzC,OAAO;QACL,KAAK,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;QAC9C,WAAW;QACX,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACjE,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7D,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACjE,YAAY;QACZ,UAAU;QACV,WAAW;QACX,cAAc;QACd,kBAAkB;QAClB,eAAe;QACf,iBAAiB;QACjB,mBAAmB;QACnB,eAAe;KAChB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/commands/drift/compare.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export declare function computeDrifted(input: {
31
31
  missingCount: number;
32
32
  kindMismatchCount: number;
33
33
  tableDriftCount: number;
34
+ viewDriftCount: number;
34
35
  extraCount: number;
35
36
  failOnExtraObjects: boolean;
36
37
  }): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../src/commands/drift/payload.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,KAAK,kBAAkB,EAAwB,MAAM,mBAAmB,CAAA;AACzG,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAA;AAGvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAA;AAErB,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,cAAc,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC3E,WAAW,EAAE,iBAAiB,EAAE,CAAA;IAChC,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,OAAO,CAAA;CAC5B,GAAG,OAAO,CAOV;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,OAAO,CAAC,YAAY,CAAC,CA8FvB"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../src/commands/drift/payload.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,kBAAkB,EAGxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,SAAS,EAET,QAAQ,EAGT,MAAM,aAAa,CAAA;AAGpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAML,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAA;AAqCrB,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,cAAc,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC3E,WAAW,EAAE,iBAAiB,EAAE,CAAA;IAChC,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,OAAO,CAAA;CAC5B,GAAG,OAAO,CAQV;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,OAAO,CAAC,YAAY,CAAC,CA4HvB"}
@@ -1,7 +1,38 @@
1
1
  import { join } from 'node:path';
2
- import { isUnknownDatabaseError } from '@chkit/clickhouse';
2
+ import { canonicalizeSqlFragments, isUnknownDatabaseError, listViewDetails, } from '@chkit/clickhouse';
3
3
  import { debug } from '../../runtime/debug.js';
4
- import { compareSchemaObjects, compareTableShape, } from './compare.js';
4
+ import { collectTableSqlFragments, collectViewSqlQueries, compareSchemaObjects, compareTableShape, compareViewShape, } from './compare.js';
5
+ /**
6
+ * Build a canonicalizer for every SQL fragment across the compared tables and
7
+ * views, one batched ClickHouse query per kind. Returns undefined when there is nothing to
8
+ * canonicalize or ClickHouse can't format (old server, offline) — the comparer
9
+ * then falls back to plain string normalization.
10
+ */
11
+ async function buildSqlCanonicalizer(db, pairs, viewQueries) {
12
+ const expressions = [];
13
+ const queries = [...viewQueries];
14
+ for (const { expected, actual } of pairs) {
15
+ const fragments = collectTableSqlFragments(expected, actual);
16
+ expressions.push(...fragments.expressions);
17
+ queries.push(...fragments.queries);
18
+ }
19
+ if (expressions.length === 0 && queries.length === 0)
20
+ return undefined;
21
+ try {
22
+ // One after the other: the CLI's executor is bound to one HTTP session, and
23
+ // ClickHouse rejects a second query while the session is busy.
24
+ const expressionMap = await canonicalizeSqlFragments(db, expressions, { wrap: true });
25
+ const queryMap = await canonicalizeSqlFragments(db, queries, { wrap: false });
26
+ return {
27
+ expression: (fragment) => expressionMap.get(fragment) ?? null,
28
+ query: (fragment) => queryMap.get(fragment) ?? null,
29
+ };
30
+ }
31
+ catch (error) {
32
+ debug('drift', `sql canonicalization unavailable, using string comparison: ${String(error)}`);
33
+ return undefined;
34
+ }
35
+ }
5
36
  /**
6
37
  * Decide whether a schema has drifted. Objects that exist in ClickHouse but are
7
38
  * not in the schema (`extra_object` → `extraCount`) are NOT drift by default:
@@ -13,6 +44,7 @@ export function computeDrifted(input) {
13
44
  return (input.missingCount > 0 ||
14
45
  input.kindMismatchCount > 0 ||
15
46
  input.tableDriftCount > 0 ||
47
+ input.viewDriftCount > 0 ||
16
48
  (input.failOnExtraObjects && input.extraCount > 0));
17
49
  }
18
50
  export async function buildDriftPayload(config, metaDir, snapshot, scope, executor) {
@@ -78,20 +110,37 @@ export async function buildDriftPayload(config, metaDir, snapshot, scope, execut
78
110
  });
79
111
  const expectedTableMap = new Map(expectedTables.map((table) => [`${table.database}.${table.name}`, table]));
80
112
  const actualTables = await db.listTableDetails([...expectedDatabases]);
81
- const tableDrift = actualTables
82
- .map((actual) => {
113
+ const pairs = actualTables.flatMap((actual) => {
83
114
  const expected = expectedTableMap.get(`${actual.database}.${actual.name}`);
84
- if (!expected)
85
- return null;
86
- return compareTableShape(expected, actual);
87
- })
115
+ return expected ? [{ expected, actual }] : [];
116
+ });
117
+ const expectedViewMap = new Map(snapshot.definitions
118
+ .filter((def) => def.kind === 'view' || def.kind === 'materialized_view')
119
+ .map((def) => [`${def.kind}:${def.database}.${def.name}`, def]));
120
+ const actualViews = expectedViewMap.size > 0 ? await listViewDetails(db, [...expectedDatabases]) : [];
121
+ const viewPairs = actualViews.flatMap((actual) => {
122
+ const expected = expectedViewMap.get(`${actual.kind}:${actual.database}.${actual.name}`);
123
+ return expected ? [{ expected, actual }] : [];
124
+ });
125
+ // Unqualified names in a view's query resolve to the session database.
126
+ const currentDatabase = viewPairs.length > 0
127
+ ? (await db.query('SELECT currentDatabase() AS database'))[0]?.database
128
+ : undefined;
129
+ const canonicalizer = await buildSqlCanonicalizer(db, pairs, viewPairs.flatMap(({ expected, actual }) => collectViewSqlQueries(expected, actual)));
130
+ const tableDrift = pairs
131
+ .map(({ expected, actual }) => compareTableShape(expected, actual, canonicalizer))
88
132
  .filter((item) => item !== null)
89
133
  .sort((a, b) => a.table.localeCompare(b.table));
90
- debug('drift', `comparison: missing=${missing.length}, extra=${extra.length}, kindMismatches=${kindMismatches.length}, objectDrift=${objectDrift.length}, tableDrift=${tableDrift.length}`);
134
+ const viewDrift = viewPairs
135
+ .flatMap(({ expected, actual }) => compareViewShape(expected, actual, currentDatabase ?? '', canonicalizer))
136
+ .sort((a, b) => a.object.localeCompare(b.object));
137
+ const objectDriftWithViews = [...objectDrift, ...viewDrift];
138
+ debug('drift', `comparison: missing=${missing.length}, extra=${extra.length}, kindMismatches=${kindMismatches.length}, objectDrift=${objectDrift.length}, tableDrift=${tableDrift.length}, viewDrift=${viewDrift.length}`);
91
139
  const drifted = computeDrifted({
92
140
  missingCount: missing.length,
93
141
  kindMismatchCount: kindMismatches.length,
94
142
  tableDriftCount: tableDrift.length,
143
+ viewDriftCount: viewDrift.length,
95
144
  extraCount: extra.length,
96
145
  failOnExtraObjects: config.check?.failOnExtraObjects === true,
97
146
  });
@@ -104,7 +153,7 @@ export async function buildDriftPayload(config, metaDir, snapshot, scope, execut
104
153
  missing,
105
154
  extra,
106
155
  kindMismatches,
107
- objectDrift,
156
+ objectDrift: objectDriftWithViews,
108
157
  tableDrift,
109
158
  };
110
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/commands/drift/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/commands/drift/payload.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/command.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAoDjF,eAAO,MAAM,eAAe,EAAE,gBAK7B,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/command.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAyDjF,eAAO,MAAM,eAAe,EAAE,gBAK7B,CAAA"}