rawsql-ts 0.11.0-beta → 0.11.1-beta
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.
- package/README.md +1 -3
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +13 -13
- package/dist/esm/index.min.js.map +4 -4
- package/dist/esm/src/index.js +2 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/tokenReaders/OperatorTokenReader.js +4 -0
- package/dist/esm/src/tokenReaders/OperatorTokenReader.js.map +1 -1
- package/dist/esm/src/transformers/CTEDependencyTracer.js +249 -0
- package/dist/esm/src/transformers/CTEDependencyTracer.js.map +1 -0
- package/dist/esm/src/transformers/JsonMappingUnifier.js +217 -0
- package/dist/esm/src/transformers/JsonMappingUnifier.js.map +1 -0
- package/dist/esm/src/transformers/ModelDrivenJsonMapping.js +103 -0
- package/dist/esm/src/transformers/ModelDrivenJsonMapping.js.map +1 -0
- package/dist/esm/src/transformers/PostgresArrayEntityCteBuilder.js +204 -16
- package/dist/esm/src/transformers/PostgresArrayEntityCteBuilder.js.map +1 -1
- package/dist/esm/src/transformers/PostgresJsonQueryBuilder.js +10 -9
- package/dist/esm/src/transformers/PostgresJsonQueryBuilder.js.map +1 -1
- package/dist/esm/src/transformers/PostgresObjectEntityCteBuilder.js +8 -5
- package/dist/esm/src/transformers/PostgresObjectEntityCteBuilder.js.map +1 -1
- package/dist/esm/src/transformers/SelectableColumnCollector.js +17 -5
- package/dist/esm/src/transformers/SelectableColumnCollector.js.map +1 -1
- package/dist/esm/src/transformers/UnifiedJsonMapping.js +2 -4
- package/dist/esm/src/transformers/UnifiedJsonMapping.js.map +1 -1
- package/dist/esm/src/transformers/UpstreamSelectQueryFinder.js +8 -1
- package/dist/esm/src/transformers/UpstreamSelectQueryFinder.js.map +1 -1
- package/dist/esm/src/utils/OperatorPrecedence.js +3 -1
- package/dist/esm/src/utils/OperatorPrecedence.js.map +1 -1
- package/dist/esm/src/utils/SchemaManager.js +0 -1
- package/dist/esm/src/utils/SchemaManager.js.map +1 -1
- package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
- package/dist/esm/types/src/index.d.ts +2 -0
- package/dist/esm/types/src/transformers/CTEDependencyTracer.d.ts +58 -0
- package/dist/esm/types/src/transformers/JsonMappingUnifier.d.ts +95 -0
- package/dist/esm/types/src/transformers/ModelDrivenJsonMapping.d.ts +62 -0
- package/dist/esm/types/src/transformers/PostgresArrayEntityCteBuilder.d.ts +80 -1
- package/dist/esm/types/src/transformers/PostgresJsonQueryBuilder.d.ts +0 -1
- package/dist/esm/types/src/transformers/SelectableColumnCollector.d.ts +14 -3
- package/dist/esm/types/src/transformers/UnifiedJsonMapping.d.ts +0 -1
- package/dist/esm/types/src/transformers/UpstreamSelectQueryFinder.d.ts +5 -1
- package/dist/index.min.js +13 -13
- package/dist/index.min.js.map +4 -4
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +10 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/tokenReaders/OperatorTokenReader.js +4 -0
- package/dist/src/tokenReaders/OperatorTokenReader.js.map +1 -1
- package/dist/src/transformers/CTEDependencyTracer.d.ts +58 -0
- package/dist/src/transformers/CTEDependencyTracer.js +253 -0
- package/dist/src/transformers/CTEDependencyTracer.js.map +1 -0
- package/dist/src/transformers/JsonMappingUnifier.d.ts +95 -0
- package/dist/src/transformers/JsonMappingUnifier.js +226 -0
- package/dist/src/transformers/JsonMappingUnifier.js.map +1 -0
- package/dist/src/transformers/ModelDrivenJsonMapping.d.ts +62 -0
- package/dist/src/transformers/ModelDrivenJsonMapping.js +110 -0
- package/dist/src/transformers/ModelDrivenJsonMapping.js.map +1 -0
- package/dist/src/transformers/PostgresArrayEntityCteBuilder.d.ts +80 -1
- package/dist/src/transformers/PostgresArrayEntityCteBuilder.js +204 -16
- package/dist/src/transformers/PostgresArrayEntityCteBuilder.js.map +1 -1
- package/dist/src/transformers/PostgresJsonQueryBuilder.d.ts +0 -1
- package/dist/src/transformers/PostgresJsonQueryBuilder.js +10 -9
- package/dist/src/transformers/PostgresJsonQueryBuilder.js.map +1 -1
- package/dist/src/transformers/PostgresObjectEntityCteBuilder.js +8 -5
- package/dist/src/transformers/PostgresObjectEntityCteBuilder.js.map +1 -1
- package/dist/src/transformers/SelectableColumnCollector.d.ts +14 -3
- package/dist/src/transformers/SelectableColumnCollector.js +17 -5
- package/dist/src/transformers/SelectableColumnCollector.js.map +1 -1
- package/dist/src/transformers/UnifiedJsonMapping.d.ts +0 -1
- package/dist/src/transformers/UnifiedJsonMapping.js +2 -4
- package/dist/src/transformers/UnifiedJsonMapping.js.map +1 -1
- package/dist/src/transformers/UpstreamSelectQueryFinder.d.ts +5 -1
- package/dist/src/transformers/UpstreamSelectQueryFinder.js +8 -1
- package/dist/src/transformers/UpstreamSelectQueryFinder.js.map +1 -1
- package/dist/src/utils/OperatorPrecedence.js +3 -1
- package/dist/src/utils/OperatorPrecedence.js.map +1 -1
- package/dist/src/utils/SchemaManager.js +0 -1
- package/dist/src/utils/SchemaManager.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelDrivenJsonMapping.js","sourceRoot":"","sources":["../../../../src/transformers/ModelDrivenJsonMapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -147,29 +147,48 @@ export class PostgresArrayEntityCteBuilder {
|
|
|
147
147
|
buildDepthCte(infos, currentCteAlias, currentCtes, depth, mapping) {
|
|
148
148
|
var _a;
|
|
149
149
|
// Collect columns that will be compressed into arrays
|
|
150
|
+
// This includes both direct columns and columns from nested entities within the array
|
|
150
151
|
const arrayColumns = new Set();
|
|
151
152
|
infos.forEach(info => {
|
|
153
|
+
// Add direct columns from the array entity
|
|
152
154
|
Object.values(info.entity.columns).forEach(col => arrayColumns.add(col));
|
|
155
|
+
// Also add columns from all nested entities within this array entity
|
|
156
|
+
const collectNestedColumns = (parentEntityId) => {
|
|
157
|
+
mapping.nestedEntities
|
|
158
|
+
.filter(nestedEntity => nestedEntity.parentId === parentEntityId)
|
|
159
|
+
.forEach(nestedEntity => {
|
|
160
|
+
Object.values(nestedEntity.columns).forEach(column => {
|
|
161
|
+
const columnName = typeof column === 'string' ? column : column.column;
|
|
162
|
+
arrayColumns.add(columnName);
|
|
163
|
+
});
|
|
164
|
+
// Recursively collect from deeper nested entities
|
|
165
|
+
collectNestedColumns(nestedEntity.id);
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
collectNestedColumns(info.entity.id);
|
|
153
169
|
});
|
|
154
170
|
// Get columns from previous CTE
|
|
155
171
|
const prevCte = (_a = currentCtes.find(c => c.aliasExpression.table.name === currentCteAlias)) === null || _a === void 0 ? void 0 : _a.query;
|
|
156
172
|
if (!prevCte) {
|
|
157
173
|
throw new Error(`CTE not found: ${currentCteAlias}`);
|
|
158
174
|
}
|
|
159
|
-
const prevSelects = new SelectValueCollector(null, currentCtes).collect(prevCte);
|
|
160
|
-
// Build SELECT items: columns that are NOT being compressed (for GROUP BY)
|
|
175
|
+
const prevSelects = new SelectValueCollector(null, currentCtes).collect(prevCte); // Build SELECT items: columns that are NOT being compressed (for GROUP BY)
|
|
161
176
|
const groupByItems = [];
|
|
162
177
|
const selectItems = [];
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
178
|
+
// Get columns from the current level's array entities that will be aggregated
|
|
179
|
+
// These should be included in GROUP BY since they're being processed at this level
|
|
180
|
+
const currentLevelArrayColumns = new Set();
|
|
181
|
+
infos.forEach(info => {
|
|
182
|
+
Object.values(info.entity.columns).forEach(col => currentLevelArrayColumns.add(col));
|
|
168
183
|
});
|
|
184
|
+
// Collect array entity columns organized by depth for GROUP BY exclusion strategy
|
|
185
|
+
const arrayEntityColumns = this.collectArrayEntityColumnsByDepth(mapping, depth);
|
|
186
|
+
// Process existing SELECT variables to determine which should be included in GROUP BY
|
|
187
|
+
this.processSelectVariablesForGroupBy(prevSelects, arrayColumns, arrayEntityColumns, depth, selectItems, groupByItems);
|
|
169
188
|
// Add JSON aggregation columns for each array entity at this depth
|
|
170
189
|
for (const info of infos) {
|
|
171
|
-
const agg = this.buildAggregationDetailsForArrayEntity(info.entity, mapping.nestedEntities, new Map()
|
|
172
|
-
|
|
190
|
+
const agg = this.buildAggregationDetailsForArrayEntity(info.entity, mapping.nestedEntities, new Map() // allEntities - not needed for array aggregation
|
|
191
|
+
);
|
|
173
192
|
selectItems.push(new SelectItem(agg.jsonAgg, info.entity.propertyName));
|
|
174
193
|
}
|
|
175
194
|
// Create the new CTE
|
|
@@ -192,12 +211,11 @@ export class PostgresArrayEntityCteBuilder {
|
|
|
192
211
|
* @param entity The array entity being processed
|
|
193
212
|
* @param nestedEntities All nested entities from the mapping
|
|
194
213
|
* @param allEntities Map of all entities (not used in current implementation)
|
|
195
|
-
* @param useJsonb Whether to use JSONB functions
|
|
196
214
|
* @returns Object containing the JSON aggregation function
|
|
197
215
|
*/
|
|
198
|
-
buildAggregationDetailsForArrayEntity(entity, nestedEntities, allEntities
|
|
199
|
-
// Build JSON object for array elements
|
|
200
|
-
const jsonBuildFunction =
|
|
216
|
+
buildAggregationDetailsForArrayEntity(entity, nestedEntities, allEntities) {
|
|
217
|
+
// Build JSON object for array elements using JSONB functions
|
|
218
|
+
const jsonBuildFunction = "jsonb_build_object";
|
|
201
219
|
const args = [];
|
|
202
220
|
// Add the entity's own columns
|
|
203
221
|
Object.entries(entity.columns).forEach(([jsonKey, sqlColumn]) => {
|
|
@@ -210,7 +228,8 @@ export class PostgresArrayEntityCteBuilder {
|
|
|
210
228
|
args.push(new LiteralValue(childEntity.propertyName));
|
|
211
229
|
if (childEntity.relationshipType === "object") {
|
|
212
230
|
// For object relationships, use pre-computed JSON column
|
|
213
|
-
|
|
231
|
+
// Use entity ID instead of name to avoid naming conflicts
|
|
232
|
+
const jsonColumnName = `${childEntity.id.toLowerCase()}_json`;
|
|
214
233
|
args.push(new ColumnReference(null, new IdentifierString(jsonColumnName)));
|
|
215
234
|
}
|
|
216
235
|
else if (childEntity.relationshipType === "array") {
|
|
@@ -220,11 +239,180 @@ export class PostgresArrayEntityCteBuilder {
|
|
|
220
239
|
});
|
|
221
240
|
// Create JSON object
|
|
222
241
|
const jsonObject = new FunctionCall(null, new RawString(jsonBuildFunction), new ValueList(args), null);
|
|
223
|
-
// Create JSON aggregation
|
|
224
|
-
|
|
242
|
+
// Create JSON aggregation using JSONB with NULL filtering
|
|
243
|
+
// Use FILTER clause to exclude rows where primary key is NULL (no actual data)
|
|
244
|
+
const jsonAggFunction = "jsonb_agg";
|
|
245
|
+
// Find the primary column (typically the first column) to use for NULL filtering
|
|
246
|
+
const primaryColumn = Object.values(entity.columns)[0];
|
|
247
|
+
// For now, create standard jsonb_agg and handle NULL filtering in post-processing
|
|
248
|
+
// TODO: Implement proper FILTER clause support in SQL AST
|
|
225
249
|
const jsonAgg = new FunctionCall(null, new RawString(jsonAggFunction), new ValueList([jsonObject]), null);
|
|
226
250
|
return { jsonAgg };
|
|
227
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* Collects array entity columns organized by depth for the GROUP BY exclusion strategy.
|
|
254
|
+
*
|
|
255
|
+
* This method creates a mapping from depth levels to sets of column names that belong to
|
|
256
|
+
* array entities at each depth. This is used to determine which columns should be excluded
|
|
257
|
+
* from GROUP BY clauses when performing array aggregation at specific depths.
|
|
258
|
+
*
|
|
259
|
+
* @param mapping The JSON mapping configuration containing all entities
|
|
260
|
+
* @param currentDepth The current aggregation depth being processed
|
|
261
|
+
* @returns A map where keys are depth levels and values are sets of column names
|
|
262
|
+
*/
|
|
263
|
+
collectArrayEntityColumnsByDepth(mapping, currentDepth) {
|
|
264
|
+
const arrayEntitiesByDepth = new Map(); // Initialize depth maps for current and deeper levels
|
|
265
|
+
// Use a reasonable maximum depth limit to avoid infinite loops
|
|
266
|
+
const maxDepth = Math.max(currentDepth + 3, 5); // Allow up to 3 additional levels or minimum 5 levels
|
|
267
|
+
for (let d = currentDepth; d <= maxDepth; d++) {
|
|
268
|
+
arrayEntitiesByDepth.set(d, new Set());
|
|
269
|
+
}
|
|
270
|
+
// Process all array entities to collect their columns by depth
|
|
271
|
+
mapping.nestedEntities
|
|
272
|
+
.filter(entity => entity.relationshipType === 'array')
|
|
273
|
+
.forEach(entity => {
|
|
274
|
+
// Calculate entity depth in the hierarchy
|
|
275
|
+
const entityDepth = this.calculateEntityDepth(entity, mapping);
|
|
276
|
+
if (!arrayEntitiesByDepth.has(entityDepth)) {
|
|
277
|
+
arrayEntitiesByDepth.set(entityDepth, new Set());
|
|
278
|
+
}
|
|
279
|
+
// Add direct columns from the array entity
|
|
280
|
+
this.addEntityColumnsToDepthSet(entity, entityDepth, arrayEntitiesByDepth);
|
|
281
|
+
// Collect columns from all descendant entities recursively
|
|
282
|
+
this.collectDescendantColumns(entity.id, entityDepth, mapping, arrayEntitiesByDepth);
|
|
283
|
+
});
|
|
284
|
+
return arrayEntitiesByDepth;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Calculates the depth of an entity in the hierarchy by traversing up to the root.
|
|
288
|
+
*
|
|
289
|
+
* @param entity The entity to calculate depth for
|
|
290
|
+
* @param mapping The JSON mapping containing all entities
|
|
291
|
+
* @returns The depth level (0 for root level, 1 for first level, etc.)
|
|
292
|
+
*/
|
|
293
|
+
calculateEntityDepth(entity, mapping) {
|
|
294
|
+
let entityDepth = 0;
|
|
295
|
+
let currentEntity = entity;
|
|
296
|
+
while (currentEntity.parentId && currentEntity.parentId !== mapping.rootEntity.id) {
|
|
297
|
+
entityDepth++;
|
|
298
|
+
currentEntity = mapping.nestedEntities.find(e => e.id === currentEntity.parentId) || currentEntity;
|
|
299
|
+
}
|
|
300
|
+
return entityDepth;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Adds all columns from an entity to the specified depth set.
|
|
304
|
+
*
|
|
305
|
+
* @param entity The entity whose columns should be added
|
|
306
|
+
* @param depth The depth level to add columns to
|
|
307
|
+
* @param arrayEntitiesByDepth The map to update
|
|
308
|
+
*/
|
|
309
|
+
addEntityColumnsToDepthSet(entity, depth, arrayEntitiesByDepth) {
|
|
310
|
+
Object.values(entity.columns).forEach(column => {
|
|
311
|
+
const columnName = typeof column === 'string' ? column : column.column;
|
|
312
|
+
arrayEntitiesByDepth.get(depth).add(columnName);
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Recursively collects columns from all descendant entities under a parent entity.
|
|
317
|
+
*
|
|
318
|
+
* This method ensures that all nested entities (at any depth) under an array entity
|
|
319
|
+
* have their columns properly categorized by the array entity's depth level.
|
|
320
|
+
*
|
|
321
|
+
* @param parentEntityId The ID of the parent entity
|
|
322
|
+
* @param targetDepth The depth level to assign collected columns to
|
|
323
|
+
* @param mapping The JSON mapping containing all entities
|
|
324
|
+
* @param arrayEntitiesByDepth The map to update with collected columns
|
|
325
|
+
*/
|
|
326
|
+
collectDescendantColumns(parentEntityId, targetDepth, mapping, arrayEntitiesByDepth) {
|
|
327
|
+
mapping.nestedEntities
|
|
328
|
+
.filter(nestedEntity => nestedEntity.parentId === parentEntityId)
|
|
329
|
+
.forEach(nestedEntity => {
|
|
330
|
+
// Add all columns from this descendant to the target depth
|
|
331
|
+
this.addEntityColumnsToDepthSet(nestedEntity, targetDepth, arrayEntitiesByDepth);
|
|
332
|
+
// Recursively collect from deeper nested entities
|
|
333
|
+
this.collectDescendantColumns(nestedEntity.id, targetDepth, mapping, arrayEntitiesByDepth);
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Processes SELECT variables to determine which should be included in GROUP BY clauses.
|
|
338
|
+
*
|
|
339
|
+
* This method implements the core logic for deciding which columns from previous CTEs
|
|
340
|
+
* should be included in the GROUP BY clause when performing array aggregation. It handles
|
|
341
|
+
* special cases for JSON columns and applies depth-based filtering to prevent over-grouping.
|
|
342
|
+
*
|
|
343
|
+
* @param prevSelects SELECT variables from the previous CTE
|
|
344
|
+
* @param arrayColumns Columns that are being aggregated (should be excluded from GROUP BY)
|
|
345
|
+
* @param arrayEntitiesByDepth Map of depth levels to their column sets
|
|
346
|
+
* @param currentDepth The current aggregation depth being processed
|
|
347
|
+
* @param selectItems Output array for SELECT items
|
|
348
|
+
* @param groupByItems Output array for GROUP BY items
|
|
349
|
+
*/
|
|
350
|
+
processSelectVariablesForGroupBy(prevSelects, arrayColumns, arrayEntitiesByDepth, currentDepth, selectItems, groupByItems) {
|
|
351
|
+
prevSelects.forEach(sv => {
|
|
352
|
+
if (!arrayColumns.has(sv.name)) {
|
|
353
|
+
const shouldInclude = this.shouldIncludeColumnInGroupBy(sv.name, arrayEntitiesByDepth, currentDepth);
|
|
354
|
+
if (shouldInclude) {
|
|
355
|
+
selectItems.push(new SelectItem(new ColumnReference(null, new IdentifierString(sv.name)), sv.name));
|
|
356
|
+
groupByItems.push(new ColumnReference(null, new IdentifierString(sv.name)));
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Determines whether a column should be included in the GROUP BY clause.
|
|
363
|
+
*
|
|
364
|
+
* This method applies depth-based filtering and special handling for JSON columns
|
|
365
|
+
* to prevent over-grouping during array aggregation. It implements heuristics for
|
|
366
|
+
* excluding columns that belong to nested entities within array contexts.
|
|
367
|
+
*
|
|
368
|
+
* @param columnName The name of the column to evaluate
|
|
369
|
+
* @param arrayEntitiesByDepth Map of depth levels to their column sets
|
|
370
|
+
* @param currentDepth The current aggregation depth
|
|
371
|
+
* @returns True if the column should be included in GROUP BY, false otherwise
|
|
372
|
+
*/
|
|
373
|
+
shouldIncludeColumnInGroupBy(columnName, arrayEntitiesByDepth, currentDepth) {
|
|
374
|
+
const isJsonColumn = columnName.endsWith('_json');
|
|
375
|
+
let shouldInclude = true;
|
|
376
|
+
// Check if this column belongs to array entities at current depth or deeper
|
|
377
|
+
// These columns are being aggregated and should not be in GROUP BY
|
|
378
|
+
for (const [entityDepth, columns] of arrayEntitiesByDepth.entries()) {
|
|
379
|
+
if (entityDepth >= currentDepth && columns.has(columnName)) {
|
|
380
|
+
shouldInclude = false;
|
|
381
|
+
break;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
// Special handling for JSON columns to prevent over-grouping
|
|
385
|
+
if (isJsonColumn && columnName.startsWith('entity_')) {
|
|
386
|
+
shouldInclude = this.shouldIncludeJsonColumn(columnName, currentDepth);
|
|
387
|
+
}
|
|
388
|
+
// Always include non-entity JSON columns (e.g., computed columns)
|
|
389
|
+
return shouldInclude || (isJsonColumn && !columnName.startsWith('entity_'));
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Applies heuristics to determine if an entity JSON column should be included in GROUP BY.
|
|
393
|
+
*
|
|
394
|
+
* This method uses entity numbering patterns to identify deeply nested entities
|
|
395
|
+
* that should be excluded from GROUP BY when processing array aggregations.
|
|
396
|
+
* This is a simplified heuristic approach that works for current use cases.
|
|
397
|
+
*
|
|
398
|
+
* @param columnName The JSON column name (expected format: entity_N_json)
|
|
399
|
+
* @param currentDepth The current aggregation depth
|
|
400
|
+
* @returns True if the JSON column should be included, false otherwise
|
|
401
|
+
*/
|
|
402
|
+
shouldIncludeJsonColumn(columnName, currentDepth) {
|
|
403
|
+
const entityMatch = columnName.match(/entity_(\d+)_json/);
|
|
404
|
+
if (!entityMatch) {
|
|
405
|
+
return true;
|
|
406
|
+
}
|
|
407
|
+
// For depth > 0, exclude JSON columns from highly nested entities
|
|
408
|
+
// This heuristic assumes entities with higher numbers are more deeply nested
|
|
409
|
+
if (currentDepth > 0) {
|
|
410
|
+
const entityNumber = parseInt(entityMatch[1]);
|
|
411
|
+
// Entities with numbers > 2 are typically nested within arrays and should be excluded
|
|
412
|
+
return entityNumber <= 2;
|
|
413
|
+
}
|
|
414
|
+
return true;
|
|
415
|
+
}
|
|
228
416
|
}
|
|
229
417
|
// Constants for consistent naming conventions
|
|
230
418
|
PostgresArrayEntityCteBuilder.CTE_ARRAY_PREFIX = 'cte_array_depth_';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresArrayEntityCteBuilder.js","sourceRoot":"","sources":["../../../../src/transformers/PostgresArrayEntityCteBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PostgresArrayEntityCteBuilder.js","sourceRoot":"","sources":["../../../../src/transformers/PostgresArrayEntityCteBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -151,10 +151,9 @@ export class PostgresJsonQueryBuilder {
|
|
|
151
151
|
throw new Error(`Root entity ${mapping.rootEntity.id} not found`);
|
|
152
152
|
}
|
|
153
153
|
if (mapping.resultFormat === "array" || !mapping.resultFormat) {
|
|
154
|
-
// Step 4.1a: Create a CTE that wraps the final result as the root object
|
|
155
|
-
// No alias needed for single table SELECT
|
|
154
|
+
// Step 4.1a: Create a CTE that wraps the final result as the root object // No alias needed for single table SELECT
|
|
156
155
|
const rootObjectBuilderExpression = this.buildEntityJsonObject(rootEntity, null, // No source alias for single table
|
|
157
|
-
mapping.nestedEntities, allEntities
|
|
156
|
+
mapping.nestedEntities, allEntities);
|
|
158
157
|
const rootObjectSelectItem = new SelectItem(rootObjectBuilderExpression, mapping.rootName);
|
|
159
158
|
const rootObjectCte = new CommonTable(new SimpleSelectQuery({
|
|
160
159
|
selectClause: new SelectClause([rootObjectSelectItem]),
|
|
@@ -163,7 +162,7 @@ export class PostgresJsonQueryBuilder {
|
|
|
163
162
|
}), new SourceAliasExpression(rootObjectCteAlias, null), null);
|
|
164
163
|
currentCtes.push(rootObjectCte);
|
|
165
164
|
// Step 4.1b: Aggregate all the root objects
|
|
166
|
-
const aggregationFunc =
|
|
165
|
+
const aggregationFunc = "jsonb_agg"; // Always use JSONB
|
|
167
166
|
const aggregateExpression = new FunctionCall(null, new RawString(aggregationFunc), new ValueList([new ColumnReference(null, new IdentifierString(mapping.rootName))]), null);
|
|
168
167
|
return new SimpleSelectQuery({
|
|
169
168
|
withClause: new WithClause(false, currentCtes),
|
|
@@ -176,7 +175,7 @@ export class PostgresJsonQueryBuilder {
|
|
|
176
175
|
else {
|
|
177
176
|
// For a single object result, create root object CTE without alias
|
|
178
177
|
const rootObjectBuilderExpression = this.buildEntityJsonObject(rootEntity, null, // No source alias for single table
|
|
179
|
-
mapping.nestedEntities, allEntities
|
|
178
|
+
mapping.nestedEntities, allEntities);
|
|
180
179
|
const rootObjectSelectItem = new SelectItem(rootObjectBuilderExpression, mapping.rootName);
|
|
181
180
|
const rootObjectCte = new CommonTable(new SimpleSelectQuery({
|
|
182
181
|
selectClause: new SelectClause([rootObjectSelectItem]),
|
|
@@ -198,9 +197,10 @@ export class PostgresJsonQueryBuilder {
|
|
|
198
197
|
/**
|
|
199
198
|
* Build JSON object for entity, using parent JSON columns when available
|
|
200
199
|
*/
|
|
201
|
-
buildEntityJsonObject(entity, sourceAlias, nestedEntities, allEntities
|
|
202
|
-
const jsonBuildFunction =
|
|
203
|
-
const args = [];
|
|
200
|
+
buildEntityJsonObject(entity, sourceAlias, nestedEntities, allEntities) {
|
|
201
|
+
const jsonBuildFunction = "jsonb_build_object";
|
|
202
|
+
const args = [];
|
|
203
|
+
// Add the entity's own columns
|
|
204
204
|
Object.entries(entity.columns).forEach(([jsonKey, columnDef]) => {
|
|
205
205
|
// Handle both string and object formats
|
|
206
206
|
const sqlColumn = typeof columnDef === 'string' ? columnDef : columnDef.column;
|
|
@@ -216,7 +216,8 @@ export class PostgresJsonQueryBuilder {
|
|
|
216
216
|
args.push(new LiteralValue(childEntity.propertyName));
|
|
217
217
|
if (childEntity.relationshipType === "object") {
|
|
218
218
|
// For object relationships, use pre-computed JSON column
|
|
219
|
-
|
|
219
|
+
// Use entity ID instead of name to avoid naming conflicts
|
|
220
|
+
const jsonColumnName = `${child.id.toLowerCase()}_json`;
|
|
220
221
|
args.push(new ColumnReference(null, new IdentifierString(jsonColumnName)));
|
|
221
222
|
}
|
|
222
223
|
else if (childEntity.relationshipType === "array") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresJsonQueryBuilder.js","sourceRoot":"","sources":["../../../../src/transformers/PostgresJsonQueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PostgresJsonQueryBuilder.js","sourceRoot":"","sources":["../../../../src/transformers/PostgresJsonQueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -184,12 +184,13 @@ export class PostgresObjectEntityCteBuilder {
|
|
|
184
184
|
// Add child object relationships
|
|
185
185
|
this.addChildObjectRelationships(entity, jsonObjectArgs, mapping, allEntities);
|
|
186
186
|
// Create JSON object
|
|
187
|
-
const jsonObject = this.createJsonObject(jsonObjectArgs
|
|
187
|
+
const jsonObject = this.createJsonObject(jsonObjectArgs);
|
|
188
188
|
// Build NULL condition and CASE expression
|
|
189
189
|
const nullCondition = this.buildNullCondition(nullChecks);
|
|
190
190
|
const caseExpr = this.createCaseExpression(nullCondition, jsonObject);
|
|
191
191
|
// Add JSON object as named column
|
|
192
|
-
|
|
192
|
+
// Use entity ID instead of name to avoid naming conflicts
|
|
193
|
+
const jsonColumnName = `${entity.id.toLowerCase()}${PostgresObjectEntityCteBuilder.JSON_COLUMN_SUFFIX}`;
|
|
193
194
|
return new SelectItem(caseExpr, jsonColumnName);
|
|
194
195
|
}
|
|
195
196
|
/**
|
|
@@ -245,7 +246,8 @@ export class PostgresObjectEntityCteBuilder {
|
|
|
245
246
|
const child = allEntities.get(childEntity.id);
|
|
246
247
|
if (child) {
|
|
247
248
|
jsonObjectArgs.push(new LiteralValue(childEntity.propertyName));
|
|
248
|
-
|
|
249
|
+
// Use entity ID instead of name to avoid naming conflicts
|
|
250
|
+
const jsonColumnName = `${child.id.toLowerCase()}${PostgresObjectEntityCteBuilder.JSON_COLUMN_SUFFIX}`;
|
|
249
251
|
jsonObjectArgs.push(new ColumnReference(null, new IdentifierString(jsonColumnName)));
|
|
250
252
|
}
|
|
251
253
|
});
|
|
@@ -253,8 +255,9 @@ export class PostgresObjectEntityCteBuilder {
|
|
|
253
255
|
/**
|
|
254
256
|
* Create JSON object function call
|
|
255
257
|
*/
|
|
256
|
-
createJsonObject(args
|
|
257
|
-
const jsonBuildFunction =
|
|
258
|
+
createJsonObject(args) {
|
|
259
|
+
const jsonBuildFunction = "jsonb_build_object";
|
|
260
|
+
// Always use JSONB
|
|
258
261
|
return new FunctionCall(null, new RawString(jsonBuildFunction), new ValueList(args), null);
|
|
259
262
|
}
|
|
260
263
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresObjectEntityCteBuilder.js","sourceRoot":"","sources":["../../../../src/transformers/PostgresObjectEntityCteBuilder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PostgresObjectEntityCteBuilder.js","sourceRoot":"","sources":["../../../../src/transformers/PostgresObjectEntityCteBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,12 +23,23 @@ import { ArrayExpression, ArrayQueryExpression, BetweenExpression, BinaryExpress
|
|
|
23
23
|
import { CTECollector } from "./CTECollector";
|
|
24
24
|
import { SelectValueCollector } from "./SelectValueCollector";
|
|
25
25
|
/**
|
|
26
|
-
* A visitor that collects all ColumnReference instances from
|
|
26
|
+
* A visitor that collects all ColumnReference instances from SimpleSelectQuery structures.
|
|
27
27
|
* This visitor scans through all clauses and collects all unique ColumnReference objects.
|
|
28
28
|
* It does not scan Common Table Expressions (CTEs) or subqueries.
|
|
29
29
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
30
|
+
* IMPORTANT: This collector only supports SimpleSelectQuery. BinarySelectQuery
|
|
31
|
+
* (UNION/INTERSECT/EXCEPT) will throw an error and should be decomposed into
|
|
32
|
+
* individual SimpleSelectQuery branches before using this collector.
|
|
33
|
+
*
|
|
34
|
+
* Behavioral notes:
|
|
35
|
+
* - Only collects column references to tables defined in the root FROM/JOIN clauses
|
|
36
|
+
* - For aliased columns (e.g., 'title as name'), collects both the original column
|
|
37
|
+
* reference ('title') AND the alias ('name') to enable complete dependency tracking
|
|
38
|
+
*
|
|
39
|
+
* Use cases:
|
|
40
|
+
* - Dependency analysis and schema migration tools
|
|
41
|
+
* - Column usage tracking within individual SELECT branches
|
|
42
|
+
* - Security analysis for column-level access control
|
|
32
43
|
*/
|
|
33
44
|
export class SelectableColumnCollector {
|
|
34
45
|
/**
|
|
@@ -53,8 +64,9 @@ export class SelectableColumnCollector {
|
|
|
53
64
|
this.duplicateDetection = duplicateDetection;
|
|
54
65
|
this.options = options || {};
|
|
55
66
|
this.handlers = new Map();
|
|
56
|
-
// Main entry point
|
|
67
|
+
// Main entry point for SimpleSelectQuery only
|
|
57
68
|
this.handlers.set(SimpleSelectQuery.kind, (expr) => this.visitSimpleSelectQuery(expr));
|
|
69
|
+
// NOTE: BinarySelectQuery is NOT supported - it should be decomposed before using this collector
|
|
58
70
|
// Handlers for each clause type that might contain column references
|
|
59
71
|
this.handlers.set(SelectClause.kind, (expr) => this.visitSelectClause(expr));
|
|
60
72
|
this.handlers.set(FromClause.kind, (expr) => this.visitFromClause(expr));
|
|
@@ -144,7 +156,7 @@ export class SelectableColumnCollector {
|
|
|
144
156
|
return;
|
|
145
157
|
}
|
|
146
158
|
if (!(arg instanceof SimpleSelectQuery)) {
|
|
147
|
-
throw new Error("Root visit
|
|
159
|
+
throw new Error("Root visit requires a SimpleSelectQuery. Decompose compound queries before collecting columns.");
|
|
148
160
|
}
|
|
149
161
|
// If this is a root visit, we need to reset the state
|
|
150
162
|
this.reset();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectableColumnCollector.js","sourceRoot":"","sources":["../../../../src/transformers/SelectableColumnCollector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectableColumnCollector.js","sourceRoot":"","sources":["../../../../src/transformers/SelectableColumnCollector.ts"],"names":[],"mappings":"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"}
|