typesql-cli 0.8.10 → 0.8.12
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/code-generator.d.ts +1 -0
- package/code-generator.d.ts.map +1 -1
- package/code-generator.js +3 -0
- package/code-generator.js.map +1 -1
- package/mysql-query-analyzer/traverse.d.ts +2 -0
- package/mysql-query-analyzer/traverse.d.ts.map +1 -1
- package/mysql-query-analyzer/traverse.js.map +1 -1
- package/package.json +1 -1
- package/sqlite-query-analyzer/code-generator.js +74 -11
- package/sqlite-query-analyzer/code-generator.js.map +1 -1
- package/sqlite-query-analyzer/parser.js +16 -40
- package/sqlite-query-analyzer/parser.js.map +1 -1
- package/sqlite-query-analyzer/query-executor.d.ts.map +1 -1
- package/sqlite-query-analyzer/query-executor.js +8 -1
- package/sqlite-query-analyzer/query-executor.js.map +1 -1
- package/sqlite-query-analyzer/traverse.d.ts.map +1 -1
- package/sqlite-query-analyzer/traverse.js +52 -4
- package/sqlite-query-analyzer/traverse.js.map +1 -1
- package/types.d.ts +1 -0
- package/types.d.ts.map +1 -1
@@ -29,19 +29,19 @@ function generateTsCode(sql, queryName, sqliteDbSchema, isCrud = false, client =
|
|
29
29
|
if ((0, Either_1.isLeft)(schemaDefResult)) {
|
30
30
|
return schemaDefResult;
|
31
31
|
}
|
32
|
-
const tsDescriptor = createTsDescriptor(schemaDefResult.right);
|
32
|
+
const tsDescriptor = createTsDescriptor(schemaDefResult.right, client);
|
33
33
|
const code = generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud);
|
34
34
|
return (0, Either_1.right)(code);
|
35
35
|
}
|
36
36
|
exports.generateTsCode = generateTsCode;
|
37
|
-
function createTsDescriptor(queryInfo) {
|
37
|
+
function createTsDescriptor(queryInfo, client) {
|
38
38
|
var _a;
|
39
|
-
const escapedColumnsNames = (0, code_generator_1.renameInvalidNames)(queryInfo.columns.map(col => col.columnName));
|
40
39
|
const tsDescriptor = {
|
41
40
|
sql: queryInfo.sql,
|
42
41
|
queryType: queryInfo.queryType,
|
43
42
|
multipleRowsResult: queryInfo.multipleRowsResult,
|
44
|
-
|
43
|
+
returning: queryInfo.returning,
|
44
|
+
columns: mapColumns(client, queryInfo.queryType, queryInfo.columns, queryInfo.returning),
|
45
45
|
parameterNames: [],
|
46
46
|
parameters: queryInfo.parameters.map(param => mapParameterToTsFieldDescriptor(param)),
|
47
47
|
data: (_a = queryInfo.data) === null || _a === void 0 ? void 0 : _a.map(param => mapParameterToTsFieldDescriptor(param)),
|
@@ -61,6 +61,40 @@ function createTsDescriptor(queryInfo) {
|
|
61
61
|
}
|
62
62
|
return tsDescriptor;
|
63
63
|
}
|
64
|
+
function mapColumns(client, queryType, columns, returning = false) {
|
65
|
+
const sqliteInsertColumns = [
|
66
|
+
{
|
67
|
+
name: 'changes',
|
68
|
+
tsType: 'number',
|
69
|
+
notNull: true
|
70
|
+
},
|
71
|
+
{
|
72
|
+
name: 'lastInsertRowid',
|
73
|
+
tsType: 'number',
|
74
|
+
notNull: true
|
75
|
+
}
|
76
|
+
];
|
77
|
+
const libSqlInsertColumns = [
|
78
|
+
{
|
79
|
+
name: 'rowsAffected',
|
80
|
+
tsType: 'number',
|
81
|
+
notNull: true
|
82
|
+
},
|
83
|
+
{
|
84
|
+
name: 'lastInsertRowid',
|
85
|
+
tsType: 'number',
|
86
|
+
notNull: true
|
87
|
+
}
|
88
|
+
];
|
89
|
+
if (queryType == 'Insert' && !returning) {
|
90
|
+
return client == 'sqlite' ? sqliteInsertColumns : libSqlInsertColumns;
|
91
|
+
}
|
92
|
+
if (queryType == 'Update' || queryType == 'Delete') {
|
93
|
+
return client == 'sqlite' ? [sqliteInsertColumns[0]] : [libSqlInsertColumns[0]];
|
94
|
+
}
|
95
|
+
const escapedColumnsNames = (0, code_generator_1.renameInvalidNames)(columns.map(col => col.columnName));
|
96
|
+
return columns.map((col, index) => mapColumnToTsFieldDescriptor(Object.assign(Object.assign({}, col), { columnName: escapedColumnsNames[index] })));
|
97
|
+
}
|
64
98
|
function mapFieldToTsField(columns, field) {
|
65
99
|
const tsField = {
|
66
100
|
name: field.name,
|
@@ -185,8 +219,9 @@ function generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud) {
|
|
185
219
|
})) || [])
|
186
220
|
.concat(tsDescriptor.parameters.map(param => toParamValue('params', param)));
|
187
221
|
const queryParams = allParameters.length > 0 ? '[' + allParameters.join(', ') + ']' : '';
|
188
|
-
const
|
189
|
-
|
222
|
+
const orNull = queryType == 'Select' ? ' | null' : '';
|
223
|
+
const returnType = tsDescriptor.multipleRowsResult ? `${resultTypeName}[]` : `${resultTypeName}${orNull}`;
|
224
|
+
if (queryType == 'Select' || (queryType == 'Insert' && tsDescriptor.returning)) {
|
190
225
|
if (client == 'sqlite') {
|
191
226
|
writer.write(`export function ${camelCaseName}(${functionArguments}): ${returnType}`).block(() => {
|
192
227
|
const processedSql = tsDescriptor.orderByColumns ? (0, code_generator_1.replaceOrderByParam)(sql) : sql;
|
@@ -213,12 +248,28 @@ function generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud) {
|
|
213
248
|
writer.indent().write('`').newLine();
|
214
249
|
const executeParams = queryParams != '' ? `{ sql, args: ${queryParams} }` : 'sql';
|
215
250
|
writer.write(`return client.execute(${executeParams})`).newLine();
|
216
|
-
|
217
|
-
|
251
|
+
if (queryType == 'Select') {
|
252
|
+
writer.indent().write(`.then(res => res.rows)`).newLine();
|
253
|
+
if (tsDescriptor.multipleRowsResult) {
|
254
|
+
writer.indent().write(`.then(rows => rows.map(row => mapArrayTo${resultTypeName}(row)));`);
|
255
|
+
}
|
256
|
+
else {
|
257
|
+
writer.indent().write(`.then(rows => mapArrayTo${resultTypeName}(rows[0]));`);
|
258
|
+
}
|
259
|
+
}
|
260
|
+
if (queryType == 'Insert') {
|
261
|
+
if (tsDescriptor.returning) {
|
262
|
+
writer.indent().write(`.then(res => res.rows)`).newLine();
|
263
|
+
writer.indent().write(`.then(rows => mapArrayTo${resultTypeName}(rows[0]));`);
|
264
|
+
}
|
265
|
+
else {
|
266
|
+
writer.indent().write(`.then(res => mapArrayTo${resultTypeName}(res));`);
|
267
|
+
}
|
268
|
+
}
|
218
269
|
});
|
219
270
|
}
|
220
271
|
}
|
221
|
-
if (queryType == '
|
272
|
+
if (queryType == 'Update' || queryType == 'Delete' || (queryType == 'Insert' && !tsDescriptor.returning)) {
|
222
273
|
if (client == 'sqlite') {
|
223
274
|
writer.write(`export function ${camelCaseName}(${functionArguments}): ${resultTypeName}`).block(() => {
|
224
275
|
const sqlSplit = sql.split('\n');
|
@@ -241,11 +292,11 @@ function generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud) {
|
|
241
292
|
writer.indent().write('`').newLine();
|
242
293
|
const executeParams = queryParams != '' ? `{ sql, args: ${queryParams} }` : 'sql';
|
243
294
|
writer.write(`return client.execute(${executeParams})`).newLine();
|
244
|
-
writer.indent().write(`.then(res =>
|
295
|
+
writer.indent().write(`.then(res => mapArrayTo${resultTypeName}(res));`);
|
245
296
|
});
|
246
297
|
}
|
247
298
|
}
|
248
|
-
if (queryType == 'Select') {
|
299
|
+
if (queryType == 'Select' || tsDescriptor.returning) {
|
249
300
|
writer.blankLine();
|
250
301
|
writer.write(`function mapArrayTo${resultTypeName}(data: any) `).block(() => {
|
251
302
|
writer.write(`const result: ${resultTypeName} = `).block(() => {
|
@@ -257,6 +308,18 @@ function generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud) {
|
|
257
308
|
writer.writeLine('return result;');
|
258
309
|
});
|
259
310
|
}
|
311
|
+
else if (client == 'libsql' && !tsDescriptor.returning) {
|
312
|
+
writer.blankLine();
|
313
|
+
writer.write(`function mapArrayTo${resultTypeName}(data: any) `).block(() => {
|
314
|
+
writer.write(`const result: ${resultTypeName} = `).block(() => {
|
315
|
+
tsDescriptor.columns.forEach((col, index) => {
|
316
|
+
const separator = index < tsDescriptor.columns.length - 1 ? ',' : '';
|
317
|
+
writer.writeLine(`${col.name}: data.${col.name}${separator}`);
|
318
|
+
});
|
319
|
+
});
|
320
|
+
writer.writeLine('return result;');
|
321
|
+
});
|
322
|
+
}
|
260
323
|
if (tsDescriptor.orderByColumns) {
|
261
324
|
writer.blankLine();
|
262
325
|
writer.writeLine(`const orderByFragments = [${tsDescriptor.orderByColumns.map(orderBy => `'${orderBy}'`)}] as const;`);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/code-generator.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/code-generator.ts"],"names":[],"mappings":"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"}
|
@@ -109,19 +109,7 @@ function createSchemaDefinition(sql, sql_stmtContext, dbSchema, namedParameters,
|
|
109
109
|
return (0, Either_1.right)(schemaDef);
|
110
110
|
}
|
111
111
|
if (queryResult.queryType == 'Insert') {
|
112
|
-
const
|
113
|
-
{
|
114
|
-
columnName: 'changes',
|
115
|
-
type: 'INTEGER',
|
116
|
-
notNull: true
|
117
|
-
},
|
118
|
-
{
|
119
|
-
columnName: 'lastInsertRowid',
|
120
|
-
type: 'INTEGER',
|
121
|
-
notNull: true
|
122
|
-
}
|
123
|
-
];
|
124
|
-
const paramsResult = queryResult.columns.map((param, index) => {
|
112
|
+
const paramsResult = queryResult.parameters.map((param, index) => {
|
125
113
|
const columnType = (0, collect_constraints_1.getVarType)(substitutions, param.type);
|
126
114
|
const columnNotNull = param.notNull;
|
127
115
|
const colInfo = {
|
@@ -131,28 +119,28 @@ function createSchemaDefinition(sql, sql_stmtContext, dbSchema, namedParameters,
|
|
131
119
|
};
|
132
120
|
return colInfo;
|
133
121
|
});
|
122
|
+
const columns = queryResult.columns.map(col => {
|
123
|
+
const columnType = (0, collect_constraints_1.getVarType)(substitutions, col.type);
|
124
|
+
const colInfo = {
|
125
|
+
columnName: col.name,
|
126
|
+
type: (0, describe_query_1.verifyNotInferred)(columnType),
|
127
|
+
notNull: col.notNull
|
128
|
+
};
|
129
|
+
return colInfo;
|
130
|
+
});
|
134
131
|
const schemaDef = {
|
135
132
|
sql,
|
136
133
|
queryType: queryResult.queryType,
|
137
134
|
multipleRowsResult: false,
|
138
|
-
columns
|
135
|
+
columns,
|
139
136
|
parameters: paramsResult
|
140
137
|
};
|
138
|
+
if (queryResult.returing) {
|
139
|
+
schemaDef.returning = true;
|
140
|
+
}
|
141
141
|
return (0, Either_1.right)(schemaDef);
|
142
142
|
}
|
143
143
|
if (queryResult.queryType == 'Update') {
|
144
|
-
const updateColumnResult = [
|
145
|
-
{
|
146
|
-
columnName: 'changes',
|
147
|
-
type: 'INTEGER',
|
148
|
-
notNull: true
|
149
|
-
},
|
150
|
-
{
|
151
|
-
columnName: 'lastInsertRowid',
|
152
|
-
type: 'INTEGER',
|
153
|
-
notNull: true
|
154
|
-
}
|
155
|
-
];
|
156
144
|
const paramsResult = queryResult.columns.map((param, index) => {
|
157
145
|
const columnType = (0, collect_constraints_1.getVarType)(substitutions, param.type);
|
158
146
|
const columnNotNull = param.notNull;
|
@@ -178,25 +166,13 @@ function createSchemaDefinition(sql, sql_stmtContext, dbSchema, namedParameters,
|
|
178
166
|
sql,
|
179
167
|
queryType: queryResult.queryType,
|
180
168
|
multipleRowsResult: false,
|
181
|
-
columns:
|
169
|
+
columns: [],
|
182
170
|
data: paramsResult,
|
183
171
|
parameters: whereParams
|
184
172
|
};
|
185
173
|
return (0, Either_1.right)(schemaDef);
|
186
174
|
}
|
187
175
|
if (queryResult.queryType == 'Delete') {
|
188
|
-
const deleteColumnResult = [
|
189
|
-
{
|
190
|
-
columnName: 'changes',
|
191
|
-
type: 'INTEGER',
|
192
|
-
notNull: true
|
193
|
-
},
|
194
|
-
{
|
195
|
-
columnName: 'lastInsertRowid',
|
196
|
-
type: 'INTEGER',
|
197
|
-
notNull: true
|
198
|
-
}
|
199
|
-
];
|
200
176
|
const whereParams = queryResult.params.map((param, index) => {
|
201
177
|
const columnType = (0, collect_constraints_1.getVarType)(substitutions, param.type);
|
202
178
|
const columnNotNull = param.notNull;
|
@@ -211,7 +187,7 @@ function createSchemaDefinition(sql, sql_stmtContext, dbSchema, namedParameters,
|
|
211
187
|
sql,
|
212
188
|
queryType: queryResult.queryType,
|
213
189
|
multipleRowsResult: false,
|
214
|
-
columns:
|
190
|
+
columns: [],
|
215
191
|
parameters: whereParams
|
216
192
|
};
|
217
193
|
return (0, Either_1.right)(schemaDef);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/parser.ts"],"names":[],"mappings":";;;AAAA,6CAAiD;AAEjD,iEAAgG;AAChG,yCAAsD;AAEtD,qFAAyE;AACzE,yDAAsD;AACtD,sDAAoF;AACpF,iFAAqE;AACrE,kCAAuC;AACvC,+DAA0D;AAG1D,SAAgB,QAAQ,CAAC,GAAW,EAAE,QAAwB;IAE1D,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,8BAAa,EAAC,GAAG,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAA,8BAAa,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAA,iBAAW,EAAC,YAAY,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACnC,OAAO,sBAAsB,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;AAC7F,CAAC;AAPD,4BAOC;AAED,SAAS,sBAAsB,CAAC,GAAW,EAAE,eAAgC,EAAE,QAAwB,EAAE,eAAyB,EAAE,WAAoB;IAEpJ,MAAM,eAAe,GAAoB;QACrC,QAAQ;QACR,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,EAAE;QACnB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,KAAK;QACZ,cAAc,EAAE;YACZ,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;SACZ;QACD,SAAS,EAAE,EAAE;KAChB,CAAA;IAED,MAAM,WAAW,GAAG,IAAA,mCAAwB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAC/E,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,IAAA,mBAAY,EAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC5D,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAA;IAEF,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QACjC,IAAI,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,2DAA2D;QAChH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,OAAO,GAAG,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YAC/D,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC7B,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC9C,KAAK,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACzC,KAAK,EAAE,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI;aAChD,CAAC,CAAA;QACN,CAAC;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;QACrG,CAAC;IACL,CAAC,CAAC,CAAA;IACF,MAAM,aAAa,GAAqB,EAAE,CAAA,CAAC,kBAAkB;IAC7D,IAAA,aAAK,EAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,WAAW,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;;YACjD,MAAM,UAAU,GAAG,IAAA,gCAAU,EAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,OAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YAChH,MAAM,OAAO,GAAe;gBACxB,UAAU,EAAE,GAAG,CAAC,IAAI;gBACpB,IAAI,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC;gBACnC,OAAO,EAAE,aAAa;gBACtB,KAAK,EAAE,GAAG,CAAC,KAAK;aACnB,CAAA;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACjE,MAAM,UAAU,GAAG,IAAA,gCAAU,EAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;YACpC,MAAM,OAAO,GAAiB;gBAC1B,IAAI,EAAE,eAAe,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;gBAChG,UAAU,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC;gBACzC,OAAO,EAAE,aAAa;aACzB,CAAA;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAA;QAEF,MAAM,oBAAoB,GAAG,YAAY;aACpC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC;aACjD,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAClB,MAAM,eAAe,GAA6B;gBAC9C,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,aAAa,EAAE,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU;aAC9D,CAAA;YACD,OAAO,eAAe,CAAC;QAC3B,CAAC,CAAC,CAAA;QAEN,MAAM,MAAM,GAAG,IAAA,uCAAiB,EAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QAE5D,MAAM,SAAS,GAAc;YACzB,GAAG,EAAE,MAAM;YACX,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;YAClD,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,YAAY;SAC3B,CAAA;QACD,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;YAC7B,SAAS,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;QAC1D,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,YAAY,GAAG,IAAA,kDAAmB,EAAC,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;YAC9E,SAAS,CAAC,UAAU,GAAG,YAAY,CAAC;QACxC,CAAC;QAED,OAAO,IAAA,cAAK,EAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,WAAW,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/parser.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"query-executor.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/query-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAe,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAiB,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEpE,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAM5F;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,
|
1
|
+
{"version":3,"file":"query-executor.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/query-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAe,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAiB,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEpE,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAM5F;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAmDnF;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAsB5F;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAYvF"}
|
@@ -17,7 +17,14 @@ exports.createSqliteClient = createSqliteClient;
|
|
17
17
|
function loadDbSchema(db) {
|
18
18
|
const sql = `
|
19
19
|
WITH all_tables AS (
|
20
|
-
SELECT name FROM sqlite_schema
|
20
|
+
SELECT name FROM sqlite_schema
|
21
|
+
WHERE type = 'table'
|
22
|
+
AND name <> 'sqlite_sequence'
|
23
|
+
AND name <> 'sqlite_stat1'
|
24
|
+
AND name <> '_litestream_seq'
|
25
|
+
AND name <> '_litestream_lock'
|
26
|
+
AND name <> 'libsql_wasm_func_table'
|
27
|
+
AND name <> '_cf_KV'
|
21
28
|
),
|
22
29
|
uniqueIndex as (
|
23
30
|
SELECT DISTINCT t.name as table_name, ii.name as column_name
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"query-executor.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/query-executor.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAuD;AAGvD,oEAAoE;AAEpE,SAAgB,kBAAkB,CAAC,WAAmB;IACrD,MAAM,EAAE,GAAG,IAAI,wBAAQ,CAAC,WAAW,CAAC,CAAC;IACrC,OAAO,IAAA,cAAK,EAAC;QACZ,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,EAAE;KACV,CAAC,CAAC;AACJ,CAAC;AAND,gDAMC;AAED,SAAgB,YAAY,CAAC,EAAgB;IAE5C,MAAM,GAAG,GAAG
|
1
|
+
{"version":3,"file":"query-executor.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/query-executor.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAuD;AAGvD,oEAAoE;AAEpE,SAAgB,kBAAkB,CAAC,WAAmB;IACrD,MAAM,EAAE,GAAG,IAAI,wBAAQ,CAAC,WAAW,CAAC,CAAC;IACrC,OAAO,IAAA,cAAK,EAAC;QACZ,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,EAAE;KACV,CAAC,CAAC;AACJ,CAAC;AAND,gDAMC;AAED,SAAgB,YAAY,CAAC,EAAgB;IAE5C,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCV,CAAA;IACF,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;aAC5B,GAAG,EAAoB,CAAC;QAC1B,OAAO,IAAA,cAAK,EAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,iCAAM,GAAG,KAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,IAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAa,CAAC;QAC1B,OAAO,IAAA,aAAI,EAAC;YACX,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,OAAO;SACxB,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AAnDD,oCAmDC;AAED,SAAgB,4BAA4B,CAAC,EAAgB;IAC5D,MAAM,GAAG,GAAG;;;;;;;KAOR,CAAA;IAEJ,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;aAC5B,GAAG,EAAa,CAAC;QACnB,OAAO,IAAA,cAAK,EAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,CAAU,CAAC;QACvB,OAAO,IAAA,aAAI,EAAC;YACX,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,OAAO;SACxB,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAtBD,oEAsBC;AAED,SAAgB,UAAU,CAAC,EAAgB,EAAE,GAAW;IACvD,IAAI,CAAC;QACJ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAa,CAAC;QAC1B,OAAO,IAAA,aAAI,EAAC;YACX,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,OAAO;SACxB,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AAZD,gCAYC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,
|
1
|
+
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,EAA4N,MAAM,sCAAsC,CAAC;AAClU,OAAO,EAAE,SAAS,EAAa,eAAe,EAA2C,MAAM,+BAA+B,CAAC;AAG/H,OAAO,EAAsE,eAAe,EAAmC,MAAM,kCAAkC,CAAC;AAGxK,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,GAAG,eAAe,CAuBrH;AA8xBD,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAiBhF;AA0BD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,WA0B5F"}
|
@@ -429,6 +429,29 @@ function traverse_expr(expr, traverseContext) {
|
|
429
429
|
table: functionType.table || ''
|
430
430
|
};
|
431
431
|
}
|
432
|
+
if (function_name == 'row_number'
|
433
|
+
|| function_name == 'rank'
|
434
|
+
|| function_name == 'dense_rank') {
|
435
|
+
const functionType = (0, collect_constraints_1.freshVar)(expr.getText(), 'INTEGER');
|
436
|
+
return {
|
437
|
+
name: functionType.name,
|
438
|
+
type: functionType,
|
439
|
+
notNull: true,
|
440
|
+
table: functionType.table || ''
|
441
|
+
};
|
442
|
+
}
|
443
|
+
if (function_name == 'first_value'
|
444
|
+
|| function_name == 'last_value') {
|
445
|
+
const paramExpr = expr.expr(0);
|
446
|
+
const paramType = traverse_expr(paramExpr, traverseContext);
|
447
|
+
return paramType;
|
448
|
+
}
|
449
|
+
if (function_name == 'lead'
|
450
|
+
|| function_name == 'lag') {
|
451
|
+
const paramExpr = expr.expr(0);
|
452
|
+
const paramType = traverse_expr(paramExpr, traverseContext);
|
453
|
+
return Object.assign(Object.assign({}, paramType), { notNull: false });
|
454
|
+
}
|
432
455
|
if (function_name) {
|
433
456
|
throw Error('traverse_expr: function not supported:' + function_name);
|
434
457
|
}
|
@@ -536,7 +559,7 @@ function traverse_expr(expr, traverseContext) {
|
|
536
559
|
type1: typeLeft.type,
|
537
560
|
type2: typeRight.type
|
538
561
|
});
|
539
|
-
const resultType = (0, collect_constraints_1.freshVar)(expr.getText(), '
|
562
|
+
const resultType = (0, collect_constraints_1.freshVar)(expr.getText(), 'INTEGER');
|
540
563
|
return {
|
541
564
|
name: resultType.name,
|
542
565
|
type: resultType,
|
@@ -826,8 +849,11 @@ function isMultipleRowResult(select_stmt, fromColumns) {
|
|
826
849
|
}
|
827
850
|
exports.isMultipleRowResult = isMultipleRowResult;
|
828
851
|
function isAgregateFunction(result_column) {
|
829
|
-
var _a, _b;
|
830
|
-
|
852
|
+
var _a, _b, _c;
|
853
|
+
if (((_a = result_column.expr()) === null || _a === void 0 ? void 0 : _a.over_clause()) != null) { //window function isMultipleRow = true
|
854
|
+
return false;
|
855
|
+
}
|
856
|
+
const function_name = (_c = (_b = result_column.expr()) === null || _b === void 0 ? void 0 : _b.function_name()) === null || _c === void 0 ? void 0 : _c.getText().toLowerCase();
|
831
857
|
return function_name == 'count'
|
832
858
|
|| function_name == 'sum'
|
833
859
|
|| function_name == 'avg'
|
@@ -908,12 +934,34 @@ function traverse_insert_stmt(insert_stmt, traverseContext) {
|
|
908
934
|
insertColumns.push(Object.assign(Object.assign({}, param), { notNull: columnNullability.get(param.type.id) != null ? columnNullability.get(param.type.id) : param.notNull }));
|
909
935
|
});
|
910
936
|
}
|
937
|
+
const returning_clause = insert_stmt.returning_clause();
|
938
|
+
const returninColumns = returning_clause ? traverse_returning_clause(returning_clause, fromColumns) : [];
|
911
939
|
const queryResult = {
|
912
940
|
queryType: 'Insert',
|
913
|
-
|
941
|
+
parameters: insertColumns,
|
942
|
+
columns: returninColumns,
|
943
|
+
returing: returning_clause != null
|
914
944
|
};
|
915
945
|
return queryResult;
|
916
946
|
}
|
947
|
+
function traverse_returning_clause(returning_clause, fromColumns) {
|
948
|
+
const result_column_list = returning_clause.result_column_list();
|
949
|
+
const result = result_column_list.flatMap(result_column => {
|
950
|
+
if (result_column.STAR()) {
|
951
|
+
return fromColumns.map(col => {
|
952
|
+
const newCol = {
|
953
|
+
name: col.columnName,
|
954
|
+
type: col.columnType,
|
955
|
+
notNull: col.notNull,
|
956
|
+
table: col.table
|
957
|
+
};
|
958
|
+
return newCol;
|
959
|
+
});
|
960
|
+
}
|
961
|
+
return [];
|
962
|
+
});
|
963
|
+
return result;
|
964
|
+
}
|
917
965
|
function traverse_update_stmt(update_stmt, traverseContext) {
|
918
966
|
const table_name = update_stmt.qualified_table_name().getText();
|
919
967
|
const fromColumns = (0, select_columns_1.filterColumns)(traverseContext.dbSchema, [], '', (0, select_columns_1.splitName)(table_name));
|