@hypequery/clickhouse 1.6.2 → 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/core/adapters/clickhouse-adapter.d.ts.map +1 -1
  5. package/dist/core/adapters/clickhouse-adapter.js +3 -2
  6. package/dist/core/cache/cache-manager.d.ts.map +1 -1
  7. package/dist/core/cache/cache-manager.js +5 -3
  8. package/dist/core/connection.d.ts +6 -6
  9. package/dist/core/connection.js +9 -9
  10. package/dist/core/cross-filter.js +1 -1
  11. package/dist/core/dialects/clickhouse-dialect.d.ts +2 -2
  12. package/dist/core/dialects/clickhouse-dialect.d.ts.map +1 -1
  13. package/dist/core/dialects/clickhouse-dialect.js +39 -22
  14. package/dist/core/dialects/sql-dialect.d.ts +2 -2
  15. package/dist/core/dialects/sql-dialect.d.ts.map +1 -1
  16. package/dist/core/env/auto-client.d.ts.map +1 -1
  17. package/dist/core/env/auto-client.js +1 -1
  18. package/dist/core/features/aggregations.d.ts +7 -90
  19. package/dist/core/features/aggregations.d.ts.map +1 -1
  20. package/dist/core/features/aggregations.js +19 -7
  21. package/dist/core/features/analytics.d.ts +5 -870
  22. package/dist/core/features/analytics.d.ts.map +1 -1
  23. package/dist/core/features/analytics.js +15 -13
  24. package/dist/core/features/cross-filtering.d.ts +1 -1
  25. package/dist/core/features/cross-filtering.d.ts.map +1 -1
  26. package/dist/core/features/cross-filtering.js +28 -73
  27. package/dist/core/features/executor.d.ts +1 -1
  28. package/dist/core/features/executor.d.ts.map +1 -1
  29. package/dist/core/features/executor.js +9 -11
  30. package/dist/core/features/filtering.d.ts +5 -91
  31. package/dist/core/features/filtering.d.ts.map +1 -1
  32. package/dist/core/features/filtering.js +63 -77
  33. package/dist/core/features/joins.d.ts +2 -19
  34. package/dist/core/features/joins.d.ts.map +1 -1
  35. package/dist/core/features/joins.js +16 -5
  36. package/dist/core/features/query-modifiers.d.ts +10 -109
  37. package/dist/core/features/query-modifiers.d.ts.map +1 -1
  38. package/dist/core/features/query-modifiers.js +64 -18
  39. package/dist/core/formatters/sql-formatter.d.ts +16 -5
  40. package/dist/core/formatters/sql-formatter.d.ts.map +1 -1
  41. package/dist/core/formatters/sql-formatter.js +197 -93
  42. package/dist/core/join-relationships.d.ts +22 -5
  43. package/dist/core/join-relationships.d.ts.map +1 -1
  44. package/dist/core/join-relationships.js +1 -1
  45. package/dist/core/query-builder.d.ts +63 -12
  46. package/dist/core/query-builder.d.ts.map +1 -1
  47. package/dist/core/query-builder.js +210 -153
  48. package/dist/core/query-node.d.ts +7 -0
  49. package/dist/core/query-node.d.ts.map +1 -0
  50. package/dist/core/query-node.js +80 -0
  51. package/dist/core/tests/integration/setup.d.ts +1 -0
  52. package/dist/core/tests/integration/setup.d.ts.map +1 -1
  53. package/dist/core/tests/integration/setup.js +4 -2
  54. package/dist/core/types/select-types.d.ts +3 -0
  55. package/dist/core/types/select-types.d.ts.map +1 -1
  56. package/dist/core/utils/connection-endpoint.d.ts +3 -0
  57. package/dist/core/utils/connection-endpoint.d.ts.map +1 -0
  58. package/dist/core/utils/connection-endpoint.js +9 -0
  59. package/dist/core/utils/filter-application.d.ts +15 -0
  60. package/dist/core/utils/filter-application.d.ts.map +1 -0
  61. package/dist/core/utils/filter-application.js +32 -0
  62. package/dist/core/utils/query-config-compat.d.ts +48 -0
  63. package/dist/core/utils/query-config-compat.d.ts.map +1 -0
  64. package/dist/core/utils/query-config-compat.js +137 -0
  65. package/dist/core/utils/relation-application.d.ts +9 -0
  66. package/dist/core/utils/relation-application.d.ts.map +1 -0
  67. package/dist/core/utils/relation-application.js +19 -0
  68. package/dist/core/utils/relation-validation.d.ts +6 -0
  69. package/dist/core/utils/relation-validation.d.ts.map +1 -0
  70. package/dist/core/utils/relation-validation.js +29 -0
  71. package/dist/core/utils/sql-expressions.d.ts +14 -0
  72. package/dist/core/utils/sql-expressions.d.ts.map +1 -1
  73. package/dist/core/utils/sql-expressions.js +40 -0
  74. package/dist/core/utils/tuple-filter-validation.d.ts +3 -0
  75. package/dist/core/utils/tuple-filter-validation.d.ts.map +1 -0
  76. package/dist/core/utils/tuple-filter-validation.js +16 -0
  77. package/dist/index.d.ts +2 -13
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +3 -8
  80. package/dist/types/base.d.ts +88 -22
  81. package/dist/types/base.d.ts.map +1 -1
  82. package/dist/types/filters.d.ts +9 -5
  83. package/dist/types/filters.d.ts.map +1 -1
  84. package/package.json +5 -5
  85. package/dist/migrations/config/index.d.ts +0 -3
  86. package/dist/migrations/config/index.d.ts.map +0 -1
  87. package/dist/migrations/config/index.js +0 -1
  88. package/dist/migrations/config/types.d.ts +0 -45
  89. package/dist/migrations/config/types.d.ts.map +0 -1
  90. package/dist/migrations/config/types.js +0 -28
  91. package/dist/migrations/diff/diff.d.ts +0 -11
  92. package/dist/migrations/diff/diff.d.ts.map +0 -1
  93. package/dist/migrations/diff/diff.js +0 -240
  94. package/dist/migrations/diff/index.d.ts +0 -3
  95. package/dist/migrations/diff/index.d.ts.map +0 -1
  96. package/dist/migrations/diff/index.js +0 -1
  97. package/dist/migrations/diff/types.d.ts +0 -74
  98. package/dist/migrations/diff/types.d.ts.map +0 -1
  99. package/dist/migrations/diff/types.js +0 -1
  100. package/dist/migrations/plan/index.d.ts +0 -3
  101. package/dist/migrations/plan/index.d.ts.map +0 -1
  102. package/dist/migrations/plan/index.js +0 -1
  103. package/dist/migrations/plan/plan.d.ts +0 -12
  104. package/dist/migrations/plan/plan.d.ts.map +0 -1
  105. package/dist/migrations/plan/plan.js +0 -416
  106. package/dist/migrations/plan/types.d.ts +0 -93
  107. package/dist/migrations/plan/types.d.ts.map +0 -1
  108. package/dist/migrations/plan/types.js +0 -1
  109. package/dist/migrations/schema/column.d.ts +0 -71
  110. package/dist/migrations/schema/column.d.ts.map +0 -1
  111. package/dist/migrations/schema/column.js +0 -123
  112. package/dist/migrations/schema/define.d.ts +0 -24
  113. package/dist/migrations/schema/define.d.ts.map +0 -1
  114. package/dist/migrations/schema/define.js +0 -47
  115. package/dist/migrations/schema/index.d.ts +0 -4
  116. package/dist/migrations/schema/index.d.ts.map +0 -1
  117. package/dist/migrations/schema/index.js +0 -2
  118. package/dist/migrations/schema/types.d.ts +0 -74
  119. package/dist/migrations/schema/types.d.ts.map +0 -1
  120. package/dist/migrations/schema/types.js +0 -1
  121. package/dist/migrations/snapshot/index.d.ts +0 -3
  122. package/dist/migrations/snapshot/index.d.ts.map +0 -1
  123. package/dist/migrations/snapshot/index.js +0 -1
  124. package/dist/migrations/snapshot/serialize.d.ts +0 -21
  125. package/dist/migrations/snapshot/serialize.d.ts.map +0 -1
  126. package/dist/migrations/snapshot/serialize.js +0 -127
  127. package/dist/migrations/snapshot/types.d.ts +0 -47
  128. package/dist/migrations/snapshot/types.d.ts.map +0 -1
  129. package/dist/migrations/snapshot/types.js +0 -1
  130. package/dist/migrations/sql/index.d.ts +0 -4
  131. package/dist/migrations/sql/index.d.ts.map +0 -1
  132. package/dist/migrations/sql/index.js +0 -2
  133. package/dist/migrations/sql/render.d.ts +0 -10
  134. package/dist/migrations/sql/render.d.ts.map +0 -1
  135. package/dist/migrations/sql/render.js +0 -347
  136. package/dist/migrations/sql/types.d.ts +0 -53
  137. package/dist/migrations/sql/types.d.ts.map +0 -1
  138. package/dist/migrations/sql/types.js +0 -1
  139. package/dist/migrations/sql/write.d.ts +0 -10
  140. package/dist/migrations/sql/write.d.ts.map +0 -1
  141. package/dist/migrations/sql/write.js +0 -35
