@memberjunction/codegen-lib 6.2.0-edge.0 → 6.2.0-edge.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/dist/Angular/angular-codegen.d.ts +6 -0
  2. package/dist/Angular/angular-codegen.d.ts.map +1 -1
  3. package/dist/Angular/angular-codegen.js +26 -14
  4. package/dist/Angular/angular-codegen.js.map +1 -1
  5. package/dist/Config/config.d.ts +45 -2
  6. package/dist/Config/config.d.ts.map +1 -1
  7. package/dist/Config/config.js +116 -39
  8. package/dist/Config/config.js.map +1 -1
  9. package/dist/Config/db-connection.d.ts +4 -0
  10. package/dist/Config/db-connection.d.ts.map +1 -1
  11. package/dist/Config/db-connection.js +11 -3
  12. package/dist/Config/db-connection.js.map +1 -1
  13. package/dist/Config/pg-connection.d.ts +2 -0
  14. package/dist/Config/pg-connection.d.ts.map +1 -1
  15. package/dist/Config/pg-connection.js +5 -1
  16. package/dist/Config/pg-connection.js.map +1 -1
  17. package/dist/Config/schema-output.d.ts +8 -0
  18. package/dist/Config/schema-output.d.ts.map +1 -1
  19. package/dist/Config/schema-output.js +19 -7
  20. package/dist/Config/schema-output.js.map +1 -1
  21. package/dist/Database/__tests__/exclude-schema-permissions.test.js +3 -3
  22. package/dist/Database/codeGenDatabaseProvider.d.ts +16 -1
  23. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  24. package/dist/Database/codeGenDatabaseProvider.js +37 -9
  25. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  26. package/dist/Database/dbSchema.d.ts +4 -0
  27. package/dist/Database/dbSchema.d.ts.map +1 -1
  28. package/dist/Database/dbSchema.js +17 -9
  29. package/dist/Database/dbSchema.js.map +1 -1
  30. package/dist/Database/entity-field-change-tracking.d.ts +4 -0
  31. package/dist/Database/entity-field-change-tracking.d.ts.map +1 -1
  32. package/dist/Database/entity-field-change-tracking.js +12 -4
  33. package/dist/Database/entity-field-change-tracking.js.map +1 -1
  34. package/dist/Database/exclude-tables.d.ts +2 -0
  35. package/dist/Database/exclude-tables.d.ts.map +1 -1
  36. package/dist/Database/exclude-tables.js +5 -1
  37. package/dist/Database/exclude-tables.js.map +1 -1
  38. package/dist/Database/field-metadata-lock.d.ts +8 -6
  39. package/dist/Database/field-metadata-lock.d.ts.map +1 -1
  40. package/dist/Database/field-metadata-lock.js +29 -25
  41. package/dist/Database/field-metadata-lock.js.map +1 -1
  42. package/dist/Database/heal-schema-params.d.ts +14 -2
  43. package/dist/Database/heal-schema-params.d.ts.map +1 -1
  44. package/dist/Database/heal-schema-params.js +21 -5
  45. package/dist/Database/heal-schema-params.js.map +1 -1
  46. package/dist/Database/manage-metadata.d.ts +119 -3
  47. package/dist/Database/manage-metadata.d.ts.map +1 -1
  48. package/dist/Database/manage-metadata.js +529 -364
  49. package/dist/Database/manage-metadata.js.map +1 -1
  50. package/dist/Database/materializationAnalysis.d.ts +61 -2
  51. package/dist/Database/materializationAnalysis.d.ts.map +1 -1
  52. package/dist/Database/materializationAnalysis.js +43 -23
  53. package/dist/Database/materializationAnalysis.js.map +1 -1
  54. package/dist/Database/materializationBroadRender.d.ts +5 -3
  55. package/dist/Database/materializationBroadRender.d.ts.map +1 -1
  56. package/dist/Database/materializationBroadRender.js +17 -13
  57. package/dist/Database/materializationBroadRender.js.map +1 -1
  58. package/dist/Database/materializationDrift.d.ts +2 -0
  59. package/dist/Database/materializationDrift.d.ts.map +1 -1
  60. package/dist/Database/materializationDrift.js +5 -1
  61. package/dist/Database/materializationDrift.js.map +1 -1
  62. package/dist/Database/materializationParamClassifier.d.ts +17 -2
  63. package/dist/Database/materializationParamClassifier.d.ts.map +1 -1
  64. package/dist/Database/materializationParamClassifier.js +22 -10
  65. package/dist/Database/materializationParamClassifier.js.map +1 -1
  66. package/dist/Database/materializationParamVerifier.d.ts +2 -0
  67. package/dist/Database/materializationParamVerifier.d.ts.map +1 -1
  68. package/dist/Database/materializationParamVerifier.js +18 -14
  69. package/dist/Database/materializationParamVerifier.js.map +1 -1
  70. package/dist/Database/materializationSqlAst.d.ts +19 -1
  71. package/dist/Database/materializationSqlAst.d.ts.map +1 -1
  72. package/dist/Database/materializationSqlAst.js +53 -17
  73. package/dist/Database/materializationSqlAst.js.map +1 -1
  74. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +30 -30
  75. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  76. package/dist/Database/providers/postgresql/metadataSupportObjects.d.ts +2 -0
  77. package/dist/Database/providers/postgresql/metadataSupportObjects.d.ts.map +1 -1
  78. package/dist/Database/providers/postgresql/metadataSupportObjects.js +5 -1
  79. package/dist/Database/providers/postgresql/metadataSupportObjects.js.map +1 -1
  80. package/dist/Database/providers/postgresql/viewDependencyCapture.d.ts +10 -0
  81. package/dist/Database/providers/postgresql/viewDependencyCapture.d.ts.map +1 -1
  82. package/dist/Database/providers/postgresql/viewDependencyCapture.js +25 -5
  83. package/dist/Database/providers/postgresql/viewDependencyCapture.js.map +1 -1
  84. package/dist/Database/providers/postgresql/viewFallback.d.ts +11 -7
  85. package/dist/Database/providers/postgresql/viewFallback.d.ts.map +1 -1
  86. package/dist/Database/providers/postgresql/viewFallback.js +18 -12
  87. package/dist/Database/providers/postgresql/viewFallback.js.map +1 -1
  88. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +13 -13
  89. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  90. package/dist/Database/reconcileFieldLevelSecurity.d.ts +2 -0
  91. package/dist/Database/reconcileFieldLevelSecurity.d.ts.map +1 -1
  92. package/dist/Database/reconcileFieldLevelSecurity.js +5 -1
  93. package/dist/Database/reconcileFieldLevelSecurity.js.map +1 -1
  94. package/dist/Database/reorder-columns.d.ts +2 -0
  95. package/dist/Database/reorder-columns.d.ts.map +1 -1
  96. package/dist/Database/reorder-columns.js +5 -1
  97. package/dist/Database/reorder-columns.js.map +1 -1
  98. package/dist/Database/schema-filters.d.ts +6 -0
  99. package/dist/Database/schema-filters.d.ts.map +1 -1
  100. package/dist/Database/schema-filters.js +17 -5
  101. package/dist/Database/schema-filters.js.map +1 -1
  102. package/dist/Database/schema-scope.d.ts +4 -0
  103. package/dist/Database/schema-scope.d.ts.map +1 -1
  104. package/dist/Database/schema-scope.js +13 -5
  105. package/dist/Database/schema-scope.js.map +1 -1
  106. package/dist/Database/search-guardrails.d.ts +42 -0
  107. package/dist/Database/search-guardrails.d.ts.map +1 -1
  108. package/dist/Database/search-guardrails.js +57 -17
  109. package/dist/Database/search-guardrails.js.map +1 -1
  110. package/dist/Database/sql.d.ts +20 -0
  111. package/dist/Database/sql.d.ts.map +1 -1
  112. package/dist/Database/sql.js +72 -32
  113. package/dist/Database/sql.js.map +1 -1
  114. package/dist/Database/sql_codegen.d.ts +92 -0
  115. package/dist/Database/sql_codegen.d.ts.map +1 -1
  116. package/dist/Database/sql_codegen.js +197 -113
  117. package/dist/Database/sql_codegen.js.map +1 -1
  118. package/dist/EntityNameScanner/EntityNameScanner.d.ts +16 -0
  119. package/dist/EntityNameScanner/EntityNameScanner.d.ts.map +1 -1
  120. package/dist/EntityNameScanner/EntityNameScanner.js +47 -15
  121. package/dist/EntityNameScanner/EntityNameScanner.js.map +1 -1
  122. package/dist/EntityNameScanner/HtmlEntityNameScanner.d.ts +6 -0
  123. package/dist/EntityNameScanner/HtmlEntityNameScanner.d.ts.map +1 -1
  124. package/dist/EntityNameScanner/HtmlEntityNameScanner.js +19 -7
  125. package/dist/EntityNameScanner/HtmlEntityNameScanner.js.map +1 -1
  126. package/dist/EntityNameScanner/MetadataNameScanner.d.ts +6 -0
  127. package/dist/EntityNameScanner/MetadataNameScanner.d.ts.map +1 -1
  128. package/dist/EntityNameScanner/MetadataNameScanner.js +19 -7
  129. package/dist/EntityNameScanner/MetadataNameScanner.js.map +1 -1
  130. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts +6 -0
  131. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
  132. package/dist/Manifest/GenerateClassRegistrationsManifest.js +16 -4
  133. package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
  134. package/dist/Misc/action_subclasses_codegen.d.ts +4 -0
  135. package/dist/Misc/action_subclasses_codegen.d.ts.map +1 -1
  136. package/dist/Misc/action_subclasses_codegen.js +11 -3
  137. package/dist/Misc/action_subclasses_codegen.js.map +1 -1
  138. package/dist/Misc/advanced_generation.d.ts +48 -2
  139. package/dist/Misc/advanced_generation.d.ts.map +1 -1
  140. package/dist/Misc/advanced_generation.js +53 -15
  141. package/dist/Misc/advanced_generation.js.map +1 -1
  142. package/dist/Misc/codegen-reporter.d.ts +53 -0
  143. package/dist/Misc/codegen-reporter.d.ts.map +1 -1
  144. package/dist/Misc/codegen-reporter.js +106 -22
  145. package/dist/Misc/codegen-reporter.js.map +1 -1
  146. package/dist/Misc/createNewUser.d.ts +6 -0
  147. package/dist/Misc/createNewUser.d.ts.map +1 -1
  148. package/dist/Misc/createNewUser.js +5 -1
  149. package/dist/Misc/createNewUser.js.map +1 -1
  150. package/dist/Misc/entity_subclasses_codegen.d.ts +8 -0
  151. package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
  152. package/dist/Misc/entity_subclasses_codegen.js +52 -36
  153. package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
  154. package/dist/Misc/externalTypeMapping.d.ts +2 -0
  155. package/dist/Misc/externalTypeMapping.d.ts.map +1 -1
  156. package/dist/Misc/externalTypeMapping.js +5 -1
  157. package/dist/Misc/externalTypeMapping.js.map +1 -1
  158. package/dist/Misc/file-write.d.ts +2 -0
  159. package/dist/Misc/file-write.d.ts.map +1 -1
  160. package/dist/Misc/file-write.js +5 -1
  161. package/dist/Misc/file-write.js.map +1 -1
  162. package/dist/Misc/graphql_server_codegen.d.ts +10 -0
  163. package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
  164. package/dist/Misc/graphql_server_codegen.js +46 -26
  165. package/dist/Misc/graphql_server_codegen.js.map +1 -1
  166. package/dist/Misc/remote_operations_codegen.d.ts +12 -0
  167. package/dist/Misc/remote_operations_codegen.d.ts.map +1 -1
  168. package/dist/Misc/remote_operations_codegen.js +21 -5
  169. package/dist/Misc/remote_operations_codegen.js.map +1 -1
  170. package/dist/Misc/runCommand.d.ts +6 -0
  171. package/dist/Misc/runCommand.d.ts.map +1 -1
  172. package/dist/Misc/runCommand.js +16 -4
  173. package/dist/Misc/runCommand.js.map +1 -1
  174. package/dist/Misc/schema-emit.d.ts +28 -0
  175. package/dist/Misc/schema-emit.d.ts.map +1 -1
  176. package/dist/Misc/schema-emit.js +75 -23
  177. package/dist/Misc/schema-emit.js.map +1 -1
  178. package/dist/Misc/sql_logging.d.ts +31 -9
  179. package/dist/Misc/sql_logging.d.ts.map +1 -1
  180. package/dist/Misc/sql_logging.js +95 -51
  181. package/dist/Misc/sql_logging.js.map +1 -1
  182. package/dist/Misc/sql_text.d.ts +4 -0
  183. package/dist/Misc/sql_text.d.ts.map +1 -1
  184. package/dist/Misc/sql_text.js +10 -2
  185. package/dist/Misc/sql_text.js.map +1 -1
  186. package/dist/Misc/status_logging.d.ts +36 -0
  187. package/dist/Misc/status_logging.d.ts.map +1 -1
  188. package/dist/Misc/status_logging.js +95 -23
  189. package/dist/Misc/status_logging.js.map +1 -1
  190. package/dist/Misc/system_integrity.js +4 -4
  191. package/dist/Misc/system_integrity.js.map +1 -1
  192. package/dist/Misc/temp_batch_file.d.ts +12 -0
  193. package/dist/Misc/temp_batch_file.d.ts.map +1 -1
  194. package/dist/Misc/temp_batch_file.js +35 -11
  195. package/dist/Misc/temp_batch_file.js.map +1 -1
  196. package/dist/Misc/util.d.ts +33 -0
  197. package/dist/Misc/util.d.ts.map +1 -1
  198. package/dist/Misc/util.js +53 -13
  199. package/dist/Misc/util.js.map +1 -1
  200. package/dist/index.d.ts +1 -1
  201. package/dist/index.d.ts.map +1 -1
  202. package/dist/index.js +1 -1
  203. package/dist/index.js.map +1 -1
  204. package/dist/plugins/index.d.ts +11 -1
  205. package/dist/plugins/index.d.ts.map +1 -1
  206. package/dist/plugins/index.js +9 -1
  207. package/dist/plugins/index.js.map +1 -1
  208. package/dist/runCodeGen.d.ts +6 -0
  209. package/dist/runCodeGen.d.ts.map +1 -1
  210. package/dist/runCodeGen.js +150 -138
  211. package/dist/runCodeGen.js.map +1 -1
  212. package/package.json +29 -29
