@or-sdk/pgsql 1.0.2 → 1.0.3-beta.1917.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/cjs/Pgsql.js +87 -35
- package/dist/cjs/Pgsql.js.map +1 -1
- package/dist/cjs/utils/index.js +1 -13
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/Pgsql.js +78 -28
- package/dist/esm/Pgsql.js.map +1 -1
- package/dist/esm/utils/index.js +0 -6
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/types/Pgsql.d.ts +25 -16
- package/dist/types/Pgsql.d.ts.map +1 -1
- package/dist/types/types.d.ts +9 -4
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +0 -6
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +2 -3
- package/src/Pgsql.ts +90 -45
- package/src/types.ts +9 -8
- package/src/utils/index.ts +0 -6
- package/dist/cjs/utils/encodeValue.js +0 -17
- package/dist/cjs/utils/encodeValue.js.map +0 -1
- package/dist/cjs/utils/extractDatabaseNames.js +0 -10
- package/dist/cjs/utils/extractDatabaseNames.js.map +0 -1
- package/dist/cjs/utils/getDeleteRowsQuery.js +0 -9
- package/dist/cjs/utils/getDeleteRowsQuery.js.map +0 -1
- package/dist/cjs/utils/getEditRowQuery.js +0 -10
- package/dist/cjs/utils/getEditRowQuery.js.map +0 -1
- package/dist/cjs/utils/getInsertKeys.js +0 -9
- package/dist/cjs/utils/getInsertKeys.js.map +0 -1
- package/dist/cjs/utils/getInsertQueries.js +0 -18
- package/dist/cjs/utils/getInsertQueries.js.map +0 -1
- package/dist/esm/utils/encodeValue.js +0 -12
- package/dist/esm/utils/encodeValue.js.map +0 -1
- package/dist/esm/utils/extractDatabaseNames.js +0 -5
- package/dist/esm/utils/extractDatabaseNames.js.map +0 -1
- package/dist/esm/utils/getDeleteRowsQuery.js +0 -8
- package/dist/esm/utils/getDeleteRowsQuery.js.map +0 -1
- package/dist/esm/utils/getEditRowQuery.js +0 -10
- package/dist/esm/utils/getEditRowQuery.js.map +0 -1
- package/dist/esm/utils/getInsertKeys.js +0 -7
- package/dist/esm/utils/getInsertKeys.js.map +0 -1
- package/dist/esm/utils/getInsertQueries.js +0 -14
- package/dist/esm/utils/getInsertQueries.js.map +0 -1
- package/dist/types/utils/encodeValue.d.ts +0 -4
- package/dist/types/utils/encodeValue.d.ts.map +0 -1
- package/dist/types/utils/extractDatabaseNames.d.ts +0 -4
- package/dist/types/utils/extractDatabaseNames.d.ts.map +0 -1
- package/dist/types/utils/getDeleteRowsQuery.d.ts +0 -4
- package/dist/types/utils/getDeleteRowsQuery.d.ts.map +0 -1
- package/dist/types/utils/getEditRowQuery.d.ts +0 -4
- package/dist/types/utils/getEditRowQuery.d.ts.map +0 -1
- package/dist/types/utils/getInsertKeys.d.ts +0 -4
- package/dist/types/utils/getInsertKeys.d.ts.map +0 -1
- package/dist/types/utils/getInsertQueries.d.ts +0 -4
- package/dist/types/utils/getInsertQueries.d.ts.map +0 -1
- package/src/utils/encodeValue.ts +0 -11
- package/src/utils/extractDatabaseNames.ts +0 -7
- package/src/utils/getDeleteRowsQuery.ts +0 -10
- package/src/utils/getEditRowQuery.ts +0 -12
- package/src/utils/getInsertKeys.ts +0 -9
- package/src/utils/getInsertQueries.ts +0 -18
package/src/Pgsql.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
1
2
|
import { Base, CalApiParams, List, MakeApiUrlData, makeList } from '@or-sdk/base';
|
|
2
3
|
import { LIST_SCHEMAS_QUERY, SERVICE_KEY } from './constants';
|
|
3
4
|
import {
|
|
@@ -14,20 +15,16 @@ import {
|
|
|
14
15
|
createSchemaQuery,
|
|
15
16
|
getAddColumnsQuery,
|
|
16
17
|
getCreateTableQuery,
|
|
17
|
-
getDeleteRowsQuery,
|
|
18
18
|
getDropSchemaQuery,
|
|
19
|
-
getDropTableQuery,
|
|
19
|
+
getDropTableQuery, getGenerateTableSchemaQuery,
|
|
20
20
|
getGetPrimaryKeysQuery,
|
|
21
|
-
|
|
22
|
-
getListTablesQuery, getSelectAllCountQuery, getSelectAllQuery,
|
|
21
|
+
getListTablesQuery, getSelectAllCountQuery, getSelectAllQuery, splitPrimaryKeys,
|
|
23
22
|
} from './utils';
|
|
24
23
|
|
|
25
24
|
|
|
26
25
|
export class Pgsql extends Base {
|
|
27
|
-
private isExternal?: boolean;
|
|
28
|
-
|
|
29
26
|
constructor(params: PgsqlConfig) {
|
|
30
|
-
const { token, discoveryUrl, accountId, pgsqlUrl, version = 'master'
|
|
27
|
+
const { token, discoveryUrl, accountId, pgsqlUrl, version = 'master' } = params;
|
|
31
28
|
super({
|
|
32
29
|
token,
|
|
33
30
|
discoveryUrl,
|
|
@@ -36,7 +33,6 @@ export class Pgsql extends Base {
|
|
|
36
33
|
serviceUrl: pgsqlUrl,
|
|
37
34
|
feature: version,
|
|
38
35
|
});
|
|
39
|
-
this.isExternal = isExternal;
|
|
40
36
|
}
|
|
41
37
|
|
|
42
38
|
/**
|
|
@@ -56,7 +52,7 @@ export class Pgsql extends Base {
|
|
|
56
52
|
(params.params as any).feature = this.feature;
|
|
57
53
|
}
|
|
58
54
|
|
|
59
|
-
return this.
|
|
55
|
+
return this.callApiV2<T>(params);
|
|
60
56
|
}
|
|
61
57
|
|
|
62
58
|
makeApiUrl(data: MakeApiUrlData): string {
|
|
@@ -74,13 +70,13 @@ export class Pgsql extends Base {
|
|
|
74
70
|
* });
|
|
75
71
|
* ```
|
|
76
72
|
*/
|
|
77
|
-
public async executeQuery<T>({ query, params, database }: ExecuteQueryArgs): Promise<ExecuteQueryResponse<T>> {
|
|
73
|
+
public async executeQuery<T>({ query, params, database, isExternal }: ExecuteQueryArgs): Promise<ExecuteQueryResponse<T>> {
|
|
78
74
|
return this.makeRequest<ExecuteQueryResponse<T>>({
|
|
79
75
|
data: {
|
|
80
76
|
query,
|
|
81
77
|
params,
|
|
82
78
|
database,
|
|
83
|
-
isExternal
|
|
79
|
+
isExternal,
|
|
84
80
|
},
|
|
85
81
|
method: 'POST',
|
|
86
82
|
route: 'query',
|
|
@@ -92,6 +88,7 @@ export class Pgsql extends Base {
|
|
|
92
88
|
* ```typescript
|
|
93
89
|
* const databaseList = await pgsql.listDatabases();
|
|
94
90
|
* ```
|
|
91
|
+
* @returns {Array} database names
|
|
95
92
|
*/
|
|
96
93
|
public async listDatabases(): Promise<List<DatabaseItem>> {
|
|
97
94
|
const { databases } = await this.makeRequest<ListDatabasesResponse>({
|
|
@@ -127,13 +124,12 @@ export class Pgsql extends Base {
|
|
|
127
124
|
* const result = await pgsql.getDatabaseInfo({ database: 'db-name' });
|
|
128
125
|
* ```
|
|
129
126
|
*/
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
// }
|
|
127
|
+
public async getDatabaseInfo({ database }: { database: string; }): Promise<unknown> {
|
|
128
|
+
return this.callApiV2<unknown>({
|
|
129
|
+
method: 'GET',
|
|
130
|
+
route: `databases/${encodeURIComponent(database)}`,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
137
133
|
|
|
138
134
|
/**
|
|
139
135
|
* Drop database
|
|
@@ -158,10 +154,11 @@ export class Pgsql extends Base {
|
|
|
158
154
|
* const result = await pgsql.listTables({ database: 'db-name', schema: 'schema-name' });
|
|
159
155
|
* ```
|
|
160
156
|
*/
|
|
161
|
-
public async listTables({ database, schema
|
|
157
|
+
public async listTables({ database, schema, isExternal }: { database: string; schema: string; isExternal: boolean; }): Promise<List<string>> {
|
|
162
158
|
const { rows } = await this.executeQuery<{ table_name: string; }>({
|
|
163
159
|
query: getListTablesQuery(schema),
|
|
164
160
|
database,
|
|
161
|
+
isExternal,
|
|
165
162
|
});
|
|
166
163
|
return makeList<string>(rows.map(x => x.table_name));
|
|
167
164
|
}
|
|
@@ -172,10 +169,11 @@ export class Pgsql extends Base {
|
|
|
172
169
|
* const result = await pgsql.listSchemas({ database: 'db-name' });
|
|
173
170
|
* ```
|
|
174
171
|
*/
|
|
175
|
-
public async listSchemas({ database }: { database: string; }): Promise<List<string>> {
|
|
172
|
+
public async listSchemas({ database, isExternal }: { database: string; isExternal: boolean; }): Promise<List<string>> {
|
|
176
173
|
const { rows } = await this.executeQuery<{ schema_name: string; }>({
|
|
177
174
|
query: LIST_SCHEMAS_QUERY,
|
|
178
175
|
database,
|
|
176
|
+
isExternal,
|
|
179
177
|
});
|
|
180
178
|
return makeList<string>(rows.map(x => x.schema_name));
|
|
181
179
|
}
|
|
@@ -186,10 +184,11 @@ export class Pgsql extends Base {
|
|
|
186
184
|
* const result = await pgsql.createSchema({ database: 'db-name', schema: 'schema-name' });
|
|
187
185
|
* ```
|
|
188
186
|
*/
|
|
189
|
-
public async createSchema({ database, schema }: { database: string; schema: string; }): Promise<ExecuteQueryResponse<void>> {
|
|
187
|
+
public async createSchema({ database, schema, isExternal }: { database: string; schema: string; isExternal: boolean; }): Promise<ExecuteQueryResponse<void>> {
|
|
190
188
|
return this.executeQuery<void>({
|
|
191
189
|
query: createSchemaQuery(schema),
|
|
192
190
|
database,
|
|
191
|
+
isExternal,
|
|
193
192
|
});
|
|
194
193
|
}
|
|
195
194
|
|
|
@@ -199,10 +198,11 @@ export class Pgsql extends Base {
|
|
|
199
198
|
* const result = await pgsql.dropSchema({ database: 'db-name', schema: 'schema-name' });
|
|
200
199
|
* ```
|
|
201
200
|
*/
|
|
202
|
-
public async dropSchema({ database, schema }: { database: string; schema: string; }): Promise<ExecuteQueryResponse<void>> {
|
|
201
|
+
public async dropSchema({ database, schema, isExternal }: { database: string; schema: string; isExternal: boolean; }): Promise<ExecuteQueryResponse<void>> {
|
|
203
202
|
return this.executeQuery<void>({
|
|
204
203
|
query: getDropSchemaQuery(schema),
|
|
205
204
|
database,
|
|
205
|
+
isExternal,
|
|
206
206
|
});
|
|
207
207
|
}
|
|
208
208
|
|
|
@@ -212,10 +212,11 @@ export class Pgsql extends Base {
|
|
|
212
212
|
* const result = await pgsql.dropSchema({ database: 'db-name', schema: 'schema-name', table: 'table-name' });
|
|
213
213
|
* ```
|
|
214
214
|
*/
|
|
215
|
-
public async dropTable({ database, schema, table }: { database: string; schema: string; table: string; }): Promise<ExecuteQueryResponse<void>> {
|
|
215
|
+
public async dropTable({ database, schema, table, isExternal }: { database: string; schema: string; table: string; isExternal: boolean; }): Promise<ExecuteQueryResponse<void>> {
|
|
216
216
|
return this.executeQuery<void>({
|
|
217
217
|
query: getDropTableQuery(schema, table),
|
|
218
218
|
database,
|
|
219
|
+
isExternal,
|
|
219
220
|
});
|
|
220
221
|
}
|
|
221
222
|
|
|
@@ -234,10 +235,11 @@ export class Pgsql extends Base {
|
|
|
234
235
|
* });
|
|
235
236
|
* ```
|
|
236
237
|
*/
|
|
237
|
-
public async createTable({ database, schema, table, columns, primaryKey }: CreateTableArgs): Promise<ExecuteQueryResponse<void>> {
|
|
238
|
+
public async createTable({ database, schema, table, columns, primaryKey, isExternal }: CreateTableArgs): Promise<ExecuteQueryResponse<void>> {
|
|
238
239
|
return this.executeQuery<void>({
|
|
239
240
|
query: getCreateTableQuery(schema, table, columns, primaryKey),
|
|
240
241
|
database,
|
|
242
|
+
isExternal,
|
|
241
243
|
});
|
|
242
244
|
}
|
|
243
245
|
|
|
@@ -255,10 +257,11 @@ export class Pgsql extends Base {
|
|
|
255
257
|
* });
|
|
256
258
|
* ```
|
|
257
259
|
*/
|
|
258
|
-
public async addColumns({ database, schema, table, columns }: AddColumnsArgs): Promise<ExecuteQueryResponse<void>> {
|
|
260
|
+
public async addColumns({ database, schema, table, columns, isExternal }: AddColumnsArgs): Promise<ExecuteQueryResponse<void>> {
|
|
259
261
|
return this.executeQuery<void>({
|
|
260
262
|
query: getAddColumnsQuery(schema, table, columns),
|
|
261
263
|
database,
|
|
264
|
+
isExternal,
|
|
262
265
|
});
|
|
263
266
|
}
|
|
264
267
|
|
|
@@ -277,20 +280,28 @@ export class Pgsql extends Base {
|
|
|
277
280
|
* });
|
|
278
281
|
* ```
|
|
279
282
|
*/
|
|
280
|
-
public async insert({ database, schema, table, rows, chunkSize = 300, context }: InsertArgs): Promise<ExecuteQueryResponse<
|
|
283
|
+
public async insert({ database, schema, table, rows, chunkSize = 300, context, isExternal }: InsertArgs): Promise<ExecuteQueryResponse<unknown>[]> {
|
|
284
|
+
const params: any[] = [];
|
|
285
|
+
const addParam = (val: any) => {params.push(val);return `$${params.length}`;};
|
|
281
286
|
const res = [];
|
|
282
|
-
|
|
283
|
-
const
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
+
if (!_.isArray(rows)) rows = [rows];
|
|
288
|
+
const allKeys = {};
|
|
289
|
+
rows.forEach(x => Object.assign(allKeys, x));
|
|
290
|
+
const keys = Object.keys(allKeys);
|
|
291
|
+
const stringifyRow = (row: any) => `${keys.map(key => addParam(row[key])).join(', ')}`;
|
|
292
|
+
|
|
293
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
294
|
+
// @ts-ignore
|
|
295
|
+
for (const [index, chunk] of _.chunk(rows, chunkSize).entries()) {
|
|
296
|
+
const query = `insert into ${schema}.${table} (${keys.join(', ')})
|
|
297
|
+
values (${chunk.map(stringifyRow).join('), (')});`;
|
|
298
|
+
res.push(await this.executeQuery({
|
|
287
299
|
query,
|
|
288
300
|
database,
|
|
301
|
+
isExternal,
|
|
302
|
+
params,
|
|
289
303
|
}));
|
|
290
|
-
|
|
291
|
-
if (context) {
|
|
292
|
-
context.progress = Math.min((index + 1) / (rows.length / Math.min(chunkSize, rows.length)), 1) * 100;
|
|
293
|
-
}
|
|
304
|
+
if (context) context.progress = (index + 1) / (rows.length / chunkSize) * 100;
|
|
294
305
|
}
|
|
295
306
|
|
|
296
307
|
return res;
|
|
@@ -309,16 +320,17 @@ export class Pgsql extends Base {
|
|
|
309
320
|
* });
|
|
310
321
|
* ```
|
|
311
322
|
*/
|
|
312
|
-
public async selectAll({ database, query, context, chunkSize = 1000, offset = 0, limit }: SelectAllArgs): Promise<List<Row>> {
|
|
323
|
+
public async selectAll({ database, query, context, chunkSize = 1000, offset = 0, limit, isExternal, params }: SelectAllArgs): Promise<List<Row>> {
|
|
313
324
|
let count: number, rows, result: Row[] = [];
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
}
|
|
325
|
+
|
|
326
|
+
if (limit && limit < chunkSize) chunkSize = limit;
|
|
317
327
|
|
|
318
328
|
if (context) {
|
|
319
329
|
const { rows } = await this.executeQuery<{ count: number; }>({
|
|
320
330
|
query: getSelectAllCountQuery(query),
|
|
321
331
|
database,
|
|
332
|
+
isExternal,
|
|
333
|
+
params,
|
|
322
334
|
});
|
|
323
335
|
count = rows[0].count;
|
|
324
336
|
context.total = count;
|
|
@@ -328,12 +340,16 @@ export class Pgsql extends Base {
|
|
|
328
340
|
({ rows } = await this.executeQuery<Row>({
|
|
329
341
|
query: getSelectAllQuery(query, offset, chunkSize),
|
|
330
342
|
database,
|
|
343
|
+
isExternal,
|
|
344
|
+
params,
|
|
331
345
|
}));
|
|
332
346
|
offset += chunkSize;
|
|
333
347
|
result = result.concat(rows);
|
|
348
|
+
|
|
334
349
|
if (context) {
|
|
335
350
|
context.progress = Math.min(offset / count! * 100, 100);
|
|
336
351
|
}
|
|
352
|
+
|
|
337
353
|
if (limit && result.length >= limit) {
|
|
338
354
|
result = result.slice(0, limit);
|
|
339
355
|
break;
|
|
@@ -349,10 +365,11 @@ export class Pgsql extends Base {
|
|
|
349
365
|
* const result = await pgsql.getPrimaryKeys({ database: 'db-name', schema: 'schema-name', table: 'table-name' });
|
|
350
366
|
* ```
|
|
351
367
|
*/
|
|
352
|
-
public async getPrimaryKeys({ database, schema, table }: { database: string; schema: string; table: string; }): Promise<string> {
|
|
368
|
+
public async getPrimaryKeys({ database, schema, table, isExternal }: { database: string; schema: string; table: string; isExternal: boolean; }): Promise<string> {
|
|
353
369
|
const { rows } = await this.executeQuery<{ pk: string; }>({
|
|
354
370
|
database,
|
|
355
371
|
query: getGetPrimaryKeysQuery(schema, table),
|
|
372
|
+
isExternal,
|
|
356
373
|
});
|
|
357
374
|
return rows[0].pk;
|
|
358
375
|
}
|
|
@@ -371,10 +388,24 @@ export class Pgsql extends Base {
|
|
|
371
388
|
* });
|
|
372
389
|
* ```
|
|
373
390
|
*/
|
|
374
|
-
public async editRow({ database, schema, table, key, value, row, primaryKeys }: EditRowArgs): Promise<ExecuteQueryResponse<void>> {
|
|
391
|
+
public async editRow({ database, schema, table, key, value, row, primaryKeys, isExternal }: EditRowArgs): Promise<ExecuteQueryResponse<void>> {
|
|
392
|
+
// TODO: maybe move query and params to utils and return both
|
|
393
|
+
const params: any[] = [];
|
|
394
|
+
const addParam = (val: any) => {
|
|
395
|
+
params.push(val);
|
|
396
|
+
return `$${params.length}`;
|
|
397
|
+
};
|
|
398
|
+
|
|
399
|
+
const pk = splitPrimaryKeys(primaryKeys);
|
|
400
|
+
|
|
401
|
+
// TODO: move query to utils
|
|
375
402
|
return this.executeQuery({
|
|
376
403
|
database,
|
|
377
|
-
query:
|
|
404
|
+
query: `update ${schema}.${table}
|
|
405
|
+
set ${key} = ${addParam(value)}
|
|
406
|
+
where ${pk.map(primaryKey => `${primaryKey} = ${addParam(row[primaryKey])}`).join(' AND ')}`,
|
|
407
|
+
isExternal,
|
|
408
|
+
params,
|
|
378
409
|
});
|
|
379
410
|
}
|
|
380
411
|
|
|
@@ -392,10 +423,23 @@ export class Pgsql extends Base {
|
|
|
392
423
|
* });
|
|
393
424
|
* ```
|
|
394
425
|
*/
|
|
395
|
-
public async deleteRows({ database, schema, table, rows, primaryKeys }: DeleteRowsArgs): Promise<ExecuteQueryResponse<void>> {
|
|
426
|
+
public async deleteRows({ database, schema, table, rows, primaryKeys, isExternal }: DeleteRowsArgs): Promise<ExecuteQueryResponse<void>> {
|
|
427
|
+
const params: any[] = [];
|
|
428
|
+
const addParam = (val: any) => {
|
|
429
|
+
params.push(val);
|
|
430
|
+
return `$${params.length}`;
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
const pk = splitPrimaryKeys(primaryKeys);
|
|
434
|
+
// TODO: move query to util
|
|
435
|
+
const query = `delete from ${schema}.${table}
|
|
436
|
+
where (${rows.map(row => `${pk.map(primaryKey => `${primaryKey} = ${addParam(row[primaryKey])}`).join(' AND ')}`).join(') \nOR (')})`;
|
|
437
|
+
|
|
396
438
|
return this.executeQuery({
|
|
397
439
|
database,
|
|
398
|
-
query
|
|
440
|
+
query,
|
|
441
|
+
isExternal,
|
|
442
|
+
params,
|
|
399
443
|
});
|
|
400
444
|
}
|
|
401
445
|
|
|
@@ -405,10 +449,11 @@ export class Pgsql extends Base {
|
|
|
405
449
|
* const result = await pgsql.generateTableSchema({ database: 'db-name', schema: 'schema-name', table: 'table-name' });
|
|
406
450
|
* ```
|
|
407
451
|
*/
|
|
408
|
-
public async generateTableSchema({ database, schema, table }: { database: string; schema: string; table: string; }): Promise<string> {
|
|
452
|
+
public async generateTableSchema({ database, schema, table, isExternal }: { database: string; schema: string; table: string; isExternal: boolean; }): Promise<string> {
|
|
409
453
|
const { rows } = await this.executeQuery<{ code: string; }>({
|
|
410
454
|
database,
|
|
411
455
|
query: getGenerateTableSchemaQuery(schema, table),
|
|
456
|
+
isExternal,
|
|
412
457
|
});
|
|
413
458
|
|
|
414
459
|
return rows[0].code;
|
package/src/types.ts
CHANGED
|
@@ -25,11 +25,6 @@ export type PgsqlConfig = {
|
|
|
25
25
|
* Api version
|
|
26
26
|
*/
|
|
27
27
|
version?: string;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* use external database
|
|
31
|
-
*/
|
|
32
|
-
isExternal?: boolean;
|
|
33
28
|
};
|
|
34
29
|
|
|
35
30
|
export type QueryField = {
|
|
@@ -54,10 +49,9 @@ export type ExecuteQueryResponse<T> = {
|
|
|
54
49
|
|
|
55
50
|
export type ExecuteQueryArgs = {
|
|
56
51
|
query: string;
|
|
57
|
-
params?:
|
|
58
|
-
[key: string]: unknown;
|
|
59
|
-
};
|
|
52
|
+
params?: any[];
|
|
60
53
|
database: string;
|
|
54
|
+
isExternal: boolean;
|
|
61
55
|
};
|
|
62
56
|
|
|
63
57
|
export type CreateDatabaseResponse = {
|
|
@@ -96,6 +90,7 @@ export type CreateTableArgs = {
|
|
|
96
90
|
table: string;
|
|
97
91
|
columns: TableColumn[];
|
|
98
92
|
primaryKey: string;
|
|
93
|
+
isExternal: boolean;
|
|
99
94
|
};
|
|
100
95
|
|
|
101
96
|
export type AddColumnsArgs = {
|
|
@@ -103,6 +98,7 @@ export type AddColumnsArgs = {
|
|
|
103
98
|
schema: string;
|
|
104
99
|
table: string;
|
|
105
100
|
columns: TableColumn[];
|
|
101
|
+
isExternal: boolean;
|
|
106
102
|
};
|
|
107
103
|
|
|
108
104
|
export type Row = {
|
|
@@ -118,6 +114,7 @@ export type InsertArgs = {
|
|
|
118
114
|
context?: {
|
|
119
115
|
progress?: number;
|
|
120
116
|
};
|
|
117
|
+
isExternal: boolean;
|
|
121
118
|
};
|
|
122
119
|
|
|
123
120
|
export type EncodedValue = string | number | boolean;
|
|
@@ -132,6 +129,8 @@ export type SelectAllArgs = {
|
|
|
132
129
|
chunkSize?: number;
|
|
133
130
|
offset?: number;
|
|
134
131
|
limit?: number;
|
|
132
|
+
isExternal: boolean;
|
|
133
|
+
params?: any[];
|
|
135
134
|
};
|
|
136
135
|
|
|
137
136
|
export type EditRowArgs = {
|
|
@@ -142,6 +141,7 @@ export type EditRowArgs = {
|
|
|
142
141
|
value: unknown;
|
|
143
142
|
row: Row;
|
|
144
143
|
primaryKeys: string;
|
|
144
|
+
isExternal: boolean;
|
|
145
145
|
};
|
|
146
146
|
|
|
147
147
|
export type DeleteRowsArgs = {
|
|
@@ -150,6 +150,7 @@ export type DeleteRowsArgs = {
|
|
|
150
150
|
table: string;
|
|
151
151
|
rows: Row[];
|
|
152
152
|
primaryKeys: string;
|
|
153
|
+
isExternal: boolean;
|
|
153
154
|
};
|
|
154
155
|
|
|
155
156
|
export type DatabaseItem = {
|
package/src/utils/index.ts
CHANGED
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
* @internal
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
export { default as extractDatabaseNames } from './extractDatabaseNames';
|
|
6
|
-
export { default as getInsertKeys } from './getInsertKeys';
|
|
7
|
-
export { default as encodeValue } from './encodeValue';
|
|
8
5
|
export { default as splitPrimaryKeys } from './splitPrimaryKeys';
|
|
9
6
|
export { default as getListTablesQuery } from './getListTablesQuery';
|
|
10
7
|
export { default as createSchemaQuery } from './createSchemaQuery';
|
|
@@ -12,10 +9,7 @@ export { default as getDropSchemaQuery } from './getDropSchemaQuery';
|
|
|
12
9
|
export { default as getCreateTableQuery } from './getCreateTableQuery';
|
|
13
10
|
export { default as getDropTableQuery } from './getDropTableQuery';
|
|
14
11
|
export { default as getAddColumnsQuery } from './getAddColumnsQuery';
|
|
15
|
-
export { default as getInsertQueries } from './getInsertQueries';
|
|
16
12
|
export { default as getSelectAllCountQuery } from './getSelectAllCountQuery';
|
|
17
13
|
export { default as getSelectAllQuery } from './getSelectAllQuery';
|
|
18
|
-
export { default as getEditRowQuery } from './getEditRowQuery';
|
|
19
|
-
export { default as getDeleteRowsQuery } from './getDeleteRowsQuery';
|
|
20
14
|
export { default as getGenerateTableSchemaQuery } from './getGenerateTableSchemaQuery';
|
|
21
15
|
export { default as getGetPrimaryKeysQuery } from './getGetPrimaryKeysQuery';
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var lodash_1 = __importDefault(require("lodash"));
|
|
7
|
-
function encodeValue(value) {
|
|
8
|
-
if (lodash_1.default.isUndefined(value) || value === '' || lodash_1.default.isNull(value))
|
|
9
|
-
return 'NULL';
|
|
10
|
-
if (lodash_1.default.isString(value))
|
|
11
|
-
return "'".concat(value.replaceAll('\'', '\'\''), "'");
|
|
12
|
-
if (lodash_1.default.isNumber(value) || lodash_1.default.isBoolean(value))
|
|
13
|
-
return value;
|
|
14
|
-
return "'".concat(JSON.stringify(value).replaceAll('\'', '\'\''), "'");
|
|
15
|
-
}
|
|
16
|
-
exports.default = encodeValue;
|
|
17
|
-
//# sourceMappingURL=encodeValue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encodeValue.js","sourceRoot":"","sources":["../../../src/utils/encodeValue.ts"],"names":[],"mappings":";;;;;AACA,kDAAuB;AAEvB,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,gBAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,IAAI,gBAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3E,IAAI,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,WAAI,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAG,CAAC;IACpE,IAAI,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAO,WAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAG,CAAC;AAC/D,CAAC;AAED,kBAAe,WAAW,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function extractDatabaseNames(databaseNameArr) {
|
|
4
|
-
return databaseNameArr.map(function (_a) {
|
|
5
|
-
var name = _a.name;
|
|
6
|
-
return name;
|
|
7
|
-
});
|
|
8
|
-
}
|
|
9
|
-
exports.default = extractDatabaseNames;
|
|
10
|
-
//# sourceMappingURL=extractDatabaseNames.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractDatabaseNames.js","sourceRoot":"","sources":["../../../src/utils/extractDatabaseNames.ts"],"names":[],"mappings":";;AAEA,SAAS,oBAAoB,CAAC,eAA4C;IACxE,OAAO,eAAe,CAAC,GAAG,CAAC,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AACjD,CAAC;AAED,kBAAe,oBAAoB,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var utils_1 = require("../utils");
|
|
4
|
-
function getDeleteRowQuery(schema, table, rows, primaryKeys) {
|
|
5
|
-
var pk = (0, utils_1.splitPrimaryKeys)(primaryKeys);
|
|
6
|
-
return "delete from ".concat(schema, ".").concat(table, "\nwhere (").concat(rows.map(function (row) { return "".concat(pk.map(function (primaryKey) { return "".concat(primaryKey, " = ").concat((0, utils_1.encodeValue)(row[primaryKey])); }).join(' AND ')); }).join(') \nOR ('), ")");
|
|
7
|
-
}
|
|
8
|
-
exports.default = getDeleteRowQuery;
|
|
9
|
-
//# sourceMappingURL=getDeleteRowsQuery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getDeleteRowsQuery.js","sourceRoot":"","sources":["../../../src/utils/getDeleteRowsQuery.ts"],"names":[],"mappings":";;AACA,kCAAyD;AAEzD,SAAS,iBAAiB,CAAC,MAAc,EAAE,KAAa,EAAE,IAAW,EAAE,WAAmB;IACxF,IAAM,EAAE,GAAG,IAAA,wBAAgB,EAAC,WAAW,CAAC,CAAC;IACzC,OAAO,sBAAe,MAAM,cAAI,KAAK,sBAC9B,IAAI,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,UAAG,EAAE,CAAC,GAAG,CAAC,UAAA,UAAU,IAAI,OAAA,UAAG,UAAU,gBAAM,IAAA,mBAAW,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,EAAjD,CAAiD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAE,EAA1F,CAA0F,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAG,CAAC;AACzI,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var utils_1 = require("../utils");
|
|
4
|
-
function getEditRowQuery(schema, table, key, value, row, primaryKeys) {
|
|
5
|
-
value = (0, utils_1.encodeValue)(value);
|
|
6
|
-
var pk = (0, utils_1.splitPrimaryKeys)(primaryKeys);
|
|
7
|
-
return "update ".concat(schema, ".").concat(table, "\nset ").concat(key, " = ").concat(value, "\nwhere ").concat(pk.map(function (primaryKey) { return "".concat(primaryKey, " = ").concat((0, utils_1.encodeValue)(row[primaryKey])); }).join(' AND '));
|
|
8
|
-
}
|
|
9
|
-
exports.default = getEditRowQuery;
|
|
10
|
-
//# sourceMappingURL=getEditRowQuery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getEditRowQuery.js","sourceRoot":"","sources":["../../../src/utils/getEditRowQuery.ts"],"names":[],"mappings":";;AAAA,kCAAyD;AAGzD,SAAS,eAAe,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAE,KAAc,EAAE,GAAQ,EAAE,WAAmB;IAChH,KAAK,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;IAC3B,IAAM,EAAE,GAAG,IAAA,wBAAgB,EAAC,WAAW,CAAC,CAAC;IACzC,OAAO,iBAAU,MAAM,cAAI,KAAK,mBAC5B,GAAG,gBAAM,KAAK,qBACZ,EAAE,CAAC,GAAG,CAAC,UAAA,UAAU,IAAI,OAAA,UAAG,UAAU,gBAAM,IAAA,mBAAW,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,EAAjD,CAAiD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAE,CAAC;AAChG,CAAC;AAED,kBAAe,eAAe,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function getInsertKeys(rows) {
|
|
4
|
-
var allKeys = {};
|
|
5
|
-
rows.forEach(function (x) { return Object.assign(allKeys, x); });
|
|
6
|
-
return Object.keys(allKeys);
|
|
7
|
-
}
|
|
8
|
-
exports.default = getInsertKeys;
|
|
9
|
-
//# sourceMappingURL=getInsertKeys.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getInsertKeys.js","sourceRoot":"","sources":["../../../src/utils/getInsertKeys.ts"],"names":[],"mappings":";;AAEA,SAAS,aAAa,CAAC,IAAW;IAChC,IAAM,OAAO,GAAG,EAAE,CAAC;IACnB,IAAI,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAzB,CAAyB,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var utils_1 = require("../utils");
|
|
7
|
-
var lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
function getInsertQueries(schema, table, insertRows, chunkSize) {
|
|
9
|
-
var rows = lodash_1.default.isArray(insertRows) ? insertRows : [insertRows];
|
|
10
|
-
var keys = (0, utils_1.getInsertKeys)(rows);
|
|
11
|
-
var stringifyRow = function (row) { return "".concat(keys.map(function (key) { return (0, utils_1.encodeValue)(row[key]); }).join(', ')); };
|
|
12
|
-
return lodash_1.default.chain(rows)
|
|
13
|
-
.chunk(chunkSize)
|
|
14
|
-
.map(function (chunk) { return "insert into ".concat(schema, ".").concat(table, " (").concat(keys.join(', '), ")\nvalues (").concat(chunk.map(stringifyRow).join('), ('), ");"); })
|
|
15
|
-
.value();
|
|
16
|
-
}
|
|
17
|
-
exports.default = getInsertQueries;
|
|
18
|
-
//# sourceMappingURL=getInsertQueries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getInsertQueries.js","sourceRoot":"","sources":["../../../src/utils/getInsertQueries.ts"],"names":[],"mappings":";;;;;AACA,kCAAsD;AACtD,kDAAuB;AAEvB,SAAS,gBAAgB,CAAC,MAAc,EAAE,KAAa,EAAE,UAAiB,EAAE,SAAiB;IAC3F,IAAM,IAAI,GAAG,gBAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAE/D,IAAM,IAAI,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC;IACjC,IAAM,YAAY,GAAG,UAAC,GAAQ,IAAK,OAAA,UAAG,IAAI,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,IAAA,mBAAW,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAArB,CAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,EAAtD,CAAsD,CAAC;IAE1F,OAAO,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC;SACjB,KAAK,CAAC,SAAS,CAAC;SAChB,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,sBAAe,MAAM,cAAI,KAAK,eAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,wBAC5D,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAI,EAD9B,CAC8B,CAAC;SAC9C,KAAK,EAAE,CAAC;AACb,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import _ from 'lodash';
|
|
2
|
-
function encodeValue(value) {
|
|
3
|
-
if (_.isUndefined(value) || value === '' || _.isNull(value))
|
|
4
|
-
return 'NULL';
|
|
5
|
-
if (_.isString(value))
|
|
6
|
-
return `'${value.replaceAll('\'', '\'\'')}'`;
|
|
7
|
-
if (_.isNumber(value) || _.isBoolean(value))
|
|
8
|
-
return value;
|
|
9
|
-
return `'${JSON.stringify(value).replaceAll('\'', '\'\'')}'`;
|
|
10
|
-
}
|
|
11
|
-
export default encodeValue;
|
|
12
|
-
//# sourceMappingURL=encodeValue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encodeValue.js","sourceRoot":"","sources":["../../../src/utils/encodeValue.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3E,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;IACpE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;AAC/D,CAAC;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractDatabaseNames.js","sourceRoot":"","sources":["../../../src/utils/extractDatabaseNames.ts"],"names":[],"mappings":"AAEA,SAAS,oBAAoB,CAAC,eAA4C;IACxE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { encodeValue, splitPrimaryKeys } from '../utils';
|
|
2
|
-
function getDeleteRowQuery(schema, table, rows, primaryKeys) {
|
|
3
|
-
const pk = splitPrimaryKeys(primaryKeys);
|
|
4
|
-
return `delete from ${schema}.${table}
|
|
5
|
-
where (${rows.map(row => `${pk.map(primaryKey => `${primaryKey} = ${encodeValue(row[primaryKey])}`).join(' AND ')}`).join(') \nOR (')})`;
|
|
6
|
-
}
|
|
7
|
-
export default getDeleteRowQuery;
|
|
8
|
-
//# sourceMappingURL=getDeleteRowsQuery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getDeleteRowsQuery.js","sourceRoot":"","sources":["../../../src/utils/getDeleteRowsQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEzD,SAAS,iBAAiB,CAAC,MAAc,EAAE,KAAa,EAAE,IAAW,EAAE,WAAmB;IACxF,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,eAAe,MAAM,IAAI,KAAK;SAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,UAAU,MAAM,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AACzI,CAAC;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { encodeValue, splitPrimaryKeys } from '../utils';
|
|
2
|
-
function getEditRowQuery(schema, table, key, value, row, primaryKeys) {
|
|
3
|
-
value = encodeValue(value);
|
|
4
|
-
const pk = splitPrimaryKeys(primaryKeys);
|
|
5
|
-
return `update ${schema}.${table}
|
|
6
|
-
set ${key} = ${value}
|
|
7
|
-
where ${pk.map(primaryKey => `${primaryKey} = ${encodeValue(row[primaryKey])}`).join(' AND ')}`;
|
|
8
|
-
}
|
|
9
|
-
export default getEditRowQuery;
|
|
10
|
-
//# sourceMappingURL=getEditRowQuery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getEditRowQuery.js","sourceRoot":"","sources":["../../../src/utils/getEditRowQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGzD,SAAS,eAAe,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAE,KAAc,EAAE,GAAQ,EAAE,WAAmB;IAChH,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,UAAU,MAAM,IAAI,KAAK;MAC5B,GAAG,MAAM,KAAK;QACZ,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,UAAU,MAAM,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AAChG,CAAC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getInsertKeys.js","sourceRoot":"","sources":["../../../src/utils/getInsertKeys.ts"],"names":[],"mappings":"AAEA,SAAS,aAAa,CAAC,IAAW;IAChC,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { encodeValue, getInsertKeys } from '../utils';
|
|
2
|
-
import _ from 'lodash';
|
|
3
|
-
function getInsertQueries(schema, table, insertRows, chunkSize) {
|
|
4
|
-
const rows = _.isArray(insertRows) ? insertRows : [insertRows];
|
|
5
|
-
const keys = getInsertKeys(rows);
|
|
6
|
-
const stringifyRow = (row) => `${keys.map(key => encodeValue(row[key])).join(', ')}`;
|
|
7
|
-
return _.chain(rows)
|
|
8
|
-
.chunk(chunkSize)
|
|
9
|
-
.map((chunk) => `insert into ${schema}.${table} (${keys.join(', ')})
|
|
10
|
-
values (${chunk.map(stringifyRow).join('), (')});`)
|
|
11
|
-
.value();
|
|
12
|
-
}
|
|
13
|
-
export default getInsertQueries;
|
|
14
|
-
//# sourceMappingURL=getInsertQueries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getInsertQueries.js","sourceRoot":"","sources":["../../../src/utils/getInsertQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,SAAS,gBAAgB,CAAC,MAAc,EAAE,KAAa,EAAE,UAAiB,EAAE,SAAiB;IAC3F,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAE1F,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;SACjB,KAAK,CAAC,SAAS,CAAC;SAChB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,MAAM,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;UAC5D,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SAC9C,KAAK,EAAE,CAAC;AACb,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encodeValue.d.ts","sourceRoot":"","sources":["../../../src/utils/encodeValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,iBAAS,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAKjD;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractDatabaseNames.d.ts","sourceRoot":"","sources":["../../../src/utils/extractDatabaseNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErD,iBAAS,oBAAoB,CAAC,eAAe,EAAE,yBAAyB,EAAE,GAAG,MAAM,EAAE,CAEpF;AAED,eAAe,oBAAoB,CAAC"}
|