@hypequery/clickhouse 1.6.1 → 2.0.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 (141) hide show
  1. package/README-CLI.md +43 -88
  2. package/README.md +84 -253
  3. package/dist/cli/bin.js +16 -8
  4. package/dist/cli/generate-types.js +3 -81
  5. package/dist/cli/type-parsing.js +124 -0
  6. package/dist/core/adapters/clickhouse-adapter.d.ts.map +1 -1
  7. package/dist/core/adapters/clickhouse-adapter.js +3 -2
  8. package/dist/core/cache/cache-manager.d.ts.map +1 -1
  9. package/dist/core/cache/cache-manager.js +5 -3
  10. package/dist/core/connection.d.ts +6 -6
  11. package/dist/core/connection.js +9 -9
  12. package/dist/core/cross-filter.js +1 -1
  13. package/dist/core/dialects/clickhouse-dialect.d.ts +2 -2
  14. package/dist/core/dialects/clickhouse-dialect.d.ts.map +1 -1
  15. package/dist/core/dialects/clickhouse-dialect.js +39 -22
  16. package/dist/core/dialects/sql-dialect.d.ts +2 -2
  17. package/dist/core/dialects/sql-dialect.d.ts.map +1 -1
  18. package/dist/core/env/auto-client.d.ts.map +1 -1
  19. package/dist/core/env/auto-client.js +1 -1
  20. package/dist/core/features/aggregations.d.ts +7 -90
  21. package/dist/core/features/aggregations.d.ts.map +1 -1
  22. package/dist/core/features/aggregations.js +19 -7
  23. package/dist/core/features/analytics.d.ts +5 -870
  24. package/dist/core/features/analytics.d.ts.map +1 -1
  25. package/dist/core/features/analytics.js +15 -13
  26. package/dist/core/features/cross-filtering.d.ts +1 -1
  27. package/dist/core/features/cross-filtering.d.ts.map +1 -1
  28. package/dist/core/features/cross-filtering.js +28 -73
  29. package/dist/core/features/executor.d.ts +1 -1
  30. package/dist/core/features/executor.d.ts.map +1 -1
  31. package/dist/core/features/executor.js +9 -11
  32. package/dist/core/features/filtering.d.ts +5 -91
  33. package/dist/core/features/filtering.d.ts.map +1 -1
  34. package/dist/core/features/filtering.js +63 -77
  35. package/dist/core/features/joins.d.ts +2 -19
  36. package/dist/core/features/joins.d.ts.map +1 -1
  37. package/dist/core/features/joins.js +16 -5
  38. package/dist/core/features/query-modifiers.d.ts +10 -109
  39. package/dist/core/features/query-modifiers.d.ts.map +1 -1
  40. package/dist/core/features/query-modifiers.js +64 -18
  41. package/dist/core/formatters/sql-formatter.d.ts +16 -5
  42. package/dist/core/formatters/sql-formatter.d.ts.map +1 -1
  43. package/dist/core/formatters/sql-formatter.js +197 -93
  44. package/dist/core/join-relationships.d.ts +22 -5
  45. package/dist/core/join-relationships.d.ts.map +1 -1
  46. package/dist/core/join-relationships.js +1 -1
  47. package/dist/core/query-builder.d.ts +63 -12
  48. package/dist/core/query-builder.d.ts.map +1 -1
  49. package/dist/core/query-builder.js +210 -153
  50. package/dist/core/query-node.d.ts +7 -0
  51. package/dist/core/query-node.d.ts.map +1 -0
  52. package/dist/core/query-node.js +80 -0
  53. package/dist/core/tests/integration/setup.d.ts +1 -0
  54. package/dist/core/tests/integration/setup.d.ts.map +1 -1
  55. package/dist/core/tests/integration/setup.js +4 -2
  56. package/dist/core/types/select-types.d.ts +3 -0
  57. package/dist/core/types/select-types.d.ts.map +1 -1
  58. package/dist/core/utils/connection-endpoint.d.ts +3 -0
  59. package/dist/core/utils/connection-endpoint.d.ts.map +1 -0
  60. package/dist/core/utils/connection-endpoint.js +9 -0
  61. package/dist/core/utils/filter-application.d.ts +15 -0
  62. package/dist/core/utils/filter-application.d.ts.map +1 -0
  63. package/dist/core/utils/filter-application.js +32 -0
  64. package/dist/core/utils/query-config-compat.d.ts +48 -0
  65. package/dist/core/utils/query-config-compat.d.ts.map +1 -0
  66. package/dist/core/utils/query-config-compat.js +137 -0
  67. package/dist/core/utils/relation-application.d.ts +9 -0
  68. package/dist/core/utils/relation-application.d.ts.map +1 -0
  69. package/dist/core/utils/relation-application.js +19 -0
  70. package/dist/core/utils/relation-validation.d.ts +6 -0
  71. package/dist/core/utils/relation-validation.d.ts.map +1 -0
  72. package/dist/core/utils/relation-validation.js +29 -0
  73. package/dist/core/utils/sql-expressions.d.ts +14 -0
  74. package/dist/core/utils/sql-expressions.d.ts.map +1 -1
  75. package/dist/core/utils/sql-expressions.js +40 -0
  76. package/dist/core/utils/tuple-filter-validation.d.ts +3 -0
  77. package/dist/core/utils/tuple-filter-validation.d.ts.map +1 -0
  78. package/dist/core/utils/tuple-filter-validation.js +16 -0
  79. package/dist/index.d.ts +2 -11
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +3 -7
  82. package/dist/types/base.d.ts +88 -22
  83. package/dist/types/base.d.ts.map +1 -1
  84. package/dist/types/clickhouse-types.d.ts +5 -2
  85. package/dist/types/clickhouse-types.d.ts.map +1 -1
  86. package/dist/types/filters.d.ts +9 -5
  87. package/dist/types/filters.d.ts.map +1 -1
  88. package/dist/types/index.d.ts +1 -0
  89. package/dist/types/index.d.ts.map +1 -1
  90. package/dist/types/index.js +1 -0
  91. package/dist/types/type-helpers.d.ts +7 -0
  92. package/dist/types/type-helpers.d.ts.map +1 -0
  93. package/package.json +5 -5
  94. package/dist/migrations/config/index.d.ts +0 -3
  95. package/dist/migrations/config/index.d.ts.map +0 -1
  96. package/dist/migrations/config/index.js +0 -1
  97. package/dist/migrations/config/types.d.ts +0 -45
  98. package/dist/migrations/config/types.d.ts.map +0 -1
  99. package/dist/migrations/config/types.js +0 -28
  100. package/dist/migrations/diff/diff.d.ts +0 -11
  101. package/dist/migrations/diff/diff.d.ts.map +0 -1
  102. package/dist/migrations/diff/diff.js +0 -240
  103. package/dist/migrations/diff/index.d.ts +0 -3
  104. package/dist/migrations/diff/index.d.ts.map +0 -1
  105. package/dist/migrations/diff/index.js +0 -1
  106. package/dist/migrations/diff/types.d.ts +0 -74
  107. package/dist/migrations/diff/types.d.ts.map +0 -1
  108. package/dist/migrations/schema/column.d.ts +0 -71
  109. package/dist/migrations/schema/column.d.ts.map +0 -1
  110. package/dist/migrations/schema/column.js +0 -123
  111. package/dist/migrations/schema/define.d.ts +0 -24
  112. package/dist/migrations/schema/define.d.ts.map +0 -1
  113. package/dist/migrations/schema/define.js +0 -47
  114. package/dist/migrations/schema/index.d.ts +0 -4
  115. package/dist/migrations/schema/index.d.ts.map +0 -1
  116. package/dist/migrations/schema/index.js +0 -2
  117. package/dist/migrations/schema/types.d.ts +0 -74
  118. package/dist/migrations/schema/types.d.ts.map +0 -1
  119. package/dist/migrations/schema/types.js +0 -1
  120. package/dist/migrations/snapshot/index.d.ts +0 -3
  121. package/dist/migrations/snapshot/index.d.ts.map +0 -1
  122. package/dist/migrations/snapshot/index.js +0 -1
  123. package/dist/migrations/snapshot/serialize.d.ts +0 -21
  124. package/dist/migrations/snapshot/serialize.d.ts.map +0 -1
  125. package/dist/migrations/snapshot/serialize.js +0 -127
  126. package/dist/migrations/snapshot/types.d.ts +0 -47
  127. package/dist/migrations/snapshot/types.d.ts.map +0 -1
  128. package/dist/migrations/snapshot/types.js +0 -1
  129. package/dist/migrations/sql/index.d.ts +0 -4
  130. package/dist/migrations/sql/index.d.ts.map +0 -1
  131. package/dist/migrations/sql/index.js +0 -2
  132. package/dist/migrations/sql/render.d.ts +0 -11
  133. package/dist/migrations/sql/render.d.ts.map +0 -1
  134. package/dist/migrations/sql/render.js +0 -334
  135. package/dist/migrations/sql/types.d.ts +0 -48
  136. package/dist/migrations/sql/types.d.ts.map +0 -1
  137. package/dist/migrations/sql/types.js +0 -1
  138. package/dist/migrations/sql/write.d.ts +0 -9
  139. package/dist/migrations/sql/write.d.ts.map +0 -1
  140. package/dist/migrations/sql/write.js +0 -31
  141. /package/dist/{migrations/diff/types.js → types/type-helpers.js} +0 -0