@@ -29,9 +29,9 @@ export interface MaterializationAnalysis {
29
29
  /** When `qualifies` is false, a human-readable reason (logged, never guessed-past). */
30
30
  reason?: string;
31
31
  /** Physical column spec for the materialized table (surrogate PK first, then the query's output columns). */
32
- columns: MaterializedColumnSpec[];
32
+ Columns: MaterializedColumnSpec[];
33
33
  /** Name of the synthetic surrogate primary-key column. */
34
- surrogateColumnName: string;
34
+ SurrogateColumnName: string;
35
35
  }
36
36
  /**
37
37
  * Name of the synthetic surrogate key column added to every query-materialized table in v1.
@@ -52,6 +52,14 @@ export declare const DEFAULT_SURROGATE_SQL_TYPE = "int IDENTITY(1,1)";
52
52
  * On success, returns the column spec with a synthetic surrogate PK prepended; the query's
53
53
  * own output columns are emitted as nullable snapshot columns (a snapshot may contain NULLs).
54
54
  */
55
+ export declare function AnalyzeQueryForMaterialization(opts: {
56
+ queryName: string;
57
+ isParameterized: boolean;
58
+ fields: QueryFieldShape[];
59
+ /** Engine-specific surrogate column type; defaults to SQL Server's identity. */
60
+ surrogateSQLType?: string;
61
+ }): MaterializationAnalysis;
62
+ /** @deprecated Use {@link AnalyzeQueryForMaterialization}. */
55
63
  export declare function analyzeQueryForMaterialization(opts: {
56
64
  queryName: string;
57
65
  isParameterized: boolean;
@@ -137,6 +145,37 @@ export interface ParamQualification {
137
145
  * the domain; otherwise refuse (recompute live). Open decision §17 — defaults OFF.
138
146
  * - a mix of row-filter and structural params is not modeled in v1 → refuse.
139
147
  */
148
+ export declare function QualifyParameterizedQuery(opts: {
149
+ queryName: string;
150
+ params: ParamClassification[];
151
+ /** The query's materialized output column names (for the Bucket-1 column-presence check). */
152
+ outputColumns: string[];
153
+ /** Whether Bucket-2 per-value cache is supported in this build (default false → structural recomputes). */
154
+ allowPerValueCache?: boolean;
155
+ /**
156
+ * Whether Bucket-1 row-filter broad materialization is enabled in this build (default false).
157
+ * Phase 2 is not shipped: the read-time row-filter predicate is NOT auto-injected by the provider,
158
+ * so a caller reading a RowFilterBroad materialization must supply the filter themselves (via
159
+ * ExtraFilter) or they get the broad/unfiltered set. To avoid that footgun, parameterized row-filter
160
+ * queries are refused (stay live-only) unless a build explicitly opts in. Flipping this to true is the
161
+ * Phase-2 enablement switch (finalize the read-time predicate injection first).
162
+ */
163
+ allowRowFilterBroad?: boolean;
164
+ /**
165
+ * The query's **rendered** SQL (a concrete instance — parameters already substituted). REQUIRED to
166
+ * qualify a `RowFilter` param: the verifier reports `filterColumn` as a BARE column name, and matching
167
+ * that name against the output-column list alone cannot tell `o.Status` (the predicate) apart from
168
+ * `c.Status` (the projected output) in a join, nor `BillRegion` (an alias over `ShipRegion`) apart from
169
+ * a real `BillRegion` column. Both mis-matches produce a materialized read that filters on a DIFFERENT
170
+ * column than the live query, with no error and no count-guard signal. See
171
+ * {@link proveFilterColumnBinding}. When omitted, RowFilter params are REFUSED (fail closed, §10) —
172
+ * the query stays live-only, which is always correct.
173
+ */
174
+ sql?: string;
175
+ /** Dialect used to parse {@link sql}. Required alongside it; RowFilter params refuse without both. */
176
+ dialect?: SQLParserDialect;
177
+ }): ParamQualification;
178
+ /** @deprecated Use {@link QualifyParameterizedQuery}. */
140
179
  export declare function qualifyParameterizedQuery(opts: {
141
180
  queryName: string;
142
181
  params: ParamClassification[];
@@ -202,6 +241,15 @@ export interface FilterColumnBindingProof {
202
241
  *
203
242
  * Pure — no DB/IO.
204
243
  */
244
+ export declare function ProveFilterColumnBinding(opts: {
245
+ /** The query's RENDERED SQL (parameters substituted), still carrying the row-filter predicate. */
246
+ sql: string;
247
+ /** Dialect to parse with. */
248
+ dialect: SQLParserDialect;
249
+ /** The verifier-reported bare filter column name. */
250
+ filterColumn: string;
251
+ }): FilterColumnBindingProof;
252
+ /** @deprecated Use {@link ProveFilterColumnBinding}. */
205
253
  export declare function proveFilterColumnBinding(opts: {
206
254
  /** The query's RENDERED SQL (parameters substituted), still carrying the row-filter predicate. */
207
255
  sql: string;
@@ -219,6 +267,15 @@ export declare function proveFilterColumnBinding(opts: {
219
267
  * the key is built from the AST GROUP BY terms (not a SELECT-list split), so grouping expressions and
220
268
  * grouped-but-unprojected columns both refuse rather than silently producing a too-narrow key.
221
269
  */
270
+ export declare function DetectAggregationKeyColumns(opts: {
271
+ sql: string;
272
+ dialect: SQLParserDialect;
273
+ fields: QueryFieldShape[];
274
+ }): {
275
+ name: string;
276
+ type: string;
277
+ }[] | null;
278
+ /** @deprecated Use {@link DetectAggregationKeyColumns}. */
222
279
  export declare function detectAggregationKeyColumns(opts: {
223
280
  sql: string;
224
281
  dialect: SQLParserDialect;
@@ -237,5 +294,7 @@ export declare function detectAggregationKeyColumns(opts: {
237
294
  * then uses DirtyGroupRecompute, which is correct for all measure types). Regex-based because the SQL
238
295
  * parser doesn't expose per-measure expression text; the bias is toward the safe (non-additive) answer.
239
296
  */
297
+ export declare function DetectAdditiveMeasures(sql: string): boolean;
298
+ /** @deprecated Use {@link DetectAdditiveMeasures}. */
240
299
  export declare function detectAdditiveMeasures(sql: string): boolean;
241
300
  //# sourceMappingURL=materializationAnalysis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"materializationAnalysis.d.ts","sourceRoot":"","sources":["../../src/Database/materializationAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materializationAnalysis.d.ts","sourceRoot":"","sources":["../../src/Database/materializationAnalysis.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { SQLParser } from '@memberjunction/sql-parser';
2
- import { isObject, nodeType, qualifiedColumn, identifiersEqual, isSetOperationRoot, soleStatement, } from './materializationSqlAst.js';
2
+ import { IsObject, NodeType, qualifiedColumn, IdentifiersEqual, IsSetOperationRoot, SoleStatement, } from './materializationSqlAst.js';
3
3
  /**
4
4
  * Name of the synthetic surrogate key column added to every query-materialized table in v1.
5
5
  * Namespaced to avoid colliding with a query's own output columns.
@@ -19,10 +19,10 @@ export const DEFAULT_SURROGATE_SQL_TYPE = 'int IDENTITY(1,1)';
19
19
  * On success, returns the column spec with a synthetic surrogate PK prepended; the query's
20
20
  * own output columns are emitted as nullable snapshot columns (a snapshot may contain NULLs).
21
21
  */
22
- export function analyzeQueryForMaterialization(opts) {
22
+ export function AnalyzeQueryForMaterialization(opts) {
23
23
  const surrogateColumnName = MATERIALIZATION_SURROGATE_COLUMN;
24
24
  const surrogateSQLType = opts.surrogateSQLType ?? DEFAULT_SURROGATE_SQL_TYPE;
25
- const fail = (reason) => ({ qualifies: false, reason, columns: [], surrogateColumnName });
25
+ const fail = (reason) => ({ qualifies: false, reason, Columns: [], SurrogateColumnName: surrogateColumnName });
26
26
  if (opts.isParameterized) {
27
27
  return fail(`query "${opts.queryName}" is parameterized — not materializable in v1 (deferred to Phase 2)`);
28
28
  }
@@ -45,7 +45,11 @@ export function analyzeQueryForMaterialization(opts) {
45
45
  Nullable: true,
46
46
  IsPrimaryKey: false,
47
47
  }));
48
- return { qualifies: true, columns: [surrogate, ...dataColumns], surrogateColumnName };
48
+ return { qualifies: true, Columns: [surrogate, ...dataColumns], SurrogateColumnName: surrogateColumnName };
49
+ }
50
+ /** @deprecated Use {@link AnalyzeQueryForMaterialization}. */
51
+ export function analyzeQueryForMaterialization(opts) {
52
+ return AnalyzeQueryForMaterialization(opts);
49
53
  }
50
54
  /**
51
55
  * Phase 2 read-time-injectable operators — the SAFE whitelist. A `column <op> value` predicate in this
@@ -71,7 +75,7 @@ export const SAFE_READ_FILTER_OPERATORS = new Set([
71
75
  * the domain; otherwise refuse (recompute live). Open decision §17 — defaults OFF.
72
76
  * - a mix of row-filter and structural params is not modeled in v1 → refuse.
73
77
  */
74
- export function qualifyParameterizedQuery(opts) {
78
+ export function QualifyParameterizedQuery(opts) {
75
79
  const { queryName, params, outputColumns } = opts;
76
80
  const allowPerValueCache = opts.allowPerValueCache ?? false;
77
81
  const allowRowFilterBroad = opts.allowRowFilterBroad ?? false;
@@ -125,7 +129,7 @@ export function qualifyParameterizedQuery(opts) {
125
129
  if (!opts.sql || !opts.dialect) {
126
130
  return refuse(`query "${queryName}" param "${p.name}" filters on "${p.filterColumn}" but no rendered SQL was supplied to prove that predicate binds to the materialized output column of the same name — refusing under uncertainty (the query stays live-only)`);
127
131
  }
128
- const binding = proveFilterColumnBinding({ sql: opts.sql, dialect: opts.dialect, filterColumn: p.filterColumn });
132
+ const binding = ProveFilterColumnBinding({ sql: opts.sql, dialect: opts.dialect, filterColumn: p.filterColumn });
129
133
  if (!binding.provable) {
130
134
  return refuse(`query "${queryName}" param "${p.name}" filters on "${p.filterColumn}" but that predicate cannot be proven to bind to the materialized output column of the same name: ${binding.reason} — a materialized read would filter a different column than the live query. Refusing (the query stays live-only).`);
131
135
  }
@@ -145,6 +149,10 @@ export function qualifyParameterizedQuery(opts) {
145
149
  }
146
150
  return { qualifies: true, paramMode: 'RowFilterBroad', rowFilterColumns, readFilterSpec };
147
151
  }
152
+ /** @deprecated Use {@link QualifyParameterizedQuery}. */
153
+ export function qualifyParameterizedQuery(opts) {
154
+ return QualifyParameterizedQuery(opts);
155
+ }
148
156
  // AST-walking primitives are shared with the param verifier + broad-render via ./materializationSqlAst
149
157
  // (single source of truth — see that module's header). extractGroupByTerms is GROUP-BY-specific and stays here.
150
158
  /**
@@ -161,11 +169,11 @@ export function qualifyParameterizedQuery(opts) {
161
169
  */
162
170
  function extractGroupByTerms(stmt) {
163
171
  const gb = stmt.groupby;
164
- if (isObject(gb) && Array.isArray(gb.columns))
172
+ if (IsObject(gb) && Array.isArray(gb.columns))
165
173
  return gb.columns; // observed shape: { columns: [...] }
166
174
  if (Array.isArray(gb))
167
175
  return gb; // some dialects emit a bare array
168
- if (isObject(gb) && Array.isArray(gb.value))
176
+ if (IsObject(gb) && Array.isArray(gb.value))
169
177
  return gb.value; // …or { value: [...] }
170
178
  return [];
171
179
  }
@@ -179,10 +187,10 @@ function parseSoleSelectRoot(sql, dialect) {
179
187
  const parsed = SQLParser.Astify(sql, dialect);
180
188
  if (!parsed.astParsed || parsed.ast == null)
181
189
  return null;
182
- const stmt = soleStatement(parsed.ast);
183
- if (!isObject(stmt) || nodeType(stmt) !== 'select')
190
+ const stmt = SoleStatement(parsed.ast);
191
+ if (!IsObject(stmt) || NodeType(stmt) !== 'select')
184
192
  return null;
185
- if (isSetOperationRoot(stmt))
193
+ if (IsSetOperationRoot(stmt))
186
194
  return null;
187
195
  return stmt;
188
196
  }
@@ -202,7 +210,7 @@ function fromSourceCount(stmt) {
202
210
  function sourceRefsMatch(selectQualifier, refQualifier, singleSource) {
203
211
  if (singleSource)
204
212
  return true;
205
- return identifiersEqual(selectQualifier, refQualifier);
213
+ return IdentifiersEqual(selectQualifier, refQualifier);
206
214
  }
207
215
  /**
208
216
  * Collects the table qualifiers of every reference to `column` inside an AST subtree, in encounter order.
@@ -214,12 +222,12 @@ function collectColumnQualifiers(node, column, found) {
214
222
  collectColumnQualifiers(child, column, found);
215
223
  return;
216
224
  }
217
- if (!isObject(node))
225
+ if (!IsObject(node))
218
226
  return;
219
227
  const qc = qualifiedColumn(node);
220
228
  if (qc != null) {
221
- if (identifiersEqual(qc.column, column))
222
- found.push(qc.qualifier);
229
+ if (IdentifiersEqual(qc.column, column))
230
+ found.push(qc.Qualifier);
223
231
  return; // a column_ref has no further column_ref descendants
224
232
  }
225
233
  for (const [k, v] of Object.entries(node)) {
@@ -255,7 +263,7 @@ function collectColumnQualifiers(node, column, found) {
255
263
  *
256
264
  * Pure — no DB/IO.
257
265
  */
258
- export function proveFilterColumnBinding(opts) {
266
+ export function ProveFilterColumnBinding(opts) {
259
267
  const { sql, dialect, filterColumn } = opts;
260
268
  const refuse = (reason) => ({ provable: false, reason });
261
269
  if (!sql || sql.trim().length === 0)
@@ -295,6 +303,10 @@ export function proveFilterColumnBinding(opts) {
295
303
  }
296
304
  return { provable: true };
297
305
  }
306
+ /** @deprecated Use {@link ProveFilterColumnBinding}. */
307
+ export function proveFilterColumnBinding(opts) {
308
+ return ProveFilterColumnBinding(opts);
309
+ }
298
310
  /**
299
311
  * Resolves the single SELECT-list output column that a read-time filter on `filterColumn` would target,
300
312
  * or the reason it is not provably that source column (wildcard projection, duplicate/absent name,
@@ -308,7 +320,7 @@ function resolveProvableOutputColumn(selectCols, filterColumn) {
308
320
  if (selectCols.some((c) => c.OutputName === '*')) {
309
321
  return no('the query projects a wildcard (SELECT *), so the output-to-source column mapping is unknown');
310
322
  }
311
- const matches = selectCols.filter((c) => identifiersEqual(c.OutputName, filterColumn));
323
+ const matches = selectCols.filter((c) => IdentifiersEqual(c.OutputName, filterColumn));
312
324
  if (matches.length === 0) {
313
325
  return no(`no SELECT-list output column is named "${filterColumn}"`);
314
326
  }
@@ -319,7 +331,7 @@ function resolveProvableOutputColumn(selectCols, filterColumn) {
319
331
  if (output.IsExpression) {
320
332
  return no(`the output column "${filterColumn}" is a computed expression, not a plain projection of a source column`);
321
333
  }
322
- if (!identifiersEqual(output.SourceColumn, filterColumn)) {
334
+ if (!IdentifiersEqual(output.SourceColumn, filterColumn)) {
323
335
  return no(`the output column "${filterColumn}" is an ALIAS over source column "${output.SourceColumn}", so filtering the materialized "${filterColumn}" is not the same predicate as the live "${filterColumn}"`);
324
336
  }
325
337
  return { provable: true, column: output };
@@ -333,7 +345,7 @@ function resolveProvableOutputColumn(selectCols, filterColumn) {
333
345
  * the key is built from the AST GROUP BY terms (not a SELECT-list split), so grouping expressions and
334
346
  * grouped-but-unprojected columns both refuse rather than silently producing a too-narrow key.
335
347
  */
336
- export function detectAggregationKeyColumns(opts) {
348
+ export function DetectAggregationKeyColumns(opts) {
337
349
  const { sql, dialect, fields } = opts;
338
350
  if (!/\bgroup\s+by\b/i.test(sql))
339
351
  return null; // no GROUP BY → not an aggregation key
@@ -359,7 +371,7 @@ export function detectAggregationKeyColumns(opts) {
359
371
  const groupByTerms = extractGroupByTerms(root);
360
372
  if (groupByTerms.length === 0 || !selectCols || selectCols.length === 0)
361
373
  return null;
362
- if (groupByTerms.some((t) => nodeType(t) !== 'column_ref'))
374
+ if (groupByTerms.some((t) => NodeType(t) !== 'column_ref'))
363
375
  return null; // expression grouping → bail
364
376
  if (!selectCols.some((c) => c.IsExpression))
365
377
  return null; // no aggregate measure → not an aggregation
@@ -375,8 +387,8 @@ export function detectAggregationKeyColumns(opts) {
375
387
  return null;
376
388
  // The projected (non-expression) SELECT column whose pre-alias source column IS this grouping column.
377
389
  const projected = selectCols.filter((c) => !c.IsExpression
378
- && identifiersEqual(c.SourceColumn, gb.column)
379
- && sourceRefsMatch(c.TableQualifier, gb.qualifier, singleSource));
390
+ && IdentifiersEqual(c.SourceColumn, gb.column)
391
+ && sourceRefsMatch(c.TableQualifier, gb.Qualifier, singleSource));
380
392
  if (projected.length !== 1)
381
393
  return null; // unprojected (0) or ambiguous (>1) → bail
382
394
  const f = fieldByOutput.get(projected[0].OutputName.trim().toLowerCase());
@@ -386,6 +398,10 @@ export function detectAggregationKeyColumns(opts) {
386
398
  }
387
399
  return key.length > 0 ? key : null;
388
400
  }
401
+ /** @deprecated Use {@link DetectAggregationKeyColumns}. */
402
+ export function detectAggregationKeyColumns(opts) {
403
+ return DetectAggregationKeyColumns(opts);
404
+ }
389
405
  /**
390
406
  * Phase 4: is an aggregation's measure set PURELY ADDITIVE (only SUM / plain COUNT)? Drives the
391
407
  * refresh-strategy choice: additive keyed aggregations use the MERGE-upsert `Incremental` path
@@ -396,7 +412,7 @@ export function detectAggregationKeyColumns(opts) {
396
412
  * then uses DirtyGroupRecompute, which is correct for all measure types). Regex-based because the SQL
397
413
  * parser doesn't expose per-measure expression text; the bias is toward the safe (non-additive) answer.
398
414
  */
399
- export function detectAdditiveMeasures(sql) {
415
+ export function DetectAdditiveMeasures(sql) {
400
416
  if (!sql)
401
417
  return false;
402
418
  const s = sql.replace(/\s+/g, ' ');
@@ -412,4 +428,8 @@ export function detectAdditiveMeasures(sql) {
412
428
  // Require at least one genuinely additive aggregate.
413
429
  return /\b(SUM|COUNT)\s*\(/i.test(s);
414
430
  }
431
+ /** @deprecated Use {@link DetectAdditiveMeasures}. */
432
+ export function detectAdditiveMeasures(sql) {
433
+ return DetectAdditiveMeasures(sql);
434
+ }
415
435
  //# sourceMappingURL=materializationAnalysis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"materializationAnalysis.js","sourceRoot":"","sources":["../../src/Database/materializationAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materializationAnalysis.js","sourceRoot":"","sources":["../../src/Database/materializationAnalysis.ts"],"names":[],"mappings":"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"}
@@ -30,9 +30,9 @@ import type { SQLParserDialect } from '@memberjunction/sql-dialect';
30
30
  /** Outcome of stripping row-filter predicates from a rendered query. */
31
31
  export interface BroadRenderResult {
32
32
  /** The broad SQL (row-filter predicates removed). Equals the input when nothing was removed. */
33
- sql: string;
33
+ Sql: string;
34
34
  /** How many top-level conjunctive predicates on the row-filter columns were removed. */
35
- removedCount: number;
35
+ RemovedCount: number;
36
36
  /**
37
37
  * True when `removedCount` does NOT equal the caller-supplied `expectedRemovals` (the number of
38
38
  * row-filter *parameter* predicates the classifier identified). This means broad-render either
@@ -43,7 +43,7 @@ export interface BroadRenderResult {
43
43
  * never would — the caller MUST refuse to materialize. Always false when `expectedRemovals` is
44
44
  * omitted (the matcher makes no exact-count claim).
45
45
  */
46
- ambiguous: boolean;
46
+ Ambiguous: boolean;
47
47
  }
48
48
  /**
49
49
  * Produces the broad source SQL for a row-filter materialization by removing the top-level
@@ -63,5 +63,7 @@ export interface BroadRenderResult {
63
63
  * than silently broadened). Omit `expectedRemovals` to keep the legacy "strip all matches" behavior
64
64
  * with `ambiguous` always false.
65
65
  */
66
+ export declare function BuildBroadRowFilterSQL(renderedSQL: string, rowFilterColumns: string[], dialect: SQLParserDialect, expectedRemovals?: number): BroadRenderResult;
67
+ /** @deprecated Use {@link BuildBroadRowFilterSQL}. */
66
68
  export declare function buildBroadRowFilterSQL(renderedSQL: string, rowFilterColumns: string[], dialect: SQLParserDialect, expectedRemovals?: number): BroadRenderResult;
67
69
  //# sourceMappingURL=materializationBroadRender.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"materializationBroadRender.d.ts","sourceRoot":"","sources":["../../src/Database/materializationBroadRender.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAMpE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAC9B,gGAAgG;IAChG,GAAG,EAAE,MAAM,CAAC;IACZ,wFAAwF;IACxF,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,SAAS,EAAE,OAAO,CAAC;CACtB;AAsDD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAClC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,iBAAiB,CAoCnB"}
1
+ {"version":3,"file":"materializationBroadRender.d.ts","sourceRoot":"","sources":["../../src/Database/materializationBroadRender.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAMpE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAC9B,gGAAgG;IAChG,GAAG,EAAE,MAAM,CAAC;IACZ,wFAAwF;IACxF,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,SAAS,EAAE,OAAO,CAAC;CACtB;AAsDD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAClC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,iBAAiB,CAoCnB;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,CAClC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,iBAAiB,CAEnB"}
@@ -1,8 +1,8 @@
1
1
  import { SQLParser } from '@memberjunction/sql-parser';
2
- import { COMPARISON_OPS, isObject, nodeType, isLiteralNode, columnName, isAllLiteralBag, } from './materializationSqlAst.js';
2
+ import { COMPARISON_OPS, IsObject, NodeType, IsLiteralNode, ColumnName, IsAllLiteralBag, } from './materializationSqlAst.js';
3
3
  /** Flattens a top-level AND-chain into its individual conjuncts (non-AND leaves). */
4
4
  function collectConjuncts(node) {
5
- if (nodeType(node) === 'binary_expr' && isObject(node) && node.operator === 'AND') {
5
+ if (NodeType(node) === 'binary_expr' && IsObject(node) && node.operator === 'AND') {
6
6
  return [...collectConjuncts(node.left), ...collectConjuncts(node.right)];
7
7
  }
8
8
  return [node];
@@ -13,22 +13,22 @@ function collectConjuncts(node) {
13
13
  * literal / all-literal bag. Anything else (OR-expr, function, column=column, subquery) is kept.
14
14
  */
15
15
  function isRemovablePredicate(conjunct, cols) {
16
- if (nodeType(conjunct) !== 'binary_expr' || !isObject(conjunct)) {
16
+ if (NodeType(conjunct) !== 'binary_expr' || !IsObject(conjunct)) {
17
17
  return false;
18
18
  }
19
19
  const op = conjunct.operator;
20
20
  if (typeof op !== 'string' || !COMPARISON_OPS.has(op)) {
21
21
  return false;
22
22
  }
23
- const leftCol = columnName(conjunct.left);
24
- const rightCol = columnName(conjunct.right);
23
+ const leftCol = ColumnName(conjunct.left);
24
+ const rightCol = ColumnName(conjunct.right);
25
25
  const leftMatches = leftCol != null && cols.has(leftCol.trim().toLowerCase());
26
26
  const rightMatches = rightCol != null && cols.has(rightCol.trim().toLowerCase());
27
27
  if (leftMatches && !rightMatches) {
28
- return isLiteralNode(conjunct.right) || isAllLiteralBag(conjunct.right);
28
+ return IsLiteralNode(conjunct.right) || IsAllLiteralBag(conjunct.right);
29
29
  }
30
30
  if (rightMatches && !leftMatches) {
31
- return isLiteralNode(conjunct.left) || isAllLiteralBag(conjunct.left);
31
+ return IsLiteralNode(conjunct.left) || IsAllLiteralBag(conjunct.left);
32
32
  }
33
33
  return false;
34
34
  }
@@ -46,7 +46,7 @@ function rebuildWhere(kept) {
46
46
  /** Returns the sole statement of an AST, or null if it is not exactly one statement. */
47
47
  function soleStatement(ast) {
48
48
  const node = Array.isArray(ast) ? (ast.length === 1 ? ast[0] : null) : ast;
49
- return isObject(node) ? node : null;
49
+ return IsObject(node) ? node : null;
50
50
  }
51
51
  /**
52
52
  * Produces the broad source SQL for a row-filter materialization by removing the top-level
@@ -66,12 +66,12 @@ function soleStatement(ast) {
66
66
  * than silently broadened). Omit `expectedRemovals` to keep the legacy "strip all matches" behavior
67
67
  * with `ambiguous` always false.
68
68
  */
69
- export function buildBroadRowFilterSQL(renderedSQL, rowFilterColumns, dialect, expectedRemovals) {
69
+ export function BuildBroadRowFilterSQL(renderedSQL, rowFilterColumns, dialect, expectedRemovals) {
70
70
  // ambiguous is only ever asserted when the caller told us how many parameter predicates to expect.
71
71
  const verdict = (sql, removedCount) => ({
72
- sql,
73
- removedCount,
74
- ambiguous: expectedRemovals != null && removedCount !== expectedRemovals,
72
+ Sql: sql,
73
+ RemovedCount: removedCount,
74
+ Ambiguous: expectedRemovals != null && removedCount !== expectedRemovals,
75
75
  });
76
76
  if (!rowFilterColumns || rowFilterColumns.length === 0) {
77
77
  return verdict(renderedSQL, 0);
@@ -81,7 +81,7 @@ export function buildBroadRowFilterSQL(renderedSQL, rowFilterColumns, dialect, e
81
81
  return verdict(renderedSQL, 0);
82
82
  }
83
83
  const stmt = soleStatement(parsed.ast);
84
- if (stmt == null || nodeType(stmt) !== 'select' || stmt.where == null) {
84
+ if (stmt == null || NodeType(stmt) !== 'select' || stmt.where == null) {
85
85
  return verdict(renderedSQL, 0);
86
86
  }
87
87
  const cols = new Set(rowFilterColumns.map((c) => c.trim().toLowerCase()));
@@ -101,4 +101,8 @@ export function buildBroadRowFilterSQL(renderedSQL, rowFilterColumns, dialect, e
101
101
  const sql = SQLParser.SqlifyAST(parsed.ast, dialect);
102
102
  return verdict(sql, removedCount);
103
103
  }
104
+ /** @deprecated Use {@link BuildBroadRowFilterSQL}. */
105
+ export function buildBroadRowFilterSQL(renderedSQL, rowFilterColumns, dialect, expectedRemovals) {
106
+ return BuildBroadRowFilterSQL(renderedSQL, rowFilterColumns, dialect, expectedRemovals);
107
+ }
104
108
  //# sourceMappingURL=materializationBroadRender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"materializationBroadRender.js","sourceRoot":"","sources":["../../src/Database/materializationBroadRender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materializationBroadRender.js","sourceRoot":"","sources":["../../src/Database/materializationBroadRender.ts"],"names":[],"mappings":"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"}
@@ -55,5 +55,7 @@ export interface MaterializationDriftVerdict {
55
55
  * positives from incomplete provenance — the §10 bias runs the other way for drift (only flag on a
56
56
  * definite broken dependency).
57
57
  */
58
+ export declare function EvaluateMaterializationDrift(facts: MaterializationDriftFacts): MaterializationDriftVerdict;
59
+ /** @deprecated Use {@link EvaluateMaterializationDrift}. */
58
60
  export declare function evaluateMaterializationDrift(facts: MaterializationDriftFacts): MaterializationDriftVerdict;
59
61
  //# sourceMappingURL=materializationDrift.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"materializationDrift.d.ts","sourceRoot":"","sources":["../../src/Database/materializationDrift.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,iGAAiG;AACjG,MAAM,WAAW,yBAAyB;IACtC,UAAU,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACvC,yDAAyD;IACzD,QAAQ,CAAC,EAAE;QACP,6EAA6E;QAC7E,kBAAkB,EAAE,OAAO,CAAC;QAC5B,gDAAgD;QAChD,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,4FAA4F;QAC5F,mBAAmB,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;IACF,8EAA8E;IAC9E,KAAK,CAAC,EAAE;QACJ,qEAAqE;QACrE,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAChC,yGAAyG;QACzG,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,sFAAsF;QACtF,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC;kGAC0F;QAC1F,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B;iHACyG;QACzG,mBAAmB,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;CACL;AAED,iDAAiD;AACjD,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,yBAAyB,GAAG,2BAA2B,CA4D1G"}
1
+ {"version":3,"file":"materializationDrift.d.ts","sourceRoot":"","sources":["../../src/Database/materializationDrift.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,iGAAiG;AACjG,MAAM,WAAW,yBAAyB;IACtC,UAAU,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACvC,yDAAyD;IACzD,QAAQ,CAAC,EAAE;QACP,6EAA6E;QAC7E,kBAAkB,EAAE,OAAO,CAAC;QAC5B,gDAAgD;QAChD,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,4FAA4F;QAC5F,mBAAmB,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;IACF,8EAA8E;IAC9E,KAAK,CAAC,EAAE;QACJ,qEAAqE;QACrE,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAChC,yGAAyG;QACzG,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,sFAAsF;QACtF,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC;kGAC0F;QAC1F,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B;iHACyG;QACzG,mBAAmB,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;CACL;AAED,iDAAiD;AACjD,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,yBAAyB,GAAG,2BAA2B,CA4D1G;AAED,4DAA4D;AAC5D,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,yBAAyB,GAAG,2BAA2B,CAE1G"}
@@ -23,7 +23,7 @@ const lc = (s) => s.trim().toLowerCase();
23
23
  * positives from incomplete provenance — the §10 bias runs the other way for drift (only flag on a
24
24
  * definite broken dependency).
25
25
  */
26
- export function evaluateMaterializationDrift(facts) {
26
+ export function EvaluateMaterializationDrift(facts) {
27
27
  if (facts.sourceType === 'EntityBaseView' && facts.baseView) {
28
28
  const bv = facts.baseView;
29
29
  if (!bv.sourceEntityExists) {
@@ -82,4 +82,8 @@ export function evaluateMaterializationDrift(facts) {
82
82
  }
83
83
  return { drift: false };
84
84
  }
85
+ /** @deprecated Use {@link EvaluateMaterializationDrift}. */
86
+ export function evaluateMaterializationDrift(facts) {
87
+ return EvaluateMaterializationDrift(facts);
88
+ }
85
89
  //# sourceMappingURL=materializationDrift.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"materializationDrift.js","sourceRoot":"","sources":["../../src/Database/materializationDrift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materializationDrift.js","sourceRoot":"","sources":["../../src/Database/materializationDrift.ts"],"names":[],"mappings":"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"}
@@ -44,9 +44,9 @@ export interface ParamVerdict {
44
44
  /** Result of classifying all of a query's parameters. */
45
45
  export interface QueryParamClassification {
46
46
  /** The overall qualification (drives whether/how the query materializes). */
47
- qualification: ParamQualification;
47
+ Qualification: ParamQualification;
48
48
  /** Per-parameter verdicts, in declaration order (for precise logs). */
49
- perParam: ParamVerdict[];
49
+ PerParam: ParamVerdict[];
50
50
  }
51
51
  /**
52
52
  * Generates ≥2 distinct probe values for a parameter type. Booleans have `[true, false]`. String/number/date
@@ -65,8 +65,12 @@ export interface QueryParamClassification {
65
65
  * covered by this structural probe. A falsy value that breaks the template render fails safe (→ Unbounded →
66
66
  * refused). Truthy values are kept FIRST so the held baseline is unaffected (holdValue is independent).
67
67
  */
68
+ export declare function ProbeValues(type: QueryParamType): unknown[];
69
+ /** @deprecated Use {@link ProbeValues}. */
68
70
  export declare function probeValues(type: QueryParamType): unknown[];
69
71
  /** Builds the base value map with every parameter held at its stable value. */
72
+ export declare function BuildHeldValues(params: QueryParamDef[]): Record<string, unknown>;
73
+ /** @deprecated Use {@link BuildHeldValues}. */
70
74
  export declare function buildHeldValues(params: QueryParamDef[]): Record<string, unknown>;
71
75
  /**
72
76
  * Classifies every parameter of a query and folds the verdicts into the overall qualification.
@@ -79,6 +83,17 @@ export declare function buildHeldValues(params: QueryParamDef[]): Record<string,
79
83
  * (off by default) *and* a domain is supplied, which it never is here → structural ⇒ refuse. This is
80
84
  * intentional: per-value caching is a later phase.
81
85
  */
86
+ export declare function ClassifyQueryParameters(opts: {
87
+ queryName: string;
88
+ params: QueryParamDef[];
89
+ outputColumns: string[];
90
+ dialect: SQLParserDialect;
91
+ render: VariantRenderer;
92
+ allowPerValueCache?: boolean;
93
+ /** Phase-2 enablement for Bucket-1 row-filter broad materialization (default false → refuse, stay live-only). */
94
+ allowRowFilterBroad?: boolean;
95
+ }): QueryParamClassification;
96
+ /** @deprecated Use {@link ClassifyQueryParameters}. */
82
97
  export declare function classifyQueryParameters(opts: {
83
98
  queryName: string;
84
99
  params: QueryParamDef[];