@@ -1 +1 @@
1
- {"version":3,"file":"select-types.d.ts","sourceRoot":"","sources":["../../../src/core/types/select-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAElE,KAAK,gBAAgB,CAAC,KAAK,SAAS,eAAe,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAEhF,KAAK,mBAAmB,CAAC,KAAK,SAAS,eAAe,EAAE,KAAK,SAAS,MAAM,IAC1E,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GACjE,GAAG,KAAK,IAAI,OAAO,CAAC,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,GACrE,KAAK,CAAC;AAEV,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,eAAe,IAAI;KAC9D,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;CACtE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;AAE3B,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,eAAe,IAAI,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;AACjF,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,eAAe,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;AACpF,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,eAAe,IAAI,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;AAErF,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,eAAe,IACtD,gBAAgB,CAAC,KAAK,CAAC,GACvB,gBAAgB,CAAC,KAAK,CAAC,GACvB,cAAc,CAAC,KAAK,CAAC,GACrB,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAE/B,KAAK,sBAAsB,CAAC,KAAK,SAAS,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;AACtG,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3C,KAAK,mBAAmB,CAAC,KAAK,SAAS,eAAe,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;AAEpH,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,eAAe,IACpD,gBAAgB,CAAC,KAAK,CAAC,GACvB,mBAAmB,CAAC,KAAK,CAAC,GAC1B,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,GAC9B,aAAa,CAAC,GAAG,CAAC,CAAC;AAEvB,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7E,KAAK,oBAAoB,CAAC,KAAK,SAAS,eAAe,EAAE,CAAC,IACxD,CAAC,SAAS,GAAG,MAAM,KAAK,IAAI,MAAM,MAAM,EAAE,GACxC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GACnE,MAAM,SAAS,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,GACrD,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,UAAU,GAC3D,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GACzD,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,MAAM,oBAAoB,CAAC,KAAK,SAAS,eAAe,EAAE,CAAC,IAC/D,CAAC,SAAS,gBAAgB,CAAC,KAAK,CAAC,GAC/B,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAClB,CAAC,SAAS,gBAAgB,CAAC,KAAK,CAAC,GACjC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACnB,CAAC,SAAS,cAAc,CAAC,KAAK,CAAC,GAC/B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACjB,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAEnC,MAAM,MAAM,qBAAqB,CAC/B,KAAK,SAAS,eAAe,EAC7B,CAAC,IACC;KACC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC;CACpG,CAAC;AAEJ,KAAK,mBAAmB,CACtB,KAAK,SAAS,eAAe,EAC7B,KAAK,SAAS,MAAM,IAClB,KAAK,SAAS,GAAG,MAAM,MAAM,IAAI,MAAM,OAAO,IAAI,MAAM,KAAK,EAAE,GAC/D,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,GAC7B,MAAM,SAAS,sBAAsB,CAAC,KAAK,CAAC,GAC1C;KAAG,CAAC,IAAI,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC;CAAE,GACrD,EAAE,GACJ,EAAE,GACJ,EAAE,CAAC;AAEP,KAAK,4BAA4B,CAC/B,KAAK,SAAS,eAAe,EAC7B,CAAC,IACC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpC,EAAE,GACF,mBAAmB,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAExE,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,mBAAmB,CAC5D,CAAC,SAAS,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,CAAC;CAAE,GAAG,EAAE,CACrE,CAAC;AAEF,MAAM,MAAM,eAAe,CACzB,KAAK,SAAS,eAAe,EAC7B,CAAC,IACC,QAAQ,CACV,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,GAC7B,yBAAyB,CAAC,CAAC,CAAC,GAC5B,4BAA4B,CAAC,KAAK,EAAE,CAAC,CAAC,CACzC,CAAC"}
1
+ {"version":3,"file":"select-types.d.ts","sourceRoot":"","sources":["../../../src/core/types/select-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ClickHouseConfig } from '../query-builder.js';
2
+ export declare function getConnectionEndpoint(config: ClickHouseConfig): string | undefined;
3
+ //# sourceMappingURL=connection-endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-endpoint.d.ts","sourceRoot":"","sources":["../../../src/core/utils/connection-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAQlF"}
@@ -0,0 +1,9 @@
1
+ export function getConnectionEndpoint(config) {
2
+ if ('url' in config && typeof config.url === 'string') {
3
+ return config.url;
4
+ }
5
+ if ('host' in config && typeof config.host === 'string') {
6
+ return config.host;
7
+ }
8
+ return undefined;
9
+ }
@@ -0,0 +1,15 @@
1
+ import type { FilterOperator } from '../../types/index.js';
2
+ import type { PredicateBuilder, PredicateExpression } from './predicate-builder.js';
3
+ export interface FilterExpressionApplication<TExpression> {
4
+ kind: 'expression';
5
+ expression: TExpression;
6
+ }
7
+ export interface FilterConditionApplication {
8
+ kind: 'condition';
9
+ column: string | string[];
10
+ validationTarget: string | string[];
11
+ operator: FilterOperator;
12
+ value: unknown;
13
+ }
14
+ export declare function normalizeFilterApplication<TExpression>(clause: 'where' | 'prewhere', conjunction: 'AND' | 'OR', columnOrColumns: string | string[] | ((expr: PredicateBuilder<any>) => PredicateExpression), operator: FilterOperator | undefined, value: unknown, buildExpression: (builder: (expr: PredicateBuilder<any>) => PredicateExpression) => TExpression): FilterExpressionApplication<TExpression> | FilterConditionApplication;
15
+ //# sourceMappingURL=filter-application.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-application.d.ts","sourceRoot":"","sources":["../../../src/core/utils/filter-application.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGpF,MAAM,WAAW,2BAA2B,CAAC,WAAW;IACtD,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EACpD,MAAM,EAAE,OAAO,GAAG,UAAU,EAC5B,WAAW,EAAE,KAAK,GAAG,IAAI,EACzB,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAC,EAC3F,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,mBAAmB,KAAK,WAAW,GAC9F,2BAA2B,CAAC,WAAW,CAAC,GAAG,0BAA0B,CAkCvE"}
@@ -0,0 +1,32 @@
1
+ import { validateTupleFilterValue } from './tuple-filter-validation.js';
2
+ export function normalizeFilterApplication(clause, conjunction, columnOrColumns, operator, value, buildExpression) {
3
+ if (typeof columnOrColumns === 'function') {
4
+ return {
5
+ kind: 'expression',
6
+ expression: buildExpression(columnOrColumns),
7
+ };
8
+ }
9
+ if (operator === undefined) {
10
+ throw new Error(`Operator is required when specifying a column for ${conjunction === 'AND' ? clause : `or${clause[0].toUpperCase()}${clause.slice(1)}`}()`);
11
+ }
12
+ if (Array.isArray(columnOrColumns) && (operator === 'inTuple' || operator === 'globalInTuple')) {
13
+ const columns = columnOrColumns.map(String);
14
+ validateTupleFilterValue(operator, value, columns.length);
15
+ return {
16
+ kind: 'condition',
17
+ column: columns,
18
+ validationTarget: columns,
19
+ operator,
20
+ value,
21
+ };
22
+ }
23
+ validateTupleFilterValue(operator, value, 1);
24
+ const column = Array.isArray(columnOrColumns) ? String(columnOrColumns[0]) : String(columnOrColumns);
25
+ return {
26
+ kind: 'condition',
27
+ column,
28
+ validationTarget: Array.isArray(columnOrColumns) ? columnOrColumns.map(String) : column,
29
+ operator,
30
+ value,
31
+ };
32
+ }
@@ -0,0 +1,48 @@
1
+ import type { ClickHouseSettings } from '@clickhouse/client-common';
2
+ import type { FilterOperator, JoinType, OrderDirection, SelectQueryNode } from '../../types/index.js';
3
+ export type LegacyStandardWhereCondition = {
4
+ column: string;
5
+ operator: FilterOperator;
6
+ value: any;
7
+ conjunction: 'AND' | 'OR';
8
+ type?: 'condition' | 'group-start' | 'group-end';
9
+ };
10
+ export type LegacyExpressionWhereCondition = {
11
+ type: 'expression';
12
+ expression: string;
13
+ parameters: any[];
14
+ conjunction: 'AND' | 'OR';
15
+ };
16
+ export type LegacyWhereCondition = LegacyStandardWhereCondition | LegacyExpressionWhereCondition;
17
+ export type LegacyQueryConfig<T> = {
18
+ select?: Array<keyof T | string>;
19
+ from?: {
20
+ kind: 'table';
21
+ name: string;
22
+ final?: boolean;
23
+ };
24
+ where?: LegacyWhereCondition[];
25
+ prewhere?: LegacyWhereCondition[];
26
+ groupBy?: string[];
27
+ having?: string[];
28
+ limit?: number;
29
+ offset?: number;
30
+ distinct?: boolean;
31
+ orderBy?: Array<{
32
+ column: keyof T | string;
33
+ direction: OrderDirection;
34
+ }>;
35
+ joins?: Array<{
36
+ type: JoinType;
37
+ table: string;
38
+ leftColumn: string;
39
+ rightColumn: string;
40
+ alias?: string;
41
+ }>;
42
+ parameters?: any[];
43
+ ctes?: string[];
44
+ unionQueries?: string[];
45
+ settings?: ClickHouseSettings;
46
+ };
47
+ export declare function toLegacyQueryConfig<T, Schema>(queryNode: SelectQueryNode<T, Schema>): LegacyQueryConfig<T>;
48
+ //# sourceMappingURL=query-config-compat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-config-compat.d.ts","sourceRoot":"","sources":["../../../src/core/utils/query-config-compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAGV,cAAc,EACd,QAAQ,EACR,cAAc,EACd,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,4BAA4B,GAAG,8BAA8B,CAAC;AAEjG,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxD,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;QACzB,SAAS,EAAE,cAAc,CAAC;KAC3B,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AA+HF,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAC3C,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GACpC,iBAAiB,CAAC,CAAC,CAAC,CA+BtB"}
@@ -0,0 +1,137 @@
1
+ function unwrapValueNode(value) {
2
+ return value.value;
3
+ }
4
+ function unwrapConditionValue(value) {
5
+ if (typeof value === 'string') {
6
+ return value;
7
+ }
8
+ if (Array.isArray(value)) {
9
+ return value.map(item => Array.isArray(item) ? item.map(unwrapValueNode) : unwrapValueNode(item));
10
+ }
11
+ return unwrapValueNode(value);
12
+ }
13
+ function collectExprParameters(expr) {
14
+ if (!expr)
15
+ return [];
16
+ switch (expr.kind) {
17
+ case 'condition': {
18
+ const value = unwrapConditionValue(expr.value);
19
+ if (expr.operator === 'between') {
20
+ return Array.isArray(value) ? value : [];
21
+ }
22
+ if (expr.operator === 'in' ||
23
+ expr.operator === 'notIn' ||
24
+ expr.operator === 'globalIn' ||
25
+ expr.operator === 'globalNotIn') {
26
+ return Array.isArray(value) ? value : [];
27
+ }
28
+ if (expr.operator === 'inTuple' || expr.operator === 'globalInTuple') {
29
+ return Array.isArray(value) ? value.flat() : [];
30
+ }
31
+ if (expr.operator === 'inSubquery' ||
32
+ expr.operator === 'globalInSubquery' ||
33
+ expr.operator === 'inTable' ||
34
+ expr.operator === 'globalInTable' ||
35
+ expr.operator === 'isNull' ||
36
+ expr.operator === 'isNotNull') {
37
+ return [];
38
+ }
39
+ return [value];
40
+ }
41
+ case 'raw':
42
+ return expr.parameters.map(unwrapValueNode);
43
+ case 'group':
44
+ return collectExprParameters(expr.expression);
45
+ case 'logical':
46
+ return expr.conditions.flatMap(condition => collectExprParameters(condition));
47
+ case 'sequence':
48
+ return expr.items.flatMap(item => collectExprParameters(item.expression));
49
+ default:
50
+ return [];
51
+ }
52
+ }
53
+ function flattenExprToLegacyConditions(expr, firstConjunction = 'AND') {
54
+ if (!expr)
55
+ return [];
56
+ switch (expr.kind) {
57
+ case 'condition':
58
+ return [{
59
+ column: expr.column,
60
+ operator: expr.operator,
61
+ value: unwrapConditionValue(expr.value),
62
+ conjunction: firstConjunction,
63
+ }];
64
+ case 'raw':
65
+ return [{
66
+ type: 'expression',
67
+ expression: expr.expression,
68
+ parameters: expr.parameters.map(unwrapValueNode),
69
+ conjunction: firstConjunction,
70
+ }];
71
+ case 'group': {
72
+ if (!expr.expression)
73
+ return [];
74
+ return [
75
+ {
76
+ column: '',
77
+ operator: 'eq',
78
+ value: null,
79
+ conjunction: firstConjunction,
80
+ type: 'group-start',
81
+ },
82
+ ...flattenExprToLegacyConditions(expr.expression, 'AND'),
83
+ {
84
+ column: '',
85
+ operator: 'eq',
86
+ value: null,
87
+ conjunction: 'AND',
88
+ type: 'group-end',
89
+ },
90
+ ];
91
+ }
92
+ case 'sequence':
93
+ return expr.items.flatMap((item, index) => flattenExprToLegacyConditions(item.expression, index === 0 ? firstConjunction : (item.conjunction || 'AND')));
94
+ case 'logical':
95
+ return flattenExprToLegacyConditions({
96
+ kind: 'sequence',
97
+ items: expr.conditions.map((condition, index) => ({
98
+ conjunction: index === 0 ? undefined : expr.operator,
99
+ expression: condition,
100
+ })),
101
+ }, firstConjunction);
102
+ default:
103
+ return [];
104
+ }
105
+ }
106
+ export function toLegacyQueryConfig(queryNode) {
107
+ return {
108
+ select: queryNode.select?.map(item => item.selection),
109
+ from: queryNode.from ? { ...queryNode.from } : undefined,
110
+ where: flattenExprToLegacyConditions(queryNode.where),
111
+ prewhere: flattenExprToLegacyConditions(queryNode.prewhere),
112
+ groupBy: queryNode.groupBy?.map(item => item.expression),
113
+ having: queryNode.having?.map(item => item.expression),
114
+ limit: queryNode.limit,
115
+ offset: queryNode.offset,
116
+ distinct: queryNode.distinct,
117
+ orderBy: queryNode.orderBy?.map(item => ({
118
+ column: item.column,
119
+ direction: item.direction,
120
+ })),
121
+ joins: queryNode.joins?.map(join => ({
122
+ type: join.type,
123
+ table: join.table,
124
+ leftColumn: join.leftColumn,
125
+ rightColumn: join.rightColumn,
126
+ alias: join.alias,
127
+ })),
128
+ parameters: [
129
+ ...collectExprParameters(queryNode.prewhere),
130
+ ...collectExprParameters(queryNode.where),
131
+ ...(queryNode.having?.flatMap(item => item.parameters?.map(unwrapValueNode) || []) || []),
132
+ ],
133
+ ctes: queryNode.ctes?.map(item => item.expression),
134
+ unionQueries: queryNode.unionQueries ? [...queryNode.unionQueries] : undefined,
135
+ settings: queryNode.settings ? { ...queryNode.settings } : undefined,
136
+ };
137
+ }
@@ -0,0 +1,9 @@
1
+ import type { SelectQueryNode } from '../../types/index.js';
2
+ import type { SchemaDefinition } from '../types/builder-state.js';
3
+ import type { JoinPath, JoinPathOptions, JoinRelationships } from '../join-relationships.js';
4
+ export declare function resolveRelationPath<Schema extends SchemaDefinition<Schema>>(nameOrPath: string | JoinPath<Schema, string> | readonly JoinPath<Schema, string>[], relationships: JoinRelationships<Schema> | undefined): {
5
+ path: JoinPath<Schema, string> | readonly JoinPath<Schema, string>[];
6
+ label?: string;
7
+ };
8
+ export declare function applyRelationPath<Schema extends SchemaDefinition<Schema>>(query: SelectQueryNode<any, Schema>, path: JoinPath<Schema, string> | readonly JoinPath<Schema, string>[], options: JoinPathOptions | undefined, appendJoin: (currentQuery: SelectQueryNode<any, Schema>, joinPath: JoinPath<Schema, string>, options: JoinPathOptions | undefined) => SelectQueryNode<any, Schema>, label?: string): SelectQueryNode<any, Schema>;
9
+ //# sourceMappingURL=relation-application.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-application.d.ts","sourceRoot":"","sources":["../../../src/core/utils/relation-application.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7F,wBAAgB,mBAAmB,CAAC,MAAM,SAAS,gBAAgB,CAAC,MAAM,CAAC,EACzE,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EACnF,aAAa,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,SAAS,GACnD;IAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAe1F;AAED,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,gBAAgB,CAAC,MAAM,CAAC,EACvE,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,EACnC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EACpE,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,UAAU,EAAE,CACV,YAAY,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,EAC1C,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,OAAO,EAAE,eAAe,GAAG,SAAS,KACjC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,EACjC,KAAK,CAAC,EAAE,MAAM,GACb,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAQ9B"}
@@ -0,0 +1,19 @@
1
+ import { validateRelationAliasOverride, validateRelationPathOrigin } from './relation-validation.js';
2
+ export function resolveRelationPath(nameOrPath, relationships) {
3
+ if (typeof nameOrPath !== 'string') {
4
+ return { path: nameOrPath };
5
+ }
6
+ if (!relationships) {
7
+ throw new Error('Join relationships have not been initialized. Call QueryBuilder.setJoinRelationships first.');
8
+ }
9
+ const path = relationships.get(nameOrPath);
10
+ if (!path) {
11
+ throw new Error(`Join relationship '${nameOrPath}' not found`);
12
+ }
13
+ return { path, label: nameOrPath };
14
+ }
15
+ export function applyRelationPath(query, path, options, appendJoin, label) {
16
+ validateRelationAliasOverride(path, options?.alias, label);
17
+ validateRelationPathOrigin(query, path, label);
18
+ return (Array.isArray(path) ? path : [path]).reduce((currentQuery, joinPath) => appendJoin(currentQuery, joinPath, options), query);
19
+ }
@@ -0,0 +1,6 @@
1
+ import type { SelectQueryNode } from '../../types/index.js';
2
+ import type { SchemaDefinition } from '../types/builder-state.js';
3
+ import type { JoinPath } from '../join-relationships.js';
4
+ export declare function validateRelationPathOrigin<Schema extends SchemaDefinition<Schema>>(query: SelectQueryNode<any, Schema>, path: JoinPath<Schema, string> | readonly JoinPath<Schema, string>[], label?: string): void;
5
+ export declare function validateRelationAliasOverride(path: JoinPath<any, string> | readonly JoinPath<any, string>[], alias: string | undefined, label?: string): void;
6
+ //# sourceMappingURL=relation-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-validation.d.ts","sourceRoot":"","sources":["../../../src/core/utils/relation-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAezD,wBAAgB,0BAA0B,CAAC,MAAM,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAChF,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,EACnC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EACpE,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CAeN;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAC9D,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CASN"}
@@ -0,0 +1,29 @@
1
+ function getAvailableRelationSources(query) {
2
+ const sources = new Set();
3
+ if (query.from?.kind === 'table') {
4
+ sources.add(query.from.name);
5
+ }
6
+ for (const join of query.joins || []) {
7
+ sources.add(join.alias || join.table);
8
+ }
9
+ return sources;
10
+ }
11
+ export function validateRelationPathOrigin(query, path, label) {
12
+ const availableSources = getAvailableRelationSources(query);
13
+ const paths = Array.isArray(path) ? path : [path];
14
+ paths.forEach((joinPath, index) => {
15
+ const from = String(joinPath.from);
16
+ if (!availableSources.has(from)) {
17
+ const relationshipLabel = label ? ` '${label}'` : '';
18
+ throw new Error(`Join relationship${relationshipLabel} step ${index + 1} expects source '${from}', but available sources are: ${Array.from(availableSources).join(', ')}`);
19
+ }
20
+ availableSources.add(joinPath.alias || String(joinPath.to));
21
+ });
22
+ }
23
+ export function validateRelationAliasOverride(path, alias, label) {
24
+ if (!Array.isArray(path) || !alias) {
25
+ return;
26
+ }
27
+ const nameLabel = label ? `'${label}' ` : '';
28
+ throw new Error(`Join relationship ${nameLabel}is a chain; alias override is only supported for single-join relationships`);
29
+ }
@@ -64,6 +64,20 @@ export declare function formatDateTime<T extends string>(field: string, format:
64
64
  */
65
65
  export declare function toStartOfInterval(field: string, interval: string): SqlExpression<Date>;
66
66
  export declare function toStartOfInterval<T extends string>(field: string, interval: string, alias: T): AliasedExpression<Date, T>;
67
+ export declare function toStartOfMinute(field: string): SqlExpression<Date>;
68
+ export declare function toStartOfMinute<T extends string>(field: string, alias: T): AliasedExpression<Date, T>;
69
+ export declare function toStartOfHour(field: string): SqlExpression<Date>;
70
+ export declare function toStartOfHour<T extends string>(field: string, alias: T): AliasedExpression<Date, T>;
71
+ export declare function toStartOfDay(field: string): SqlExpression<Date>;
72
+ export declare function toStartOfDay<T extends string>(field: string, alias: T): AliasedExpression<Date, T>;
73
+ export declare function toStartOfWeek(field: string): SqlExpression<Date>;
74
+ export declare function toStartOfWeek<T extends string>(field: string, alias: T): AliasedExpression<Date, T>;
75
+ export declare function toStartOfMonth(field: string): SqlExpression<Date>;
76
+ export declare function toStartOfMonth<T extends string>(field: string, alias: T): AliasedExpression<Date, T>;
77
+ export declare function toStartOfQuarter(field: string): SqlExpression<Date>;
78
+ export declare function toStartOfQuarter<T extends string>(field: string, alias: T): AliasedExpression<Date, T>;
79
+ export declare function toStartOfYear(field: string): SqlExpression<Date>;
80
+ export declare function toStartOfYear<T extends string>(field: string, alias: T): AliasedExpression<Date, T>;
67
81
  /**
68
82
  * Extracts the specified part from a date/time value
69
83
  * @param part The part to extract (year, month, day, etc.)
@@ -1 +1 @@
1
- {"version":3,"file":"sql-expressions.d.ts","sourceRoot":"","sources":["../../../src/core/utils/sql-expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-expressions.d.ts","sourceRoot":"","sources":["../../../src/core/utils/sql-expressions.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,46 @@ export function toStartOfInterval(field, interval, alias) {
46
46
  ? rawAs(`toStartOfInterval(${field}, INTERVAL ${interval})`, alias)
47
47
  : raw(`toStartOfInterval(${field}, INTERVAL ${interval})`);
48
48
  }
49
+ function toStartOfUnit(functionName, field, alias) {
50
+ return alias
51
+ ? rawAs(`${functionName}(${field})`, alias)
52
+ : raw(`${functionName}(${field})`);
53
+ }
54
+ export function toStartOfMinute(field, alias) {
55
+ return alias
56
+ ? toStartOfUnit('toStartOfMinute', field, alias)
57
+ : toStartOfUnit('toStartOfMinute', field);
58
+ }
59
+ export function toStartOfHour(field, alias) {
60
+ return alias
61
+ ? toStartOfUnit('toStartOfHour', field, alias)
62
+ : toStartOfUnit('toStartOfHour', field);
63
+ }
64
+ export function toStartOfDay(field, alias) {
65
+ return alias
66
+ ? toStartOfUnit('toStartOfDay', field, alias)
67
+ : toStartOfUnit('toStartOfDay', field);
68
+ }
69
+ export function toStartOfWeek(field, alias) {
70
+ return alias
71
+ ? rawAs(`toStartOfWeek(${field}, 1)`, alias)
72
+ : raw(`toStartOfWeek(${field}, 1)`);
73
+ }
74
+ export function toStartOfMonth(field, alias) {
75
+ return alias
76
+ ? toStartOfUnit('toStartOfMonth', field, alias)
77
+ : toStartOfUnit('toStartOfMonth', field);
78
+ }
79
+ export function toStartOfQuarter(field, alias) {
80
+ return alias
81
+ ? toStartOfUnit('toStartOfQuarter', field, alias)
82
+ : toStartOfUnit('toStartOfQuarter', field);
83
+ }
84
+ export function toStartOfYear(field, alias) {
85
+ return alias
86
+ ? toStartOfUnit('toStartOfYear', field, alias)
87
+ : toStartOfUnit('toStartOfYear', field);
88
+ }
49
89
  export function datePart(part, field, alias) {
50
90
  const functionName = `to${part.charAt(0).toUpperCase() + part.slice(1)}`;
51
91
  return alias
@@ -0,0 +1,3 @@
1
+ import type { FilterOperator } from '../../types/index.js';
2
+ export declare function validateTupleFilterValue(operator: FilterOperator, value: unknown, expectedWidth: number): void;
3
+ //# sourceMappingURL=tuple-filter-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuple-filter-validation.d.ts","sourceRoot":"","sources":["../../../src/core/utils/tuple-filter-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,MAAM,GACpB,IAAI,CAmBN"}
@@ -0,0 +1,16 @@
1
+ export function validateTupleFilterValue(operator, value, expectedWidth) {
2
+ if (operator !== 'inTuple' && operator !== 'globalInTuple') {
3
+ return;
4
+ }
5
+ if (!Array.isArray(value)) {
6
+ throw new Error(`Expected an array of tuples for ${operator} operator, but got ${typeof value}`);
7
+ }
8
+ value.forEach((tuple, index) => {
9
+ if (!Array.isArray(tuple)) {
10
+ throw new Error(`Expected tuple ${index + 1} for ${operator} operator to be an array`);
11
+ }
12
+ if (tuple.length !== expectedWidth) {
13
+ throw new Error(`Expected tuple ${index + 1} for ${operator} operator to have ${expectedWidth} value${expectedWidth === 1 ? '' : 's'}, but got ${tuple.length}`);
14
+ }
15
+ });
16
+ }
package/dist/index.d.ts CHANGED
@@ -18,9 +18,10 @@ export type { FilterOperator, OperatorValueMap, FilterConditionInput } from './t
18
18
  export type { JoinPath, JoinPathOptions } from './core/join-relationships.js';
19
19
  export { CrossFilter } from './core/cross-filter.js';
20
20
  export { logger } from './core/utils/logger.js';
21
- export { raw, rawAs, selectExpr, toDateTime, formatDateTime, toStartOfInterval, datePart } from './core/utils/sql-expressions.js';
21
+ export { raw, rawAs, selectExpr, toDateTime, formatDateTime, toStartOfInterval, toStartOfMinute, toStartOfHour, toStartOfDay, toStartOfWeek, toStartOfMonth, toStartOfQuarter, toStartOfYear, datePart } from './core/utils/sql-expressions.js';
22
22
  export type { SqlExpression, FormatDateTimeOptions, AliasedExpression } from './core/utils/sql-expressions.js';
23
23
  export type { PredicateExpression, PredicateLiteral, PredicateBuilder, PredicateArg } from './core/utils/predicate-builder.js';
24
+ export { generateTypes } from './cli/index.js';
24
25
  export { sql, isSQLExpression, toSQLString } from './dataset/sql-tag.js';
25
26
  export type { SQLExpression } from './dataset/sql-tag.js';
26
27
  export { dimension, metric } from './dataset/helpers.js';
@@ -28,16 +29,4 @@ export type { DimensionOptions, MetricOptions } from './dataset/helpers.js';
28
29
  export type { DimensionType, SimpleDimension, DimensionDefinition, Dimension, DimensionsMap, MetricAggregationType, MetricFormat, MetricDefinition, MetricsMap, DatasetDefinition, DatasetsMap, TenantConfig, DatasetLimits, DateRangeValue, FilterValue, FilterDefinition, Filters, SortDirection, OrderByDimension, OrderByMetric, OrderBy, DatasetQuery, QueryContext, QueryResultMetadata, QueryResult, InferDimensionType, InferMetricType, InferQueryRowType, InferQueryResult, IntrospectedDimension, IntrospectedMetric, IntrospectedDataset, } from './dataset/types.js';
29
30
  export { validateDatasetDefinition, validateDatasets, normalizeDimension, normalizeDimensions, inferDimensionType, getDimensionSQL, getMetricSQL, getDataset, listDatasets, hasDataset, getDimensionNames, getMetricNames, hasDimension, hasMetric, getDimension, getMetric, } from './dataset/definition.js';
30
31
  export { introspectDimension, introspectMetric, getDatasetSchema, getAllDatasetSchemas, summarizeDataset, datasetsToJSON, summarizeAllDatasets, } from './dataset/introspection.js';
31
- export { defineConfig, resolveClickHouseConfig, DEFAULT_MIGRATIONS_OUT_DIR, DEFAULT_MIGRATIONS_PREFIX, DEFAULT_MIGRATIONS_TABLE, } from './migrations/config/index.js';
32
- export { column, ClickHouseColumnBuilder, defineMaterializedView, defineSchema, defineTable, } from './migrations/schema/index.js';
33
- export { diffSnapshots, } from './migrations/diff/index.js';
34
- export { createMigrationPlan, isMigrationPlan, } from './migrations/plan/index.js';
35
- export { serializeSchemaToSnapshot, snapshotToStableJson, hashSnapshot, } from './migrations/snapshot/index.js';
36
- export { renderMigrationArtifacts, writeMigrationArtifacts, } from './migrations/sql/index.js';
37
- export type { ClickHouseClusterConfig, ClickHouseMigrationDbCredentials, ClickHouseMigrationDirectoryConfig, HypequeryClickHouseConfig, MigrationFilePrefix, ResolvedHypequeryClickHouseConfig, } from './migrations/config/index.js';
38
- export type { ClickHouseColumnDefinition, ClickHouseColumnBuilderLike, ClickHouseColumnDefaultValue, ClickHouseColumnType, ClickHouseDefaultInput, ClickHouseLowCardinalityColumnType, ClickHouseLiteralDefaultValue, ClickHouseMaterializedViewDefinition, ClickHouseMaterializedViewInputDefinition, ClickHouseNamedColumnType, ClickHouseNullableColumnType, ClickHouseSqlDefaultValue, ClickHouseSchemaAst, ClickHouseSchemaDefinition, ClickHouseSqlExpression, ClickHouseTableDefinition, ClickHouseTableInputDefinition, ClickHouseTableEngine, } from './migrations/schema/index.js';
39
- export type { AddColumnOperation, AlterTableWithDependentViewsOperation, CreateMaterializedViewOperation, CreateTableOperation, DiffWarning, DropColumnOperation, DropMaterializedViewOperation, DropTableOperation, MigrationOperation, ModifyColumnDefaultOperation, ModifyColumnTypeOperation, RecreateMaterializedViewOperation, SnapshotDiffResult, TableMutationOperation, UnsupportedChange, } from './migrations/diff/index.js';
40
- export type { ClickHouseMigrationSyncSetting, ClickHouseMigrationPlanContext, ClickHouseTableCostStats, CreateMigrationPlanOptions, MigrationPlanAnalyzer, MigrationPlanAnalyzerContext, MigrationPlanAnalyzerResult, MigrationOperationClassification, MigrationOperationCostEstimate, MigrationPlan, MigrationPlanBlocker, MigrationPlanConfirmation, MigrationPlanDiagnostic, MigrationPlanDiagnosticLevel, MigrationPlanInput, PlannedMigrationOperation, } from './migrations/plan/index.js';
41
- export type { MigrationMeta, RenderMigrationArtifactsInput, RenderMigrationArtifactsOptions, RenderMigrationArtifactsResult, WriteMigrationArtifactsOptions, WriteMigrationArtifactsResult, } from './migrations/sql/index.js';
42
- export type { Snapshot, SnapshotColumn, SnapshotColumnDefault, SnapshotDependencyEdge, SnapshotMaterializedView, SnapshotTable, SnapshotTableEngine, } from './migrations/snapshot/index.js';
43
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,7 +11,9 @@ export { NoopCacheProvider } from './core/cache/providers/noop.js';
11
11
  export { CrossFilter } from './core/cross-filter.js';
12
12
  export { logger } from './core/utils/logger.js';
13
13
  // Re-export SQL expression utilities
14
- export { raw, rawAs, selectExpr, toDateTime, formatDateTime, toStartOfInterval, datePart } from './core/utils/sql-expressions.js';
14
+ export { raw, rawAs, selectExpr, toDateTime, formatDateTime, toStartOfInterval, toStartOfMinute, toStartOfHour, toStartOfDay, toStartOfWeek, toStartOfMonth, toStartOfQuarter, toStartOfYear, datePart } from './core/utils/sql-expressions.js';
15
+ // CLI utilities
16
+ export { generateTypes } from './cli/index.js';
15
17
  // =============================================================================
16
18
  // DATASET API (Phase 1)
17
19
  // =============================================================================
@@ -23,10 +25,3 @@ export { dimension, metric } from './dataset/helpers.js';
23
25
  export { validateDatasetDefinition, validateDatasets, normalizeDimension, normalizeDimensions, inferDimensionType, getDimensionSQL, getMetricSQL, getDataset, listDatasets, hasDataset, getDimensionNames, getMetricNames, hasDimension, hasMetric, getDimension, getMetric, } from './dataset/definition.js';
24
26
  // Dataset introspection
25
27
  export { introspectDimension, introspectMetric, getDatasetSchema, getAllDatasetSchemas, summarizeDataset, datasetsToJSON, summarizeAllDatasets, } from './dataset/introspection.js';
26
- // Migrations foundations
27
- export { defineConfig, resolveClickHouseConfig, DEFAULT_MIGRATIONS_OUT_DIR, DEFAULT_MIGRATIONS_PREFIX, DEFAULT_MIGRATIONS_TABLE, } from './migrations/config/index.js';
28
- export { column, ClickHouseColumnBuilder, defineMaterializedView, defineSchema, defineTable, } from './migrations/schema/index.js';
29
- export { diffSnapshots, } from './migrations/diff/index.js';
30
- export { createMigrationPlan, isMigrationPlan, } from './migrations/plan/index.js';
31
- export { serializeSchemaToSnapshot, snapshotToStableJson, hashSnapshot, } from './migrations/snapshot/index.js';
32
- export { renderMigrationArtifacts, writeMigrationArtifacts, } from './migrations/sql/index.js';