@proteinjs/db-driver-spanner 1.8.13 → 1.8.14
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/CHANGELOG.md +11 -0
- package/dist/src/SpannerDriver.d.ts.map +1 -1
- package/dist/src/SpannerDriver.js +35 -12
- package/dist/src/SpannerDriver.js.map +1 -1
- package/dist/src/SpannerSchemaOperations.d.ts.map +1 -1
- package/dist/src/SpannerSchemaOperations.js +20 -16
- package/dist/src/SpannerSchemaOperations.js.map +1 -1
- package/package.json +5 -5
- package/src/SpannerDriver.ts +26 -3
- package/src/SpannerSchemaOperations.ts +10 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.8.14](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.8.13...@proteinjs/db-driver-spanner@1.8.14) (2025-09-28)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* always use column name when creating indexes ([#18](https://github.com/brentbahry/db/issues/18)) ([6e80a8f](https://github.com/brentbahry/db/commit/6e80a8fe37ac3b92d7a9b6b60fa9239f5c504646))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [1.8.13](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.8.12...@proteinjs/db-driver-spanner@1.8.13) (2025-09-24)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @proteinjs/db-driver-spanner
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpannerDriver.d.ts","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EACL,QAAQ,EACR,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,EACL,YAAY,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKhD;;GAEG;AACH,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAU;IAChC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAW;IAC1C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAW;IACpC,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,MAAM,CAAgB;IACvB,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;gBAEhD,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC;IAK1E,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,YAAY;IAQpB,SAAS;IAIT,eAAe,IAAI,YAAY;IAO/B;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAiB5D;;;;OAIG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM;IActF,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YAQ5B,QAAQ;IAKtB;;OAEG;IACG,QAAQ,CACZ,iBAAiB,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,SAAS,EACtE,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,GAAG,EAAE,CAAC;YAIH,YAAY;
|
|
1
|
+
{"version":3,"file":"SpannerDriver.d.ts","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EACL,QAAQ,EACR,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,EACL,YAAY,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKhD;;GAEG;AACH,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAU;IAChC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAW;IAC1C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAW;IACpC,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,MAAM,CAAgB;IACvB,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;gBAEhD,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC;IAK1E,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,YAAY;IAQpB,SAAS;IAIT,eAAe,IAAI,YAAY;IAO/B;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAiB5D;;;;OAIG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM;IActF,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YAQ5B,QAAQ;IAKtB;;OAEG;IACG,QAAQ,CACZ,iBAAiB,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,SAAS,EACtE,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,GAAG,EAAE,CAAC;YAIH,YAAY;IAqC1B;;;;OAIG;IACG,MAAM,CACV,iBAAiB,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,SAAS,EACpE,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC;YAYJ,UAAU;IAoCxB;;;;OAIG;IACG,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQjF;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBlD"}
|
|
@@ -162,7 +162,7 @@ var SpannerDriver = /** @class */ (function () {
|
|
|
162
162
|
};
|
|
163
163
|
SpannerDriver.prototype.executeQuery = function (generateStatement, runner) {
|
|
164
164
|
return __awaiter(this, void 0, void 0, function () {
|
|
165
|
-
var _a, sql, namedParams, rows, error_1;
|
|
165
|
+
var _a, sql, namedParams, startTime, rows, durationMs, error_1, durationMs;
|
|
166
166
|
return __generator(this, function (_b) {
|
|
167
167
|
switch (_b.label) {
|
|
168
168
|
case 0:
|
|
@@ -173,6 +173,7 @@ var SpannerDriver = /** @class */ (function () {
|
|
|
173
173
|
getDriverColumnType: this.getColumnType.bind(this),
|
|
174
174
|
handleCaseSensitivity: this.handleCaseSensitivity.bind(this),
|
|
175
175
|
}), sql = _a.sql, namedParams = _a.namedParams;
|
|
176
|
+
startTime = process.hrtime.bigint();
|
|
176
177
|
_b.label = 1;
|
|
177
178
|
case 1:
|
|
178
179
|
_b.trys.push([1, 3, , 4]);
|
|
@@ -184,12 +185,18 @@ var SpannerDriver = /** @class */ (function () {
|
|
|
184
185
|
})];
|
|
185
186
|
case 2:
|
|
186
187
|
rows = (_b.sent())[0];
|
|
188
|
+
durationMs = Number(process.hrtime.bigint() - startTime) / 1000000;
|
|
189
|
+
this.logger.debug({
|
|
190
|
+
message: "Query executed",
|
|
191
|
+
obj: { sql: sql, durationMs: durationMs, rowCount: rows.length },
|
|
192
|
+
});
|
|
187
193
|
return [2 /*return*/, rows.map(function (row) { return row.toJSON(); })];
|
|
188
194
|
case 3:
|
|
189
195
|
error_1 = _b.sent();
|
|
196
|
+
durationMs = Number(process.hrtime.bigint() - startTime) / 1000000;
|
|
190
197
|
this.logger.error({
|
|
191
198
|
message: "Failed when executing query",
|
|
192
|
-
obj: { sql: sql, params: namedParams, errorDetails: error_1.details },
|
|
199
|
+
obj: { sql: sql, params: namedParams, errorDetails: error_1.details, durationMs: durationMs },
|
|
193
200
|
});
|
|
194
201
|
throw error_1;
|
|
195
202
|
case 4: return [2 /*return*/];
|
|
@@ -232,7 +239,7 @@ var SpannerDriver = /** @class */ (function () {
|
|
|
232
239
|
};
|
|
233
240
|
SpannerDriver.prototype.executeDml = function (generateStatement, runner) {
|
|
234
241
|
return __awaiter(this, void 0, void 0, function () {
|
|
235
|
-
var _a, sql, namedParams, rowCount, error_2;
|
|
242
|
+
var _a, sql, namedParams, startTime, rowCount, durationMs, error_2, durationMs;
|
|
236
243
|
return __generator(this, function (_b) {
|
|
237
244
|
switch (_b.label) {
|
|
238
245
|
case 0:
|
|
@@ -242,6 +249,7 @@ var SpannerDriver = /** @class */ (function () {
|
|
|
242
249
|
prefixTablesWithDb: false,
|
|
243
250
|
getDriverColumnType: this.getColumnType.bind(this),
|
|
244
251
|
}), sql = _a.sql, namedParams = _a.namedParams;
|
|
252
|
+
startTime = process.hrtime.bigint();
|
|
245
253
|
_b.label = 1;
|
|
246
254
|
case 1:
|
|
247
255
|
_b.trys.push([1, 3, , 4]);
|
|
@@ -253,12 +261,18 @@ var SpannerDriver = /** @class */ (function () {
|
|
|
253
261
|
})];
|
|
254
262
|
case 2:
|
|
255
263
|
rowCount = (_b.sent())[0];
|
|
264
|
+
durationMs = Number(process.hrtime.bigint() - startTime) / 1000000;
|
|
265
|
+
this.logger.debug({
|
|
266
|
+
message: "Dml executed",
|
|
267
|
+
obj: { sql: sql, durationMs: durationMs, rowCount: rowCount },
|
|
268
|
+
});
|
|
256
269
|
return [2 /*return*/, rowCount];
|
|
257
270
|
case 3:
|
|
258
271
|
error_2 = _b.sent();
|
|
272
|
+
durationMs = Number(process.hrtime.bigint() - startTime) / 1000000;
|
|
259
273
|
this.logger.error({
|
|
260
274
|
message: "Failed when executing dml",
|
|
261
|
-
obj: { sql: sql, params: namedParams, errorDetails: error_2.details },
|
|
275
|
+
obj: { sql: sql, params: namedParams, errorDetails: error_2.details, durationMs: durationMs },
|
|
262
276
|
});
|
|
263
277
|
throw error_2;
|
|
264
278
|
case 4: return [2 /*return*/];
|
|
@@ -300,24 +314,33 @@ var SpannerDriver = /** @class */ (function () {
|
|
|
300
314
|
*/
|
|
301
315
|
SpannerDriver.prototype.runUpdateSchema = function (sql) {
|
|
302
316
|
return __awaiter(this, void 0, void 0, function () {
|
|
303
|
-
var operation, error_3;
|
|
317
|
+
var startTime, operation, durationMs, error_3, durationMs;
|
|
304
318
|
return __generator(this, function (_a) {
|
|
305
319
|
switch (_a.label) {
|
|
306
320
|
case 0:
|
|
307
|
-
|
|
321
|
+
startTime = process.hrtime.bigint();
|
|
322
|
+
_a.label = 1;
|
|
323
|
+
case 1:
|
|
324
|
+
_a.trys.push([1, 4, , 5]);
|
|
308
325
|
this.logger.debug({ message: "Executing schema update", obj: { sql: sql } });
|
|
309
326
|
return [4 /*yield*/, this.getSpannerDb().updateSchema(sql)];
|
|
310
|
-
case
|
|
327
|
+
case 2:
|
|
311
328
|
operation = (_a.sent())[0];
|
|
312
329
|
return [4 /*yield*/, operation.promise()];
|
|
313
|
-
case 2:
|
|
314
|
-
_a.sent();
|
|
315
|
-
return [3 /*break*/, 4];
|
|
316
330
|
case 3:
|
|
331
|
+
_a.sent();
|
|
332
|
+
durationMs = Number(process.hrtime.bigint() - startTime) / 1000000;
|
|
333
|
+
this.logger.debug({ message: "Schema update executed", obj: { sql: sql, durationMs: durationMs } });
|
|
334
|
+
return [3 /*break*/, 5];
|
|
335
|
+
case 4:
|
|
317
336
|
error_3 = _a.sent();
|
|
318
|
-
|
|
337
|
+
durationMs = Number(process.hrtime.bigint() - startTime) / 1000000;
|
|
338
|
+
this.logger.error({
|
|
339
|
+
message: "Failed when executing schema update",
|
|
340
|
+
obj: { sql: sql, errorDetails: error_3.details, durationMs: durationMs },
|
|
341
|
+
});
|
|
319
342
|
throw error_3;
|
|
320
|
-
case
|
|
343
|
+
case 5: return [2 /*return*/];
|
|
321
344
|
}
|
|
322
345
|
});
|
|
323
346
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpannerDriver.js","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SpannerDriver.js","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpannerSchemaOperations.d.ts","sourceRoot":"","sources":["../../src/SpannerSchemaOperations.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,YAAY,EAIb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,qBAAa,uBAAwB,YAAW,gBAAgB;IAGlD,OAAO,CAAC,aAAa;IAFjC,OAAO,CAAC,MAAM,CAA+C;gBAEzC,aAAa,EAAE,aAAa;IAE1C,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"SpannerSchemaOperations.d.ts","sourceRoot":"","sources":["../../src/SpannerSchemaOperations.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,YAAY,EAIb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,qBAAa,uBAAwB,YAAW,gBAAgB;IAGlD,OAAO,CAAC,aAAa;IAFjC,OAAO,CAAC,MAAM,CAA+C;gBAEzC,aAAa,EAAE,aAAa;IAE1C,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IA6C7B,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,YAAY;CA2F/D"}
|
|
@@ -48,14 +48,14 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
|
48
48
|
SpannerSchemaOperations.prototype.createTable = function (table) {
|
|
49
49
|
var _a, _b, _c, _d;
|
|
50
50
|
return __awaiter(this, void 0, void 0, function () {
|
|
51
|
-
var indexes, _i, _e,
|
|
52
|
-
return __generator(this, function (
|
|
53
|
-
switch (
|
|
51
|
+
var indexes, _i, _e, _f, name_1, columns, serializedColumns, foreignKeys, columnPropertyName, column, columnType, createTableSql, _g, indexes_1, index, createIndexSql, indexName;
|
|
52
|
+
return __generator(this, function (_h) {
|
|
53
|
+
switch (_h.label) {
|
|
54
54
|
case 0:
|
|
55
55
|
indexes = [];
|
|
56
56
|
for (_i = 0, _e = table.indexes; _i < _e.length; _i++) {
|
|
57
|
-
|
|
58
|
-
indexes.push({ name:
|
|
57
|
+
_f = _e[_i], name_1 = _f.name, columns = _f.columns;
|
|
58
|
+
indexes.push({ name: name_1, columns: columns.map(function (x) { return table.columns[x].name; }) });
|
|
59
59
|
}
|
|
60
60
|
serializedColumns = [];
|
|
61
61
|
foreignKeys = [];
|
|
@@ -65,7 +65,11 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
|
65
65
|
serializedColumns.push({ name: column.name, type: columnType, nullable: (_a = column.options) === null || _a === void 0 ? void 0 : _a.nullable });
|
|
66
66
|
this.logger.info({ message: "[".concat(table.name, "] Creating column: ").concat(column.name, " (").concat(column.constructor.name, ")") });
|
|
67
67
|
if ((_c = (_b = column.options) === null || _b === void 0 ? void 0 : _b.unique) === null || _c === void 0 ? void 0 : _c.unique) {
|
|
68
|
-
indexes.push({
|
|
68
|
+
indexes.push({
|
|
69
|
+
name: column.options.unique.indexName,
|
|
70
|
+
columns: [table.columns[column.name].name],
|
|
71
|
+
unique: true,
|
|
72
|
+
});
|
|
69
73
|
this.logger.info({ message: "[".concat(table.name, ".").concat(column.name, "] Adding unique constraint") });
|
|
70
74
|
}
|
|
71
75
|
if ((_d = column.options) === null || _d === void 0 ? void 0 : _d.references) {
|
|
@@ -78,26 +82,26 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
|
78
82
|
createTableSql = new db_1.StatementFactory().createTable(table.name, serializedColumns, 'id', foreignKeys).sql;
|
|
79
83
|
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(createTableSql)];
|
|
80
84
|
case 1:
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
85
|
+
_h.sent();
|
|
86
|
+
_g = 0, indexes_1 = indexes;
|
|
87
|
+
_h.label = 2;
|
|
84
88
|
case 2:
|
|
85
|
-
if (!(
|
|
86
|
-
index = indexes_1[
|
|
89
|
+
if (!(_g < indexes_1.length)) return [3 /*break*/, 5];
|
|
90
|
+
index = indexes_1[_g];
|
|
87
91
|
createIndexSql = new db_1.StatementFactory().createIndex(index, table.name).sql;
|
|
88
92
|
indexName = db_1.StatementUtil.getIndexName(table.name, index);
|
|
89
93
|
this.logger.info({
|
|
90
|
-
message: "[".concat(table.name, "] Creating index: ").concat(indexName, " (").concat(
|
|
94
|
+
message: "[".concat(table.name, "] Creating index: ").concat(indexName, " (").concat(index.columns.join(', '), ")"),
|
|
91
95
|
});
|
|
92
96
|
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(createIndexSql)];
|
|
93
97
|
case 3:
|
|
94
|
-
|
|
98
|
+
_h.sent();
|
|
95
99
|
this.logger.info({
|
|
96
|
-
message: "[".concat(table.name, "] Created index: ").concat(indexName, " (").concat(
|
|
100
|
+
message: "[".concat(table.name, "] Created index: ").concat(indexName, " (").concat(index.columns.join(', '), ")"),
|
|
97
101
|
});
|
|
98
|
-
|
|
102
|
+
_h.label = 4;
|
|
99
103
|
case 4:
|
|
100
|
-
|
|
104
|
+
_g++;
|
|
101
105
|
return [3 /*break*/, 2];
|
|
102
106
|
case 5: return [2 /*return*/];
|
|
103
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpannerSchemaOperations.js","sourceRoot":"","sources":["../../src/SpannerSchemaOperations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA2C;AAC3C,oCAOuB;AAEvB,uEAAsE;AAEtE;IAGE,iCAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAFxC,WAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAEV,CAAC;IAE9C,6CAAW,GAAjB,UAAkB,KAAiB;;;;;;;wBAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"SpannerSchemaOperations.js","sourceRoot":"","sources":["../../src/SpannerSchemaOperations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/db-driver-spanner",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.14",
|
|
4
4
|
"description": "Db driver for Google Spanner",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@google-cloud/spanner": "7.5.0",
|
|
26
|
-
"@proteinjs/db": "^1.18.
|
|
26
|
+
"@proteinjs/db": "^1.18.1",
|
|
27
27
|
"@proteinjs/db-query": "^1.3.1",
|
|
28
|
-
"@proteinjs/db-spanner-common": "^1.1.
|
|
29
|
-
"@proteinjs/db-transaction-context": "^0.2.
|
|
28
|
+
"@proteinjs/db-spanner-common": "^1.1.14",
|
|
29
|
+
"@proteinjs/db-transaction-context": "^0.2.14",
|
|
30
30
|
"@proteinjs/logger": "1.0.10",
|
|
31
31
|
"@proteinjs/reflection": "1.1.10",
|
|
32
32
|
"@proteinjs/util": "1.5.0"
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
},
|
|
47
47
|
"main": "./dist/generated/index.js",
|
|
48
48
|
"types": "./dist/generated/index.d.ts",
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "6369c8196fb23a904a72518cb0c52b03b9364642"
|
|
50
50
|
}
|
package/src/SpannerDriver.ts
CHANGED
|
@@ -148,6 +148,8 @@ export class SpannerDriver implements DbDriver {
|
|
|
148
148
|
handleCaseSensitivity: this.handleCaseSensitivity.bind(this),
|
|
149
149
|
});
|
|
150
150
|
|
|
151
|
+
const startTime = process.hrtime.bigint();
|
|
152
|
+
|
|
151
153
|
try {
|
|
152
154
|
this.logger.debug({ message: `Executing query`, obj: { sql, params: namedParams } });
|
|
153
155
|
const [rows] = await runner.run({
|
|
@@ -155,11 +157,17 @@ export class SpannerDriver implements DbDriver {
|
|
|
155
157
|
params: namedParams?.params,
|
|
156
158
|
types: namedParams?.types,
|
|
157
159
|
});
|
|
160
|
+
const durationMs = Number(process.hrtime.bigint() - startTime) / 1_000_000;
|
|
161
|
+
this.logger.debug({
|
|
162
|
+
message: `Query executed`,
|
|
163
|
+
obj: { sql, durationMs, rowCount: rows.length },
|
|
164
|
+
});
|
|
158
165
|
return rows.map((row) => row.toJSON());
|
|
159
166
|
} catch (error: any) {
|
|
167
|
+
const durationMs = Number(process.hrtime.bigint() - startTime) / 1_000_000;
|
|
160
168
|
this.logger.error({
|
|
161
169
|
message: `Failed when executing query`,
|
|
162
|
-
obj: { sql, params: namedParams, errorDetails: error.details },
|
|
170
|
+
obj: { sql, params: namedParams, errorDetails: error.details, durationMs },
|
|
163
171
|
});
|
|
164
172
|
throw error;
|
|
165
173
|
}
|
|
@@ -196,6 +204,8 @@ export class SpannerDriver implements DbDriver {
|
|
|
196
204
|
getDriverColumnType: this.getColumnType.bind(this),
|
|
197
205
|
});
|
|
198
206
|
|
|
207
|
+
const startTime = process.hrtime.bigint();
|
|
208
|
+
|
|
199
209
|
try {
|
|
200
210
|
this.logger.debug({ message: `Executing dml`, obj: { sql, params: namedParams } });
|
|
201
211
|
const [rowCount] = await runner.runUpdate({
|
|
@@ -203,11 +213,17 @@ export class SpannerDriver implements DbDriver {
|
|
|
203
213
|
params: namedParams?.params,
|
|
204
214
|
types: namedParams?.types,
|
|
205
215
|
});
|
|
216
|
+
const durationMs = Number(process.hrtime.bigint() - startTime) / 1_000_000;
|
|
217
|
+
this.logger.debug({
|
|
218
|
+
message: `Dml executed`,
|
|
219
|
+
obj: { sql, durationMs, rowCount },
|
|
220
|
+
});
|
|
206
221
|
return rowCount;
|
|
207
222
|
} catch (error: any) {
|
|
223
|
+
const durationMs = Number(process.hrtime.bigint() - startTime) / 1_000_000;
|
|
208
224
|
this.logger.error({
|
|
209
225
|
message: `Failed when executing dml`,
|
|
210
|
-
obj: { sql, params: namedParams, errorDetails: error.details },
|
|
226
|
+
obj: { sql, params: namedParams, errorDetails: error.details, durationMs },
|
|
211
227
|
});
|
|
212
228
|
throw error;
|
|
213
229
|
}
|
|
@@ -230,12 +246,19 @@ export class SpannerDriver implements DbDriver {
|
|
|
230
246
|
* Execute a schema write operation.
|
|
231
247
|
*/
|
|
232
248
|
async runUpdateSchema(sql: string): Promise<void> {
|
|
249
|
+
const startTime = process.hrtime.bigint();
|
|
233
250
|
try {
|
|
234
251
|
this.logger.debug({ message: `Executing schema update`, obj: { sql } });
|
|
235
252
|
const [operation] = await this.getSpannerDb().updateSchema(sql);
|
|
236
253
|
await operation.promise();
|
|
254
|
+
const durationMs = Number(process.hrtime.bigint() - startTime) / 1_000_000;
|
|
255
|
+
this.logger.debug({ message: `Schema update executed`, obj: { sql, durationMs } });
|
|
237
256
|
} catch (error: any) {
|
|
238
|
-
|
|
257
|
+
const durationMs = Number(process.hrtime.bigint() - startTime) / 1_000_000;
|
|
258
|
+
this.logger.error({
|
|
259
|
+
message: `Failed when executing schema update`,
|
|
260
|
+
obj: { sql, errorDetails: error.details, durationMs },
|
|
261
|
+
});
|
|
239
262
|
throw error;
|
|
240
263
|
}
|
|
241
264
|
}
|
|
@@ -16,9 +16,9 @@ export class SpannerSchemaOperations implements SchemaOperations {
|
|
|
16
16
|
constructor(private spannerDriver: SpannerDriver) {}
|
|
17
17
|
|
|
18
18
|
async createTable(table: Table<any>) {
|
|
19
|
-
const indexes: { name?: string; columns: string
|
|
20
|
-
for (const
|
|
21
|
-
indexes.push({ name
|
|
19
|
+
const indexes: { name?: string; columns: string[]; unique?: boolean }[] = [];
|
|
20
|
+
for (const { name, columns } of table.indexes) {
|
|
21
|
+
indexes.push({ name, columns: columns.map((x) => table.columns[x as string]!.name) });
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
const serializedColumns: { name: string; type: string; nullable?: boolean }[] = [];
|
|
@@ -29,7 +29,11 @@ export class SpannerSchemaOperations implements SchemaOperations {
|
|
|
29
29
|
serializedColumns.push({ name: column.name, type: columnType, nullable: column.options?.nullable });
|
|
30
30
|
this.logger.info({ message: `[${table.name}] Creating column: ${column.name} (${column.constructor.name})` });
|
|
31
31
|
if (column.options?.unique?.unique) {
|
|
32
|
-
indexes.push({
|
|
32
|
+
indexes.push({
|
|
33
|
+
name: column.options.unique.indexName,
|
|
34
|
+
columns: [table.columns[column.name]!.name],
|
|
35
|
+
unique: true,
|
|
36
|
+
});
|
|
33
37
|
this.logger.info({ message: `[${table.name}.${column.name}] Adding unique constraint` });
|
|
34
38
|
}
|
|
35
39
|
|
|
@@ -47,11 +51,11 @@ export class SpannerSchemaOperations implements SchemaOperations {
|
|
|
47
51
|
const createIndexSql = new StatementFactory().createIndex(index, table.name).sql;
|
|
48
52
|
const indexName = StatementUtil.getIndexName(table.name, index);
|
|
49
53
|
this.logger.info({
|
|
50
|
-
message: `[${table.name}] Creating index: ${indexName} (${
|
|
54
|
+
message: `[${table.name}] Creating index: ${indexName} (${index.columns.join(', ')})`,
|
|
51
55
|
});
|
|
52
56
|
await this.spannerDriver.runUpdateSchema(createIndexSql);
|
|
53
57
|
this.logger.info({
|
|
54
|
-
message: `[${table.name}] Created index: ${indexName} (${
|
|
58
|
+
message: `[${table.name}] Created index: ${indexName} (${index.columns.join(', ')})`,
|
|
55
59
|
});
|
|
56
60
|
}
|
|
57
61
|
}
|