query-core 0.2.4 → 0.2.5
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/lib/batch.js +3 -3
- package/lib/build.js +89 -89
- package/lib/client.js +15 -15
- package/lib/health.js +14 -14
- package/lib/index.js +59 -72
- package/lib/map.js +3 -3
- package/lib/search.js +18 -18
- package/lib/services.js +0 -30
- package/package.json +1 -1
- package/src/index.ts +1 -20
package/lib/batch.js
CHANGED
|
@@ -26,7 +26,7 @@ var SqlInserter = (function () {
|
|
|
26
26
|
var stmt = build_1.buildToInsert(obj2, this.table, this.attributes, this.param, this.version);
|
|
27
27
|
if (stmt) {
|
|
28
28
|
if (this.oneIfSuccess) {
|
|
29
|
-
return this.exec(stmt.query, stmt.params).then(function (ct) { return ct > 0 ? 1 : 0; });
|
|
29
|
+
return this.exec(stmt.query, stmt.params).then(function (ct) { return (ct > 0 ? 1 : 0); });
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
32
32
|
return this.exec(stmt.query, stmt.params);
|
|
@@ -64,7 +64,7 @@ var SqlUpdater = (function () {
|
|
|
64
64
|
var stmt = build_1.buildToUpdate(obj2, this.table, this.attributes, this.param, this.version);
|
|
65
65
|
if (stmt) {
|
|
66
66
|
if (this.oneIfSuccess) {
|
|
67
|
-
return this.exec(stmt.query, stmt.params).then(function (ct) { return ct > 0 ? 1 : 0; });
|
|
67
|
+
return this.exec(stmt.query, stmt.params).then(function (ct) { return (ct > 0 ? 1 : 0); });
|
|
68
68
|
}
|
|
69
69
|
else {
|
|
70
70
|
return this.exec(stmt.query, stmt.params);
|
|
@@ -214,7 +214,7 @@ var StreamInserter = (function () {
|
|
|
214
214
|
return this.exec(stmt.query, stmt.params).then(function (r) {
|
|
215
215
|
_this.list = [];
|
|
216
216
|
return total_1;
|
|
217
|
-
});
|
|
217
|
+
});
|
|
218
218
|
}
|
|
219
219
|
else {
|
|
220
220
|
return Promise.resolve(0);
|
package/lib/build.js
CHANGED
|
@@ -22,8 +22,8 @@ function select(obj, table, ks, buildParam, i) {
|
|
|
22
22
|
i = 1;
|
|
23
23
|
}
|
|
24
24
|
if (ks.length === 1) {
|
|
25
|
-
var field =
|
|
26
|
-
if (typeof obj ===
|
|
25
|
+
var field = ks[0].column ? ks[0].column : ks[0].name;
|
|
26
|
+
if (typeof obj === "number") {
|
|
27
27
|
var query = "select * from " + table + " where " + field + " = " + obj;
|
|
28
28
|
return { query: query, params: [] };
|
|
29
29
|
}
|
|
@@ -38,12 +38,12 @@ function select(obj, table, ks, buildParam, i) {
|
|
|
38
38
|
for (var _i = 0, ks_1 = ks; _i < ks_1.length; _i++) {
|
|
39
39
|
var k = ks_1[_i];
|
|
40
40
|
if (k.name) {
|
|
41
|
-
var field =
|
|
41
|
+
var field = k.column ? k.column : k.name;
|
|
42
42
|
cols.push(field + " = " + buildParam(i++));
|
|
43
43
|
args.push(obj[k.name]);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
var query = "select * from " + table + " where " + cols.join(
|
|
46
|
+
var query = "select * from " + table + " where " + cols.join(" and ");
|
|
47
47
|
return { query: query, params: args };
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
@@ -56,11 +56,11 @@ function exist(obj, table, ks, buildParam, col, i) {
|
|
|
56
56
|
i = 1;
|
|
57
57
|
}
|
|
58
58
|
if (!col || col.length === 0) {
|
|
59
|
-
col =
|
|
59
|
+
col = "*";
|
|
60
60
|
}
|
|
61
61
|
if (ks.length === 1) {
|
|
62
|
-
var field =
|
|
63
|
-
if (typeof obj ===
|
|
62
|
+
var field = ks[0].column ? ks[0].column : ks[0].name;
|
|
63
|
+
if (typeof obj === "number") {
|
|
64
64
|
var query = "select " + col + " from " + table + " where " + field + " = " + obj;
|
|
65
65
|
return { query: query, params: [] };
|
|
66
66
|
}
|
|
@@ -75,12 +75,12 @@ function exist(obj, table, ks, buildParam, col, i) {
|
|
|
75
75
|
for (var _i = 0, ks_2 = ks; _i < ks_2.length; _i++) {
|
|
76
76
|
var k = ks_2[_i];
|
|
77
77
|
if (k.name) {
|
|
78
|
-
var field =
|
|
78
|
+
var field = k.column ? k.column : k.name;
|
|
79
79
|
cols.push(field + " = " + buildParam(i++));
|
|
80
80
|
args.push(obj[k.name]);
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
var query = "select * from " + table + " where " + cols.join(
|
|
83
|
+
var query = "select * from " + table + " where " + cols.join(" and ");
|
|
84
84
|
return { query: query, params: args };
|
|
85
85
|
}
|
|
86
86
|
else {
|
|
@@ -93,8 +93,8 @@ function buildToDelete(obj, table, ks, buildParam, i) {
|
|
|
93
93
|
i = 1;
|
|
94
94
|
}
|
|
95
95
|
if (ks.length === 1) {
|
|
96
|
-
var field =
|
|
97
|
-
if (typeof obj ===
|
|
96
|
+
var field = ks[0].column ? ks[0].column : ks[0].name;
|
|
97
|
+
if (typeof obj === "number") {
|
|
98
98
|
var query = "delete from " + table + " where " + field + " = " + obj;
|
|
99
99
|
return { query: query, params: [] };
|
|
100
100
|
}
|
|
@@ -109,12 +109,12 @@ function buildToDelete(obj, table, ks, buildParam, i) {
|
|
|
109
109
|
for (var _i = 0, ks_3 = ks; _i < ks_3.length; _i++) {
|
|
110
110
|
var k = ks_3[_i];
|
|
111
111
|
if (k.name) {
|
|
112
|
-
var field =
|
|
112
|
+
var field = k.column ? k.column : k.name;
|
|
113
113
|
cols.push(field + " = " + buildParam(i++));
|
|
114
114
|
args.push(obj[k.name]);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
-
var query = "delete from " + table + " where " + cols.join(
|
|
117
|
+
var query = "delete from " + table + " where " + cols.join(" and ");
|
|
118
118
|
return { query: query, params: args };
|
|
119
119
|
}
|
|
120
120
|
else {
|
|
@@ -151,20 +151,20 @@ function buildToInsert(obj, table, attrs, buildParam, ver, i) {
|
|
|
151
151
|
v = attr.default;
|
|
152
152
|
}
|
|
153
153
|
if (v !== undefined && v != null) {
|
|
154
|
-
var field =
|
|
154
|
+
var field = attr.column ? attr.column : k;
|
|
155
155
|
cols.push(field);
|
|
156
156
|
if (k === ver) {
|
|
157
157
|
isVersion = true;
|
|
158
158
|
values.push("" + 1);
|
|
159
159
|
}
|
|
160
160
|
else {
|
|
161
|
-
if (v ===
|
|
161
|
+
if (v === "") {
|
|
162
162
|
values.push("''");
|
|
163
163
|
}
|
|
164
|
-
else if (typeof v ===
|
|
164
|
+
else if (typeof v === "number") {
|
|
165
165
|
values.push(toString(v));
|
|
166
166
|
}
|
|
167
|
-
else if (typeof v ===
|
|
167
|
+
else if (typeof v === "boolean") {
|
|
168
168
|
if (attr.true === undefined) {
|
|
169
169
|
if (v === true) {
|
|
170
170
|
values.push("true");
|
|
@@ -177,17 +177,17 @@ function buildToInsert(obj, table, attrs, buildParam, ver, i) {
|
|
|
177
177
|
var p = buildParam(i++);
|
|
178
178
|
values.push(p);
|
|
179
179
|
if (v === true) {
|
|
180
|
-
var v2 =
|
|
180
|
+
var v2 = attr.true ? attr.true : "1";
|
|
181
181
|
args.push(v2);
|
|
182
182
|
}
|
|
183
183
|
else {
|
|
184
|
-
var v2 =
|
|
184
|
+
var v2 = attr.false ? attr.false : "0";
|
|
185
185
|
args.push(v2);
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
else {
|
|
190
|
-
if (resource.ignoreDatetime && typeof v ===
|
|
190
|
+
if (resource.ignoreDatetime && typeof v === "string" && attr.type === "datetime") {
|
|
191
191
|
values.push("'" + v + "'");
|
|
192
192
|
}
|
|
193
193
|
else {
|
|
@@ -202,7 +202,7 @@ function buildToInsert(obj, table, attrs, buildParam, ver, i) {
|
|
|
202
202
|
}
|
|
203
203
|
if (!isVersion && ver && ver.length > 0) {
|
|
204
204
|
var attr = attrs[ver];
|
|
205
|
-
var field =
|
|
205
|
+
var field = attr.column ? attr.column : ver;
|
|
206
206
|
cols.push(field);
|
|
207
207
|
values.push("" + 1);
|
|
208
208
|
}
|
|
@@ -210,7 +210,7 @@ function buildToInsert(obj, table, attrs, buildParam, ver, i) {
|
|
|
210
210
|
return undefined;
|
|
211
211
|
}
|
|
212
212
|
else {
|
|
213
|
-
var query = "insert into " + table + "(" + cols.join(
|
|
213
|
+
var query = "insert into " + table + "(" + cols.join(",") + ")values(" + values.join(",") + ")";
|
|
214
214
|
return { query: query, params: args };
|
|
215
215
|
}
|
|
216
216
|
}
|
|
@@ -226,7 +226,7 @@ function insertBatch(exec, objs, table, attrs, buildParam, ver, i) {
|
|
|
226
226
|
}
|
|
227
227
|
exports.insertBatch = insertBatch;
|
|
228
228
|
function buildOracleParam(i) {
|
|
229
|
-
return
|
|
229
|
+
return ":" + i;
|
|
230
230
|
}
|
|
231
231
|
function buildToInsertBatch(objs, table, attrs, buildParam, ver, i) {
|
|
232
232
|
if (!i) {
|
|
@@ -234,14 +234,14 @@ function buildToInsertBatch(objs, table, attrs, buildParam, ver, i) {
|
|
|
234
234
|
}
|
|
235
235
|
var ks = Object.keys(attrs);
|
|
236
236
|
var args = [];
|
|
237
|
-
if (buildParam && typeof buildParam ===
|
|
237
|
+
if (buildParam && typeof buildParam === "function") {
|
|
238
238
|
var cols = [];
|
|
239
239
|
var rows = [];
|
|
240
240
|
for (var _i = 0, ks_5 = ks; _i < ks_5.length; _i++) {
|
|
241
241
|
var k = ks_5[_i];
|
|
242
242
|
var attr = attrs[k];
|
|
243
243
|
if (attr && !attr.ignored && !attr.noinsert) {
|
|
244
|
-
var field =
|
|
244
|
+
var field = attr.column ? attr.column : k;
|
|
245
245
|
cols.push(field);
|
|
246
246
|
}
|
|
247
247
|
}
|
|
@@ -257,18 +257,18 @@ function buildToInsertBatch(objs, table, attrs, buildParam, ver, i) {
|
|
|
257
257
|
v = attr.default;
|
|
258
258
|
}
|
|
259
259
|
if (attr.version) {
|
|
260
|
-
values.push(
|
|
260
|
+
values.push("1");
|
|
261
261
|
}
|
|
262
262
|
else if (v === undefined || v == null) {
|
|
263
|
-
values.push(
|
|
263
|
+
values.push("null");
|
|
264
264
|
}
|
|
265
|
-
else if (v ===
|
|
265
|
+
else if (v === "") {
|
|
266
266
|
values.push("''");
|
|
267
267
|
}
|
|
268
|
-
else if (typeof v ===
|
|
268
|
+
else if (typeof v === "number") {
|
|
269
269
|
values.push(toString(v));
|
|
270
270
|
}
|
|
271
|
-
else if (typeof v ===
|
|
271
|
+
else if (typeof v === "boolean") {
|
|
272
272
|
if (attr.true === undefined) {
|
|
273
273
|
if (v === true) {
|
|
274
274
|
values.push("true");
|
|
@@ -281,17 +281,17 @@ function buildToInsertBatch(objs, table, attrs, buildParam, ver, i) {
|
|
|
281
281
|
var p = buildParam(i++);
|
|
282
282
|
values.push(p);
|
|
283
283
|
if (v === true) {
|
|
284
|
-
var v2 =
|
|
284
|
+
var v2 = attr.true ? attr.true : "1";
|
|
285
285
|
args.push(v2);
|
|
286
286
|
}
|
|
287
287
|
else {
|
|
288
|
-
var v2 =
|
|
288
|
+
var v2 = attr.false ? attr.false : "0";
|
|
289
289
|
args.push(v2);
|
|
290
290
|
}
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
293
|
else {
|
|
294
|
-
if (resource.ignoreDatetime && typeof v ===
|
|
294
|
+
if (resource.ignoreDatetime && typeof v === "string" && attr.type === "datetime") {
|
|
295
295
|
values.push("'" + v + "'");
|
|
296
296
|
}
|
|
297
297
|
else {
|
|
@@ -302,9 +302,9 @@ function buildToInsertBatch(objs, table, attrs, buildParam, ver, i) {
|
|
|
302
302
|
}
|
|
303
303
|
}
|
|
304
304
|
}
|
|
305
|
-
rows.push("(" + values.join(
|
|
305
|
+
rows.push("(" + values.join(",") + ")");
|
|
306
306
|
}
|
|
307
|
-
var query = "insert into " + table + "(" + cols.join(
|
|
307
|
+
var query = "insert into " + table + "(" + cols.join(",") + ")values " + rows.join(",");
|
|
308
308
|
return { query: query, params: args };
|
|
309
309
|
}
|
|
310
310
|
else {
|
|
@@ -327,20 +327,20 @@ function buildToInsertBatch(objs, table, attrs, buildParam, ver, i) {
|
|
|
327
327
|
v = attr.default;
|
|
328
328
|
}
|
|
329
329
|
if (v !== undefined && v != null) {
|
|
330
|
-
var field =
|
|
330
|
+
var field = attr.column ? attr.column : k;
|
|
331
331
|
cols.push(field);
|
|
332
332
|
if (k === ver) {
|
|
333
333
|
isVersion = true;
|
|
334
334
|
values.push("" + 1);
|
|
335
335
|
}
|
|
336
336
|
else {
|
|
337
|
-
if (v ===
|
|
337
|
+
if (v === "") {
|
|
338
338
|
values.push("''");
|
|
339
339
|
}
|
|
340
|
-
else if (typeof v ===
|
|
340
|
+
else if (typeof v === "number") {
|
|
341
341
|
values.push(toString(v));
|
|
342
342
|
}
|
|
343
|
-
else if (typeof v ===
|
|
343
|
+
else if (typeof v === "boolean") {
|
|
344
344
|
if (attr.true === undefined) {
|
|
345
345
|
if (v === true) {
|
|
346
346
|
values.push("true");
|
|
@@ -353,11 +353,11 @@ function buildToInsertBatch(objs, table, attrs, buildParam, ver, i) {
|
|
|
353
353
|
var p = buildOracleParam(i++);
|
|
354
354
|
values.push(p);
|
|
355
355
|
if (v === true) {
|
|
356
|
-
var v2 =
|
|
356
|
+
var v2 = attr.true ? attr.true : "1";
|
|
357
357
|
args.push(v2);
|
|
358
358
|
}
|
|
359
359
|
else {
|
|
360
|
-
var v2 =
|
|
360
|
+
var v2 = attr.false ? attr.false : "0";
|
|
361
361
|
args.push(v2);
|
|
362
362
|
}
|
|
363
363
|
}
|
|
@@ -373,7 +373,7 @@ function buildToInsertBatch(objs, table, attrs, buildParam, ver, i) {
|
|
|
373
373
|
}
|
|
374
374
|
if (!isVersion && ver && ver.length > 0) {
|
|
375
375
|
var attr = attrs[ver];
|
|
376
|
-
var field =
|
|
376
|
+
var field = attr.column ? attr.column : ver;
|
|
377
377
|
cols.push(field);
|
|
378
378
|
values.push("" + 1);
|
|
379
379
|
}
|
|
@@ -383,14 +383,14 @@ function buildToInsertBatch(objs, table, attrs, buildParam, ver, i) {
|
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
385
|
else {
|
|
386
|
-
var s = "into " + table + "(" + cols.join(
|
|
386
|
+
var s = "into " + table + "(" + cols.join(",") + ")values(" + values.join(",") + ")";
|
|
387
387
|
rows.push(s);
|
|
388
388
|
}
|
|
389
389
|
}
|
|
390
390
|
if (rows.length === 0) {
|
|
391
391
|
return undefined;
|
|
392
392
|
}
|
|
393
|
-
var query = "insert all " + rows.join(
|
|
393
|
+
var query = "insert all " + rows.join(" ") + " select * from dual";
|
|
394
394
|
return { query: query, params: args };
|
|
395
395
|
}
|
|
396
396
|
}
|
|
@@ -426,18 +426,18 @@ function buildToUpdate(obj, table, attrs, buildParam, ver, i) {
|
|
|
426
426
|
pks.push(attr);
|
|
427
427
|
}
|
|
428
428
|
else if (!attr.noupdate) {
|
|
429
|
-
var field =
|
|
429
|
+
var field = attr.column ? attr.column : k;
|
|
430
430
|
var x = void 0;
|
|
431
431
|
if (v == null) {
|
|
432
|
-
x =
|
|
432
|
+
x = "null";
|
|
433
433
|
}
|
|
434
|
-
else if (v ===
|
|
434
|
+
else if (v === "") {
|
|
435
435
|
x = "''";
|
|
436
436
|
}
|
|
437
|
-
else if (typeof v ===
|
|
437
|
+
else if (typeof v === "number") {
|
|
438
438
|
x = toString(v);
|
|
439
439
|
}
|
|
440
|
-
else if (typeof v ===
|
|
440
|
+
else if (typeof v === "boolean") {
|
|
441
441
|
if (attr.true === undefined) {
|
|
442
442
|
if (v === true) {
|
|
443
443
|
x = "true";
|
|
@@ -449,17 +449,17 @@ function buildToUpdate(obj, table, attrs, buildParam, ver, i) {
|
|
|
449
449
|
else {
|
|
450
450
|
x = buildParam(i++);
|
|
451
451
|
if (v === true) {
|
|
452
|
-
var v2 =
|
|
452
|
+
var v2 = attr.true ? attr.true : "1";
|
|
453
453
|
args.push(v2);
|
|
454
454
|
}
|
|
455
455
|
else {
|
|
456
|
-
var v2 =
|
|
456
|
+
var v2 = attr.false ? attr.false : "0";
|
|
457
457
|
args.push(v2);
|
|
458
458
|
}
|
|
459
459
|
}
|
|
460
460
|
}
|
|
461
461
|
else {
|
|
462
|
-
if (resource.ignoreDatetime && typeof v ===
|
|
462
|
+
if (resource.ignoreDatetime && typeof v === "string" && attr.type === "datetime") {
|
|
463
463
|
x = "'" + v + "'";
|
|
464
464
|
}
|
|
465
465
|
else {
|
|
@@ -474,33 +474,33 @@ function buildToUpdate(obj, table, attrs, buildParam, ver, i) {
|
|
|
474
474
|
}
|
|
475
475
|
for (var _a = 0, pks_1 = pks; _a < pks_1.length; _a++) {
|
|
476
476
|
var pk = pks_1[_a];
|
|
477
|
-
var na =
|
|
477
|
+
var na = pk.name ? pk.name : "";
|
|
478
478
|
var v = o[na];
|
|
479
479
|
if (!v) {
|
|
480
480
|
return undefined;
|
|
481
481
|
}
|
|
482
482
|
else {
|
|
483
483
|
var attr = attrs[na];
|
|
484
|
-
var field =
|
|
484
|
+
var field = attr.column ? attr.column : pk.name;
|
|
485
485
|
var x = void 0;
|
|
486
486
|
if (v == null) {
|
|
487
|
-
x =
|
|
487
|
+
x = "null";
|
|
488
488
|
}
|
|
489
|
-
else if (v ===
|
|
489
|
+
else if (v === "") {
|
|
490
490
|
x = "''";
|
|
491
491
|
}
|
|
492
|
-
else if (typeof v ===
|
|
492
|
+
else if (typeof v === "number") {
|
|
493
493
|
x = toString(v);
|
|
494
494
|
}
|
|
495
495
|
else {
|
|
496
496
|
x = buildParam(i++);
|
|
497
|
-
if (typeof v ===
|
|
497
|
+
if (typeof v === "boolean") {
|
|
498
498
|
if (v === true) {
|
|
499
|
-
var v2 =
|
|
499
|
+
var v2 = attr.true ? "" + attr.true : "1";
|
|
500
500
|
args.push(v2);
|
|
501
501
|
}
|
|
502
502
|
else {
|
|
503
|
-
var v2 =
|
|
503
|
+
var v2 = attr.false ? "" + attr.false : "0";
|
|
504
504
|
args.push(v2);
|
|
505
505
|
}
|
|
506
506
|
}
|
|
@@ -513,10 +513,10 @@ function buildToUpdate(obj, table, attrs, buildParam, ver, i) {
|
|
|
513
513
|
}
|
|
514
514
|
if (ver && ver.length > 0) {
|
|
515
515
|
var v = o[ver];
|
|
516
|
-
if (typeof v ===
|
|
516
|
+
if (typeof v === "number" && !isNaN(v)) {
|
|
517
517
|
var attr = attrs[ver];
|
|
518
518
|
if (attr) {
|
|
519
|
-
var field =
|
|
519
|
+
var field = attr.column ? attr.column : ver;
|
|
520
520
|
colSet.push(field + "=" + (1 + v));
|
|
521
521
|
colQuery.push(field + "=" + v);
|
|
522
522
|
}
|
|
@@ -526,7 +526,7 @@ function buildToUpdate(obj, table, attrs, buildParam, ver, i) {
|
|
|
526
526
|
return undefined;
|
|
527
527
|
}
|
|
528
528
|
else {
|
|
529
|
-
var query = "update " + table + " set " + colSet.join(
|
|
529
|
+
var query = "update " + table + " set " + colSet.join(",") + " where " + colQuery.join(" and ");
|
|
530
530
|
return { query: query, params: args };
|
|
531
531
|
}
|
|
532
532
|
}
|
|
@@ -562,18 +562,18 @@ function buildToUpdateBatch(objs, table, attrs, buildParam, notSkipInvalid) {
|
|
|
562
562
|
var attr = attrs[k];
|
|
563
563
|
attr.name = k;
|
|
564
564
|
if (attr && !attr.ignored && !attr.key && !attr.version && !attr.noupdate) {
|
|
565
|
-
var field =
|
|
565
|
+
var field = attr.column ? attr.column : k;
|
|
566
566
|
var x = void 0;
|
|
567
567
|
if (v == null) {
|
|
568
|
-
x =
|
|
568
|
+
x = "null";
|
|
569
569
|
}
|
|
570
|
-
else if (v ===
|
|
570
|
+
else if (v === "") {
|
|
571
571
|
x = "''";
|
|
572
572
|
}
|
|
573
|
-
else if (typeof v ===
|
|
573
|
+
else if (typeof v === "number") {
|
|
574
574
|
x = toString(v);
|
|
575
575
|
}
|
|
576
|
-
else if (typeof v ===
|
|
576
|
+
else if (typeof v === "boolean") {
|
|
577
577
|
if (attr.true === undefined) {
|
|
578
578
|
if (v === true) {
|
|
579
579
|
x = "true";
|
|
@@ -585,11 +585,11 @@ function buildToUpdateBatch(objs, table, attrs, buildParam, notSkipInvalid) {
|
|
|
585
585
|
else {
|
|
586
586
|
x = buildParam(i++);
|
|
587
587
|
if (v === true) {
|
|
588
|
-
var v2 =
|
|
588
|
+
var v2 = attr.true ? attr.true : "1";
|
|
589
589
|
args.push(v2);
|
|
590
590
|
}
|
|
591
591
|
else {
|
|
592
|
-
var v2 =
|
|
592
|
+
var v2 = attr.false ? attr.false : "0";
|
|
593
593
|
args.push(v2);
|
|
594
594
|
}
|
|
595
595
|
}
|
|
@@ -605,33 +605,33 @@ function buildToUpdateBatch(objs, table, attrs, buildParam, notSkipInvalid) {
|
|
|
605
605
|
var valid = true;
|
|
606
606
|
for (var _b = 0, _c = meta.keys; _b < _c.length; _b++) {
|
|
607
607
|
var pk = _c[_b];
|
|
608
|
-
var na =
|
|
608
|
+
var na = pk.name ? pk.name : "";
|
|
609
609
|
var v = o[na];
|
|
610
610
|
if (!v) {
|
|
611
611
|
valid = false;
|
|
612
612
|
}
|
|
613
613
|
else {
|
|
614
614
|
var attr = attrs[na];
|
|
615
|
-
var field =
|
|
615
|
+
var field = attr.column ? attr.column : pk.name;
|
|
616
616
|
var x = void 0;
|
|
617
617
|
if (v == null) {
|
|
618
|
-
x =
|
|
618
|
+
x = "null";
|
|
619
619
|
}
|
|
620
|
-
else if (v ===
|
|
620
|
+
else if (v === "") {
|
|
621
621
|
x = "''";
|
|
622
622
|
}
|
|
623
|
-
else if (typeof v ===
|
|
623
|
+
else if (typeof v === "number") {
|
|
624
624
|
x = toString(v);
|
|
625
625
|
}
|
|
626
626
|
else {
|
|
627
627
|
x = buildParam(i++);
|
|
628
|
-
if (typeof v ===
|
|
628
|
+
if (typeof v === "boolean") {
|
|
629
629
|
if (v === true) {
|
|
630
|
-
var v2 =
|
|
630
|
+
var v2 = attr.true ? "" + attr.true : "1";
|
|
631
631
|
args.push(v2);
|
|
632
632
|
}
|
|
633
633
|
else {
|
|
634
|
-
var v2 =
|
|
634
|
+
var v2 = attr.false ? "" + attr.false : "0";
|
|
635
635
|
args.push(v2);
|
|
636
636
|
}
|
|
637
637
|
}
|
|
@@ -651,16 +651,16 @@ function buildToUpdateBatch(objs, table, attrs, buildParam, notSkipInvalid) {
|
|
|
651
651
|
var ver = meta.version;
|
|
652
652
|
if (ver && ver.length > 0) {
|
|
653
653
|
var v = o[ver];
|
|
654
|
-
if (typeof v ===
|
|
654
|
+
if (typeof v === "number" && !isNaN(v)) {
|
|
655
655
|
var attr = attrs[ver];
|
|
656
656
|
if (attr) {
|
|
657
|
-
var field =
|
|
657
|
+
var field = attr.column ? attr.column : ver;
|
|
658
658
|
colSet.push(field + "=" + (1 + v));
|
|
659
659
|
colQuery.push(field + "=" + v);
|
|
660
660
|
}
|
|
661
661
|
}
|
|
662
662
|
}
|
|
663
|
-
var query = "update " + table + " set " + colSet.join(
|
|
663
|
+
var query = "update " + table + " set " + colSet.join(",") + " where " + colQuery.join(" and ");
|
|
664
664
|
var stm = { query: query, params: args };
|
|
665
665
|
sts.push(stm);
|
|
666
666
|
}
|
|
@@ -715,7 +715,7 @@ function buildMap(attrs) {
|
|
|
715
715
|
var k = ks_13[_i];
|
|
716
716
|
var attr = attrs[k];
|
|
717
717
|
attr.name = k;
|
|
718
|
-
var field =
|
|
718
|
+
var field = attr.column ? attr.column : k;
|
|
719
719
|
var s = field.toLowerCase();
|
|
720
720
|
if (s !== k) {
|
|
721
721
|
mp[s] = k;
|
|
@@ -742,13 +742,13 @@ function metadata(attrs) {
|
|
|
742
742
|
if (!attr.ignored) {
|
|
743
743
|
fields.push(k);
|
|
744
744
|
}
|
|
745
|
-
if (attr.type ===
|
|
745
|
+
if (attr.type === "boolean") {
|
|
746
746
|
bools.push(attr);
|
|
747
747
|
}
|
|
748
748
|
if (attr.version) {
|
|
749
749
|
m.version = k;
|
|
750
750
|
}
|
|
751
|
-
var field =
|
|
751
|
+
var field = attr.column ? attr.column : k;
|
|
752
752
|
var s = field.toLowerCase();
|
|
753
753
|
if (s !== k) {
|
|
754
754
|
mp[s] = k;
|
|
@@ -775,11 +775,11 @@ function attributes(attrs, isKey) {
|
|
|
775
775
|
}
|
|
776
776
|
exports.attributes = attributes;
|
|
777
777
|
function param(i) {
|
|
778
|
-
return
|
|
778
|
+
return "?";
|
|
779
779
|
}
|
|
780
780
|
exports.param = param;
|
|
781
781
|
function setValue(obj, path, value) {
|
|
782
|
-
var paths = path.split(
|
|
782
|
+
var paths = path.split(".");
|
|
783
783
|
var o = obj;
|
|
784
784
|
for (var i = 0; i < paths.length - 1; i++) {
|
|
785
785
|
var p = paths[i];
|
|
@@ -794,11 +794,11 @@ function setValue(obj, path, value) {
|
|
|
794
794
|
o[paths[paths.length - 1]] = value;
|
|
795
795
|
}
|
|
796
796
|
exports.setValue = setValue;
|
|
797
|
-
var n =
|
|
797
|
+
var n = "NaN";
|
|
798
798
|
function toString(v) {
|
|
799
|
-
var x =
|
|
799
|
+
var x = "" + v;
|
|
800
800
|
if (x === n) {
|
|
801
|
-
x =
|
|
801
|
+
x = "null";
|
|
802
802
|
}
|
|
803
803
|
return x;
|
|
804
804
|
}
|
package/lib/client.js
CHANGED
|
@@ -56,52 +56,52 @@ var ProxyClient = (function () {
|
|
|
56
56
|
var dates = toDates(args);
|
|
57
57
|
var j = { query: sql, params: args, dates: dates };
|
|
58
58
|
if (m || bools) {
|
|
59
|
-
return this.httpRequest.post(this.url +
|
|
59
|
+
return this.httpRequest.post(this.url + "/query", j).then(function (r) { return map_1.handleResults(r, m, bools); });
|
|
60
60
|
}
|
|
61
61
|
else {
|
|
62
|
-
return this.httpRequest.post(this.url +
|
|
62
|
+
return this.httpRequest.post(this.url + "/query", j);
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
ProxyClient.prototype.exec = function (sql, args) {
|
|
66
66
|
var dates = toDates(args);
|
|
67
67
|
var j = { query: sql, params: args, dates: dates };
|
|
68
|
-
return this.httpRequest.post(this.url +
|
|
68
|
+
return this.httpRequest.post(this.url + "/exec", j);
|
|
69
69
|
};
|
|
70
70
|
ProxyClient.prototype.execBatch = function (stmts) {
|
|
71
71
|
var d = buildStatements(stmts);
|
|
72
|
-
return this.httpRequest.post(this.url +
|
|
72
|
+
return this.httpRequest.post(this.url + "/exec-batch", d);
|
|
73
73
|
};
|
|
74
74
|
ProxyClient.prototype.beginTransaction = function (timeout) {
|
|
75
|
-
var st =
|
|
76
|
-
return this.httpRequest.post(this.url +
|
|
75
|
+
var st = timeout && timeout > 0 ? "?timeout=" + timeout : "";
|
|
76
|
+
return this.httpRequest.post(this.url + "/begin" + st, "");
|
|
77
77
|
};
|
|
78
78
|
ProxyClient.prototype.commitTransaction = function (tx) {
|
|
79
|
-
return this.httpRequest.post(this.url +
|
|
79
|
+
return this.httpRequest.post(this.url + "/end?tx=" + tx, "");
|
|
80
80
|
};
|
|
81
81
|
ProxyClient.prototype.rollbackTransaction = function (tx) {
|
|
82
|
-
return this.httpRequest.post(this.url +
|
|
82
|
+
return this.httpRequest.post(this.url + "/end?roleback=true&tx=" + tx, "");
|
|
83
83
|
};
|
|
84
84
|
ProxyClient.prototype.queryWithTx = function (tx, commit, sql, args, m, bools) {
|
|
85
85
|
var dates = toDates(args);
|
|
86
86
|
var j = { query: sql, params: args, dates: dates };
|
|
87
|
-
var sc =
|
|
87
|
+
var sc = commit ? "&commit=true" : "";
|
|
88
88
|
if (m || bools) {
|
|
89
|
-
return this.httpRequest.post(this.url +
|
|
89
|
+
return this.httpRequest.post(this.url + "/query?tx=" + tx + sc, j).then(function (r) { return map_1.handleResults(r, m, bools); });
|
|
90
90
|
}
|
|
91
91
|
else {
|
|
92
|
-
return this.httpRequest.post(this.url +
|
|
92
|
+
return this.httpRequest.post(this.url + "/query?tx=" + tx + sc, j);
|
|
93
93
|
}
|
|
94
94
|
};
|
|
95
95
|
ProxyClient.prototype.execWithTx = function (tx, commit, sql, args) {
|
|
96
96
|
var dates = toDates(args);
|
|
97
97
|
var j = { query: sql, params: args, dates: dates };
|
|
98
|
-
var sc =
|
|
99
|
-
return this.httpRequest.post(this.url +
|
|
98
|
+
var sc = commit ? "&commit=true" : "";
|
|
99
|
+
return this.httpRequest.post(this.url + "/exec?tx=" + tx + sc, j);
|
|
100
100
|
};
|
|
101
101
|
ProxyClient.prototype.execBatchWithTx = function (tx, commit, stmts) {
|
|
102
102
|
var d = buildStatements(stmts);
|
|
103
|
-
var sc =
|
|
104
|
-
return this.httpRequest.post(this.url +
|
|
103
|
+
var sc = commit ? "&commit=true" : "";
|
|
104
|
+
return this.httpRequest.post(this.url + "/exec-batch?tx=" + tx + sc, d);
|
|
105
105
|
};
|
|
106
106
|
ProxyClient.prototype.insert = function (table, attrs, obj, buildParam, ver) {
|
|
107
107
|
var s = build_1.buildToInsert(obj, table, attrs, buildParam, ver);
|
package/lib/health.js
CHANGED
|
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
14
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
15
|
function step(op) {
|
|
16
16
|
if (f) throw new TypeError("Generator is already executing.");
|
|
@@ -40,8 +40,8 @@ var Checker = (function () {
|
|
|
40
40
|
function Checker(select, query, service, timeout) {
|
|
41
41
|
this.select = select;
|
|
42
42
|
this.query = query;
|
|
43
|
-
this.timeout =
|
|
44
|
-
this.service =
|
|
43
|
+
this.timeout = timeout ? timeout : 4200;
|
|
44
|
+
this.service = service ? service : "sql";
|
|
45
45
|
this.check = this.check.bind(this);
|
|
46
46
|
this.name = this.name.bind(this);
|
|
47
47
|
this.build = this.build.bind(this);
|
|
@@ -70,7 +70,7 @@ var Checker = (function () {
|
|
|
70
70
|
if (!data) {
|
|
71
71
|
data = {};
|
|
72
72
|
}
|
|
73
|
-
data[
|
|
73
|
+
data["error"] = err;
|
|
74
74
|
}
|
|
75
75
|
return data;
|
|
76
76
|
};
|
|
@@ -84,20 +84,20 @@ function promiseTimeOut(timeoutInMilliseconds, promise) {
|
|
|
84
84
|
setTimeout(function () {
|
|
85
85
|
reject("Timed out in: " + timeoutInMilliseconds + " milliseconds!");
|
|
86
86
|
}, timeoutInMilliseconds);
|
|
87
|
-
})
|
|
87
|
+
}),
|
|
88
88
|
]);
|
|
89
89
|
}
|
|
90
90
|
exports.driverMap = {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
91
|
+
oracle: "SELECT SYSDATE FROM DUAL",
|
|
92
|
+
postgres: "select now()",
|
|
93
|
+
mssql: "select getdate()",
|
|
94
|
+
mysql: "select current_time",
|
|
95
|
+
sqlite: "select date()",
|
|
96
96
|
};
|
|
97
97
|
function createChecker(query, sql, service, timeout) {
|
|
98
|
-
if (typeof query ===
|
|
98
|
+
if (typeof query === "function") {
|
|
99
99
|
if (!sql) {
|
|
100
|
-
sql =
|
|
100
|
+
sql = "select getdate()";
|
|
101
101
|
}
|
|
102
102
|
return new Checker(query, sql, service, timeout);
|
|
103
103
|
}
|
|
@@ -105,7 +105,7 @@ function createChecker(query, sql, service, timeout) {
|
|
|
105
105
|
var db = query;
|
|
106
106
|
var s = exports.driverMap[db.driver];
|
|
107
107
|
if (!s) {
|
|
108
|
-
s =
|
|
108
|
+
s = "select getdate()";
|
|
109
109
|
}
|
|
110
110
|
if (!service) {
|
|
111
111
|
service = db.driver;
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
function __export(m) {
|
|
3
|
-
|
|
3
|
+
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
4
4
|
}
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var health_1 = require("./health");
|
|
@@ -10,95 +10,82 @@ var services_1 = require("./services");
|
|
|
10
10
|
exports.SqlViewRepository = services_1.SqlLoader;
|
|
11
11
|
exports.SqlLoadService = services_1.SqlLoader;
|
|
12
12
|
exports.SqlViewService = services_1.SqlLoader;
|
|
13
|
-
exports.ViewSearchRepository = services_1.SqlSearchLoader;
|
|
14
|
-
exports.ViewSearchService = services_1.SqlSearchLoader;
|
|
15
|
-
exports.SqlViewSearchRepository = services_1.SqlSearchLoader;
|
|
16
|
-
exports.SqlViewSearchService = services_1.SqlSearchLoader;
|
|
17
|
-
exports.SqlSearchRepository = services_1.SqlSearchLoader;
|
|
18
|
-
exports.SqlSearchService = services_1.SqlSearchLoader;
|
|
19
|
-
exports.SearchRepository = services_1.SqlSearchLoader;
|
|
20
|
-
exports.SearchService = services_1.SqlSearchLoader;
|
|
21
|
-
exports.GenericSearchRepository = services_1.SqlSearchWriter;
|
|
22
|
-
exports.GenericSearchService = services_1.SqlSearchWriter;
|
|
23
|
-
exports.SqlRepository = services_1.SqlSearchWriter;
|
|
24
|
-
exports.SqlService = services_1.SqlSearchWriter;
|
|
25
|
-
exports.Service = services_1.SqlSearchWriter;
|
|
26
|
-
exports.SqlGenericRepository = services_1.SqlWriter;
|
|
27
13
|
exports.Repository = services_1.SqlWriter;
|
|
14
|
+
exports.SqlGenericRepository = services_1.SqlWriter;
|
|
28
15
|
exports.SqlGenericService = services_1.SqlWriter;
|
|
29
|
-
__export(require("./health"));
|
|
30
|
-
__export(require("./build"));
|
|
31
|
-
__export(require("./services"));
|
|
32
16
|
__export(require("./batch"));
|
|
17
|
+
__export(require("./build"));
|
|
18
|
+
__export(require("./client"));
|
|
19
|
+
__export(require("./health"));
|
|
33
20
|
__export(require("./query"));
|
|
34
21
|
__export(require("./search"));
|
|
35
22
|
__export(require("./SearchBuilder"));
|
|
36
|
-
__export(require("./
|
|
23
|
+
__export(require("./services"));
|
|
37
24
|
var Loader = (function () {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
25
|
+
function Loader(query, sql, m, bools) {
|
|
26
|
+
this.query = query;
|
|
27
|
+
this.sql = sql;
|
|
28
|
+
this.bools = bools;
|
|
29
|
+
this.map = m;
|
|
30
|
+
this.load = this.load.bind(this);
|
|
31
|
+
}
|
|
32
|
+
Loader.prototype.load = function () {
|
|
33
|
+
return this.query(this.sql, [], this.map, this.bools);
|
|
34
|
+
};
|
|
35
|
+
return Loader;
|
|
49
36
|
}());
|
|
50
37
|
exports.Loader = Loader;
|
|
51
38
|
function toArray(arr) {
|
|
52
|
-
|
|
53
|
-
|
|
39
|
+
if (!arr || arr.length === 0) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
var p = [];
|
|
43
|
+
var l = arr.length;
|
|
44
|
+
for (var i = 0; i < l; i++) {
|
|
45
|
+
if (arr[i] === undefined || arr[i] == null) {
|
|
46
|
+
p.push(null);
|
|
54
47
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
p.push(null);
|
|
48
|
+
else {
|
|
49
|
+
if (typeof arr[i] === "object") {
|
|
50
|
+
if (arr[i] instanceof Date) {
|
|
51
|
+
p.push(arr[i]);
|
|
60
52
|
}
|
|
61
53
|
else {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
p.push(s);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
p.push(arr[i]);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
p.push(arr[i]);
|
|
78
|
-
}
|
|
54
|
+
if (build_1.resource.string) {
|
|
55
|
+
var s = JSON.stringify(arr[i]);
|
|
56
|
+
p.push(s);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
p.push(arr[i]);
|
|
60
|
+
}
|
|
79
61
|
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
p.push(arr[i]);
|
|
65
|
+
}
|
|
80
66
|
}
|
|
81
|
-
|
|
67
|
+
}
|
|
68
|
+
return p;
|
|
82
69
|
}
|
|
83
70
|
exports.toArray = toArray;
|
|
84
71
|
function map(obj, m) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
obj2[k0] = obj[key];
|
|
72
|
+
if (!m) {
|
|
73
|
+
return obj;
|
|
74
|
+
}
|
|
75
|
+
var mkeys = Object.keys(m);
|
|
76
|
+
if (mkeys.length === 0) {
|
|
77
|
+
return obj;
|
|
78
|
+
}
|
|
79
|
+
var obj2 = {};
|
|
80
|
+
var keys = Object.keys(obj);
|
|
81
|
+
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
|
|
82
|
+
var key = keys_1[_i];
|
|
83
|
+
var k0 = m[key];
|
|
84
|
+
if (!k0) {
|
|
85
|
+
k0 = key;
|
|
101
86
|
}
|
|
102
|
-
|
|
87
|
+
obj2[k0] = obj[key];
|
|
88
|
+
}
|
|
89
|
+
return obj2;
|
|
103
90
|
}
|
|
104
91
|
exports.map = map;
|
package/lib/map.js
CHANGED
|
@@ -58,13 +58,13 @@ function handleBool(objs, bools) {
|
|
|
58
58
|
var field = bools_1[_a];
|
|
59
59
|
if (field.name) {
|
|
60
60
|
var v = o[field.name];
|
|
61
|
-
if (typeof v !==
|
|
61
|
+
if (typeof v !== "boolean" && v != null && v !== undefined) {
|
|
62
62
|
var b = field.true;
|
|
63
63
|
if (b == null || b === undefined) {
|
|
64
|
-
o[field.name] =
|
|
64
|
+
o[field.name] = "true" == v || "1" == v || "t" == v || "y" == v || "on" == v;
|
|
65
65
|
}
|
|
66
66
|
else {
|
|
67
|
-
o[field.name] =
|
|
67
|
+
o[field.name] = v == b ? true : false;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
package/lib/search.js
CHANGED
|
@@ -14,16 +14,16 @@ exports.getOffset = getOffset;
|
|
|
14
14
|
function buildFromQuery(query, sql, params, limit, page, mp, bools, provider, totalCol) {
|
|
15
15
|
if (!limit || limit <= 0) {
|
|
16
16
|
return query(sql, params, mp, bools).then(function (list) {
|
|
17
|
-
var total =
|
|
17
|
+
var total = list ? list.length : undefined;
|
|
18
18
|
return { list: list, total: total };
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
|
-
var ipage =
|
|
22
|
+
var ipage = !page || page <= 0 ? 1 : page;
|
|
23
23
|
var offset = getOffset(limit, ipage);
|
|
24
24
|
if (provider === exports.oracle) {
|
|
25
25
|
if (!totalCol || totalCol.length === 0) {
|
|
26
|
-
totalCol =
|
|
26
|
+
totalCol = "total";
|
|
27
27
|
}
|
|
28
28
|
var sql2 = buildPagingQueryForOracle(sql, limit, offset, totalCol);
|
|
29
29
|
return queryAndCount(query, sql2, params, totalCol, mp, bools);
|
|
@@ -44,7 +44,7 @@ function buildFromQuery(query, sql, params, limit, page, mp, bools, provider, to
|
|
|
44
44
|
});
|
|
45
45
|
return Promise.all([resultPromise, countPromise]).then(function (r) {
|
|
46
46
|
var list = r[0], total = r[1];
|
|
47
|
-
if (typeof total ===
|
|
47
|
+
if (typeof total === "string" && !isNaN(total)) {
|
|
48
48
|
var t = parseInt(total, 10);
|
|
49
49
|
return { list: list, total: t };
|
|
50
50
|
}
|
|
@@ -58,7 +58,7 @@ function buildFromQuery(query, sql, params, limit, page, mp, bools, provider, to
|
|
|
58
58
|
exports.buildFromQuery = buildFromQuery;
|
|
59
59
|
function queryAndCount(query, sql, params, total, mp, bools) {
|
|
60
60
|
if (!total || total.length === 0) {
|
|
61
|
-
total =
|
|
61
|
+
total = "total";
|
|
62
62
|
}
|
|
63
63
|
return query(sql, params, mp, bools).then(function (list) {
|
|
64
64
|
if (!list || list.length === 0) {
|
|
@@ -73,11 +73,11 @@ function queryAndCount(query, sql, params, total, mp, bools) {
|
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
exports.queryAndCount = queryAndCount;
|
|
76
|
-
exports.oracle =
|
|
77
|
-
var s =
|
|
78
|
-
var S =
|
|
79
|
-
var d =
|
|
80
|
-
var D =
|
|
76
|
+
exports.oracle = "oracle";
|
|
77
|
+
var s = "select";
|
|
78
|
+
var S = "SELECT";
|
|
79
|
+
var d = " distinct ";
|
|
80
|
+
var D = " DISTINCT ";
|
|
81
81
|
function buildPagingQuery(sql, limit, offset, provider) {
|
|
82
82
|
if (limit === undefined || limit == null) {
|
|
83
83
|
limit = 0;
|
|
@@ -95,7 +95,7 @@ function buildPagingQuery(sql, limit, offset, provider) {
|
|
|
95
95
|
exports.buildPagingQuery = buildPagingQuery;
|
|
96
96
|
function buildPagingQueryForOracle(sql, limit, offset, total) {
|
|
97
97
|
if (!total || total.length === 0) {
|
|
98
|
-
total =
|
|
98
|
+
total = "total";
|
|
99
99
|
}
|
|
100
100
|
if (!offset) {
|
|
101
101
|
offset = 0;
|
|
@@ -122,26 +122,26 @@ function buildPagingQueryForOracle(sql, limit, offset, total) {
|
|
|
122
122
|
exports.buildPagingQueryForOracle = buildPagingQueryForOracle;
|
|
123
123
|
function buildCountQuery(sql) {
|
|
124
124
|
var sql2 = sql.trim();
|
|
125
|
-
var i = sql2.indexOf(
|
|
125
|
+
var i = sql2.indexOf("select ");
|
|
126
126
|
if (i < 0) {
|
|
127
127
|
return sql;
|
|
128
128
|
}
|
|
129
|
-
var j = sql2.indexOf(
|
|
129
|
+
var j = sql2.indexOf(" from ", i + 6);
|
|
130
130
|
if (j < 0) {
|
|
131
131
|
return sql;
|
|
132
132
|
}
|
|
133
|
-
var k = sql2.indexOf(
|
|
134
|
-
var h = sql2.indexOf(
|
|
133
|
+
var k = sql2.indexOf(" order by ", j);
|
|
134
|
+
var h = sql2.indexOf(" distinct ");
|
|
135
135
|
if (h > 0) {
|
|
136
|
-
var sql3 =
|
|
136
|
+
var sql3 = "select count(*) from (" + sql2.substring(i) + ") as main";
|
|
137
137
|
return sql3;
|
|
138
138
|
}
|
|
139
139
|
if (k > 0) {
|
|
140
|
-
var sql3 =
|
|
140
|
+
var sql3 = "select count(*) " + sql2.substring(j, k);
|
|
141
141
|
return sql3;
|
|
142
142
|
}
|
|
143
143
|
else {
|
|
144
|
-
var sql3 =
|
|
144
|
+
var sql3 = "select count(*) " + sql2.substring(j);
|
|
145
145
|
return sql3;
|
|
146
146
|
}
|
|
147
147
|
}
|
package/lib/services.js
CHANGED
|
@@ -195,7 +195,6 @@ var GenericRepository = (function (_super) {
|
|
|
195
195
|
_this.toDB = toDB;
|
|
196
196
|
var x = build_1.version(attrs);
|
|
197
197
|
_this.exec = manager.exec;
|
|
198
|
-
_this.execBatch = manager.execBatch;
|
|
199
198
|
if (x) {
|
|
200
199
|
_this.version = x.name;
|
|
201
200
|
}
|
|
@@ -247,20 +246,6 @@ var GenericRepository = (function (_super) {
|
|
|
247
246
|
return GenericRepository;
|
|
248
247
|
}(SqlLoadRepository));
|
|
249
248
|
exports.GenericRepository = GenericRepository;
|
|
250
|
-
var SqlSearchLoader = (function (_super) {
|
|
251
|
-
__extends(SqlSearchLoader, _super);
|
|
252
|
-
function SqlSearchLoader(find, query, table, attrs, param, fromDB) {
|
|
253
|
-
var _this = _super.call(this, query, table, attrs, param, fromDB) || this;
|
|
254
|
-
_this.find = find;
|
|
255
|
-
_this.search = _this.search.bind(_this);
|
|
256
|
-
return _this;
|
|
257
|
-
}
|
|
258
|
-
SqlSearchLoader.prototype.search = function (s, limit, offset, fields) {
|
|
259
|
-
return this.find(s, limit, offset, fields);
|
|
260
|
-
};
|
|
261
|
-
return SqlSearchLoader;
|
|
262
|
-
}(SqlLoader));
|
|
263
|
-
exports.SqlSearchLoader = SqlSearchLoader;
|
|
264
249
|
function log(db, isLog, logger, q, result, r, duration) {
|
|
265
250
|
if (!isLog) {
|
|
266
251
|
return db;
|
|
@@ -560,7 +545,6 @@ var SqlWriter = (function (_super) {
|
|
|
560
545
|
_this.toDB = toDB;
|
|
561
546
|
var x = build_1.version(attrs);
|
|
562
547
|
_this.exec = manager.exec;
|
|
563
|
-
_this.execBatch = manager.execBatch;
|
|
564
548
|
if (x) {
|
|
565
549
|
_this.version = x.name;
|
|
566
550
|
}
|
|
@@ -618,17 +602,3 @@ var SqlWriter = (function (_super) {
|
|
|
618
602
|
return SqlWriter;
|
|
619
603
|
}(SqlLoader));
|
|
620
604
|
exports.SqlWriter = SqlWriter;
|
|
621
|
-
var SqlSearchWriter = (function (_super) {
|
|
622
|
-
__extends(SqlSearchWriter, _super);
|
|
623
|
-
function SqlSearchWriter(find, manager, table, attrs, toDB, fromDB) {
|
|
624
|
-
var _this = _super.call(this, manager, table, attrs, toDB, fromDB) || this;
|
|
625
|
-
_this.find = find;
|
|
626
|
-
_this.search = _this.search.bind(_this);
|
|
627
|
-
return _this;
|
|
628
|
-
}
|
|
629
|
-
SqlSearchWriter.prototype.search = function (s, limit, offset, fields) {
|
|
630
|
-
return this.find(s, limit, offset, fields);
|
|
631
|
-
};
|
|
632
|
-
return SqlSearchWriter;
|
|
633
|
-
}(SqlWriter));
|
|
634
|
-
exports.SqlSearchWriter = SqlSearchWriter;
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -3,31 +3,12 @@ export { Checker as SqlChecker }
|
|
|
3
3
|
|
|
4
4
|
import { resource } from "./build"
|
|
5
5
|
import { Attribute, StringMap } from "./metadata"
|
|
6
|
-
import { SqlLoader,
|
|
6
|
+
import { SqlLoader, SqlWriter } from "./services"
|
|
7
7
|
// export {SqlLoader as SqlLoadRepository};
|
|
8
8
|
export { SqlWriter as Repository, SqlWriter as SqlGenericRepository, SqlLoader as SqlViewRepository }
|
|
9
9
|
|
|
10
10
|
export { SqlWriter as SqlGenericService, SqlLoader as SqlLoadService, SqlLoader as SqlViewService }
|
|
11
11
|
|
|
12
|
-
export {
|
|
13
|
-
SqlSearchLoader as SearchRepository,
|
|
14
|
-
SqlSearchLoader as SearchService,
|
|
15
|
-
SqlSearchLoader as SqlSearchRepository,
|
|
16
|
-
SqlSearchLoader as SqlSearchService,
|
|
17
|
-
SqlSearchLoader as SqlViewSearchRepository,
|
|
18
|
-
SqlSearchLoader as SqlViewSearchService,
|
|
19
|
-
SqlSearchLoader as ViewSearchRepository,
|
|
20
|
-
SqlSearchLoader as ViewSearchService,
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export {
|
|
24
|
-
SqlSearchWriter as GenericSearchRepository,
|
|
25
|
-
SqlSearchWriter as GenericSearchService,
|
|
26
|
-
SqlSearchWriter as Service,
|
|
27
|
-
SqlSearchWriter as SqlRepository,
|
|
28
|
-
SqlSearchWriter as SqlService,
|
|
29
|
-
}
|
|
30
|
-
|
|
31
12
|
export * from "./batch"
|
|
32
13
|
export * from "./build"
|
|
33
14
|
export * from "./client"
|