@@ -1,48 +0,0 @@
1
- import type { MigrationOperation, SnapshotDiffResult } from '../diff/types.js';
2
- import type { Snapshot, SnapshotMaterializedView } from '../snapshot/types.js';
3
- export interface MigrationMeta {
4
- name: string;
5
- timestamp: string;
6
- operations: Array<{
7
- kind: MigrationOperation['kind'];
8
- }>;
9
- sourceSnapshotHash: string;
10
- targetSnapshotHash: string;
11
- custom: boolean;
12
- unsafe: boolean;
13
- containsManualSteps: boolean;
14
- }
15
- export interface RenderMigrationArtifactsOptions {
16
- name: string;
17
- timestamp: string;
18
- cluster?: string;
19
- }
20
- export interface RenderMigrationArtifactsResult {
21
- upSql: string;
22
- downSql: string;
23
- meta: MigrationMeta;
24
- }
25
- export interface RenderSqlContext {
26
- diff: SnapshotDiffResult;
27
- cluster?: string;
28
- }
29
- export interface MaterializedViewRenderContext {
30
- view: SnapshotMaterializedView;
31
- cluster?: string;
32
- }
33
- export interface WriteMigrationArtifactsOptions {
34
- outDir: string;
35
- migrationName: string;
36
- artifacts: RenderMigrationArtifactsResult;
37
- }
38
- export interface WriteMigrationArtifactsResult {
39
- migrationDir: string;
40
- upPath: string;
41
- downPath: string;
42
- metaPath: string;
43
- }
44
- export interface SnapshotLookup {
45
- previousSnapshot: Snapshot;
46
- nextSnapshot: Snapshot;
47
- }
48
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/migrations/sql/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;IACxD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,8BAA8B,CAAC;CAC3C;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,YAAY,EAAE,QAAQ,CAAC;CACxB"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- import type { WriteMigrationArtifactsOptions, WriteMigrationArtifactsResult } from './types.js';
2
- /**
3
- * Writes rendered migration artifacts to a migration directory.
4
- *
5
- * The migration name must be a single safe path segment. The writer creates
6
- * `up.sql`, `down.sql`, and `meta.json` files under `outDir/migrationName`.
7
- */
8
- export declare function writeMigrationArtifacts(options: WriteMigrationArtifactsOptions): Promise<WriteMigrationArtifactsResult>;
9
- //# sourceMappingURL=write.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../src/migrations/sql/write.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,6BAA6B,CAAC,CAoBxC"}
@@ -1,31 +0,0 @@
1
- import { mkdir, writeFile } from 'node:fs/promises';
2
- import path from 'node:path';
3
- /**
4
- * Writes rendered migration artifacts to a migration directory.
5
- *
6
- * The migration name must be a single safe path segment. The writer creates
7
- * `up.sql`, `down.sql`, and `meta.json` files under `outDir/migrationName`.
8
- */
9
- export async function writeMigrationArtifacts(options) {
10
- assertValidMigrationName(options.migrationName);
11
- const migrationDir = path.join(options.outDir, options.migrationName);
12
- await mkdir(migrationDir, { recursive: true });
13
- const upPath = path.join(migrationDir, 'up.sql');
14
- const downPath = path.join(migrationDir, 'down.sql');
15
- const metaPath = path.join(migrationDir, 'meta.json');
16
- await writeFile(upPath, `${options.artifacts.upSql}\n`, 'utf8');
17
- await writeFile(downPath, `${options.artifacts.downSql}\n`, 'utf8');
18
- await writeFile(metaPath, `${JSON.stringify(options.artifacts.meta, null, 2)}\n`, 'utf8');
19
- return {
20
- migrationDir,
21
- upPath,
22
- downPath,
23
- metaPath,
24
- };
25
- }
26
- function assertValidMigrationName(migrationName) {
27
- if (!/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(migrationName)) {
28
- throw new Error(`Invalid migration name "${migrationName}". ` +
29
- 'Migration names must be a single path segment containing only letters, numbers, underscores, and hyphens.');
30
- }
31
- }