rawsql-ts 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +4 -4
- package/dist/esm/index.min.js.map +4 -4
- package/dist/esm/transformers/DynamicQueryBuilder.d.ts +9 -13
- package/dist/esm/transformers/DynamicQueryBuilder.js +8 -108
- package/dist/esm/transformers/DynamicQueryBuilder.js.map +1 -1
- package/dist/esm/transformers/PruneOptionalConditionBranches.d.ts +14 -2
- package/dist/esm/transformers/PruneOptionalConditionBranches.js +105 -37
- package/dist/esm/transformers/PruneOptionalConditionBranches.js.map +1 -1
- package/dist/esm/transformers/SSSQLFilterBuilder.d.ts +30 -0
- package/dist/esm/transformers/SSSQLFilterBuilder.js +253 -0
- package/dist/esm/transformers/SSSQLFilterBuilder.js.map +1 -0
- package/dist/esm/utils/RelationGraph.d.ts +43 -0
- package/dist/esm/utils/RelationGraph.js +117 -0
- package/dist/esm/utils/RelationGraph.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +4 -4
- package/dist/index.min.js.map +4 -4
- package/dist/src/index.d.ts +4 -0
- package/dist/src/transformers/DynamicQueryBuilder.d.ts +9 -13
- package/dist/src/transformers/PruneOptionalConditionBranches.d.ts +14 -2
- package/dist/src/transformers/SSSQLFilterBuilder.d.ts +30 -0
- package/dist/src/utils/RelationGraph.d.ts +43 -0
- package/dist/transformers/DynamicQueryBuilder.js +8 -97
- package/dist/transformers/DynamicQueryBuilder.js.map +1 -1
- package/dist/transformers/PruneOptionalConditionBranches.js +106 -37
- package/dist/transformers/PruneOptionalConditionBranches.js.map +1 -1
- package/dist/transformers/SSSQLFilterBuilder.js +259 -0
- package/dist/transformers/SSSQLFilterBuilder.js.map +1 -0
- package/dist/tsconfig.browser.tsbuildinfo +1 -1
- package/dist/utils/RelationGraph.js +123 -0
- package/dist/utils/RelationGraph.js.map +1 -0
- package/package.json +64 -65
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildRelationGraphFromCreateTableQueries = buildRelationGraphFromCreateTableQueries;
|
|
4
|
+
exports.getOutgoingRelations = getOutgoingRelations;
|
|
5
|
+
exports.getIncomingRelations = getIncomingRelations;
|
|
6
|
+
exports.getQualifiedNameText = getQualifiedNameText;
|
|
7
|
+
const TableNameUtils_1 = require("./TableNameUtils");
|
|
8
|
+
/**
|
|
9
|
+
* Build a direction-aware relation graph from parsed CREATE TABLE statements.
|
|
10
|
+
*/
|
|
11
|
+
function buildRelationGraphFromCreateTableQueries(queries) {
|
|
12
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
13
|
+
const relations = [];
|
|
14
|
+
const byChildTable = new Map();
|
|
15
|
+
const byParentTable = new Map();
|
|
16
|
+
const tableNames = new Set();
|
|
17
|
+
const seen = new Set();
|
|
18
|
+
for (const query of queries) {
|
|
19
|
+
const childTable = normalizeRelationTableName(buildQualifiedName(query.namespaces, query.tableName.name));
|
|
20
|
+
tableNames.add(childTable);
|
|
21
|
+
for (const column of query.columns) {
|
|
22
|
+
for (const constraint of column.constraints) {
|
|
23
|
+
if (constraint.kind !== 'references' || !constraint.reference) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
const edge = createEdge({
|
|
27
|
+
childTable,
|
|
28
|
+
parentTable: normalizeRelationTableName(constraint.reference.targetTable.toString()),
|
|
29
|
+
childColumns: [column.name.name],
|
|
30
|
+
parentColumns: (_b = (_a = constraint.reference.columns) === null || _a === void 0 ? void 0 : _a.map((item) => item.name)) !== null && _b !== void 0 ? _b : [],
|
|
31
|
+
constraintKind: 'column-reference',
|
|
32
|
+
constraintName: (_d = (_c = constraint.constraintName) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : null,
|
|
33
|
+
evidenceKind: 'column-reference',
|
|
34
|
+
confidence: 'confirmed'
|
|
35
|
+
});
|
|
36
|
+
addEdge(relations, byChildTable, byParentTable, seen, tableNames, edge);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
for (const constraint of query.tableConstraints) {
|
|
40
|
+
if (constraint.kind !== 'foreign-key' || !constraint.reference) {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
const edge = createEdge({
|
|
44
|
+
childTable,
|
|
45
|
+
parentTable: normalizeRelationTableName(constraint.reference.targetTable.toString()),
|
|
46
|
+
childColumns: (_f = (_e = constraint.columns) === null || _e === void 0 ? void 0 : _e.map((item) => item.name)) !== null && _f !== void 0 ? _f : [],
|
|
47
|
+
parentColumns: (_h = (_g = constraint.reference.columns) === null || _g === void 0 ? void 0 : _g.map((item) => item.name)) !== null && _h !== void 0 ? _h : [],
|
|
48
|
+
constraintKind: 'table-foreign-key',
|
|
49
|
+
constraintName: (_k = (_j = constraint.constraintName) === null || _j === void 0 ? void 0 : _j.name) !== null && _k !== void 0 ? _k : null,
|
|
50
|
+
evidenceKind: 'table-foreign-key',
|
|
51
|
+
confidence: 'confirmed'
|
|
52
|
+
});
|
|
53
|
+
addEdge(relations, byChildTable, byParentTable, seen, tableNames, edge);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
relations,
|
|
58
|
+
byChildTable,
|
|
59
|
+
byParentTable,
|
|
60
|
+
tableNames
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Return the known parent relations for a child table.
|
|
65
|
+
*/
|
|
66
|
+
function getOutgoingRelations(graph, childTable) {
|
|
67
|
+
var _a;
|
|
68
|
+
return [...((_a = graph.byChildTable.get(normalizeRelationTableName(childTable))) !== null && _a !== void 0 ? _a : [])];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Return the known child relations for a parent table.
|
|
72
|
+
*/
|
|
73
|
+
function getIncomingRelations(graph, parentTable) {
|
|
74
|
+
var _a;
|
|
75
|
+
return [...((_a = graph.byParentTable.get(normalizeRelationTableName(parentTable))) !== null && _a !== void 0 ? _a : [])];
|
|
76
|
+
}
|
|
77
|
+
function addEdge(relations, byChildTable, byParentTable, seen, tableNames, edge) {
|
|
78
|
+
tableNames.add(edge.childTable);
|
|
79
|
+
tableNames.add(edge.parentTable);
|
|
80
|
+
const signature = [
|
|
81
|
+
edge.childTable,
|
|
82
|
+
edge.parentTable,
|
|
83
|
+
edge.childColumns.join(','),
|
|
84
|
+
edge.parentColumns.join(','),
|
|
85
|
+
edge.constraintKind
|
|
86
|
+
].join('|');
|
|
87
|
+
if (seen.has(signature)) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
seen.add(signature);
|
|
91
|
+
relations.push(edge);
|
|
92
|
+
pushIndexedEdge(byChildTable, edge.childTable, edge);
|
|
93
|
+
pushIndexedEdge(byParentTable, edge.parentTable, edge);
|
|
94
|
+
}
|
|
95
|
+
function pushIndexedEdge(index, key, edge) {
|
|
96
|
+
var _a;
|
|
97
|
+
const bucket = (_a = index.get(key)) !== null && _a !== void 0 ? _a : [];
|
|
98
|
+
bucket.push(edge);
|
|
99
|
+
index.set(key, bucket);
|
|
100
|
+
}
|
|
101
|
+
function createEdge(params) {
|
|
102
|
+
return {
|
|
103
|
+
childTable: params.childTable,
|
|
104
|
+
parentTable: params.parentTable,
|
|
105
|
+
childColumns: [...params.childColumns],
|
|
106
|
+
parentColumns: [...params.parentColumns],
|
|
107
|
+
constraintKind: params.constraintKind,
|
|
108
|
+
constraintName: params.constraintName,
|
|
109
|
+
evidenceKind: params.evidenceKind,
|
|
110
|
+
confidence: params.confidence,
|
|
111
|
+
isSelfReference: params.childTable === params.parentTable
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
function buildQualifiedName(namespaces, name) {
|
|
115
|
+
return [...(namespaces !== null && namespaces !== void 0 ? namespaces : []), name].join('.');
|
|
116
|
+
}
|
|
117
|
+
function normalizeRelationTableName(tableName) {
|
|
118
|
+
return (0, TableNameUtils_1.normalizeTableName)(tableName);
|
|
119
|
+
}
|
|
120
|
+
function getQualifiedNameText(value) {
|
|
121
|
+
return normalizeRelationTableName(value.toString());
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=RelationGraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelationGraph.js","sourceRoot":"","sources":["../../src/utils/RelationGraph.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,66 +1,65 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
"
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
2
|
+
"name": "rawsql-ts",
|
|
3
|
+
"version": "0.18.0",
|
|
4
|
+
"description": "High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/esm/index.js",
|
|
7
|
+
"types": "dist/src/index.d.ts",
|
|
8
|
+
"browser": "dist/esm/index.min.js",
|
|
9
|
+
"homepage": "https://github.com/mk3008/rawsql-ts/tree/main/packages/core",
|
|
10
|
+
"keywords": [
|
|
11
|
+
"sql",
|
|
12
|
+
"sql-parser",
|
|
13
|
+
"sql-transformer",
|
|
14
|
+
"ast",
|
|
15
|
+
"sql-ast",
|
|
16
|
+
"sql-formatter"
|
|
17
|
+
],
|
|
18
|
+
"author": "msugiura",
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "https://github.com/mk3008/rawsql-ts.git",
|
|
23
|
+
"directory": "packages/core"
|
|
24
|
+
},
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@types/benchmark": "^2.1.5",
|
|
30
|
+
"@types/node": "^22.13.10",
|
|
31
|
+
"@typescript-eslint/eslint-plugin": "^8.26.1",
|
|
32
|
+
"@typescript-eslint/parser": "^8.26.1",
|
|
33
|
+
"@vitest/coverage-v8": "^4.0.15",
|
|
34
|
+
"benchmark": "^2.1.4",
|
|
35
|
+
"esbuild": "^0.25.5",
|
|
36
|
+
"eslint": "^9.22.0",
|
|
37
|
+
"eslint-config-prettier": "^10.1.1",
|
|
38
|
+
"eslint-plugin-filenames": "^1.3.2",
|
|
39
|
+
"eslint-plugin-prettier": "^5.2.3",
|
|
40
|
+
"microtime": "^3.1.1",
|
|
41
|
+
"node-sql-parser": "^5.4.0",
|
|
42
|
+
"sql-formatter": "^15.5.2",
|
|
43
|
+
"sql-parser-cst": "^0.33.1",
|
|
44
|
+
"ts-node": "^10.9.2",
|
|
45
|
+
"typescript": "^5.8.2",
|
|
46
|
+
"vitest": "^4.0.15"
|
|
47
|
+
},
|
|
48
|
+
"files": [
|
|
49
|
+
"dist"
|
|
50
|
+
],
|
|
51
|
+
"scripts": {
|
|
52
|
+
"test": "vitest run",
|
|
53
|
+
"test:watch": "vitest",
|
|
54
|
+
"coverage": "vitest run --coverage",
|
|
55
|
+
"build": "tsc --build --force",
|
|
56
|
+
"build:browser": "tsc --project tsconfig.browser.json",
|
|
57
|
+
"build:minify": "esbuild src/index.ts --bundle --minify-syntax --minify-whitespace --outfile=dist/index.min.js --format=cjs --sourcemap && esbuild src/index.ts --bundle --minify-syntax --minify-whitespace --outfile=dist/esm/index.min.js --format=esm --sourcemap",
|
|
58
|
+
"build:all": "npm run clean && npm run build && npm run build:browser && npm run build:minify",
|
|
59
|
+
"release": "npm run build:all && node -e \"require('fs').mkdirSync('../../tmp', { recursive: true })\" && pnpm pack --out ../../tmp/rawsql-ts-core.tgz && pnpm publish",
|
|
60
|
+
"clean": "tsc --build --clean && node -e \"const fs = require('fs'); if (fs.existsSync('dist')) fs.rmSync('dist', {recursive: true, force: true});\"",
|
|
61
|
+
"lint": "eslint . --ext .ts,.tsx --fix",
|
|
62
|
+
"postbuild": "node ../../scripts/sync-rawsql-dist.js",
|
|
63
|
+
"benchmark": "ts-node ../../benchmarks/parse-benchmark.ts"
|
|
64
|
+
}
|
|
65
|
+
}
|