@stamhoofd/sql 2.119.0 → 2.120.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/dist/{src/ModelCache.d.ts → ModelCache.d.ts} +1 -1
- package/dist/ModelCache.d.ts.map +1 -0
- package/{src/ModelCache.ts → dist/ModelCache.js} +8 -16
- package/dist/ModelCache.js.map +1 -0
- package/dist/{src/QueryableModel.d.ts → QueryableModel.d.ts} +7 -6
- package/dist/QueryableModel.d.ts.map +1 -0
- package/dist/{src/QueryableModel.js → QueryableModel.js} +9 -13
- package/dist/QueryableModel.js.map +1 -0
- package/dist/{src/SQL.d.ts → SQL.d.ts} +7 -5
- package/dist/SQL.d.ts.map +1 -0
- package/dist/SQL.js +100 -0
- package/dist/SQL.js.map +1 -0
- package/dist/{src/SQLDelete.d.ts → SQLDelete.d.ts} +2 -2
- package/dist/SQLDelete.d.ts.map +1 -0
- package/dist/{src/SQLDelete.js → SQLDelete.js} +8 -12
- package/dist/SQLDelete.js.map +1 -0
- package/dist/SQLExpression.d.ts.map +1 -0
- package/dist/{src/SQLExpression.js → SQLExpression.js} +3 -8
- package/dist/SQLExpression.js.map +1 -0
- package/dist/{src/SQLExpressions.d.ts → SQLExpressions.d.ts} +2 -2
- package/dist/SQLExpressions.d.ts.map +1 -0
- package/dist/{src/SQLExpressions.js → SQLExpressions.js} +78 -115
- package/dist/SQLExpressions.js.map +1 -0
- package/dist/{src/SQLInsert.d.ts → SQLInsert.d.ts} +3 -2
- package/dist/SQLInsert.d.ts.map +1 -0
- package/dist/{src/SQLInsert.js → SQLInsert.js} +17 -21
- package/dist/SQLInsert.js.map +1 -0
- package/dist/{src/SQLJoin.d.ts → SQLJoin.d.ts} +1 -1
- package/dist/SQLJoin.d.ts.map +1 -0
- package/{src/SQLJoin.ts → dist/SQLJoin.js} +15 -18
- package/dist/SQLJoin.js.map +1 -0
- package/dist/{src/SQLJsonExpressions.d.ts → SQLJsonExpressions.d.ts} +2 -2
- package/dist/SQLJsonExpressions.d.ts.map +1 -0
- package/dist/{src/SQLJsonExpressions.js → SQLJsonExpressions.js} +31 -44
- package/dist/SQLJsonExpressions.js.map +1 -0
- package/dist/SQLLogger.d.ts.map +1 -0
- package/dist/{src/SQLLogger.js → SQLLogger.js} +5 -8
- package/dist/SQLLogger.js.map +1 -0
- package/dist/{src/SQLOrderBy.d.ts → SQLOrderBy.d.ts} +1 -1
- package/dist/SQLOrderBy.d.ts.map +1 -0
- package/dist/{src/SQLOrderBy.js → SQLOrderBy.js} +8 -13
- package/dist/SQLOrderBy.js.map +1 -0
- package/dist/{src/SQLSelect.d.ts → SQLSelect.d.ts} +3 -3
- package/dist/SQLSelect.d.ts.map +1 -0
- package/dist/{src/SQLSelect.js → SQLSelect.js} +24 -29
- package/dist/SQLSelect.js.map +1 -0
- package/dist/{src/SQLTranslatedStringHelper.d.ts → SQLTranslatedStringHelper.d.ts} +3 -2
- package/dist/SQLTranslatedStringHelper.d.ts.map +1 -0
- package/dist/SQLTranslatedStringHelper.js +33 -0
- package/dist/SQLTranslatedStringHelper.js.map +1 -0
- package/dist/{src/SQLUpdate.d.ts → SQLUpdate.d.ts} +3 -2
- package/dist/SQLUpdate.d.ts.map +1 -0
- package/{src/SQLUpdate.ts → dist/SQLUpdate.js} +18 -35
- package/dist/SQLUpdate.js.map +1 -0
- package/dist/{src/SQLWhere.d.ts → SQLWhere.d.ts} +3 -3
- package/dist/SQLWhere.d.ts.map +1 -0
- package/dist/{src/SQLWhere.js → SQLWhere.js} +42 -56
- package/dist/SQLWhere.js.map +1 -0
- package/dist/{src/filters → filters}/SQLFilter.d.ts +5 -5
- package/dist/filters/SQLFilter.d.ts.map +1 -0
- package/{src/filters/SQLFilter.ts → dist/filters/SQLFilter.js} +55 -121
- package/dist/filters/SQLFilter.js.map +1 -0
- package/dist/{src/filters → filters}/SQLSorter.d.ts +6 -6
- package/dist/filters/SQLSorter.d.ts.map +1 -0
- package/dist/{src/filters → filters}/SQLSorter.js +4 -7
- package/dist/filters/SQLSorter.js.map +1 -0
- package/dist/filters/compilers/contains.d.ts +4 -0
- package/dist/filters/compilers/contains.d.ts.map +1 -0
- package/{src/filters/compilers/contains.ts → dist/filters/compilers/contains.js} +7 -25
- package/dist/filters/compilers/contains.js.map +1 -0
- package/dist/filters/compilers/equals.d.ts +4 -0
- package/dist/filters/compilers/equals.d.ts.map +1 -0
- package/dist/filters/compilers/equals.js +44 -0
- package/dist/filters/compilers/equals.js.map +1 -0
- package/dist/filters/compilers/greater.d.ts +4 -0
- package/dist/filters/compilers/greater.d.ts.map +1 -0
- package/dist/filters/compilers/greater.js +15 -0
- package/dist/filters/compilers/greater.js.map +1 -0
- package/dist/filters/compilers/in.d.ts +4 -0
- package/dist/filters/compilers/in.d.ts.map +1 -0
- package/{src/filters/compilers/in.ts → dist/filters/compilers/in.js} +7 -21
- package/dist/filters/compilers/in.js.map +1 -0
- package/dist/filters/compilers/index.d.ts.map +1 -0
- package/{src/filters/compilers/index.ts → dist/filters/compilers/index.js} +1 -0
- package/dist/filters/compilers/index.js.map +1 -0
- package/dist/filters/compilers/less.d.ts +4 -0
- package/dist/filters/compilers/less.d.ts.map +1 -0
- package/dist/filters/compilers/less.js +15 -0
- package/dist/filters/compilers/less.js.map +1 -0
- package/dist/filters/helpers/isJSONColumn.d.ts +5 -0
- package/dist/filters/helpers/isJSONColumn.d.ts.map +1 -0
- package/{src/filters/helpers/isJSONColumn.ts → dist/filters/helpers/isJSONColumn.js} +4 -5
- package/dist/filters/helpers/isJSONColumn.js.map +1 -0
- package/dist/{src/filters → filters}/helpers/normalizeCompareValue.d.ts +1 -1
- package/dist/filters/helpers/normalizeCompareValue.d.ts.map +1 -0
- package/{src/filters/helpers/normalizeCompareValue.ts → dist/filters/helpers/normalizeCompareValue.js} +2 -20
- package/dist/filters/helpers/normalizeCompareValue.js.map +1 -0
- package/dist/index.d.ts +14 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -25
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/dist/src/ModelCache.d.ts.map +0 -1
- package/dist/src/ModelCache.js +0 -57
- package/dist/src/ModelCache.js.map +0 -1
- package/dist/src/QueryableModel.d.ts.map +0 -1
- package/dist/src/QueryableModel.js.map +0 -1
- package/dist/src/SQL.d.ts.map +0 -1
- package/dist/src/SQL.js +0 -103
- package/dist/src/SQL.js.map +0 -1
- package/dist/src/SQLDelete.d.ts.map +0 -1
- package/dist/src/SQLDelete.js.map +0 -1
- package/dist/src/SQLExpression.d.ts.map +0 -1
- package/dist/src/SQLExpression.js.map +0 -1
- package/dist/src/SQLExpressions.d.ts.map +0 -1
- package/dist/src/SQLExpressions.js.map +0 -1
- package/dist/src/SQLInsert.d.ts.map +0 -1
- package/dist/src/SQLInsert.js.map +0 -1
- package/dist/src/SQLJoin.d.ts.map +0 -1
- package/dist/src/SQLJoin.js +0 -61
- package/dist/src/SQLJoin.js.map +0 -1
- package/dist/src/SQLJsonExpressions.d.ts.map +0 -1
- package/dist/src/SQLJsonExpressions.js.map +0 -1
- package/dist/src/SQLLogger.d.ts.map +0 -1
- package/dist/src/SQLLogger.js.map +0 -1
- package/dist/src/SQLOrderBy.d.ts.map +0 -1
- package/dist/src/SQLOrderBy.js.map +0 -1
- package/dist/src/SQLSelect.d.ts.map +0 -1
- package/dist/src/SQLSelect.js.map +0 -1
- package/dist/src/SQLTranslatedStringHelper.d.ts.map +0 -1
- package/dist/src/SQLTranslatedStringHelper.js +0 -37
- package/dist/src/SQLTranslatedStringHelper.js.map +0 -1
- package/dist/src/SQLUpdate.d.ts.map +0 -1
- package/dist/src/SQLUpdate.js +0 -60
- package/dist/src/SQLUpdate.js.map +0 -1
- package/dist/src/SQLWhere.d.ts.map +0 -1
- package/dist/src/SQLWhere.js.map +0 -1
- package/dist/src/filters/SQLFilter.d.ts.map +0 -1
- package/dist/src/filters/SQLFilter.js +0 -220
- package/dist/src/filters/SQLFilter.js.map +0 -1
- package/dist/src/filters/SQLSorter.d.ts.map +0 -1
- package/dist/src/filters/SQLSorter.js.map +0 -1
- package/dist/src/filters/compilers/contains.d.ts +0 -4
- package/dist/src/filters/compilers/contains.d.ts.map +0 -1
- package/dist/src/filters/compilers/contains.js +0 -29
- package/dist/src/filters/compilers/contains.js.map +0 -1
- package/dist/src/filters/compilers/equals.d.ts +0 -4
- package/dist/src/filters/compilers/equals.d.ts.map +0 -1
- package/dist/src/filters/compilers/equals.js +0 -47
- package/dist/src/filters/compilers/equals.js.map +0 -1
- package/dist/src/filters/compilers/greater.d.ts +0 -4
- package/dist/src/filters/compilers/greater.d.ts.map +0 -1
- package/dist/src/filters/compilers/greater.js +0 -18
- package/dist/src/filters/compilers/greater.js.map +0 -1
- package/dist/src/filters/compilers/in.d.ts +0 -4
- package/dist/src/filters/compilers/in.d.ts.map +0 -1
- package/dist/src/filters/compilers/in.js +0 -51
- package/dist/src/filters/compilers/in.js.map +0 -1
- package/dist/src/filters/compilers/index.d.ts.map +0 -1
- package/dist/src/filters/compilers/index.js +0 -8
- package/dist/src/filters/compilers/index.js.map +0 -1
- package/dist/src/filters/compilers/less.d.ts +0 -4
- package/dist/src/filters/compilers/less.d.ts.map +0 -1
- package/dist/src/filters/compilers/less.js +0 -18
- package/dist/src/filters/compilers/less.js.map +0 -1
- package/dist/src/filters/helpers/isJSONColumn.d.ts +0 -4
- package/dist/src/filters/helpers/isJSONColumn.d.ts.map +0 -1
- package/dist/src/filters/helpers/isJSONColumn.js +0 -17
- package/dist/src/filters/helpers/isJSONColumn.js.map +0 -1
- package/dist/src/filters/helpers/normalizeCompareValue.d.ts.map +0 -1
- package/dist/src/filters/helpers/normalizeCompareValue.js +0 -87
- package/dist/src/filters/helpers/normalizeCompareValue.js.map +0 -1
- package/dist/tests/filters/$and.test.d.ts +0 -2
- package/dist/tests/filters/$and.test.d.ts.map +0 -1
- package/dist/tests/filters/$and.test.js +0 -216
- package/dist/tests/filters/$and.test.js.map +0 -1
- package/dist/tests/filters/$contains.test.d.ts +0 -2
- package/dist/tests/filters/$contains.test.d.ts.map +0 -1
- package/dist/tests/filters/$contains.test.js +0 -917
- package/dist/tests/filters/$contains.test.js.map +0 -1
- package/dist/tests/filters/$eq.test.d.ts +0 -2
- package/dist/tests/filters/$eq.test.d.ts.map +0 -1
- package/dist/tests/filters/$eq.test.js +0 -1464
- package/dist/tests/filters/$eq.test.js.map +0 -1
- package/dist/tests/filters/$gt.test.d.ts +0 -2
- package/dist/tests/filters/$gt.test.d.ts.map +0 -1
- package/dist/tests/filters/$gt.test.js +0 -641
- package/dist/tests/filters/$gt.test.js.map +0 -1
- package/dist/tests/filters/$gte.test.d.ts +0 -2
- package/dist/tests/filters/$gte.test.d.ts.map +0 -1
- package/dist/tests/filters/$gte.test.js +0 -433
- package/dist/tests/filters/$gte.test.js.map +0 -1
- package/dist/tests/filters/$in.test.d.ts +0 -2
- package/dist/tests/filters/$in.test.d.ts.map +0 -1
- package/dist/tests/filters/$in.test.js +0 -773
- package/dist/tests/filters/$in.test.js.map +0 -1
- package/dist/tests/filters/$lt.test.d.ts +0 -2
- package/dist/tests/filters/$lt.test.d.ts.map +0 -1
- package/dist/tests/filters/$lt.test.js +0 -433
- package/dist/tests/filters/$lt.test.js.map +0 -1
- package/dist/tests/filters/$lte.test.d.ts +0 -2
- package/dist/tests/filters/$lte.test.d.ts.map +0 -1
- package/dist/tests/filters/$lte.test.js +0 -472
- package/dist/tests/filters/$lte.test.js.map +0 -1
- package/dist/tests/filters/$neq.test.d.ts +0 -2
- package/dist/tests/filters/$neq.test.d.ts.map +0 -1
- package/dist/tests/filters/$neq.test.js +0 -32
- package/dist/tests/filters/$neq.test.js.map +0 -1
- package/dist/tests/filters/$not.test.d.ts +0 -2
- package/dist/tests/filters/$not.test.d.ts.map +0 -1
- package/dist/tests/filters/$not.test.js +0 -50
- package/dist/tests/filters/$not.test.js.map +0 -1
- package/dist/tests/filters/$or.test.d.ts +0 -2
- package/dist/tests/filters/$or.test.d.ts.map +0 -1
- package/dist/tests/filters/$or.test.js +0 -185
- package/dist/tests/filters/$or.test.js.map +0 -1
- package/dist/tests/filters/SQLTranslatedStringHelper.test.d.ts +0 -2
- package/dist/tests/filters/SQLTranslatedStringHelper.test.d.ts.map +0 -1
- package/dist/tests/filters/SQLTranslatedStringHelper.test.js +0 -491
- package/dist/tests/filters/SQLTranslatedStringHelper.test.js.map +0 -1
- package/dist/tests/filters/dot-syntax.test.d.ts +0 -2
- package/dist/tests/filters/dot-syntax.test.d.ts.map +0 -1
- package/dist/tests/filters/dot-syntax.test.js +0 -210
- package/dist/tests/filters/dot-syntax.test.js.map +0 -1
- package/dist/tests/filters/exists.test.d.ts +0 -2
- package/dist/tests/filters/exists.test.d.ts.map +0 -1
- package/dist/tests/filters/exists.test.js +0 -96
- package/dist/tests/filters/exists.test.js.map +0 -1
- package/dist/tests/filters/joined-relations.test.d.ts +0 -2
- package/dist/tests/filters/joined-relations.test.d.ts.map +0 -1
- package/dist/tests/filters/joined-relations.test.js +0 -167
- package/dist/tests/filters/joined-relations.test.js.map +0 -1
- package/dist/tests/filters/special-cases.test.d.ts +0 -2
- package/dist/tests/filters/special-cases.test.d.ts.map +0 -1
- package/dist/tests/filters/special-cases.test.js +0 -114
- package/dist/tests/filters/special-cases.test.js.map +0 -1
- package/dist/tests/filters/wildcard.test.d.ts +0 -2
- package/dist/tests/filters/wildcard.test.d.ts.map +0 -1
- package/dist/tests/filters/wildcard.test.js +0 -67
- package/dist/tests/filters/wildcard.test.js.map +0 -1
- package/dist/tests/jest.global.setup.d.ts +0 -3
- package/dist/tests/jest.global.setup.d.ts.map +0 -1
- package/dist/tests/jest.global.setup.js +0 -7
- package/dist/tests/jest.global.setup.js.map +0 -1
- package/dist/tests/jest.setup.d.ts +0 -2
- package/dist/tests/jest.setup.d.ts.map +0 -1
- package/dist/tests/jest.setup.js +0 -5
- package/dist/tests/jest.setup.js.map +0 -1
- package/dist/tests/utils/index.d.ts +0 -57
- package/dist/tests/utils/index.d.ts.map +0 -1
- package/dist/tests/utils/index.js +0 -206
- package/dist/tests/utils/index.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/QueryableModel.ts +0 -134
- package/src/SQL.ts +0 -128
- package/src/SQLDelete.ts +0 -73
- package/src/SQLExpression.ts +0 -34
- package/src/SQLExpressions.ts +0 -587
- package/src/SQLInsert.ts +0 -113
- package/src/SQLJsonExpressions.ts +0 -283
- package/src/SQLLogger.ts +0 -82
- package/src/SQLOrderBy.ts +0 -69
- package/src/SQLSelect.ts +0 -520
- package/src/SQLTranslatedStringHelper.ts +0 -40
- package/src/SQLWhere.ts +0 -744
- package/src/filters/SQLSorter.ts +0 -60
- package/src/filters/compilers/equals.ts +0 -73
- package/src/filters/compilers/greater.ts +0 -21
- package/src/filters/compilers/less.ts +0 -20
- /package/dist/{src/SQLExpression.d.ts → SQLExpression.d.ts} +0 -0
- /package/dist/{src/SQLLogger.d.ts → SQLLogger.d.ts} +0 -0
- /package/dist/{src/filters → filters}/compilers/index.d.ts +0 -0
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
exports.readDynamicSQLExpression = readDynamicSQLExpression;
|
|
6
|
-
const simple_database_1 = require("@simonbackx/simple-database");
|
|
7
|
-
const SQLExpression_js_1 = require("./SQLExpression.js");
|
|
8
|
-
const SQLWhere_js_1 = require("./SQLWhere.js");
|
|
9
|
-
function scalarToSQLExpression(s) {
|
|
1
|
+
import { Database } from '@simonbackx/simple-database';
|
|
2
|
+
import { joinSQLQuery } from './SQLExpression.js';
|
|
3
|
+
import { SQLEmptyWhere } from './SQLWhere.js';
|
|
4
|
+
export function scalarToSQLExpression(s) {
|
|
10
5
|
if (s === null) {
|
|
11
6
|
return new SQLNull();
|
|
12
7
|
}
|
|
13
8
|
return new SQLScalar(s);
|
|
14
9
|
}
|
|
15
|
-
function readDynamicSQLExpression(s) {
|
|
10
|
+
export function readDynamicSQLExpression(s) {
|
|
16
11
|
if (Array.isArray(s)) {
|
|
17
12
|
return new SQLArray(s);
|
|
18
13
|
}
|
|
@@ -24,132 +19,121 @@ function readDynamicSQLExpression(s) {
|
|
|
24
19
|
}
|
|
25
20
|
return new SQLScalar(s);
|
|
26
21
|
}
|
|
27
|
-
class SQLDistinct {
|
|
22
|
+
export class SQLDistinct {
|
|
28
23
|
expression;
|
|
29
24
|
constructor(expression) {
|
|
30
25
|
this.expression = expression;
|
|
31
26
|
}
|
|
32
27
|
getSQL(options) {
|
|
33
|
-
return
|
|
28
|
+
return joinSQLQuery([
|
|
34
29
|
'DISTINCT ',
|
|
35
30
|
this.expression.getSQL(options),
|
|
36
31
|
]);
|
|
37
32
|
}
|
|
38
33
|
}
|
|
39
|
-
|
|
40
|
-
class SQLCharLength {
|
|
34
|
+
export class SQLCharLength {
|
|
41
35
|
expression;
|
|
42
36
|
constructor(expression) {
|
|
43
37
|
this.expression = expression;
|
|
44
38
|
}
|
|
45
39
|
getSQL(options) {
|
|
46
|
-
return
|
|
40
|
+
return joinSQLQuery([
|
|
47
41
|
'CHAR_LENGTH(',
|
|
48
42
|
this.expression.getSQL(options),
|
|
49
43
|
')',
|
|
50
44
|
]);
|
|
51
45
|
}
|
|
52
46
|
}
|
|
53
|
-
|
|
54
|
-
class SQLCount {
|
|
47
|
+
export class SQLCount {
|
|
55
48
|
expression;
|
|
56
49
|
constructor(expression = null) {
|
|
57
50
|
this.expression = expression;
|
|
58
51
|
}
|
|
59
52
|
getSQL(options) {
|
|
60
|
-
return
|
|
53
|
+
return joinSQLQuery([
|
|
61
54
|
'COUNT(',
|
|
62
55
|
this.expression ? this.expression.getSQL(options) : '*',
|
|
63
56
|
')',
|
|
64
57
|
]);
|
|
65
58
|
}
|
|
66
59
|
}
|
|
67
|
-
|
|
68
|
-
class SQLLower {
|
|
60
|
+
export class SQLLower {
|
|
69
61
|
expression;
|
|
70
62
|
constructor(expression) {
|
|
71
63
|
this.expression = expression;
|
|
72
64
|
}
|
|
73
65
|
getSQL(options) {
|
|
74
|
-
return
|
|
66
|
+
return joinSQLQuery([
|
|
75
67
|
'LOWER(',
|
|
76
68
|
this.expression.getSQL(options),
|
|
77
69
|
')',
|
|
78
70
|
]);
|
|
79
71
|
}
|
|
80
72
|
}
|
|
81
|
-
|
|
82
|
-
class SQLPlusSign {
|
|
73
|
+
export class SQLPlusSign {
|
|
83
74
|
getSQL() {
|
|
84
75
|
return '+';
|
|
85
76
|
}
|
|
86
77
|
}
|
|
87
|
-
|
|
88
|
-
class SQLMultiplicationSign {
|
|
78
|
+
export class SQLMultiplicationSign {
|
|
89
79
|
getSQL() {
|
|
90
80
|
return '*';
|
|
91
81
|
}
|
|
92
82
|
}
|
|
93
|
-
|
|
94
|
-
class SQLMinusSign {
|
|
83
|
+
export class SQLMinusSign {
|
|
95
84
|
getSQL() {
|
|
96
85
|
return '-';
|
|
97
86
|
}
|
|
98
87
|
}
|
|
99
|
-
|
|
100
|
-
class SQLGreatest {
|
|
88
|
+
export class SQLGreatest {
|
|
101
89
|
expressions;
|
|
102
90
|
constructor(...expressions) {
|
|
103
91
|
this.expressions = expressions;
|
|
104
92
|
}
|
|
105
93
|
getSQL(options) {
|
|
106
|
-
return
|
|
94
|
+
return joinSQLQuery([
|
|
107
95
|
'GREATEST(',
|
|
108
|
-
|
|
96
|
+
joinSQLQuery(this.expressions.map(e => readDynamicSQLExpression(e).getSQL(options)), ', '),
|
|
109
97
|
')',
|
|
110
98
|
]);
|
|
111
99
|
}
|
|
112
100
|
}
|
|
113
|
-
|
|
114
|
-
class SQLCalculation {
|
|
101
|
+
export class SQLCalculation {
|
|
115
102
|
expressions;
|
|
116
103
|
constructor(...expressions) {
|
|
117
104
|
this.expressions = expressions;
|
|
118
105
|
}
|
|
119
106
|
getSQL(options) {
|
|
120
|
-
return
|
|
107
|
+
return joinSQLQuery(this.expressions.map(e => e.getSQL(options)), ' ');
|
|
121
108
|
}
|
|
122
109
|
}
|
|
123
|
-
|
|
124
|
-
class SQLSum {
|
|
110
|
+
export class SQLSum {
|
|
125
111
|
expression;
|
|
126
112
|
constructor(expression) {
|
|
127
113
|
this.expression = expression;
|
|
128
114
|
}
|
|
129
115
|
getSQL(options) {
|
|
130
|
-
return
|
|
116
|
+
return joinSQLQuery([
|
|
131
117
|
'SUM(',
|
|
132
118
|
this.expression.getSQL(options),
|
|
133
119
|
')',
|
|
134
120
|
]);
|
|
135
121
|
}
|
|
136
122
|
}
|
|
137
|
-
|
|
138
|
-
class SQLMin {
|
|
123
|
+
export class SQLMin {
|
|
139
124
|
expression;
|
|
140
125
|
constructor(expression) {
|
|
141
126
|
this.expression = expression;
|
|
142
127
|
}
|
|
143
128
|
getSQL(options) {
|
|
144
|
-
return
|
|
129
|
+
return joinSQLQuery([
|
|
145
130
|
'MIN(',
|
|
146
131
|
this.expression.getSQL(options),
|
|
147
132
|
')',
|
|
148
133
|
]);
|
|
149
134
|
}
|
|
150
135
|
}
|
|
151
|
-
|
|
152
|
-
class SQLSelectAs {
|
|
136
|
+
export class SQLSelectAs {
|
|
153
137
|
expression;
|
|
154
138
|
as;
|
|
155
139
|
constructor(expression, as) {
|
|
@@ -157,15 +141,14 @@ class SQLSelectAs {
|
|
|
157
141
|
this.as = as;
|
|
158
142
|
}
|
|
159
143
|
getSQL(options) {
|
|
160
|
-
return
|
|
144
|
+
return joinSQLQuery([
|
|
161
145
|
this.expression.getSQL(options),
|
|
162
146
|
' AS ',
|
|
163
147
|
this.as.getSQL(options),
|
|
164
148
|
]);
|
|
165
149
|
}
|
|
166
150
|
}
|
|
167
|
-
|
|
168
|
-
class SQLAssignment {
|
|
151
|
+
export class SQLAssignment {
|
|
169
152
|
key;
|
|
170
153
|
value;
|
|
171
154
|
constructor(key, value) {
|
|
@@ -173,53 +156,49 @@ class SQLAssignment {
|
|
|
173
156
|
this.value = value;
|
|
174
157
|
}
|
|
175
158
|
getSQL(options) {
|
|
176
|
-
return
|
|
159
|
+
return joinSQLQuery([
|
|
177
160
|
this.key.getSQL(options),
|
|
178
161
|
' = ',
|
|
179
162
|
this.value.getSQL(options),
|
|
180
163
|
]);
|
|
181
164
|
}
|
|
182
165
|
}
|
|
183
|
-
|
|
184
|
-
class SQLAlias {
|
|
166
|
+
export class SQLAlias {
|
|
185
167
|
name;
|
|
186
168
|
constructor(name) {
|
|
187
169
|
this.name = name;
|
|
188
170
|
}
|
|
189
171
|
getSQL(options) {
|
|
190
|
-
return
|
|
172
|
+
return Database.escapeId(this.name);
|
|
191
173
|
}
|
|
192
174
|
}
|
|
193
|
-
|
|
194
|
-
class SQLConcat {
|
|
175
|
+
export class SQLConcat {
|
|
195
176
|
expressions;
|
|
196
177
|
constructor(...expressions) {
|
|
197
178
|
this.expressions = expressions;
|
|
198
179
|
}
|
|
199
180
|
getSQL(options) {
|
|
200
|
-
return
|
|
181
|
+
return joinSQLQuery([
|
|
201
182
|
'CONCAT(',
|
|
202
|
-
|
|
183
|
+
joinSQLQuery(this.expressions.map(e => e.getSQL(options)), ', '),
|
|
203
184
|
')',
|
|
204
185
|
]);
|
|
205
186
|
}
|
|
206
187
|
}
|
|
207
|
-
|
|
208
|
-
class SQLAge {
|
|
188
|
+
export class SQLAge {
|
|
209
189
|
expression;
|
|
210
190
|
constructor(expression) {
|
|
211
191
|
this.expression = expression;
|
|
212
192
|
}
|
|
213
193
|
getSQL(options) {
|
|
214
|
-
return
|
|
194
|
+
return joinSQLQuery([
|
|
215
195
|
'TIMESTAMPDIFF(YEAR, ',
|
|
216
196
|
this.expression.getSQL(options),
|
|
217
197
|
', CURDATE())',
|
|
218
198
|
]);
|
|
219
199
|
}
|
|
220
200
|
}
|
|
221
|
-
|
|
222
|
-
class SQLCast {
|
|
201
|
+
export class SQLCast {
|
|
223
202
|
value;
|
|
224
203
|
as = 'CHAR';
|
|
225
204
|
constructor(value, as = 'CHAR') {
|
|
@@ -227,7 +206,7 @@ class SQLCast {
|
|
|
227
206
|
this.as = as;
|
|
228
207
|
}
|
|
229
208
|
getSQL(options) {
|
|
230
|
-
return
|
|
209
|
+
return joinSQLQuery([
|
|
231
210
|
'CAST( ',
|
|
232
211
|
this.value.getSQL(options),
|
|
233
212
|
' AS ',
|
|
@@ -236,7 +215,6 @@ class SQLCast {
|
|
|
236
215
|
]);
|
|
237
216
|
}
|
|
238
217
|
}
|
|
239
|
-
exports.SQLCast = SQLCast;
|
|
240
218
|
class SQLCastedJson {
|
|
241
219
|
value;
|
|
242
220
|
constructor(value) {
|
|
@@ -246,22 +224,20 @@ class SQLCastedJson {
|
|
|
246
224
|
return "CAST('" + JSON.stringify(this.value) + "' AS JSON)";
|
|
247
225
|
}
|
|
248
226
|
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
class SQLNull {
|
|
227
|
+
export const SQLJSONNull = new SQLCastedJson(null);
|
|
228
|
+
export const SQLJSONTrue = new SQLCastedJson(true);
|
|
229
|
+
export const SQLJSONFalse = new SQLCastedJson(false);
|
|
230
|
+
export class SQLNull {
|
|
253
231
|
getSQL(options) {
|
|
254
232
|
return 'NULL';
|
|
255
233
|
}
|
|
256
234
|
}
|
|
257
|
-
|
|
258
|
-
class SQLNow {
|
|
235
|
+
export class SQLNow {
|
|
259
236
|
getSQL(options) {
|
|
260
237
|
return 'NOW()';
|
|
261
238
|
}
|
|
262
239
|
}
|
|
263
|
-
|
|
264
|
-
class SQLScalar {
|
|
240
|
+
export class SQLScalar {
|
|
265
241
|
value;
|
|
266
242
|
constructor(value) {
|
|
267
243
|
this.value = value;
|
|
@@ -273,8 +249,7 @@ class SQLScalar {
|
|
|
273
249
|
};
|
|
274
250
|
}
|
|
275
251
|
}
|
|
276
|
-
|
|
277
|
-
class SQLSafeValue {
|
|
252
|
+
export class SQLSafeValue {
|
|
278
253
|
value;
|
|
279
254
|
constructor(value) {
|
|
280
255
|
this.value = value;
|
|
@@ -283,8 +258,7 @@ class SQLSafeValue {
|
|
|
283
258
|
return JSON.stringify(this.value);
|
|
284
259
|
}
|
|
285
260
|
}
|
|
286
|
-
|
|
287
|
-
class SQLArray {
|
|
261
|
+
export class SQLArray {
|
|
288
262
|
value;
|
|
289
263
|
constructor(value) {
|
|
290
264
|
this.value = value;
|
|
@@ -296,52 +270,49 @@ class SQLArray {
|
|
|
296
270
|
};
|
|
297
271
|
}
|
|
298
272
|
}
|
|
299
|
-
|
|
300
|
-
class SQLWildcardSelectExpression {
|
|
273
|
+
export class SQLWildcardSelectExpression {
|
|
301
274
|
namespace;
|
|
302
275
|
constructor(namespace) {
|
|
303
276
|
this.namespace = namespace;
|
|
304
277
|
}
|
|
305
278
|
getSQL(options) {
|
|
306
|
-
return
|
|
279
|
+
return Database.escapeId(this.namespace ?? options?.defaultNamespace ?? '') + '.*';
|
|
307
280
|
}
|
|
308
281
|
}
|
|
309
|
-
|
|
310
|
-
class SQLNamespaceExpression {
|
|
282
|
+
export class SQLNamespaceExpression {
|
|
311
283
|
namespace;
|
|
312
284
|
constructor(namespace) {
|
|
313
285
|
this.namespace = namespace;
|
|
314
286
|
}
|
|
315
287
|
getSQL(options) {
|
|
316
|
-
return
|
|
288
|
+
return Database.escapeId(this.namespace);
|
|
317
289
|
}
|
|
318
290
|
}
|
|
319
|
-
|
|
320
|
-
exports.SQLDefaultNamespace = {
|
|
291
|
+
export const SQLDefaultNamespace = {
|
|
321
292
|
getSQL(options) {
|
|
322
293
|
if (!options?.defaultNamespace) {
|
|
323
294
|
throw new Error('No default namespace provided');
|
|
324
295
|
}
|
|
325
|
-
return
|
|
296
|
+
return Database.escapeId(options.defaultNamespace);
|
|
326
297
|
},
|
|
327
298
|
};
|
|
328
299
|
/**
|
|
329
300
|
* Reference the table of the parent query
|
|
330
301
|
*/
|
|
331
|
-
|
|
302
|
+
export const SQLParentNamespace = {
|
|
332
303
|
getSQL(options) {
|
|
333
304
|
if (!options?.parentNamespace) {
|
|
334
305
|
throw new Error('No parent namespace provided');
|
|
335
306
|
}
|
|
336
|
-
return
|
|
307
|
+
return Database.escapeId(options.parentNamespace);
|
|
337
308
|
},
|
|
338
309
|
};
|
|
339
|
-
class SQLColumnExpression {
|
|
310
|
+
export class SQLColumnExpression {
|
|
340
311
|
namespace;
|
|
341
312
|
column;
|
|
342
313
|
constructor(...args) {
|
|
343
314
|
if (args.length === 1) {
|
|
344
|
-
this.namespace =
|
|
315
|
+
this.namespace = SQLDefaultNamespace;
|
|
345
316
|
this.column = args[0];
|
|
346
317
|
return;
|
|
347
318
|
}
|
|
@@ -355,15 +326,14 @@ class SQLColumnExpression {
|
|
|
355
326
|
this.column = column;
|
|
356
327
|
}
|
|
357
328
|
getSQL(options) {
|
|
358
|
-
return
|
|
329
|
+
return joinSQLQuery([
|
|
359
330
|
this.namespace.getSQL(options),
|
|
360
331
|
'.',
|
|
361
|
-
|
|
332
|
+
Database.escapeId(this.column),
|
|
362
333
|
]);
|
|
363
334
|
}
|
|
364
335
|
}
|
|
365
|
-
|
|
366
|
-
class SQLIfNull {
|
|
336
|
+
export class SQLIfNull {
|
|
367
337
|
columnExpression;
|
|
368
338
|
value;
|
|
369
339
|
constructor(columnExpression, value) {
|
|
@@ -371,7 +341,7 @@ class SQLIfNull {
|
|
|
371
341
|
this.value = value;
|
|
372
342
|
}
|
|
373
343
|
getSQL(options) {
|
|
374
|
-
return
|
|
344
|
+
return joinSQLQuery([
|
|
375
345
|
'IFNULL(',
|
|
376
346
|
this.columnExpression.getSQL(options),
|
|
377
347
|
',',
|
|
@@ -380,8 +350,7 @@ class SQLIfNull {
|
|
|
380
350
|
]);
|
|
381
351
|
}
|
|
382
352
|
}
|
|
383
|
-
|
|
384
|
-
class SQLTableExpression {
|
|
353
|
+
export class SQLTableExpression {
|
|
385
354
|
/**
|
|
386
355
|
* By default the table name will be used as the namespace by MySQL.
|
|
387
356
|
*/
|
|
@@ -397,16 +366,15 @@ class SQLTableExpression {
|
|
|
397
366
|
}
|
|
398
367
|
getSQL(options) {
|
|
399
368
|
if (!this.asNamespace) {
|
|
400
|
-
return
|
|
369
|
+
return Database.escapeId(this.table);
|
|
401
370
|
}
|
|
402
|
-
return
|
|
371
|
+
return Database.escapeId(this.table) + ' ' + Database.escapeId(this.asNamespace);
|
|
403
372
|
}
|
|
404
373
|
getName() {
|
|
405
374
|
return this.asNamespace ?? this.table;
|
|
406
375
|
}
|
|
407
376
|
}
|
|
408
|
-
|
|
409
|
-
class SQLJSONTableColumn {
|
|
377
|
+
export class SQLJSONTableColumn {
|
|
410
378
|
name;
|
|
411
379
|
type;
|
|
412
380
|
path;
|
|
@@ -416,8 +384,8 @@ class SQLJSONTableColumn {
|
|
|
416
384
|
this.path = path;
|
|
417
385
|
}
|
|
418
386
|
getSQL(options) {
|
|
419
|
-
return
|
|
420
|
-
|
|
387
|
+
return joinSQLQuery([
|
|
388
|
+
Database.escapeId(this.name),
|
|
421
389
|
' ',
|
|
422
390
|
'VARCHAR(250)',
|
|
423
391
|
' PATH ',
|
|
@@ -425,8 +393,7 @@ class SQLJSONTableColumn {
|
|
|
425
393
|
]);
|
|
426
394
|
}
|
|
427
395
|
}
|
|
428
|
-
|
|
429
|
-
class SQLJSONTableExpression {
|
|
396
|
+
export class SQLJSONTableExpression {
|
|
430
397
|
expression;
|
|
431
398
|
asNamespace;
|
|
432
399
|
jsonPath = '$[*]';
|
|
@@ -440,8 +407,8 @@ class SQLJSONTableExpression {
|
|
|
440
407
|
return this;
|
|
441
408
|
}
|
|
442
409
|
getSQL(options) {
|
|
443
|
-
const columnsSQL =
|
|
444
|
-
return
|
|
410
|
+
const columnsSQL = joinSQLQuery(this.columns.map(c => c.getSQL(options)), ', ');
|
|
411
|
+
return joinSQLQuery([
|
|
445
412
|
'JSON_TABLE(',
|
|
446
413
|
this.expression.getSQL(options),
|
|
447
414
|
', ',
|
|
@@ -449,20 +416,19 @@ class SQLJSONTableExpression {
|
|
|
449
416
|
' COLUMNS (',
|
|
450
417
|
columnsSQL,
|
|
451
418
|
')) AS ',
|
|
452
|
-
|
|
419
|
+
Database.escapeId(this.asNamespace),
|
|
453
420
|
]);
|
|
454
421
|
}
|
|
455
422
|
getName() {
|
|
456
423
|
return this.asNamespace;
|
|
457
424
|
}
|
|
458
425
|
}
|
|
459
|
-
|
|
460
|
-
class SQLIf {
|
|
426
|
+
export class SQLIf {
|
|
461
427
|
_if;
|
|
462
428
|
_then = new SQLNull();
|
|
463
429
|
_else = new SQLNull();
|
|
464
430
|
constructor(...args) {
|
|
465
|
-
this._if = new
|
|
431
|
+
this._if = new SQLEmptyWhere().and(...args);
|
|
466
432
|
}
|
|
467
433
|
then(then) {
|
|
468
434
|
this._then = readDynamicSQLExpression(then);
|
|
@@ -473,7 +439,7 @@ class SQLIf {
|
|
|
473
439
|
return this;
|
|
474
440
|
}
|
|
475
441
|
getSQL(options) {
|
|
476
|
-
return
|
|
442
|
+
return joinSQLQuery([
|
|
477
443
|
'IF(',
|
|
478
444
|
this._if.getSQL(options),
|
|
479
445
|
',',
|
|
@@ -484,32 +450,29 @@ class SQLIf {
|
|
|
484
450
|
]);
|
|
485
451
|
}
|
|
486
452
|
}
|
|
487
|
-
|
|
488
|
-
class SQLCoalesce {
|
|
453
|
+
export class SQLCoalesce {
|
|
489
454
|
expressions = [];
|
|
490
455
|
constructor(...expressions) {
|
|
491
456
|
this.expressions = expressions;
|
|
492
457
|
}
|
|
493
458
|
getSQL(options) {
|
|
494
|
-
return
|
|
459
|
+
return joinSQLQuery([
|
|
495
460
|
'COALESCE(',
|
|
496
|
-
|
|
461
|
+
joinSQLQuery(this.expressions.map(e => e.getSQL(options)), ', '),
|
|
497
462
|
')',
|
|
498
463
|
]);
|
|
499
464
|
}
|
|
500
465
|
}
|
|
501
|
-
|
|
502
|
-
class SQLIsNull {
|
|
466
|
+
export class SQLIsNull {
|
|
503
467
|
expression;
|
|
504
468
|
constructor(expression) {
|
|
505
469
|
this.expression = expression;
|
|
506
470
|
}
|
|
507
471
|
getSQL(options) {
|
|
508
|
-
return
|
|
472
|
+
return joinSQLQuery([
|
|
509
473
|
this.expression.getSQL(options),
|
|
510
474
|
' IS NULL',
|
|
511
475
|
]);
|
|
512
476
|
}
|
|
513
477
|
}
|
|
514
|
-
exports.SQLIsNull = SQLIsNull;
|
|
515
478
|
//# sourceMappingURL=SQLExpressions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLExpressions.js","sourceRoot":"","sources":["../src/SQLExpressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
|
|
2
|
-
import {
|
|
1
|
+
import type { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
|
|
2
|
+
import type { SQLAssignment, SQLScalarValue } from './SQLExpressions.js';
|
|
3
|
+
import { SQLAlias, SQLTableExpression } from './SQLExpressions.js';
|
|
3
4
|
export declare class SQLInsert implements SQLExpression {
|
|
4
5
|
_columns: SQLExpression[];
|
|
5
6
|
_values: SQLExpression[][];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLInsert.d.ts","sourceRoot":"","sources":["../src/SQLInsert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAExF,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAyB,QAAQ,EAAuB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG/G,qBAAa,SAAU,YAAW,aAAa;IAC3C,QAAQ,EAAE,aAAa,EAAE,CAAM;IAC/B,OAAO,EAAE,aAAa,EAAE,EAAE,CAAM;IAChC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC5B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,qBAAqB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAQ;gBAEzC,SAAS,EAAE,kBAAkB,GAAG,MAAM;IAIlD,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAKrD,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,aAAa,GAAG,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI;IAYpE,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB,oBAAoB,CAAC,GAAG,WAAW,EAAE,aAAa,EAAE,GAAG,IAAI;IAK3D,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IA0D1C,MAAM,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,GAAG,CAAC;QAAA,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAKlE"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const SQLExpressions_js_1 = require("./SQLExpressions.js");
|
|
7
|
-
const SQLLogger_js_1 = require("./SQLLogger.js");
|
|
8
|
-
class SQLInsert {
|
|
1
|
+
import { Database } from '@simonbackx/simple-database';
|
|
2
|
+
import { isSQLExpression, joinSQLQuery, normalizeSQLQuery } from './SQLExpression.js';
|
|
3
|
+
import { scalarToSQLExpression, SQLAlias, SQLColumnExpression, SQLTableExpression } from './SQLExpressions.js';
|
|
4
|
+
import { SQLLogger } from './SQLLogger.js';
|
|
5
|
+
export class SQLInsert {
|
|
9
6
|
_columns = [];
|
|
10
7
|
_values = [];
|
|
11
8
|
_as = null;
|
|
12
9
|
_into;
|
|
13
10
|
_onDuplicateKeyUpdate = null;
|
|
14
11
|
constructor(tableName) {
|
|
15
|
-
this._into = typeof tableName === 'string' ? new
|
|
12
|
+
this._into = typeof tableName === 'string' ? new SQLTableExpression(tableName) : tableName;
|
|
16
13
|
}
|
|
17
14
|
clone() {
|
|
18
15
|
const c = new SQLInsert(this._into);
|
|
@@ -20,7 +17,7 @@ class SQLInsert {
|
|
|
20
17
|
return c;
|
|
21
18
|
}
|
|
22
19
|
columns(...columns) {
|
|
23
|
-
this._columns = columns.map(c => typeof c === 'string' ? new
|
|
20
|
+
this._columns = columns.map(c => typeof c === 'string' ? new SQLColumnExpression(c) : c);
|
|
24
21
|
return this;
|
|
25
22
|
}
|
|
26
23
|
values(...values) {
|
|
@@ -28,12 +25,12 @@ class SQLInsert {
|
|
|
28
25
|
if (v.length !== this._columns.length) {
|
|
29
26
|
throw new Error('Invalid number of values. Expected ' + this._columns.length + ' but got ' + v.length);
|
|
30
27
|
}
|
|
31
|
-
return v.map(c =>
|
|
28
|
+
return v.map(c => isSQLExpression(c) ? c : scalarToSQLExpression(c));
|
|
32
29
|
});
|
|
33
30
|
return this;
|
|
34
31
|
}
|
|
35
32
|
as(alias) {
|
|
36
|
-
this._as = new
|
|
33
|
+
this._as = new SQLAlias(alias);
|
|
37
34
|
return this;
|
|
38
35
|
}
|
|
39
36
|
onDuplicateKeyUpdate(...assignments) {
|
|
@@ -53,15 +50,15 @@ class SQLInsert {
|
|
|
53
50
|
this._into.getSQL(options),
|
|
54
51
|
];
|
|
55
52
|
const columns = this._columns.map(c => c.getSQL(options));
|
|
56
|
-
query.push(
|
|
53
|
+
query.push(joinSQLQuery([
|
|
57
54
|
'(',
|
|
58
|
-
|
|
55
|
+
joinSQLQuery(columns, ', '),
|
|
59
56
|
')',
|
|
60
57
|
]));
|
|
61
58
|
query.push('VALUES');
|
|
62
|
-
query.push(
|
|
59
|
+
query.push(joinSQLQuery(this._values.map(values => joinSQLQuery([
|
|
63
60
|
'(',
|
|
64
|
-
|
|
61
|
+
joinSQLQuery(values.map(v => v.getSQL(options)), ', '),
|
|
65
62
|
')',
|
|
66
63
|
])), ', '));
|
|
67
64
|
if (this._as !== null) {
|
|
@@ -69,15 +66,14 @@ class SQLInsert {
|
|
|
69
66
|
}
|
|
70
67
|
if (this._onDuplicateKeyUpdate !== null) {
|
|
71
68
|
query.push('ON DUPLICATE KEY UPDATE');
|
|
72
|
-
query.push(
|
|
69
|
+
query.push(joinSQLQuery(this._onDuplicateKeyUpdate.map(a => a.getSQL(options)), ', '));
|
|
73
70
|
}
|
|
74
|
-
return
|
|
71
|
+
return joinSQLQuery(query, ' ');
|
|
75
72
|
}
|
|
76
73
|
async insert() {
|
|
77
|
-
const { query, params } =
|
|
78
|
-
const result = await
|
|
74
|
+
const { query, params } = normalizeSQLQuery(this.getSQL());
|
|
75
|
+
const result = await SQLLogger.log(Database.insert(query, params), query, params);
|
|
79
76
|
return result[0];
|
|
80
77
|
}
|
|
81
78
|
}
|
|
82
|
-
exports.SQLInsert = SQLInsert;
|
|
83
79
|
//# sourceMappingURL=SQLInsert.js.map
|