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
package/dist/src/index.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export * from './transformers/SelectableColumnCollector';
|
|
|
15
15
|
export * from './transformers/TableColumnResolver';
|
|
16
16
|
export * from './transformers/TableSourceCollector';
|
|
17
17
|
export * from './transformers/UnifiedJsonMapping';
|
|
18
|
+
export { ModelDrivenJsonMapping, convertModelDrivenMapping, validateModelDrivenMapping, FieldMapping, NestedStructure, StructureFields, FieldType } from './transformers/ModelDrivenJsonMapping';
|
|
19
|
+
export { processJsonMapping, unifyJsonMapping, isModelDrivenFormat, isUnifiedFormat, isLegacyFormat } from './transformers/JsonMappingUnifier';
|
|
18
20
|
export * from './transformers/UpstreamSelectQueryFinder';
|
|
19
21
|
export * from './transformers/TypeTransformationPostProcessor';
|
|
20
22
|
export * from './transformers/SchemaCollector';
|
package/dist/src/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.isLegacyFormat = exports.isUnifiedFormat = exports.isModelDrivenFormat = exports.unifyJsonMapping = exports.processJsonMapping = exports.validateModelDrivenMapping = exports.convertModelDrivenMapping = void 0;
|
|
17
18
|
// Entry point for rawsql-ts package
|
|
18
19
|
__exportStar(require("./parsers/SelectQueryParser"), exports);
|
|
19
20
|
__exportStar(require("./parsers/InsertQueryParser"), exports);
|
|
@@ -32,6 +33,15 @@ __exportStar(require("./transformers/SelectableColumnCollector"), exports);
|
|
|
32
33
|
__exportStar(require("./transformers/TableColumnResolver"), exports);
|
|
33
34
|
__exportStar(require("./transformers/TableSourceCollector"), exports);
|
|
34
35
|
__exportStar(require("./transformers/UnifiedJsonMapping"), exports);
|
|
36
|
+
var ModelDrivenJsonMapping_1 = require("./transformers/ModelDrivenJsonMapping");
|
|
37
|
+
Object.defineProperty(exports, "convertModelDrivenMapping", { enumerable: true, get: function () { return ModelDrivenJsonMapping_1.convertModelDrivenMapping; } });
|
|
38
|
+
Object.defineProperty(exports, "validateModelDrivenMapping", { enumerable: true, get: function () { return ModelDrivenJsonMapping_1.validateModelDrivenMapping; } });
|
|
39
|
+
var JsonMappingUnifier_1 = require("./transformers/JsonMappingUnifier");
|
|
40
|
+
Object.defineProperty(exports, "processJsonMapping", { enumerable: true, get: function () { return JsonMappingUnifier_1.processJsonMapping; } });
|
|
41
|
+
Object.defineProperty(exports, "unifyJsonMapping", { enumerable: true, get: function () { return JsonMappingUnifier_1.unifyJsonMapping; } });
|
|
42
|
+
Object.defineProperty(exports, "isModelDrivenFormat", { enumerable: true, get: function () { return JsonMappingUnifier_1.isModelDrivenFormat; } });
|
|
43
|
+
Object.defineProperty(exports, "isUnifiedFormat", { enumerable: true, get: function () { return JsonMappingUnifier_1.isUnifiedFormat; } });
|
|
44
|
+
Object.defineProperty(exports, "isLegacyFormat", { enumerable: true, get: function () { return JsonMappingUnifier_1.isLegacyFormat; } });
|
|
35
45
|
__exportStar(require("./transformers/UpstreamSelectQueryFinder"), exports);
|
|
36
46
|
__exportStar(require("./transformers/TypeTransformationPostProcessor"), exports);
|
|
37
47
|
__exportStar(require("./transformers/SchemaCollector"), exports);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,8DAA4C;AAC5C,8DAA4C;AAE5C,6DAA2C;AAC3C,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC;AAErC,8DAA4C;AAC5C,+DAA6C;AAC7C,2DAAyC;AACzC,8DAA4C;AAC5C,0EAAwD;AACxD,8DAA4C,CAAC,0BAA0B;AACvE,sEAAoD;AACpD,2EAAyD;AACzD,qEAAmD;AACnD,sEAAoD;AACpD,oEAAkD;AAClD,gFAQ+C;AAN3C,mIAAA,yBAAyB,OAAA;AACzB,oIAAA,0BAA0B,OAAA;AAM9B,wEAM2C;AALvC,wHAAA,kBAAkB,OAAA;AAClB,sHAAA,gBAAgB,OAAA;AAChB,yHAAA,mBAAmB,OAAA;AACnB,qHAAA,eAAe,OAAA;AACf,oHAAA,cAAc,OAAA;AAElB,2EAAyD;AACzD,iFAA+D;AAE/D,iEAA+C;AAC/C,kEAAgD;AAChD,iEAA+C;AAC/C,uEAAqD;AACrD,qEAAmD;AAEnD,6DAA2C;AAC3C,8DAA4C;AAC5C,wDAAsC;AACtC,oEAAoE"}
|
|
@@ -15,15 +15,19 @@ const trie = new KeywordTrie_1.KeywordTrie([
|
|
|
15
15
|
["is", "distinct", "from"],
|
|
16
16
|
["is", "not", "distinct", "from"],
|
|
17
17
|
["like"],
|
|
18
|
+
["ilike"],
|
|
18
19
|
["in"],
|
|
19
20
|
["exists"],
|
|
20
21
|
["between"],
|
|
21
22
|
["not", "like"],
|
|
23
|
+
["not", "ilike"],
|
|
22
24
|
["not", "in"],
|
|
23
25
|
["not", "exists"],
|
|
24
26
|
["not", "between"],
|
|
25
27
|
["escape"], // e.g. '10% OFF on all items' like '10\%%' escape '\'
|
|
26
28
|
["uescape"], // e.g. U&'d!0061t!+000061' uescape '!'
|
|
29
|
+
["similar", "to"], // e.g. name similar to 'J(ohn|ane)%'
|
|
30
|
+
["not", "similar", "to"], // e.g. name not similar to 'J(ohn|ane)%'
|
|
27
31
|
["similar"], // e.g. substring('abcdef' similar '%#"cd#"%' escape '#')
|
|
28
32
|
["placing"], // e.g. overlay('abcdef' placing 'cd' from 3 for 2)
|
|
29
33
|
// unary
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperatorTokenReader.js","sourceRoot":"","sources":["../../../src/tokenReaders/OperatorTokenReader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OperatorTokenReader.js","sourceRoot":"","sources":["../../../src/tokenReaders/OperatorTokenReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { SelectQuery } from "../models/SelectQuery";
|
|
2
|
+
/**
|
|
3
|
+
* CTE dependency tree node for visualization
|
|
4
|
+
*/
|
|
5
|
+
export interface CTENode {
|
|
6
|
+
name: string;
|
|
7
|
+
columns: string[];
|
|
8
|
+
dependencies: string[];
|
|
9
|
+
dependents: string[];
|
|
10
|
+
query: SelectQuery;
|
|
11
|
+
level: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* CTE dependency graph for debugging complex queries
|
|
15
|
+
*/
|
|
16
|
+
export interface CTEGraph {
|
|
17
|
+
nodes: Map<string, CTENode>;
|
|
18
|
+
rootNodes: string[];
|
|
19
|
+
leafNodes: string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Debug utility for visualizing CTE dependencies and column search paths
|
|
23
|
+
*/
|
|
24
|
+
export declare class CTEDependencyTracer {
|
|
25
|
+
private columnCollector;
|
|
26
|
+
private silent;
|
|
27
|
+
constructor(options?: {
|
|
28
|
+
silent?: boolean;
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Build complete CTE dependency graph
|
|
32
|
+
*/
|
|
33
|
+
buildGraph(query: SelectQuery): CTEGraph;
|
|
34
|
+
/**
|
|
35
|
+
* Trace column search path through CTE dependencies
|
|
36
|
+
*/
|
|
37
|
+
traceColumnSearch(query: SelectQuery, columnName: string): {
|
|
38
|
+
searchPath: string[];
|
|
39
|
+
foundIn: string[];
|
|
40
|
+
notFoundIn: string[];
|
|
41
|
+
graph: CTEGraph;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Print visual representation of CTE dependency graph
|
|
45
|
+
*/
|
|
46
|
+
printGraph(graph: CTEGraph): void;
|
|
47
|
+
/**
|
|
48
|
+
* Print column search trace
|
|
49
|
+
*/
|
|
50
|
+
printColumnTrace(columnName: string, trace: ReturnType<typeof this.traceColumnSearch>): void;
|
|
51
|
+
/**
|
|
52
|
+
* Find CTEs that are actually referenced in the given query.
|
|
53
|
+
* Uses TableSourceCollector to properly identify table references from the AST.
|
|
54
|
+
*/
|
|
55
|
+
private findReferencedCTEs;
|
|
56
|
+
private calculateLevels;
|
|
57
|
+
private getSearchOrder;
|
|
58
|
+
}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CTEDependencyTracer = void 0;
|
|
4
|
+
const SelectQuery_1 = require("../models/SelectQuery");
|
|
5
|
+
const CTECollector_1 = require("./CTECollector");
|
|
6
|
+
const SelectableColumnCollector_1 = require("./SelectableColumnCollector");
|
|
7
|
+
const TableSourceCollector_1 = require("./TableSourceCollector");
|
|
8
|
+
/**
|
|
9
|
+
* Debug utility for visualizing CTE dependencies and column search paths
|
|
10
|
+
*/
|
|
11
|
+
class CTEDependencyTracer {
|
|
12
|
+
constructor(options) {
|
|
13
|
+
var _a;
|
|
14
|
+
this.columnCollector = new SelectableColumnCollector_1.SelectableColumnCollector();
|
|
15
|
+
this.silent = (_a = options === null || options === void 0 ? void 0 : options.silent) !== null && _a !== void 0 ? _a : false;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Build complete CTE dependency graph
|
|
19
|
+
*/
|
|
20
|
+
buildGraph(query) {
|
|
21
|
+
const cteCollector = new CTECollector_1.CTECollector();
|
|
22
|
+
const ctes = cteCollector.collect(query);
|
|
23
|
+
const nodes = new Map();
|
|
24
|
+
// First pass: Create all nodes
|
|
25
|
+
ctes.forEach(cte => {
|
|
26
|
+
const cteName = cte.getSourceAliasName();
|
|
27
|
+
let columns = [];
|
|
28
|
+
try {
|
|
29
|
+
const columnRefs = this.columnCollector.collect(cte.query);
|
|
30
|
+
columns = columnRefs.map(col => col.name);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
if (!this.silent) {
|
|
34
|
+
console.warn(`Failed to collect columns for CTE ${cteName}: ${error instanceof Error ? error.message : String(error)}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
nodes.set(cteName, {
|
|
38
|
+
name: cteName,
|
|
39
|
+
columns,
|
|
40
|
+
dependencies: [],
|
|
41
|
+
dependents: [],
|
|
42
|
+
query: cte.query,
|
|
43
|
+
level: 0
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
// Second pass: Build dependencies
|
|
47
|
+
ctes.forEach(cte => {
|
|
48
|
+
const cteName = cte.getSourceAliasName();
|
|
49
|
+
const node = nodes.get(cteName);
|
|
50
|
+
// Find all CTEs referenced in this CTE's query
|
|
51
|
+
const referencedCTEs = this.findReferencedCTEs(cte.query, nodes);
|
|
52
|
+
node.dependencies = referencedCTEs;
|
|
53
|
+
// Update dependents
|
|
54
|
+
referencedCTEs.forEach(depName => {
|
|
55
|
+
const depNode = nodes.get(depName);
|
|
56
|
+
if (depNode && !depNode.dependents.includes(cteName)) {
|
|
57
|
+
depNode.dependents.push(cteName);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
// Third pass: Calculate levels
|
|
62
|
+
this.calculateLevels(nodes);
|
|
63
|
+
// Identify root and leaf nodes
|
|
64
|
+
const rootNodes = [];
|
|
65
|
+
const leafNodes = [];
|
|
66
|
+
nodes.forEach((node, name) => {
|
|
67
|
+
if (node.dependencies.length === 0) {
|
|
68
|
+
rootNodes.push(name);
|
|
69
|
+
}
|
|
70
|
+
if (node.dependents.length === 0) {
|
|
71
|
+
leafNodes.push(name);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return { nodes, rootNodes, leafNodes };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Trace column search path through CTE dependencies
|
|
78
|
+
*/
|
|
79
|
+
traceColumnSearch(query, columnName) {
|
|
80
|
+
const graph = this.buildGraph(query);
|
|
81
|
+
const searchPath = [];
|
|
82
|
+
const foundIn = [];
|
|
83
|
+
const notFoundIn = [];
|
|
84
|
+
// Start from main query
|
|
85
|
+
searchPath.push('MAIN_QUERY');
|
|
86
|
+
let mainColumns = [];
|
|
87
|
+
try {
|
|
88
|
+
// SelectableColumnCollector only supports SimpleSelectQuery
|
|
89
|
+
if (query instanceof SelectQuery_1.SimpleSelectQuery) {
|
|
90
|
+
const columnRefs = this.columnCollector.collect(query);
|
|
91
|
+
mainColumns = columnRefs.map(col => col.name);
|
|
92
|
+
}
|
|
93
|
+
else if (query instanceof SelectQuery_1.BinarySelectQuery) {
|
|
94
|
+
// For UNION/INTERSECT/EXCEPT queries, collect from all branches
|
|
95
|
+
const leftColumns = query.left instanceof SelectQuery_1.SimpleSelectQuery
|
|
96
|
+
? this.columnCollector.collect(query.left).map(col => col.name)
|
|
97
|
+
: [];
|
|
98
|
+
const rightColumns = query.right instanceof SelectQuery_1.SimpleSelectQuery
|
|
99
|
+
? this.columnCollector.collect(query.right).map(col => col.name)
|
|
100
|
+
: [];
|
|
101
|
+
// Combine and deduplicate columns from both branches
|
|
102
|
+
const allColumns = [...leftColumns, ...rightColumns];
|
|
103
|
+
mainColumns = [...new Set(allColumns)];
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
if (!this.silent) {
|
|
108
|
+
console.warn(`Failed to collect columns from main query: ${error instanceof Error ? error.message : String(error)}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (mainColumns.some(col => col.toLowerCase() === columnName.toLowerCase())) {
|
|
112
|
+
foundIn.push('MAIN_QUERY');
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
notFoundIn.push('MAIN_QUERY');
|
|
116
|
+
}
|
|
117
|
+
// Search through CTEs in dependency order (leaf to root)
|
|
118
|
+
const visited = new Set();
|
|
119
|
+
const searchOrder = this.getSearchOrder(graph);
|
|
120
|
+
searchOrder.forEach(cteName => {
|
|
121
|
+
if (visited.has(cteName))
|
|
122
|
+
return;
|
|
123
|
+
visited.add(cteName);
|
|
124
|
+
searchPath.push(cteName);
|
|
125
|
+
const node = graph.nodes.get(cteName);
|
|
126
|
+
if (node.columns.some(col => col.toLowerCase() === columnName.toLowerCase())) {
|
|
127
|
+
foundIn.push(cteName);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
notFoundIn.push(cteName);
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
return { searchPath, foundIn, notFoundIn, graph };
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Print visual representation of CTE dependency graph
|
|
137
|
+
*/
|
|
138
|
+
printGraph(graph) {
|
|
139
|
+
if (this.silent)
|
|
140
|
+
return;
|
|
141
|
+
console.log('\n=== CTE Dependency Graph ===');
|
|
142
|
+
// Group by levels
|
|
143
|
+
const levels = new Map();
|
|
144
|
+
graph.nodes.forEach((node, name) => {
|
|
145
|
+
const level = node.level;
|
|
146
|
+
if (!levels.has(level)) {
|
|
147
|
+
levels.set(level, []);
|
|
148
|
+
}
|
|
149
|
+
levels.get(level).push(name);
|
|
150
|
+
});
|
|
151
|
+
// Print level by level
|
|
152
|
+
const maxLevel = Math.max(...Array.from(levels.keys()));
|
|
153
|
+
for (let level = 0; level <= maxLevel; level++) {
|
|
154
|
+
const nodesAtLevel = levels.get(level) || [];
|
|
155
|
+
if (nodesAtLevel.length > 0) {
|
|
156
|
+
console.log(`\nLevel ${level}:`);
|
|
157
|
+
nodesAtLevel.forEach(name => {
|
|
158
|
+
const node = graph.nodes.get(name);
|
|
159
|
+
console.log(` ${name} (${node.columns.length} cols)`);
|
|
160
|
+
if (node.dependencies.length > 0) {
|
|
161
|
+
console.log(` depends on: ${node.dependencies.join(', ')}`);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Print column search trace
|
|
169
|
+
*/
|
|
170
|
+
printColumnTrace(columnName, trace) {
|
|
171
|
+
if (this.silent)
|
|
172
|
+
return;
|
|
173
|
+
console.log(`\n=== Column Search Trace for "${columnName}" ===`);
|
|
174
|
+
console.log(`Search path: ${trace.searchPath.join(' → ')}`);
|
|
175
|
+
console.log(`Found in: ${trace.foundIn.length > 0 ? trace.foundIn.join(', ') : 'NONE'}`);
|
|
176
|
+
console.log(`Not found in: ${trace.notFoundIn.join(', ')}`);
|
|
177
|
+
if (trace.foundIn.length > 0) {
|
|
178
|
+
console.log('\n--- Details of CTEs containing the column ---');
|
|
179
|
+
trace.foundIn.forEach(cteName => {
|
|
180
|
+
if (cteName === 'MAIN_QUERY')
|
|
181
|
+
return;
|
|
182
|
+
const node = trace.graph.nodes.get(cteName);
|
|
183
|
+
if (node) {
|
|
184
|
+
console.log(`${cteName}:`);
|
|
185
|
+
console.log(` All columns: ${node.columns.join(', ')}`);
|
|
186
|
+
console.log(` Dependencies: ${node.dependencies.length > 0 ? node.dependencies.join(', ') : 'none'}`);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Find CTEs that are actually referenced in the given query.
|
|
193
|
+
* Uses TableSourceCollector to properly identify table references from the AST.
|
|
194
|
+
*/
|
|
195
|
+
findReferencedCTEs(query, allCTEs) {
|
|
196
|
+
// Use TableSourceCollector to get all table references from the query
|
|
197
|
+
const tableCollector = new TableSourceCollector_1.TableSourceCollector();
|
|
198
|
+
const tableSources = tableCollector.collect(query);
|
|
199
|
+
const referenced = [];
|
|
200
|
+
// Check each table source to see if it matches a CTE name
|
|
201
|
+
for (const source of tableSources) {
|
|
202
|
+
const tableName = source.table.name;
|
|
203
|
+
if (tableName && allCTEs.has(tableName)) {
|
|
204
|
+
if (!referenced.includes(tableName)) {
|
|
205
|
+
referenced.push(tableName);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
return referenced;
|
|
210
|
+
}
|
|
211
|
+
calculateLevels(nodes) {
|
|
212
|
+
const visited = new Set();
|
|
213
|
+
const calculateLevel = (nodeName) => {
|
|
214
|
+
if (visited.has(nodeName)) {
|
|
215
|
+
return nodes.get(nodeName).level;
|
|
216
|
+
}
|
|
217
|
+
visited.add(nodeName);
|
|
218
|
+
const node = nodes.get(nodeName);
|
|
219
|
+
if (node.dependencies.length === 0) {
|
|
220
|
+
node.level = 0;
|
|
221
|
+
return 0;
|
|
222
|
+
}
|
|
223
|
+
let maxDepLevel = -1;
|
|
224
|
+
node.dependencies.forEach(depName => {
|
|
225
|
+
const depLevel = calculateLevel(depName);
|
|
226
|
+
maxDepLevel = Math.max(maxDepLevel, depLevel);
|
|
227
|
+
});
|
|
228
|
+
node.level = maxDepLevel + 1;
|
|
229
|
+
return node.level;
|
|
230
|
+
};
|
|
231
|
+
nodes.forEach((_, name) => calculateLevel(name));
|
|
232
|
+
}
|
|
233
|
+
getSearchOrder(graph) {
|
|
234
|
+
// Return CTEs in order from leaf to root (level descending)
|
|
235
|
+
const ordered = [];
|
|
236
|
+
const levels = new Map();
|
|
237
|
+
graph.nodes.forEach((node, name) => {
|
|
238
|
+
const level = node.level;
|
|
239
|
+
if (!levels.has(level)) {
|
|
240
|
+
levels.set(level, []);
|
|
241
|
+
}
|
|
242
|
+
levels.get(level).push(name);
|
|
243
|
+
});
|
|
244
|
+
const maxLevel = Math.max(...Array.from(levels.keys()));
|
|
245
|
+
for (let level = maxLevel; level >= 0; level--) {
|
|
246
|
+
const nodesAtLevel = levels.get(level) || [];
|
|
247
|
+
ordered.push(...nodesAtLevel);
|
|
248
|
+
}
|
|
249
|
+
return ordered;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
exports.CTEDependencyTracer = CTEDependencyTracer;
|
|
253
|
+
//# sourceMappingURL=CTEDependencyTracer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CTEDependencyTracer.js","sourceRoot":"","sources":["../../../src/transformers/CTEDependencyTracer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified JSON Mapping processor that supports both legacy and model-driven formats.
|
|
3
|
+
*
|
|
4
|
+
* This module provides backward compatibility while encouraging migration to the model-driven format.
|
|
5
|
+
* It automatically detects the input format and normalizes to a consistent internal representation.
|
|
6
|
+
*/
|
|
7
|
+
import { JsonMapping } from './PostgresJsonQueryBuilder';
|
|
8
|
+
import { ModelDrivenJsonMapping } from './ModelDrivenJsonMapping';
|
|
9
|
+
/**
|
|
10
|
+
* Unified mapping format that can handle both legacy and model-driven inputs.
|
|
11
|
+
*/
|
|
12
|
+
export interface UnifiedMappingInput {
|
|
13
|
+
typeInfo?: {
|
|
14
|
+
interface: string;
|
|
15
|
+
importPath: string;
|
|
16
|
+
};
|
|
17
|
+
structure?: any;
|
|
18
|
+
protectedStringFields?: string[];
|
|
19
|
+
rootName?: string;
|
|
20
|
+
rootEntity?: any;
|
|
21
|
+
nestedEntities?: any[];
|
|
22
|
+
columns?: any;
|
|
23
|
+
relationships?: any;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Result of mapping format detection and conversion.
|
|
27
|
+
*/
|
|
28
|
+
export interface MappingProcessResult {
|
|
29
|
+
format: 'model-driven' | 'unified' | 'legacy';
|
|
30
|
+
jsonMapping: JsonMapping;
|
|
31
|
+
originalInput: UnifiedMappingInput;
|
|
32
|
+
metadata?: {
|
|
33
|
+
typeInfo?: {
|
|
34
|
+
interface: string;
|
|
35
|
+
importPath: string;
|
|
36
|
+
};
|
|
37
|
+
protectedStringFields?: string[];
|
|
38
|
+
typeProtection?: any;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Detects the format of a JSON mapping configuration.
|
|
43
|
+
*
|
|
44
|
+
* @param input - The mapping configuration to analyze
|
|
45
|
+
* @returns The detected format type
|
|
46
|
+
*/
|
|
47
|
+
export declare function detectMappingFormat(input: UnifiedMappingInput): 'model-driven' | 'unified' | 'legacy';
|
|
48
|
+
/**
|
|
49
|
+
* Main processor that unifies all JSON mapping formats into a consistent JsonMapping.
|
|
50
|
+
*
|
|
51
|
+
* Features:
|
|
52
|
+
* - Automatic format detection
|
|
53
|
+
* - Backward compatibility with all existing formats
|
|
54
|
+
* - Metadata preservation for advanced features
|
|
55
|
+
* - Zero external dependencies
|
|
56
|
+
*
|
|
57
|
+
* @param input - Any supported JSON mapping format
|
|
58
|
+
* @returns Unified processing result with JsonMapping and metadata
|
|
59
|
+
*/
|
|
60
|
+
export declare function processJsonMapping(input: UnifiedMappingInput): MappingProcessResult;
|
|
61
|
+
/**
|
|
62
|
+
* Convenience function for direct JsonMapping extraction.
|
|
63
|
+
*
|
|
64
|
+
* @param input - Any supported JSON mapping format
|
|
65
|
+
* @returns JsonMapping ready for use with PostgresJsonQueryBuilder
|
|
66
|
+
*/
|
|
67
|
+
export declare function unifyJsonMapping(input: UnifiedMappingInput): JsonMapping;
|
|
68
|
+
/**
|
|
69
|
+
* Type guard to check if input uses model-driven format.
|
|
70
|
+
*
|
|
71
|
+
* @param input - Mapping input to check
|
|
72
|
+
* @returns True if input is model-driven format
|
|
73
|
+
*/
|
|
74
|
+
export declare function isModelDrivenFormat(input: UnifiedMappingInput): input is ModelDrivenJsonMapping;
|
|
75
|
+
/**
|
|
76
|
+
* Type guard to check if input uses unified format.
|
|
77
|
+
*
|
|
78
|
+
* @param input - Mapping input to check
|
|
79
|
+
* @returns True if input is unified format
|
|
80
|
+
*/
|
|
81
|
+
export declare function isUnifiedFormat(input: UnifiedMappingInput): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Type guard to check if input uses legacy format.
|
|
84
|
+
*
|
|
85
|
+
* @param input - Mapping input to check
|
|
86
|
+
* @returns True if input is legacy format
|
|
87
|
+
*/
|
|
88
|
+
export declare function isLegacyFormat(input: UnifiedMappingInput): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Migration helper that suggests upgrading to model-driven format.
|
|
91
|
+
*
|
|
92
|
+
* @param input - Current mapping configuration
|
|
93
|
+
* @returns Suggestions for migration (if applicable)
|
|
94
|
+
*/
|
|
95
|
+
export declare function suggestModelDrivenMigration(input: UnifiedMappingInput): string[];
|