typesql-cli 0.4.8 → 0.4.9
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/cli.d.ts +2 -2
- package/cli.js +228 -224
- package/cli.js.map +1 -1
- package/code-generator.d.ts +19 -19
- package/code-generator.d.ts.map +1 -1
- package/code-generator.js +269 -265
- package/code-generator.js.map +1 -1
- package/describe-query.d.ts +9 -9
- package/describe-query.js +168 -168
- package/describe-query.js.map +1 -1
- package/mysql-mapping.d.ts +18 -18
- package/mysql-mapping.d.ts.map +1 -1
- package/mysql-mapping.js +146 -146
- package/mysql-mapping.js.map +1 -1
- package/mysql-query-analyzer/collect-constraints.d.ts +50 -50
- package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
- package/mysql-query-analyzer/collect-constraints.js +1196 -1195
- package/mysql-query-analyzer/collect-constraints.js.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.d.ts +5 -5
- package/mysql-query-analyzer/infer-column-nullability.js +307 -307
- package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.d.ts +6 -6
- package/mysql-query-analyzer/infer-param-nullability.js +78 -78
- package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
- package/mysql-query-analyzer/parse.d.ts +14 -14
- package/mysql-query-analyzer/parse.d.ts.map +1 -1
- package/mysql-query-analyzer/parse.js +219 -215
- package/mysql-query-analyzer/parse.js.map +1 -1
- package/mysql-query-analyzer/select-columns.d.ts +12 -12
- package/mysql-query-analyzer/select-columns.js +373 -373
- package/mysql-query-analyzer/select-columns.js.map +1 -1
- package/mysql-query-analyzer/types.d.ts +72 -72
- package/mysql-query-analyzer/types.d.ts.map +1 -1
- package/mysql-query-analyzer/types.js +2 -2
- package/mysql-query-analyzer/unify.d.ts +4 -4
- package/mysql-query-analyzer/unify.js +157 -157
- package/mysql-query-analyzer/util.d.ts +6 -6
- package/mysql-query-analyzer/util.d.ts.map +1 -1
- package/mysql-query-analyzer/util.js +30 -30
- package/mysql-query-analyzer/verify-multiple-result.d.ts +3 -3
- package/mysql-query-analyzer/verify-multiple-result.js +47 -47
- package/mysql-query-analyzer/verify-multiple-result.js.map +1 -1
- package/package.json +4 -5
- package/queryExectutor.d.ts +15 -13
- package/queryExectutor.d.ts.map +1 -1
- package/queryExectutor.js +107 -104
- package/queryExectutor.js.map +1 -1
- package/sql-generator.d.ts +5 -5
- package/sql-generator.js +88 -88
- package/types.d.ts +89 -89
- package/types.d.ts.map +1 -1
- package/types.js +2 -2
- package/utility-types.d.ts +4 -4
- package/utility-types.d.ts.map +1 -1
- package/utility-types.js +2 -2
- package/sqls/index.d.ts +0 -2
- package/sqls/index.d.ts.map +0 -1
- package/sqls/index.js +0 -14
- package/sqls/index.js.map +0 -1
- package/sqls/select-projects.d.ts +0 -6
- package/sqls/select-projects.d.ts.map +0 -1
- package/sqls/select-projects.js +0 -23
- package/sqls/select-projects.js.map +0 -1
@@ -1,216 +1,220 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
Object.
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
return
|
20
|
-
};
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
const
|
28
|
-
const
|
29
|
-
const
|
30
|
-
const
|
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
|
-
const
|
67
|
-
const
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
};
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
function
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
}
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
return
|
130
|
-
}
|
131
|
-
function
|
132
|
-
var _a, _b
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
const
|
143
|
-
|
144
|
-
|
145
|
-
const
|
146
|
-
const
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
}
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
const
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
}
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
+
exports.getQuerySpecificationsFromSelectStatement = exports.analiseQuery = exports.extractQueryInfo = exports.extractQueryInfoFromQuerySpecification = exports.parseAndInferParamNullability = exports.parseAndInfer = exports.infer = exports.parse = void 0;
|
27
|
+
const ts_mysql_parser_1 = __importStar(require("ts-mysql-parser"));
|
28
|
+
const collect_constraints_1 = require("./collect-constraints");
|
29
|
+
const select_columns_1 = require("./select-columns");
|
30
|
+
const infer_param_nullability_1 = require("./infer-param-nullability");
|
31
|
+
const infer_column_nullability_1 = require("./infer-column-nullability");
|
32
|
+
const describe_query_1 = require("../describe-query");
|
33
|
+
const verify_multiple_result_1 = require("./verify-multiple-result");
|
34
|
+
const parser = new ts_mysql_parser_1.default({
|
35
|
+
version: '8.0.17',
|
36
|
+
mode: ts_mysql_parser_1.SqlMode.NoMode
|
37
|
+
});
|
38
|
+
function parse(sql) {
|
39
|
+
const parseResult = parser.parse(sql);
|
40
|
+
if (parseResult.parserError) {
|
41
|
+
throw new Error('Parser error' + parseResult.parserError);
|
42
|
+
}
|
43
|
+
return parseResult.tree;
|
44
|
+
}
|
45
|
+
exports.parse = parse;
|
46
|
+
function infer(queryContext, dbSchema, namedParameters) {
|
47
|
+
const typeInferenceResult = (0, collect_constraints_1.analiseTree)(queryContext, dbSchema, namedParameters);
|
48
|
+
// const newTypeInference : TypeInferenceResult = {
|
49
|
+
// columns: typeInferenceResult.columns.map( col => verifyNotInferred(col)),
|
50
|
+
// parameters: typeInferenceResult.parameters.map(paramType => verifyNotInferred(paramType))
|
51
|
+
// }
|
52
|
+
return typeInferenceResult;
|
53
|
+
}
|
54
|
+
exports.infer = infer;
|
55
|
+
function parseAndInfer(sql, dbSchema) {
|
56
|
+
const { sql: processedSql, namedParameters } = (0, describe_query_1.preprocessSql)(sql);
|
57
|
+
return infer(parse(processedSql), dbSchema, namedParameters);
|
58
|
+
}
|
59
|
+
exports.parseAndInfer = parseAndInfer;
|
60
|
+
function parseAndInferParamNullability(sql) {
|
61
|
+
const queryContext = parse(sql);
|
62
|
+
return (0, infer_param_nullability_1.inferParamNullabilityQuery)(queryContext);
|
63
|
+
}
|
64
|
+
exports.parseAndInferParamNullability = parseAndInferParamNullability;
|
65
|
+
function extractQueryInfoFromQuerySpecification(querySpec, dbSchema, namedParameters) {
|
66
|
+
const fromColumns = (0, select_columns_1.getColumnsFrom)(querySpec, dbSchema);
|
67
|
+
const inferResult = (0, collect_constraints_1.analiseQuerySpecification)(querySpec, dbSchema, namedParameters, fromColumns);
|
68
|
+
// console.log("inferResult=", inferResult);
|
69
|
+
const columnNullability = (0, infer_column_nullability_1.inferNotNull)(querySpec, dbSchema);
|
70
|
+
const selectedColumns = (0, select_columns_1.getColumnNames)(querySpec, fromColumns);
|
71
|
+
const columnResult = selectedColumns.map((col, index) => {
|
72
|
+
const columnType = inferResult.columns[index];
|
73
|
+
const columnNotNull = columnNullability[index];
|
74
|
+
const colInfo = {
|
75
|
+
name: col,
|
76
|
+
type: columnType,
|
77
|
+
notNull: columnNotNull
|
78
|
+
};
|
79
|
+
return colInfo;
|
80
|
+
});
|
81
|
+
const paramInference = (0, infer_param_nullability_1.inferParamNullability)(querySpec);
|
82
|
+
const parametersResult = inferResult.parameters.map((param, index) => {
|
83
|
+
const paramInfo = {
|
84
|
+
name: '?',
|
85
|
+
type: param,
|
86
|
+
notNull: paramInference[index]
|
87
|
+
};
|
88
|
+
return paramInfo;
|
89
|
+
});
|
90
|
+
const queryResult = {
|
91
|
+
columns: columnResult,
|
92
|
+
parameters: parametersResult
|
93
|
+
};
|
94
|
+
return queryResult;
|
95
|
+
}
|
96
|
+
exports.extractQueryInfoFromQuerySpecification = extractQueryInfoFromQuerySpecification;
|
97
|
+
function extractOrderByParameters(selectStatement) {
|
98
|
+
var _a, _b;
|
99
|
+
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.orderClause()) === null || _b === void 0 ? void 0 : _b.orderList().orderExpression().filter(orderExpr => orderExpr.text == '?').map(orderExpr => orderExpr.text)) || [];
|
100
|
+
}
|
101
|
+
function extractLimitParameters(selectStatement) {
|
102
|
+
return getLimitOptions(selectStatement)
|
103
|
+
.filter(limit => limit.PARAM_MARKER())
|
104
|
+
.map(() => {
|
105
|
+
const paramInfo = {
|
106
|
+
type: 'bigint',
|
107
|
+
notNull: true
|
108
|
+
};
|
109
|
+
return paramInfo;
|
110
|
+
}) || [];
|
111
|
+
}
|
112
|
+
function isMultipleRowResult(selectStatement, fromColumns) {
|
113
|
+
var _a;
|
114
|
+
const querySpecs = getQuerySpecificationsFromSelectStatement(selectStatement);
|
115
|
+
if (querySpecs.length == 1) { //UNION queries are multipleRowsResult = true
|
116
|
+
const whereClauseExpr = (_a = querySpecs[0].whereClause()) === null || _a === void 0 ? void 0 : _a.expr();
|
117
|
+
const isMultipleRowResult = whereClauseExpr && (0, verify_multiple_result_1.verifyMultipleResult)(whereClauseExpr, fromColumns);
|
118
|
+
if (isMultipleRowResult == false) {
|
119
|
+
return false;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
const limitOptions = getLimitOptions(selectStatement);
|
123
|
+
if (limitOptions.length == 1 && limitOptions[0].text == '1') {
|
124
|
+
return false;
|
125
|
+
}
|
126
|
+
if (limitOptions.length == 2 && limitOptions[1].text == '1') {
|
127
|
+
return false;
|
128
|
+
}
|
129
|
+
return true;
|
130
|
+
}
|
131
|
+
function getLimitOptions(selectStatement) {
|
132
|
+
var _a, _b;
|
133
|
+
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.limitClause()) === null || _b === void 0 ? void 0 : _b.limitOptions().limitOption()) || [];
|
134
|
+
}
|
135
|
+
function extractQueryInfo(sql, dbSchema) {
|
136
|
+
var _a, _b, _c, _d;
|
137
|
+
const { sql: processedSql, namedParameters } = (0, describe_query_1.preprocessSql)(sql);
|
138
|
+
const tree = parse(processedSql);
|
139
|
+
if (tree instanceof ts_mysql_parser_1.QueryContext) {
|
140
|
+
const selectStatement = (_a = tree.simpleStatement()) === null || _a === void 0 ? void 0 : _a.selectStatement();
|
141
|
+
if (selectStatement) {
|
142
|
+
const querySpec = getQuerySpecificationsFromSelectStatement(selectStatement);
|
143
|
+
const mainQueryResult = analiseQuery(querySpec, dbSchema, namedParameters);
|
144
|
+
const orderByParameters = extractOrderByParameters(selectStatement);
|
145
|
+
const limitParameters = extractLimitParameters(selectStatement);
|
146
|
+
const allParameters = mainQueryResult.parameters
|
147
|
+
.map(param => ({ type: (0, describe_query_1.verifyNotInferred)(param.type), notNull: param.notNull }))
|
148
|
+
.concat(limitParameters);
|
149
|
+
const fromColumns = (0, select_columns_1.getColumnsFrom)(querySpec[0], dbSchema);
|
150
|
+
const multipleRowsResult = isMultipleRowResult(selectStatement, fromColumns);
|
151
|
+
const resultWithoutOrderBy = {
|
152
|
+
kind: 'Select',
|
153
|
+
multipleRowsResult: multipleRowsResult,
|
154
|
+
columns: mainQueryResult.columns.map(col => ({ columnName: col.name, type: (0, describe_query_1.verifyNotInferred)(col.type), notNull: col.notNull })),
|
155
|
+
parameters: allParameters,
|
156
|
+
};
|
157
|
+
const orderByColumns = orderByParameters.length > 0 ? getOrderByColumns(fromColumns, mainQueryResult.columns) : undefined;
|
158
|
+
if (orderByColumns) {
|
159
|
+
resultWithoutOrderBy.orderByColumns = orderByColumns;
|
160
|
+
}
|
161
|
+
return resultWithoutOrderBy;
|
162
|
+
}
|
163
|
+
const insertStatement = (_b = tree.simpleStatement()) === null || _b === void 0 ? void 0 : _b.insertStatement();
|
164
|
+
if (insertStatement) {
|
165
|
+
const insertColumns = (0, collect_constraints_1.getInsertColumns)(insertStatement, dbSchema);
|
166
|
+
const typeInfer = (0, collect_constraints_1.analiseInsertStatement)(insertStatement, insertColumns);
|
167
|
+
return typeInfer;
|
168
|
+
}
|
169
|
+
const updateStatement = (_c = tree.simpleStatement()) === null || _c === void 0 ? void 0 : _c.updateStatement();
|
170
|
+
if (updateStatement) {
|
171
|
+
const typeInfer = (0, collect_constraints_1.analiseUpdateStatement)(updateStatement, dbSchema);
|
172
|
+
return typeInfer;
|
173
|
+
}
|
174
|
+
const deleteStatement = (_d = tree.simpleStatement()) === null || _d === void 0 ? void 0 : _d.deleteStatement();
|
175
|
+
if (deleteStatement) {
|
176
|
+
const typeInfer = (0, collect_constraints_1.analiseDeleteStatement)(deleteStatement, dbSchema);
|
177
|
+
return typeInfer;
|
178
|
+
}
|
179
|
+
}
|
180
|
+
throw Error('Not supported');
|
181
|
+
}
|
182
|
+
exports.extractQueryInfo = extractQueryInfo;
|
183
|
+
function getOrderByColumns(fromColumns, selectColumns) {
|
184
|
+
const fromColumnsNames = fromColumns.map(col => col.columnName); //TODO - loading twice
|
185
|
+
const selectColumnsNames = selectColumns.map(col => col.name);
|
186
|
+
const allOrderByColumns = Array.from(new Set(fromColumnsNames.concat(selectColumnsNames)));
|
187
|
+
return allOrderByColumns;
|
188
|
+
}
|
189
|
+
function analiseQuery(querySpec, dbSchema, namedParameters) {
|
190
|
+
const mainQueryResult = extractQueryInfoFromQuerySpecification(querySpec[0], dbSchema, namedParameters);
|
191
|
+
for (let queryIndex = 1; queryIndex < querySpec.length; queryIndex++) { //union (if have any)
|
192
|
+
const unionResult = extractQueryInfoFromQuerySpecification(querySpec[queryIndex], dbSchema, namedParameters);
|
193
|
+
mainQueryResult.columns.forEach((field, fieldIndex) => {
|
194
|
+
const unionField = unionResult.columns[fieldIndex];
|
195
|
+
field.notNull = field.notNull && unionField.notNull; //if all the fields at the fieldIndex is null
|
196
|
+
field.type = (0, collect_constraints_1.unionTypeResult)(field.type, unionField.type);
|
197
|
+
});
|
198
|
+
mainQueryResult.parameters.push(...unionResult.parameters);
|
199
|
+
}
|
200
|
+
return mainQueryResult;
|
201
|
+
}
|
202
|
+
exports.analiseQuery = analiseQuery;
|
203
|
+
function getQuerySpecificationsFromSelectStatement(selectStatement) {
|
204
|
+
const result = [];
|
205
|
+
collectQuerySpecifications(selectStatement, result);
|
206
|
+
return result;
|
207
|
+
}
|
208
|
+
exports.getQuerySpecificationsFromSelectStatement = getQuerySpecificationsFromSelectStatement;
|
209
|
+
function collectQuerySpecifications(tree, result) {
|
210
|
+
for (let i = 0; i < tree.childCount; i++) {
|
211
|
+
const child = tree.getChild(i);
|
212
|
+
if (child instanceof ts_mysql_parser_1.QuerySpecificationContext) {
|
213
|
+
result.push(child);
|
214
|
+
}
|
215
|
+
else {
|
216
|
+
collectQuerySpecifications(child, result);
|
217
|
+
}
|
218
|
+
}
|
219
|
+
}
|
216
220
|
//# sourceMappingURL=parse.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"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"}
|
@@ -1,13 +1,13 @@
|
|
1
|
-
import { RuleContext } from "antlr4ts";
|
2
|
-
import { ParseTree } from "antlr4ts/tree";
|
3
|
-
import { QuerySpecificationContext } from "ts-mysql-parser";
|
4
|
-
import { ColumnSchema, ColumnDef, FieldName } from "./types";
|
5
|
-
export declare function filterColumns(dbSchema: ColumnSchema[], tablePrefix: string | undefined, table: FieldName): ColumnDef[];
|
6
|
-
export declare function selectAllColumns(tablePrefix: string, fromColumns: ColumnDef[]): ColumnDef[];
|
7
|
-
export declare function getColumnNames(querySpec: QuerySpecificationContext, fromColumns: ColumnDef[]): string[];
|
8
|
-
export declare function getColumnsFrom(ctx: QuerySpecificationContext, dbSchema: ColumnSchema[]): ColumnDef[];
|
9
|
-
export declare function splitName(fieldName: string): FieldName;
|
10
|
-
export declare function findColumn(fieldName: FieldName, columns: ColumnDef[]): ColumnDef;
|
11
|
-
export declare function findColumn2(fieldName: FieldName, table: string, columns: ColumnSchema[]): ColumnSchema;
|
12
|
-
export declare function getSimpleExpressions(ctx: RuleContext): ParseTree[];
|
1
|
+
import { RuleContext } from "antlr4ts";
|
2
|
+
import { ParseTree } from "antlr4ts/tree";
|
3
|
+
import { QuerySpecificationContext } from "ts-mysql-parser";
|
4
|
+
import { ColumnSchema, ColumnDef, FieldName } from "./types";
|
5
|
+
export declare function filterColumns(dbSchema: ColumnSchema[], tablePrefix: string | undefined, table: FieldName): ColumnDef[];
|
6
|
+
export declare function selectAllColumns(tablePrefix: string, fromColumns: ColumnDef[]): ColumnDef[];
|
7
|
+
export declare function getColumnNames(querySpec: QuerySpecificationContext, fromColumns: ColumnDef[]): string[];
|
8
|
+
export declare function getColumnsFrom(ctx: QuerySpecificationContext, dbSchema: ColumnSchema[]): ColumnDef[];
|
9
|
+
export declare function splitName(fieldName: string): FieldName;
|
10
|
+
export declare function findColumn(fieldName: FieldName, columns: ColumnDef[]): ColumnDef;
|
11
|
+
export declare function findColumn2(fieldName: FieldName, table: string, columns: ColumnSchema[]): ColumnSchema;
|
12
|
+
export declare function getSimpleExpressions(ctx: RuleContext): ParseTree[];
|
13
13
|
//# sourceMappingURL=select-columns.d.ts.map
|