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 +1 @@
|
|
1
|
-
{"version":3,"file":"select-columns.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/select-columns.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"select-columns.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/select-columns.ts"],"names":[],"mappings":"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"}
|
@@ -1,73 +1,73 @@
|
|
1
|
-
import { MySqlType, InferType } from "../mysql-mapping";
|
2
|
-
import { ParameterDef } from "../types";
|
3
|
-
export
|
4
|
-
schema: string;
|
5
|
-
table: string;
|
6
|
-
column: string;
|
7
|
-
column_type: MySqlType;
|
8
|
-
columnKey: 'PRI' | 'MUL' | 'UNI' | '';
|
9
|
-
notNull: boolean;
|
10
|
-
};
|
11
|
-
export
|
12
|
-
autoincrement: boolean;
|
13
|
-
};
|
14
|
-
export
|
15
|
-
table: string;
|
16
|
-
column: string;
|
17
|
-
columnName: string;
|
18
|
-
columnType: InferType;
|
19
|
-
columnKey: 'PRI' | 'MUL' | 'UNI' | '';
|
20
|
-
tableAlias?: string;
|
21
|
-
notNull: boolean;
|
22
|
-
};
|
23
|
-
export
|
24
|
-
name: string;
|
25
|
-
prefix: string;
|
26
|
-
};
|
27
|
-
export
|
28
|
-
columnName: string;
|
29
|
-
type: MySqlType;
|
30
|
-
notNull: boolean;
|
31
|
-
};
|
32
|
-
export
|
33
|
-
name: string;
|
34
|
-
notNull: boolean;
|
35
|
-
};
|
36
|
-
export
|
37
|
-
type: MySqlType;
|
38
|
-
notNull: boolean;
|
39
|
-
};
|
40
|
-
export
|
41
|
-
columns: InferType[];
|
42
|
-
parameters: InferType[];
|
43
|
-
};
|
44
|
-
export
|
45
|
-
name: string;
|
46
|
-
type: InferType;
|
47
|
-
notNull: boolean;
|
48
|
-
};
|
49
|
-
export
|
50
|
-
columns: TypeAndNullInfer[];
|
51
|
-
parameters: TypeAndNullInfer[];
|
52
|
-
};
|
53
|
-
export
|
54
|
-
kind: 'Select';
|
55
|
-
columns: ColumnInfo[];
|
56
|
-
parameters: ParameterInfo[];
|
57
|
-
multipleRowsResult: boolean;
|
58
|
-
orderByColumns?: string[];
|
59
|
-
};
|
60
|
-
export
|
61
|
-
kind: 'Insert';
|
62
|
-
parameters: ParameterDef[];
|
63
|
-
};
|
64
|
-
export
|
65
|
-
kind: 'Update';
|
66
|
-
data: ParameterDef[];
|
67
|
-
parameters: ParameterDef[];
|
68
|
-
};
|
69
|
-
export
|
70
|
-
kind: 'Delete';
|
71
|
-
parameters: ParameterDef[];
|
72
|
-
};
|
1
|
+
import { MySqlType, InferType } from "../mysql-mapping";
|
2
|
+
import { ParameterDef } from "../types";
|
3
|
+
export type ColumnSchema = {
|
4
|
+
schema: string;
|
5
|
+
table: string;
|
6
|
+
column: string;
|
7
|
+
column_type: MySqlType;
|
8
|
+
columnKey: 'PRI' | 'MUL' | 'UNI' | '';
|
9
|
+
notNull: boolean;
|
10
|
+
};
|
11
|
+
export type ColumnSchema2 = ColumnSchema & {
|
12
|
+
autoincrement: boolean;
|
13
|
+
};
|
14
|
+
export type ColumnDef = {
|
15
|
+
table: string;
|
16
|
+
column: string;
|
17
|
+
columnName: string;
|
18
|
+
columnType: InferType;
|
19
|
+
columnKey: 'PRI' | 'MUL' | 'UNI' | '';
|
20
|
+
tableAlias?: string;
|
21
|
+
notNull: boolean;
|
22
|
+
};
|
23
|
+
export type FieldName = {
|
24
|
+
name: string;
|
25
|
+
prefix: string;
|
26
|
+
};
|
27
|
+
export type ColumnInfo = {
|
28
|
+
columnName: string;
|
29
|
+
type: MySqlType;
|
30
|
+
notNull: boolean;
|
31
|
+
};
|
32
|
+
export type FieldInfo = {
|
33
|
+
name: string;
|
34
|
+
notNull: boolean;
|
35
|
+
};
|
36
|
+
export type ParameterInfo = {
|
37
|
+
type: MySqlType;
|
38
|
+
notNull: boolean;
|
39
|
+
};
|
40
|
+
export type TypeInferenceResult = {
|
41
|
+
columns: InferType[];
|
42
|
+
parameters: InferType[];
|
43
|
+
};
|
44
|
+
export type TypeAndNullInfer = {
|
45
|
+
name: string;
|
46
|
+
type: InferType;
|
47
|
+
notNull: boolean;
|
48
|
+
};
|
49
|
+
export type TypeAndNullInferResult = {
|
50
|
+
columns: TypeAndNullInfer[];
|
51
|
+
parameters: TypeAndNullInfer[];
|
52
|
+
};
|
53
|
+
export type QueryInfoResult = {
|
54
|
+
kind: 'Select';
|
55
|
+
columns: ColumnInfo[];
|
56
|
+
parameters: ParameterInfo[];
|
57
|
+
multipleRowsResult: boolean;
|
58
|
+
orderByColumns?: string[];
|
59
|
+
};
|
60
|
+
export type InsertInfoResult = {
|
61
|
+
kind: 'Insert';
|
62
|
+
parameters: ParameterDef[];
|
63
|
+
};
|
64
|
+
export type UpdateInfoResult = {
|
65
|
+
kind: 'Update';
|
66
|
+
data: ParameterDef[];
|
67
|
+
parameters: ParameterDef[];
|
68
|
+
};
|
69
|
+
export type DeleteInfoResult = {
|
70
|
+
kind: 'Delete';
|
71
|
+
parameters: ParameterDef[];
|
72
|
+
};
|
73
73
|
//# sourceMappingURL=types.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,YAAY,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG;IACvC,aAAa,EAAE,OAAO,CAAC;CAC1B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,EAAE,SAAS,EAAE,CAAC;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAClC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,EAAE,YAAY,EAAE,CAAC;CAC9B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,UAAU,EAAE,YAAY,EAAE,CAAC;CAC9B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,YAAY,EAAE,CAAC;CAC9B,CAAA"}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
//# sourceMappingURL=types.js.map
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { SubstitutionHash } from "./parse";
|
2
|
-
import { Constraint, Type } from "./collect-constraints";
|
3
|
-
export declare function unify(constraints: Constraint[], substitutions: SubstitutionHash): void;
|
4
|
-
export declare function substitute(type: Type, substitutions: SubstitutionHash): Type;
|
1
|
+
import { SubstitutionHash } from "./parse";
|
2
|
+
import { Constraint, Type } from "./collect-constraints";
|
3
|
+
export declare function unify(constraints: Constraint[], substitutions: SubstitutionHash): void;
|
4
|
+
export declare function substitute(type: Type, substitutions: SubstitutionHash): Type;
|
5
5
|
//# sourceMappingURL=unify.d.ts.map
|
@@ -1,158 +1,158 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.substitute = exports.unify = void 0;
|
4
|
-
function unify(constraints, substitutions) {
|
5
|
-
for (const constraint of constraints) {
|
6
|
-
unifyOne(constraint, substitutions);
|
7
|
-
}
|
8
|
-
}
|
9
|
-
exports.unify = unify;
|
10
|
-
function unifyOne(constraint, substitutions) {
|
11
|
-
const ty1 = substitute(constraint.type1, substitutions);
|
12
|
-
const ty2 = substitute(constraint.type2, substitutions);
|
13
|
-
if (ty1.kind == 'TypeOperator' && ty2.kind == 'TypeOperator') {
|
14
|
-
ty1.types.forEach((t, i) => {
|
15
|
-
const newConstr = {
|
16
|
-
expression: 'list',
|
17
|
-
type1: ty1.types[i],
|
18
|
-
type2: ty2.types[i]
|
19
|
-
};
|
20
|
-
unifyOne(newConstr, substitutions);
|
21
|
-
});
|
22
|
-
}
|
23
|
-
else if (ty1.kind == 'TypeVar' && ty2.kind == 'TypeVar') {
|
24
|
-
if (ty1.id == ty2.id)
|
25
|
-
return;
|
26
|
-
if (ty1.type != '?') {
|
27
|
-
if (ty2.type != '?') {
|
28
|
-
const bestType = getBestPossibleType(ty1.type, ty2.type, constraint.mostGeneralType, constraint.coercionType);
|
29
|
-
ty1.type = bestType;
|
30
|
-
ty2.type = bestType;
|
31
|
-
setSubstitution(ty1, ty2, substitutions);
|
32
|
-
setSubstitution(ty2, ty1, substitutions);
|
33
|
-
}
|
34
|
-
else {
|
35
|
-
const numberTypes = ['number', 'tinyint', 'int', 'bigint', 'decimal', 'double'];
|
36
|
-
if (constraint.coercionType == 'Sum' && numberTypes.indexOf(ty1.type) >= 0) {
|
37
|
-
//In the expression ty1 + ?, ty2 = double
|
38
|
-
ty1.type = 'double';
|
39
|
-
ty2.type = 'double';
|
40
|
-
}
|
41
|
-
substitutions[ty2.id] = ty1;
|
42
|
-
}
|
43
|
-
}
|
44
|
-
else {
|
45
|
-
//THEN ? ELSE id; ? will be double; or ? will be int if commented
|
46
|
-
// const numberTypes = ['number', 'tinyint', 'int', 'bigint', 'decimal', 'double']
|
47
|
-
// if(!constraint.strict && numberTypes.indexOf(ty2.type) >= 0) {
|
48
|
-
// ty2.type = 'number';
|
49
|
-
// }
|
50
|
-
if (constraint.coercionType == 'SumFunction') {
|
51
|
-
const exactValueNumbers = ['int', 'bigint', 'decimal'];
|
52
|
-
if (exactValueNumbers.indexOf(ty2.type) >= 0) {
|
53
|
-
ty2.type = 'decimal';
|
54
|
-
}
|
55
|
-
else {
|
56
|
-
ty2.type = 'double';
|
57
|
-
}
|
58
|
-
}
|
59
|
-
substitutions[ty1.id] = ty2;
|
60
|
-
ty1.type = ty2.type;
|
61
|
-
ty2.list = ty1.list;
|
62
|
-
}
|
63
|
-
}
|
64
|
-
else if (ty1.kind == 'TypeVar' && ty2.kind == 'TypeOperator') {
|
65
|
-
ty2.types.forEach(t => {
|
66
|
-
const listType = t;
|
67
|
-
listType.list = true;
|
68
|
-
const newContraint = Object.assign(Object.assign({}, constraint), { type1: ty1, type2: listType });
|
69
|
-
unifyOne(newContraint, substitutions);
|
70
|
-
});
|
71
|
-
}
|
72
|
-
if (ty1.kind == 'TypeOperator' && ty2.kind == 'TypeVar') {
|
73
|
-
const newConstraint = Object.assign(Object.assign({}, constraint), { type1: ty2, type2: ty1 });
|
74
|
-
unifyOne(newConstraint, substitutions);
|
75
|
-
}
|
76
|
-
}
|
77
|
-
function setSubstitution(ty1, ty2, substitutions) {
|
78
|
-
const subs = substitutions[ty1.id];
|
79
|
-
substitutions[ty1.id] = ty2;
|
80
|
-
if (subs && subs.id != ty2.id) {
|
81
|
-
subs.type = ty2.type;
|
82
|
-
// if(ty2.list) subs.list = true;
|
83
|
-
setSubstitution(subs, ty2, substitutions);
|
84
|
-
}
|
85
|
-
}
|
86
|
-
function getBestPossibleType(type1, type2, max, coercionType) {
|
87
|
-
if (coercionType == 'Ceiling' && (type2 == 'decimal' || type1 == 'decimal')) { //ceiling(decimal) returns bigint
|
88
|
-
return 'bigint';
|
89
|
-
}
|
90
|
-
if (type1 == 'any') {
|
91
|
-
return coercionType == 'Coalesce' ? 'any' : type2;
|
92
|
-
}
|
93
|
-
if (type2 == 'any') {
|
94
|
-
return coercionType == 'Coalesce' ? 'any' : type1;
|
95
|
-
}
|
96
|
-
if (coercionType != 'Sum' && type1 === type2)
|
97
|
-
return type1;
|
98
|
-
if (coercionType == 'Sum' && max && type1 == 'number' && type2 == 'int' || type1 == 'int' && type2 == 'number')
|
99
|
-
return 'double';
|
100
|
-
// if( coercionType == 'Sum' && type1 == 'number' && type2 == 'bigint' || type1 == 'bigint' && type2 == 'number') return 'double';
|
101
|
-
if (coercionType == 'Sum' && max && type1 == 'int' && type2 == 'int')
|
102
|
-
return 'bigint';
|
103
|
-
if (coercionType == 'Sum' && max && ((type1 == 'int' && type2 == 'double') || type1 == 'double' && type2 == 'int'))
|
104
|
-
return 'double';
|
105
|
-
if (coercionType == 'Sum' && max && ((type1 == 'bigint' && type2 == 'double') || type1 == 'double' && type2 == 'bigint'))
|
106
|
-
return 'double';
|
107
|
-
//if( sum && (type1 == 'decimal' && type2 == 'number') || type1 == 'number' && type2 == 'decimal' ) return 'double';
|
108
|
-
if (coercionType == 'Sum' && max && type1 == 'date' && type2 == 'date')
|
109
|
-
return 'bigint';
|
110
|
-
const order = ['number', 'tinyint', 'smallint', 'int', 'bigint', 'decimal', 'float', 'double'];
|
111
|
-
const indexType1 = order.indexOf(type1);
|
112
|
-
const indexType2 = order.indexOf(type2);
|
113
|
-
if (indexType1 != -1 && indexType2 != -1) {
|
114
|
-
const index = max ? Math.max(indexType1, indexType2) : Math.min(indexType1, indexType2);
|
115
|
-
return order[index];
|
116
|
-
}
|
117
|
-
const order2 = ['varchar'];
|
118
|
-
const indexStrType1 = order2.indexOf(type1);
|
119
|
-
const indexStrType2 = order2.indexOf(type2);
|
120
|
-
if (indexStrType1 != -1 && indexStrType2 != -1) {
|
121
|
-
const index = max ? Math.max(indexStrType1, indexStrType2) : Math.min(indexStrType1, indexStrType2);
|
122
|
-
return order2[index];
|
123
|
-
}
|
124
|
-
// Is possible to convert to date to datetime
|
125
|
-
const dateTypeOrder = ['date', 'datetime'];
|
126
|
-
const indexDateType1 = dateTypeOrder.indexOf(type1);
|
127
|
-
const indexDateType2 = dateTypeOrder.indexOf(type2);
|
128
|
-
if (indexDateType1 != -1 && indexDateType2 != -1) {
|
129
|
-
const index = max ? Math.max(indexDateType1, indexDateType2) : Math.min(indexDateType1, indexDateType2);
|
130
|
-
return dateTypeOrder[index];
|
131
|
-
}
|
132
|
-
// Is possitlbe to conver to time to dateTime
|
133
|
-
const dateTypeLiteralOrder = ['time', 'datetime'];
|
134
|
-
const indexDateLiteralType1 = dateTypeLiteralOrder.indexOf(type1);
|
135
|
-
const indexDateLiteralType2 = dateTypeLiteralOrder.indexOf(type2);
|
136
|
-
if (indexDateLiteralType1 != -1 && indexDateLiteralType2 != -1) {
|
137
|
-
const index = max ? Math.max(indexDateLiteralType1, indexDateLiteralType2) : Math.min(indexDateLiteralType1, indexDateLiteralType2);
|
138
|
-
return dateTypeLiteralOrder[index];
|
139
|
-
}
|
140
|
-
throw Error('Type mismatch: ' + type1 + ' and ' + type2);
|
141
|
-
}
|
142
|
-
function substitute(type, substitutions) {
|
143
|
-
if (type.kind == 'TypeVar' && type.type != '?') {
|
144
|
-
return type;
|
145
|
-
}
|
146
|
-
if (type.kind == 'TypeVar' && type.type == '?') {
|
147
|
-
const subs = substitutions[type.id];
|
148
|
-
if (subs) {
|
149
|
-
if (type.list && subs.kind == 'TypeVar')
|
150
|
-
subs.list;
|
151
|
-
return substitute(subs, substitutions);
|
152
|
-
}
|
153
|
-
return type;
|
154
|
-
}
|
155
|
-
return type;
|
156
|
-
}
|
157
|
-
exports.substitute = substitute;
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.substitute = exports.unify = void 0;
|
4
|
+
function unify(constraints, substitutions) {
|
5
|
+
for (const constraint of constraints) {
|
6
|
+
unifyOne(constraint, substitutions);
|
7
|
+
}
|
8
|
+
}
|
9
|
+
exports.unify = unify;
|
10
|
+
function unifyOne(constraint, substitutions) {
|
11
|
+
const ty1 = substitute(constraint.type1, substitutions);
|
12
|
+
const ty2 = substitute(constraint.type2, substitutions);
|
13
|
+
if (ty1.kind == 'TypeOperator' && ty2.kind == 'TypeOperator') {
|
14
|
+
ty1.types.forEach((t, i) => {
|
15
|
+
const newConstr = {
|
16
|
+
expression: 'list',
|
17
|
+
type1: ty1.types[i],
|
18
|
+
type2: ty2.types[i]
|
19
|
+
};
|
20
|
+
unifyOne(newConstr, substitutions);
|
21
|
+
});
|
22
|
+
}
|
23
|
+
else if (ty1.kind == 'TypeVar' && ty2.kind == 'TypeVar') {
|
24
|
+
if (ty1.id == ty2.id)
|
25
|
+
return;
|
26
|
+
if (ty1.type != '?') {
|
27
|
+
if (ty2.type != '?') {
|
28
|
+
const bestType = getBestPossibleType(ty1.type, ty2.type, constraint.mostGeneralType, constraint.coercionType);
|
29
|
+
ty1.type = bestType;
|
30
|
+
ty2.type = bestType;
|
31
|
+
setSubstitution(ty1, ty2, substitutions);
|
32
|
+
setSubstitution(ty2, ty1, substitutions);
|
33
|
+
}
|
34
|
+
else {
|
35
|
+
const numberTypes = ['number', 'tinyint', 'int', 'bigint', 'decimal', 'double'];
|
36
|
+
if (constraint.coercionType == 'Sum' && numberTypes.indexOf(ty1.type) >= 0) {
|
37
|
+
//In the expression ty1 + ?, ty2 = double
|
38
|
+
ty1.type = 'double';
|
39
|
+
ty2.type = 'double';
|
40
|
+
}
|
41
|
+
substitutions[ty2.id] = ty1;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
//THEN ? ELSE id; ? will be double; or ? will be int if commented
|
46
|
+
// const numberTypes = ['number', 'tinyint', 'int', 'bigint', 'decimal', 'double']
|
47
|
+
// if(!constraint.strict && numberTypes.indexOf(ty2.type) >= 0) {
|
48
|
+
// ty2.type = 'number';
|
49
|
+
// }
|
50
|
+
if (constraint.coercionType == 'SumFunction') {
|
51
|
+
const exactValueNumbers = ['int', 'bigint', 'decimal'];
|
52
|
+
if (exactValueNumbers.indexOf(ty2.type) >= 0) {
|
53
|
+
ty2.type = 'decimal';
|
54
|
+
}
|
55
|
+
else {
|
56
|
+
ty2.type = 'double';
|
57
|
+
}
|
58
|
+
}
|
59
|
+
substitutions[ty1.id] = ty2;
|
60
|
+
ty1.type = ty2.type;
|
61
|
+
ty2.list = ty1.list;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
else if (ty1.kind == 'TypeVar' && ty2.kind == 'TypeOperator') {
|
65
|
+
ty2.types.forEach(t => {
|
66
|
+
const listType = t;
|
67
|
+
listType.list = true;
|
68
|
+
const newContraint = Object.assign(Object.assign({}, constraint), { type1: ty1, type2: listType });
|
69
|
+
unifyOne(newContraint, substitutions);
|
70
|
+
});
|
71
|
+
}
|
72
|
+
if (ty1.kind == 'TypeOperator' && ty2.kind == 'TypeVar') {
|
73
|
+
const newConstraint = Object.assign(Object.assign({}, constraint), { type1: ty2, type2: ty1 });
|
74
|
+
unifyOne(newConstraint, substitutions);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
function setSubstitution(ty1, ty2, substitutions) {
|
78
|
+
const subs = substitutions[ty1.id];
|
79
|
+
substitutions[ty1.id] = ty2;
|
80
|
+
if (subs && subs.id != ty2.id) {
|
81
|
+
subs.type = ty2.type;
|
82
|
+
// if(ty2.list) subs.list = true;
|
83
|
+
setSubstitution(subs, ty2, substitutions);
|
84
|
+
}
|
85
|
+
}
|
86
|
+
function getBestPossibleType(type1, type2, max, coercionType) {
|
87
|
+
if (coercionType == 'Ceiling' && (type2 == 'decimal' || type1 == 'decimal')) { //ceiling(decimal) returns bigint
|
88
|
+
return 'bigint';
|
89
|
+
}
|
90
|
+
if (type1 == 'any') {
|
91
|
+
return coercionType == 'Coalesce' ? 'any' : type2;
|
92
|
+
}
|
93
|
+
if (type2 == 'any') {
|
94
|
+
return coercionType == 'Coalesce' ? 'any' : type1;
|
95
|
+
}
|
96
|
+
if (coercionType != 'Sum' && type1 === type2)
|
97
|
+
return type1;
|
98
|
+
if (coercionType == 'Sum' && max && type1 == 'number' && type2 == 'int' || type1 == 'int' && type2 == 'number')
|
99
|
+
return 'double';
|
100
|
+
// if( coercionType == 'Sum' && type1 == 'number' && type2 == 'bigint' || type1 == 'bigint' && type2 == 'number') return 'double';
|
101
|
+
if (coercionType == 'Sum' && max && type1 == 'int' && type2 == 'int')
|
102
|
+
return 'bigint';
|
103
|
+
if (coercionType == 'Sum' && max && ((type1 == 'int' && type2 == 'double') || type1 == 'double' && type2 == 'int'))
|
104
|
+
return 'double';
|
105
|
+
if (coercionType == 'Sum' && max && ((type1 == 'bigint' && type2 == 'double') || type1 == 'double' && type2 == 'bigint'))
|
106
|
+
return 'double';
|
107
|
+
//if( sum && (type1 == 'decimal' && type2 == 'number') || type1 == 'number' && type2 == 'decimal' ) return 'double';
|
108
|
+
if (coercionType == 'Sum' && max && type1 == 'date' && type2 == 'date')
|
109
|
+
return 'bigint';
|
110
|
+
const order = ['number', 'tinyint', 'smallint', 'int', 'bigint', 'decimal', 'float', 'double'];
|
111
|
+
const indexType1 = order.indexOf(type1);
|
112
|
+
const indexType2 = order.indexOf(type2);
|
113
|
+
if (indexType1 != -1 && indexType2 != -1) {
|
114
|
+
const index = max ? Math.max(indexType1, indexType2) : Math.min(indexType1, indexType2);
|
115
|
+
return order[index];
|
116
|
+
}
|
117
|
+
const order2 = ['varchar'];
|
118
|
+
const indexStrType1 = order2.indexOf(type1);
|
119
|
+
const indexStrType2 = order2.indexOf(type2);
|
120
|
+
if (indexStrType1 != -1 && indexStrType2 != -1) {
|
121
|
+
const index = max ? Math.max(indexStrType1, indexStrType2) : Math.min(indexStrType1, indexStrType2);
|
122
|
+
return order2[index];
|
123
|
+
}
|
124
|
+
// Is possible to convert to date to datetime
|
125
|
+
const dateTypeOrder = ['date', 'datetime'];
|
126
|
+
const indexDateType1 = dateTypeOrder.indexOf(type1);
|
127
|
+
const indexDateType2 = dateTypeOrder.indexOf(type2);
|
128
|
+
if (indexDateType1 != -1 && indexDateType2 != -1) {
|
129
|
+
const index = max ? Math.max(indexDateType1, indexDateType2) : Math.min(indexDateType1, indexDateType2);
|
130
|
+
return dateTypeOrder[index];
|
131
|
+
}
|
132
|
+
// Is possitlbe to conver to time to dateTime
|
133
|
+
const dateTypeLiteralOrder = ['time', 'datetime'];
|
134
|
+
const indexDateLiteralType1 = dateTypeLiteralOrder.indexOf(type1);
|
135
|
+
const indexDateLiteralType2 = dateTypeLiteralOrder.indexOf(type2);
|
136
|
+
if (indexDateLiteralType1 != -1 && indexDateLiteralType2 != -1) {
|
137
|
+
const index = max ? Math.max(indexDateLiteralType1, indexDateLiteralType2) : Math.min(indexDateLiteralType1, indexDateLiteralType2);
|
138
|
+
return dateTypeLiteralOrder[index];
|
139
|
+
}
|
140
|
+
throw Error('Type mismatch: ' + type1 + ' and ' + type2);
|
141
|
+
}
|
142
|
+
function substitute(type, substitutions) {
|
143
|
+
if (type.kind == 'TypeVar' && type.type != '?') {
|
144
|
+
return type;
|
145
|
+
}
|
146
|
+
if (type.kind == 'TypeVar' && type.type == '?') {
|
147
|
+
const subs = substitutions[type.id];
|
148
|
+
if (subs) {
|
149
|
+
if (type.list && subs.kind == 'TypeVar')
|
150
|
+
subs.list;
|
151
|
+
return substitute(subs, substitutions);
|
152
|
+
}
|
153
|
+
return type;
|
154
|
+
}
|
155
|
+
return type;
|
156
|
+
}
|
157
|
+
exports.substitute = substitute;
|
158
158
|
//# sourceMappingURL=unify.js.map
|
@@ -1,7 +1,7 @@
|
|
1
|
-
export
|
2
|
-
paramName: string;
|
3
|
-
indexes: number[];
|
4
|
-
};
|
5
|
-
export declare function getParameterIndexes(namedParameters: string[]): ParamIndexes[];
|
6
|
-
export declare function getPairWise(indexes: number[], func: (cur: number, next: number) => void): void;
|
1
|
+
export type ParamIndexes = {
|
2
|
+
paramName: string;
|
3
|
+
indexes: number[];
|
4
|
+
};
|
5
|
+
export declare function getParameterIndexes(namedParameters: string[]): ParamIndexes[];
|
6
|
+
export declare function getPairWise(indexes: number[], func: (cur: number, next: number) => void): void;
|
7
7
|
//# sourceMappingURL=util.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/util.ts"],"names":[],"mappings":"AAAA,
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/util.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAqB7E;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,QAIvF"}
|
@@ -1,31 +1,31 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getPairWise = exports.getParameterIndexes = void 0;
|
4
|
-
function getParameterIndexes(namedParameters) {
|
5
|
-
const hashMap = new Map();
|
6
|
-
namedParameters.forEach((param, index) => {
|
7
|
-
if (hashMap.has(param)) {
|
8
|
-
hashMap.get(param).push(index);
|
9
|
-
}
|
10
|
-
else {
|
11
|
-
hashMap.set(param, [index]);
|
12
|
-
}
|
13
|
-
});
|
14
|
-
const paramIndex = Array.from(hashMap.keys())
|
15
|
-
.map(paramName => {
|
16
|
-
const paramIndexes = {
|
17
|
-
paramName,
|
18
|
-
indexes: hashMap.get(paramName)
|
19
|
-
};
|
20
|
-
return paramIndexes;
|
21
|
-
});
|
22
|
-
return paramIndex;
|
23
|
-
}
|
24
|
-
exports.getParameterIndexes = getParameterIndexes;
|
25
|
-
function getPairWise(indexes, func) {
|
26
|
-
for (var i = 0; i < indexes.length - 1; i++) {
|
27
|
-
func(indexes[i], indexes[i + 1]);
|
28
|
-
}
|
29
|
-
}
|
30
|
-
exports.getPairWise = getPairWise;
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getPairWise = exports.getParameterIndexes = void 0;
|
4
|
+
function getParameterIndexes(namedParameters) {
|
5
|
+
const hashMap = new Map();
|
6
|
+
namedParameters.forEach((param, index) => {
|
7
|
+
if (hashMap.has(param)) {
|
8
|
+
hashMap.get(param).push(index);
|
9
|
+
}
|
10
|
+
else {
|
11
|
+
hashMap.set(param, [index]);
|
12
|
+
}
|
13
|
+
});
|
14
|
+
const paramIndex = Array.from(hashMap.keys())
|
15
|
+
.map(paramName => {
|
16
|
+
const paramIndexes = {
|
17
|
+
paramName,
|
18
|
+
indexes: hashMap.get(paramName)
|
19
|
+
};
|
20
|
+
return paramIndexes;
|
21
|
+
});
|
22
|
+
return paramIndex;
|
23
|
+
}
|
24
|
+
exports.getParameterIndexes = getParameterIndexes;
|
25
|
+
function getPairWise(indexes, func) {
|
26
|
+
for (var i = 0; i < indexes.length - 1; i++) {
|
27
|
+
func(indexes[i], indexes[i + 1]);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
exports.getPairWise = getPairWise;
|
31
31
|
//# sourceMappingURL=util.js.map
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ExprContext } from "ts-mysql-parser";
|
2
|
-
import { ColumnDef } from "./types";
|
3
|
-
export declare function verifyMultipleResult(exprContext: ExprContext, fromColumns: ColumnDef[]): boolean;
|
1
|
+
import { ExprContext } from "ts-mysql-parser";
|
2
|
+
import { ColumnDef } from "./types";
|
3
|
+
export declare function verifyMultipleResult(exprContext: ExprContext, fromColumns: ColumnDef[]): boolean;
|
4
4
|
//# sourceMappingURL=verify-multiple-result.d.ts.map
|