typesql-cli 0.4.7 → 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 -220
- 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/mysql-mapping.js
CHANGED
@@ -1,147 +1,147 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.typesMapping = exports.convertTypeCodeToMysqlType = exports.checkFlag = exports.converToTsType = exports.FlagEnum = void 0;
|
4
|
-
var FlagEnum;
|
5
|
-
(function (FlagEnum) {
|
6
|
-
FlagEnum[FlagEnum["NOT_NULL"] = 1] = "NOT_NULL";
|
7
|
-
FlagEnum[FlagEnum["PRI_KEY"] = 2] = "PRI_KEY";
|
8
|
-
FlagEnum[FlagEnum["BINARY_FLAG"] = 128] = "BINARY_FLAG";
|
9
|
-
FlagEnum[FlagEnum["ENUM_FLAG"] = 256] = "ENUM_FLAG";
|
10
|
-
FlagEnum[FlagEnum["SET_FLAG"] = 2048] = "SET_FLAG";
|
11
|
-
})(FlagEnum
|
12
|
-
function converToTsType(mySqlType) {
|
13
|
-
switch (mySqlType) {
|
14
|
-
case 'decimal':
|
15
|
-
case 'tinyint':
|
16
|
-
case 'smallint':
|
17
|
-
case 'int':
|
18
|
-
case 'float':
|
19
|
-
case 'double':
|
20
|
-
case 'bigint':
|
21
|
-
case 'mediumint':
|
22
|
-
case 'year':
|
23
|
-
return 'number';
|
24
|
-
case 'decimal[]':
|
25
|
-
case 'tinyint[]':
|
26
|
-
case 'smallint[]':
|
27
|
-
case 'int[]':
|
28
|
-
case 'float[]':
|
29
|
-
case 'double[]':
|
30
|
-
case 'bigint[]':
|
31
|
-
case 'mediumint[]':
|
32
|
-
case 'year[]':
|
33
|
-
return 'number[]';
|
34
|
-
case 'varchar':
|
35
|
-
case 'varbinary':
|
36
|
-
case 'geometry':
|
37
|
-
return 'string';
|
38
|
-
case 'varchar[]':
|
39
|
-
return 'string[]';
|
40
|
-
case 'timestamp':
|
41
|
-
case 'timestamp2':
|
42
|
-
case 'date':
|
43
|
-
case 'newdate':
|
44
|
-
case 'datetime':
|
45
|
-
case 'datetime2':
|
46
|
-
case 'time':
|
47
|
-
case 'time2':
|
48
|
-
return 'Date';
|
49
|
-
case 'bit':
|
50
|
-
return 'boolean';
|
51
|
-
case 'bit[]':
|
52
|
-
return 'boolean[]';
|
53
|
-
case 'json':
|
54
|
-
return 'Object';
|
55
|
-
case 'null':
|
56
|
-
return 'null';
|
57
|
-
case 'tinytext':
|
58
|
-
case 'mediumtext':
|
59
|
-
case 'longtext':
|
60
|
-
case 'text':
|
61
|
-
case 'binary':
|
62
|
-
case 'char':
|
63
|
-
return 'string';
|
64
|
-
case 'char[]':
|
65
|
-
return 'string[]';
|
66
|
-
case 'enum':
|
67
|
-
case 'set':
|
68
|
-
return 'any';
|
69
|
-
case 'tinyblob':
|
70
|
-
case 'mediumblob':
|
71
|
-
case 'longblob':
|
72
|
-
case 'blob':
|
73
|
-
return 'Buffer';
|
74
|
-
default:
|
75
|
-
const exaustive = mySqlType;
|
76
|
-
return exaustive;
|
77
|
-
}
|
78
|
-
}
|
79
|
-
exports.converToTsType = converToTsType;
|
80
|
-
function checkFlag(flags, flag) {
|
81
|
-
return (flags & flag) != 0;
|
82
|
-
}
|
83
|
-
exports.checkFlag = checkFlag;
|
84
|
-
function convertTypeCodeToMysqlType(typeCode, flags, columnLength) {
|
85
|
-
if (flags & FlagEnum.SET_FLAG) {
|
86
|
-
return 'set';
|
87
|
-
}
|
88
|
-
if (flags & FlagEnum.ENUM_FLAG) {
|
89
|
-
return 'enum';
|
90
|
-
}
|
91
|
-
const mappedType = exports.typesMapping[typeCode];
|
92
|
-
if (mappedType == 'varchar' && (flags & FlagEnum.BINARY_FLAG)) {
|
93
|
-
return 'varbinary';
|
94
|
-
}
|
95
|
-
//max column lenght = 255 but the mysql driver return columnLenght=262140 (octet lenght?)
|
96
|
-
if (mappedType == 'text' && columnLength == 255 * 4) {
|
97
|
-
return 'tinytext';
|
98
|
-
}
|
99
|
-
//max column lenght = 65535 but the mysql driver return columnLenght=65535 * 4 (octet lenght?)
|
100
|
-
if (mappedType == 'text' && columnLength == 65535 * 4) {
|
101
|
-
return 'text';
|
102
|
-
}
|
103
|
-
//max column lenght = 16777215 but the mysql driver return columnLenght=16777215 * 4 (octet lenght?)
|
104
|
-
if (mappedType == 'text' && columnLength == 16777215 * 4) {
|
105
|
-
return 'mediumtext';
|
106
|
-
}
|
107
|
-
//max column lenght = 4294967295
|
108
|
-
if (mappedType == 'text' && columnLength == 4294967295) {
|
109
|
-
return 'longtext';
|
110
|
-
}
|
111
|
-
return mappedType;
|
112
|
-
}
|
113
|
-
exports.convertTypeCodeToMysqlType = convertTypeCodeToMysqlType;
|
114
|
-
exports.typesMapping = {
|
115
|
-
0: 'decimal',
|
116
|
-
1: 'tinyint',
|
117
|
-
2: 'smallint',
|
118
|
-
3: 'int',
|
119
|
-
4: 'float',
|
120
|
-
5: 'double',
|
121
|
-
6: 'null',
|
122
|
-
7: 'timestamp',
|
123
|
-
8: 'bigint',
|
124
|
-
9: 'mediumint',
|
125
|
-
10: 'date',
|
126
|
-
11: 'time',
|
127
|
-
12: 'datetime',
|
128
|
-
13: 'year',
|
129
|
-
14: 'newdate',
|
130
|
-
15: 'varchar',
|
131
|
-
16: 'bit',
|
132
|
-
17: 'timestamp2',
|
133
|
-
18: 'datetime2',
|
134
|
-
19: 'time2',
|
135
|
-
245: 'json',
|
136
|
-
246: 'decimal',
|
137
|
-
247: 'enum',
|
138
|
-
248: 'set',
|
139
|
-
249: 'tinytext',
|
140
|
-
250: 'mediumtext',
|
141
|
-
251: 'longtext',
|
142
|
-
252: 'text',
|
143
|
-
253: 'varchar',
|
144
|
-
254: 'binary',
|
145
|
-
255: 'geometry'
|
146
|
-
};
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.typesMapping = exports.convertTypeCodeToMysqlType = exports.checkFlag = exports.converToTsType = exports.FlagEnum = void 0;
|
4
|
+
var FlagEnum;
|
5
|
+
(function (FlagEnum) {
|
6
|
+
FlagEnum[FlagEnum["NOT_NULL"] = 1] = "NOT_NULL";
|
7
|
+
FlagEnum[FlagEnum["PRI_KEY"] = 2] = "PRI_KEY";
|
8
|
+
FlagEnum[FlagEnum["BINARY_FLAG"] = 128] = "BINARY_FLAG";
|
9
|
+
FlagEnum[FlagEnum["ENUM_FLAG"] = 256] = "ENUM_FLAG";
|
10
|
+
FlagEnum[FlagEnum["SET_FLAG"] = 2048] = "SET_FLAG";
|
11
|
+
})(FlagEnum || (exports.FlagEnum = FlagEnum = {}));
|
12
|
+
function converToTsType(mySqlType) {
|
13
|
+
switch (mySqlType) {
|
14
|
+
case 'decimal':
|
15
|
+
case 'tinyint':
|
16
|
+
case 'smallint':
|
17
|
+
case 'int':
|
18
|
+
case 'float':
|
19
|
+
case 'double':
|
20
|
+
case 'bigint':
|
21
|
+
case 'mediumint':
|
22
|
+
case 'year':
|
23
|
+
return 'number';
|
24
|
+
case 'decimal[]':
|
25
|
+
case 'tinyint[]':
|
26
|
+
case 'smallint[]':
|
27
|
+
case 'int[]':
|
28
|
+
case 'float[]':
|
29
|
+
case 'double[]':
|
30
|
+
case 'bigint[]':
|
31
|
+
case 'mediumint[]':
|
32
|
+
case 'year[]':
|
33
|
+
return 'number[]';
|
34
|
+
case 'varchar':
|
35
|
+
case 'varbinary':
|
36
|
+
case 'geometry':
|
37
|
+
return 'string';
|
38
|
+
case 'varchar[]':
|
39
|
+
return 'string[]';
|
40
|
+
case 'timestamp':
|
41
|
+
case 'timestamp2':
|
42
|
+
case 'date':
|
43
|
+
case 'newdate':
|
44
|
+
case 'datetime':
|
45
|
+
case 'datetime2':
|
46
|
+
case 'time':
|
47
|
+
case 'time2':
|
48
|
+
return 'Date';
|
49
|
+
case 'bit':
|
50
|
+
return 'boolean';
|
51
|
+
case 'bit[]':
|
52
|
+
return 'boolean[]';
|
53
|
+
case 'json':
|
54
|
+
return 'Object';
|
55
|
+
case 'null':
|
56
|
+
return 'null';
|
57
|
+
case 'tinytext':
|
58
|
+
case 'mediumtext':
|
59
|
+
case 'longtext':
|
60
|
+
case 'text':
|
61
|
+
case 'binary':
|
62
|
+
case 'char':
|
63
|
+
return 'string';
|
64
|
+
case 'char[]':
|
65
|
+
return 'string[]';
|
66
|
+
case 'enum':
|
67
|
+
case 'set':
|
68
|
+
return 'any';
|
69
|
+
case 'tinyblob':
|
70
|
+
case 'mediumblob':
|
71
|
+
case 'longblob':
|
72
|
+
case 'blob':
|
73
|
+
return 'Buffer';
|
74
|
+
default:
|
75
|
+
const exaustive = mySqlType;
|
76
|
+
return exaustive;
|
77
|
+
}
|
78
|
+
}
|
79
|
+
exports.converToTsType = converToTsType;
|
80
|
+
function checkFlag(flags, flag) {
|
81
|
+
return (flags & flag) != 0;
|
82
|
+
}
|
83
|
+
exports.checkFlag = checkFlag;
|
84
|
+
function convertTypeCodeToMysqlType(typeCode, flags, columnLength) {
|
85
|
+
if (flags & FlagEnum.SET_FLAG) {
|
86
|
+
return 'set';
|
87
|
+
}
|
88
|
+
if (flags & FlagEnum.ENUM_FLAG) {
|
89
|
+
return 'enum';
|
90
|
+
}
|
91
|
+
const mappedType = exports.typesMapping[typeCode];
|
92
|
+
if (mappedType == 'varchar' && (flags & FlagEnum.BINARY_FLAG)) {
|
93
|
+
return 'varbinary';
|
94
|
+
}
|
95
|
+
//max column lenght = 255 but the mysql driver return columnLenght=262140 (octet lenght?)
|
96
|
+
if (mappedType == 'text' && columnLength == 255 * 4) {
|
97
|
+
return 'tinytext';
|
98
|
+
}
|
99
|
+
//max column lenght = 65535 but the mysql driver return columnLenght=65535 * 4 (octet lenght?)
|
100
|
+
if (mappedType == 'text' && columnLength == 65535 * 4) {
|
101
|
+
return 'text';
|
102
|
+
}
|
103
|
+
//max column lenght = 16777215 but the mysql driver return columnLenght=16777215 * 4 (octet lenght?)
|
104
|
+
if (mappedType == 'text' && columnLength == 16777215 * 4) {
|
105
|
+
return 'mediumtext';
|
106
|
+
}
|
107
|
+
//max column lenght = 4294967295
|
108
|
+
if (mappedType == 'text' && columnLength == 4294967295) {
|
109
|
+
return 'longtext';
|
110
|
+
}
|
111
|
+
return mappedType;
|
112
|
+
}
|
113
|
+
exports.convertTypeCodeToMysqlType = convertTypeCodeToMysqlType;
|
114
|
+
exports.typesMapping = {
|
115
|
+
0: 'decimal',
|
116
|
+
1: 'tinyint',
|
117
|
+
2: 'smallint',
|
118
|
+
3: 'int',
|
119
|
+
4: 'float',
|
120
|
+
5: 'double',
|
121
|
+
6: 'null',
|
122
|
+
7: 'timestamp',
|
123
|
+
8: 'bigint',
|
124
|
+
9: 'mediumint',
|
125
|
+
10: 'date',
|
126
|
+
11: 'time',
|
127
|
+
12: 'datetime',
|
128
|
+
13: 'year',
|
129
|
+
14: 'newdate',
|
130
|
+
15: 'varchar',
|
131
|
+
16: 'bit',
|
132
|
+
17: 'timestamp2',
|
133
|
+
18: 'datetime2',
|
134
|
+
19: 'time2',
|
135
|
+
245: 'json',
|
136
|
+
246: 'decimal',
|
137
|
+
247: 'enum',
|
138
|
+
248: 'set',
|
139
|
+
249: 'tinytext',
|
140
|
+
250: 'mediumtext',
|
141
|
+
251: 'longtext',
|
142
|
+
252: 'text',
|
143
|
+
253: 'varchar',
|
144
|
+
254: 'binary',
|
145
|
+
255: 'geometry'
|
146
|
+
};
|
147
147
|
//# sourceMappingURL=mysql-mapping.js.map
|
package/mysql-mapping.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mysql-mapping.js","sourceRoot":"","sources":["../../src/mysql-mapping.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,+CAAY,CAAA;IACZ,6CAAW,CAAA;IACX,uDAAiB,CAAA;IACjB,mDAAe,CAAA;IACf,kDAAe,CAAA;AACnB,CAAC,EANW,QAAQ,
|
1
|
+
{"version":3,"file":"mysql-mapping.js","sourceRoot":"","sources":["../../src/mysql-mapping.ts"],"names":[],"mappings":"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"}
|
@@ -1,51 +1,51 @@
|
|
1
|
-
import { RuleContext } from "antlr4ts";
|
2
|
-
import { QuerySpecificationContext, SelectStatementContext, SubqueryContext, InsertStatementContext, UpdateStatementContext, DeleteStatementContext } from "ts-mysql-parser";
|
3
|
-
import { ColumnSchema, ColumnDef, TypeInferenceResult, InsertInfoResult, UpdateInfoResult, DeleteInfoResult } from "./types";
|
4
|
-
import { InferType } from "../mysql-mapping";
|
5
|
-
export
|
6
|
-
kind: 'TypeVar';
|
7
|
-
id: number;
|
8
|
-
name: string;
|
9
|
-
type: InferType;
|
10
|
-
list?: true;
|
11
|
-
selectItem?: true;
|
12
|
-
};
|
13
|
-
export
|
14
|
-
|
15
|
-
kind: 'TypeOperator';
|
16
|
-
types: Type[];
|
17
|
-
selectItem?: true;
|
18
|
-
};
|
19
|
-
export
|
20
|
-
type1: Type;
|
21
|
-
type2: Type;
|
22
|
-
expression: string;
|
23
|
-
mostGeneralType?: true;
|
24
|
-
coercionType?: 'Sum' | 'Coalesce' | 'SumFunction' | 'Ceiling';
|
25
|
-
list?: true;
|
26
|
-
};
|
27
|
-
export
|
28
|
-
dbSchema: ColumnSchema[];
|
29
|
-
parameters: TypeVar[];
|
30
|
-
constraints: Constraint[];
|
31
|
-
fromColumns: ColumnDef[];
|
32
|
-
};
|
33
|
-
export declare function freshVar(name: string, typeVar: InferType, selectItem?: true, list?: true): TypeVar;
|
34
|
-
export
|
35
|
-
[key: string]: Type;
|
36
|
-
};
|
37
|
-
export declare function analiseTree(tree: RuleContext, dbSchema: ColumnSchema[], namedParameters: string[]): TypeInferenceResult;
|
38
|
-
export declare function analiseInsertStatement(insertStatement: InsertStatementContext, dbSchema: ColumnSchema[]): InsertInfoResult;
|
39
|
-
export declare function analiseDeleteStatement(deleteStatement: DeleteStatementContext, dbSchema: ColumnSchema[]): DeleteInfoResult;
|
40
|
-
export declare function analiseUpdateStatement(updateStatement: UpdateStatementContext, dbSchema: ColumnSchema[]): UpdateInfoResult;
|
41
|
-
export declare function getInsertColumns(insertStatement: InsertStatementContext, dbSchema: ColumnSchema[]): ColumnSchema[];
|
42
|
-
export declare function getUpdateColumns(updateStatement: UpdateStatementContext, dbSchema: ColumnSchema[]): ColumnDef[];
|
43
|
-
export declare function getDeleteColumns(deleteStatement: DeleteStatementContext, dbSchema: ColumnSchema[]): ColumnDef[];
|
44
|
-
export declare function analiseSelectStatement(selectStatement: SelectStatementContext | SubqueryContext, dbSchema: ColumnSchema[], namedParameters: string[]): TypeInferenceResult;
|
45
|
-
export declare function unionTypeResult(type1: InferType, type2: InferType): InferType;
|
46
|
-
export declare function analiseQuerySpecification(querySpec: QuerySpecificationContext, dbSchema: ColumnSchema[], namedParameters: string[], fromColumns: ColumnDef[]): TypeInferenceResult;
|
47
|
-
export declare function generateTypeInfo(namedNodes: TypeVar[], constraints: Constraint[]): InferType[];
|
48
|
-
export declare function walkQuerySpecification(context: InferenceContext, querySpec: QuerySpecificationContext): TypeOperator;
|
49
|
-
export declare function walkSubquery(context: InferenceContext, queryExpressionParens: SubqueryContext): Type;
|
50
|
-
export {};
|
1
|
+
import { RuleContext } from "antlr4ts";
|
2
|
+
import { QuerySpecificationContext, SelectStatementContext, SubqueryContext, InsertStatementContext, UpdateStatementContext, DeleteStatementContext } from "ts-mysql-parser";
|
3
|
+
import { ColumnSchema, ColumnDef, TypeInferenceResult, InsertInfoResult, UpdateInfoResult, DeleteInfoResult } from "./types";
|
4
|
+
import { InferType } from "../mysql-mapping";
|
5
|
+
export type TypeVar = {
|
6
|
+
kind: 'TypeVar';
|
7
|
+
id: number;
|
8
|
+
name: string;
|
9
|
+
type: InferType;
|
10
|
+
list?: true;
|
11
|
+
selectItem?: true;
|
12
|
+
};
|
13
|
+
export type Type = TypeVar | TypeOperator;
|
14
|
+
type TypeOperator = {
|
15
|
+
kind: 'TypeOperator';
|
16
|
+
types: Type[];
|
17
|
+
selectItem?: true;
|
18
|
+
};
|
19
|
+
export type Constraint = {
|
20
|
+
type1: Type;
|
21
|
+
type2: Type;
|
22
|
+
expression: string;
|
23
|
+
mostGeneralType?: true;
|
24
|
+
coercionType?: 'Sum' | 'Coalesce' | 'SumFunction' | 'Ceiling';
|
25
|
+
list?: true;
|
26
|
+
};
|
27
|
+
export type InferenceContext = {
|
28
|
+
dbSchema: ColumnSchema[];
|
29
|
+
parameters: TypeVar[];
|
30
|
+
constraints: Constraint[];
|
31
|
+
fromColumns: ColumnDef[];
|
32
|
+
};
|
33
|
+
export declare function freshVar(name: string, typeVar: InferType, selectItem?: true, list?: true): TypeVar;
|
34
|
+
export type NamedNodes = {
|
35
|
+
[key: string]: Type;
|
36
|
+
};
|
37
|
+
export declare function analiseTree(tree: RuleContext, dbSchema: ColumnSchema[], namedParameters: string[]): TypeInferenceResult;
|
38
|
+
export declare function analiseInsertStatement(insertStatement: InsertStatementContext, dbSchema: ColumnSchema[]): InsertInfoResult;
|
39
|
+
export declare function analiseDeleteStatement(deleteStatement: DeleteStatementContext, dbSchema: ColumnSchema[]): DeleteInfoResult;
|
40
|
+
export declare function analiseUpdateStatement(updateStatement: UpdateStatementContext, dbSchema: ColumnSchema[]): UpdateInfoResult;
|
41
|
+
export declare function getInsertColumns(insertStatement: InsertStatementContext, dbSchema: ColumnSchema[]): ColumnSchema[];
|
42
|
+
export declare function getUpdateColumns(updateStatement: UpdateStatementContext, dbSchema: ColumnSchema[]): ColumnDef[];
|
43
|
+
export declare function getDeleteColumns(deleteStatement: DeleteStatementContext, dbSchema: ColumnSchema[]): ColumnDef[];
|
44
|
+
export declare function analiseSelectStatement(selectStatement: SelectStatementContext | SubqueryContext, dbSchema: ColumnSchema[], namedParameters: string[]): TypeInferenceResult;
|
45
|
+
export declare function unionTypeResult(type1: InferType, type2: InferType): InferType;
|
46
|
+
export declare function analiseQuerySpecification(querySpec: QuerySpecificationContext, dbSchema: ColumnSchema[], namedParameters: string[], fromColumns: ColumnDef[]): TypeInferenceResult;
|
47
|
+
export declare function generateTypeInfo(namedNodes: TypeVar[], constraints: Constraint[]): InferType[];
|
48
|
+
export declare function walkQuerySpecification(context: InferenceContext, querySpec: QuerySpecificationContext): TypeOperator;
|
49
|
+
export declare function walkSubquery(context: InferenceContext, queryExpressionParens: SubqueryContext): Type;
|
50
|
+
export {};
|
51
51
|
//# sourceMappingURL=collect-constraints.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAGkE,yBAAyB,EAGrC,sBAAsB,EAC/E,eAAe,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAE1F,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAM7H,OAAO,EAAa,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQxD,
|
1
|
+
{"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"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"}
|