@proteinjs/db-driver-spanner 1.19.0 → 1.20.1
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 +28 -0
- package/dist/generated/index.js +1 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/test/index.js +1 -1
- package/dist/generated/test/index.js.map +1 -1
- package/dist/src/SpannerDriver.d.ts +36 -3
- package/dist/src/SpannerDriver.d.ts.map +1 -1
- package/dist/src/SpannerDriver.js +106 -17
- package/dist/src/SpannerDriver.js.map +1 -1
- package/dist/src/SpannerSchemaOperations.d.ts +32 -1
- package/dist/src/SpannerSchemaOperations.d.ts.map +1 -1
- package/dist/src/SpannerSchemaOperations.js +121 -124
- package/dist/src/SpannerSchemaOperations.js.map +1 -1
- package/dist/test/BatchedDdl.test.d.ts +2 -0
- package/dist/test/BatchedDdl.test.d.ts.map +1 -0
- package/dist/test/BatchedDdl.test.js +496 -0
- package/dist/test/BatchedDdl.test.js.map +1 -0
- package/dist/test/ConcurrentSchemaReconcile.test.d.ts +2 -0
- package/dist/test/ConcurrentSchemaReconcile.test.d.ts.map +1 -0
- package/dist/test/ConcurrentSchemaReconcile.test.js +359 -0
- package/dist/test/ConcurrentSchemaReconcile.test.js.map +1 -0
- package/generated/index.ts +1 -1
- package/generated/test/index.ts +1 -1
- package/package.json +5 -5
- package/src/SpannerDriver.ts +72 -10
- package/src/SpannerSchemaOperations.ts +103 -53
- package/test/BatchedDdl.test.ts +293 -0
- package/test/ConcurrentSchemaReconcile.test.ts +237 -0
|
@@ -173,7 +173,7 @@ var SpannerDriver = /** @class */ (function () {
|
|
|
173
173
|
if (_a.sent()) {
|
|
174
174
|
return [2 /*return*/];
|
|
175
175
|
}
|
|
176
|
-
return [4 /*yield*/, this.
|
|
176
|
+
return [4 /*yield*/, this.createDb(this.getDbName())];
|
|
177
177
|
case 2:
|
|
178
178
|
_a.sent();
|
|
179
179
|
return [2 /*return*/];
|
|
@@ -181,19 +181,87 @@ var SpannerDriver = /** @class */ (function () {
|
|
|
181
181
|
});
|
|
182
182
|
});
|
|
183
183
|
};
|
|
184
|
+
/**
|
|
185
|
+
* Create the named database in one operation. `ddl` statements ride the create as
|
|
186
|
+
* `CreateDatabase.extra_statements` — applied in order, atomically with the creation (if any
|
|
187
|
+
* statement fails, the database is not created) — so a database can be born with its full
|
|
188
|
+
* schema without a second schema-update operation.
|
|
189
|
+
*/
|
|
190
|
+
SpannerDriver.prototype.createDb = function (name, options) {
|
|
191
|
+
var _a;
|
|
192
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
193
|
+
var _b, database, operation;
|
|
194
|
+
return __generator(this, function (_c) {
|
|
195
|
+
switch (_c.label) {
|
|
196
|
+
case 0: return [4 /*yield*/, this.getSpannerInstance().createDatabase(name, {
|
|
197
|
+
extraStatements: (_a = options === null || options === void 0 ? void 0 : options.ddl) !== null && _a !== void 0 ? _a : [],
|
|
198
|
+
// Admin-handle hygiene (see adminDbHandle): the client constructs the returned handle
|
|
199
|
+
// BEFORE the create operation completes — a default eager pool races the operation and
|
|
200
|
+
// crashes on NOT_FOUND.
|
|
201
|
+
poolOptions: { min: 0 },
|
|
202
|
+
})];
|
|
203
|
+
case 1:
|
|
204
|
+
_b = _c.sent(), database = _b[0], operation = _b[1];
|
|
205
|
+
database.on('error', function () { return undefined; });
|
|
206
|
+
return [4 /*yield*/, operation.promise()];
|
|
207
|
+
case 2:
|
|
208
|
+
_c.sent();
|
|
209
|
+
return [4 /*yield*/, database.close().catch(function () { return undefined; })];
|
|
210
|
+
case 3:
|
|
211
|
+
_c.sent();
|
|
212
|
+
return [2 /*return*/];
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
});
|
|
216
|
+
};
|
|
217
|
+
/** Drop the named database (client `Database.delete()` — closes the handle, then drops). */
|
|
218
|
+
SpannerDriver.prototype.dropDb = function (name) {
|
|
219
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
220
|
+
return __generator(this, function (_a) {
|
|
221
|
+
switch (_a.label) {
|
|
222
|
+
case 0: return [4 /*yield*/, this.adminDbHandle(name).delete()];
|
|
223
|
+
case 1:
|
|
224
|
+
_a.sent();
|
|
225
|
+
return [2 /*return*/];
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
};
|
|
184
230
|
SpannerDriver.prototype.dbExists = function (databaseName) {
|
|
185
231
|
return __awaiter(this, void 0, void 0, function () {
|
|
186
|
-
var exists;
|
|
232
|
+
var database, exists;
|
|
187
233
|
return __generator(this, function (_a) {
|
|
188
234
|
switch (_a.label) {
|
|
189
|
-
case 0:
|
|
235
|
+
case 0:
|
|
236
|
+
database = this.adminDbHandle(databaseName);
|
|
237
|
+
_a.label = 1;
|
|
190
238
|
case 1:
|
|
239
|
+
_a.trys.push([1, , 3, 5]);
|
|
240
|
+
return [4 /*yield*/, database.exists()];
|
|
241
|
+
case 2:
|
|
191
242
|
exists = (_a.sent())[0];
|
|
192
243
|
return [2 /*return*/, exists];
|
|
244
|
+
case 3: return [4 /*yield*/, database.close().catch(function () { return undefined; })];
|
|
245
|
+
case 4:
|
|
246
|
+
_a.sent();
|
|
247
|
+
return [7 /*endfinally*/];
|
|
248
|
+
case 5: return [2 /*return*/];
|
|
193
249
|
}
|
|
194
250
|
});
|
|
195
251
|
});
|
|
196
252
|
};
|
|
253
|
+
/**
|
|
254
|
+
* A Database handle for admin operations (exists/drop): admin RPCs ride the admin client, not
|
|
255
|
+
* sessions, so the pool is configured to hold ZERO sessions — the default pool eagerly fills
|
|
256
|
+
* in the handle's constructor and emits process-crashing unlistened 'error' events when the
|
|
257
|
+
* database does not exist, which is the NORMAL case for these operations. Its error channel is
|
|
258
|
+
* owned for the same reason.
|
|
259
|
+
*/
|
|
260
|
+
SpannerDriver.prototype.adminDbHandle = function (name) {
|
|
261
|
+
var database = this.getSpannerInstance().database(name, { min: 0 });
|
|
262
|
+
database.on('error', function () { return undefined; });
|
|
263
|
+
return database;
|
|
264
|
+
};
|
|
197
265
|
/**
|
|
198
266
|
* Execute a query.
|
|
199
267
|
*/
|
|
@@ -603,34 +671,55 @@ var SpannerDriver = /** @class */ (function () {
|
|
|
603
671
|
return (_a = this.config.deadlineFailuresBeforeRecycle) !== null && _a !== void 0 ? _a : 3;
|
|
604
672
|
};
|
|
605
673
|
/**
|
|
606
|
-
* Execute a schema write operation
|
|
674
|
+
* Execute a schema write operation — one long-running operation for the WHOLE statement list
|
|
675
|
+
* (`UpdateDatabaseDdl` applies the statements in order). Sequential per-statement operations
|
|
676
|
+
* are what made a 37-statement prod boot take 10m31s; callers batch and pass the list.
|
|
677
|
+
*
|
|
678
|
+
* Partial-failure semantics (verified against the emulator; matches Spanner's documented
|
|
679
|
+
* batch-DDL behavior — both phases are covered in BatchedDdl.test.ts):
|
|
680
|
+
* - VALIDATION failure (schema-shape errors, checked upfront for the whole batch, in order,
|
|
681
|
+
* against the projected schema): the batch is rejected before anything applies — NOTHING
|
|
682
|
+
* lands. Strictly safer than the old serial path, which stranded the earlier statements.
|
|
683
|
+
* - APPLY failure (data-dependent errors, e.g. a unique-index backfill over duplicate rows):
|
|
684
|
+
* statements BEFORE the failing one stay applied; the failing one and everything after are
|
|
685
|
+
* cancelled — the serial path's semantics.
|
|
686
|
+
* Neither phase reports a positional statement index: the backend error names the offending
|
|
687
|
+
* OBJECT (table/index/column). The failure log below carries the full statement list plus
|
|
688
|
+
* that reason, which together locate the statement.
|
|
607
689
|
*/
|
|
608
|
-
SpannerDriver.prototype.runUpdateSchema = function (
|
|
690
|
+
SpannerDriver.prototype.runUpdateSchema = function (statements) {
|
|
691
|
+
var _a;
|
|
609
692
|
return __awaiter(this, void 0, void 0, function () {
|
|
610
|
-
var startTime, operation, durationMs, error_5, durationMs;
|
|
611
|
-
return __generator(this, function (
|
|
612
|
-
switch (
|
|
693
|
+
var statementList, startTime, operation, durationMs, error_5, durationMs;
|
|
694
|
+
return __generator(this, function (_b) {
|
|
695
|
+
switch (_b.label) {
|
|
613
696
|
case 0:
|
|
697
|
+
statementList = Array.isArray(statements) ? statements : [statements];
|
|
614
698
|
startTime = process.hrtime.bigint();
|
|
615
|
-
|
|
699
|
+
_b.label = 1;
|
|
616
700
|
case 1:
|
|
617
|
-
|
|
618
|
-
this.logger.debug({ message: "Executing schema update", obj: {
|
|
619
|
-
return [4 /*yield*/, this.getSpannerDb().updateSchema(
|
|
701
|
+
_b.trys.push([1, 4, , 5]);
|
|
702
|
+
this.logger.debug({ message: "Executing schema update", obj: { statements: statementList } });
|
|
703
|
+
return [4 /*yield*/, this.getSpannerDb().updateSchema(statementList)];
|
|
620
704
|
case 2:
|
|
621
|
-
operation = (
|
|
705
|
+
operation = (_b.sent())[0];
|
|
622
706
|
return [4 /*yield*/, operation.promise()];
|
|
623
707
|
case 3:
|
|
624
|
-
|
|
708
|
+
_b.sent();
|
|
625
709
|
durationMs = Number(process.hrtime.bigint() - startTime) / 1000000;
|
|
626
|
-
this.logger.debug({
|
|
710
|
+
this.logger.debug({
|
|
711
|
+
message: "Schema update executed",
|
|
712
|
+
obj: { statementCount: statementList.length, durationMs: durationMs },
|
|
713
|
+
});
|
|
627
714
|
return [3 /*break*/, 5];
|
|
628
715
|
case 4:
|
|
629
|
-
error_5 =
|
|
716
|
+
error_5 = _b.sent();
|
|
630
717
|
durationMs = Number(process.hrtime.bigint() - startTime) / 1000000;
|
|
631
718
|
this.logger.error({
|
|
632
719
|
message: "Failed when executing schema update",
|
|
633
|
-
|
|
720
|
+
// Apply-phase LRO failures carry their reason only in `message` (`details` is
|
|
721
|
+
// undefined there); validation-phase gRPC errors carry both.
|
|
722
|
+
obj: { statements: statementList, errorDetails: (_a = error_5.details) !== null && _a !== void 0 ? _a : String(error_5), durationMs: durationMs },
|
|
634
723
|
});
|
|
635
724
|
throw error_5;
|
|
636
725
|
case 5: return [2 /*return*/];
|
|
@@ -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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"}
|
|
@@ -4,8 +4,39 @@ export declare class SpannerSchemaOperations implements SchemaOperations {
|
|
|
4
4
|
private spannerDriver;
|
|
5
5
|
private logger;
|
|
6
6
|
constructor(spannerDriver: SpannerDriver);
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Classify a schema-update error as Spanner's "already exists" class — the loser's outcome when
|
|
9
|
+
* two actors concurrently create the same table/index or add the same column and the backend
|
|
10
|
+
* serializes the DDL so it lands exactly once. {@link TableManager} calls this to decide whether
|
|
11
|
+
* a create/alter failure is eligible for verify-then-succeed (it still re-reads the live schema
|
|
12
|
+
* and confirms the intended definition before treating it as success).
|
|
13
|
+
*
|
|
14
|
+
* Matched on gRPC status CODE and a specific MESSAGE class — never a loose substring:
|
|
15
|
+
* - code ∈ { ALREADY_EXISTS (6), FAILED_PRECONDITION (9) }. Cloud Spanner has surfaced the
|
|
16
|
+
* duplicate-object errors under both across backends/versions; the emulator returns 9
|
|
17
|
+
* ("Duplicate name in schema: <obj>" for a table/index, "Duplicate column name <table>.<col>"
|
|
18
|
+
* for a column — verified against the emulator image, 2026-08). Gating on this two-code family
|
|
19
|
+
* rather than code 9 alone keeps OTHER FAILED_PRECONDITION errors — a stranded read-write
|
|
20
|
+
* transaction ("a concurrent schema change operation or read-write transaction is already in
|
|
21
|
+
* progress"), a unique-index backfill uniqueness violation — out of the class.
|
|
22
|
+
* - message ∈ the duplicate/already-exists phrasings. This is the discriminator that keeps
|
|
23
|
+
* unrelated code-9 errors out, so it is deliberately specific (e.g. "already in progress" does
|
|
24
|
+
* NOT contain "already exists" and is not matched).
|
|
25
|
+
*
|
|
26
|
+
* The reconcile layer's own errors (unsupported type change, nullable drift, column rename) are
|
|
27
|
+
* plain Errors with no `code` and never match.
|
|
28
|
+
*/
|
|
29
|
+
isAlreadyExistsError(error: unknown): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Create every table in `tables` — each table's `CREATE TABLE` plus all of its `CREATE INDEX`
|
|
32
|
+
* statements, concatenated across tables in the given order — as ONE schema-update operation.
|
|
33
|
+
* `UpdateDatabaseDdl` applies the batch in order, so a table whose foreign keys reference an
|
|
34
|
+
* earlier table in the list resolves against it, exactly as it did when the statements ran
|
|
35
|
+
* serially.
|
|
36
|
+
*/
|
|
37
|
+
createTables(tables: Table<any>[]): Promise<void>;
|
|
8
38
|
alterTable(table: Table<any>, tableChanges: TableChanges): Promise<void>;
|
|
39
|
+
private createTableStatements;
|
|
9
40
|
/**
|
|
10
41
|
* Spanner supports exactly one in-place column type change: widening a `STRING(n)` to a larger
|
|
11
42
|
* `STRING(m)` or `STRING(MAX)`. Returns the `ALTER COLUMN` statement when `change` is such a
|
|
@@ -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;AAMhD,qBAAa,uBAAwB,YAAW,gBAAgB;IAGlD,OAAO,CAAC,aAAa;IAFjC,OAAO,CAAC,MAAM,CAA2F;gBAErF,aAAa,EAAE,aAAa;
|
|
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;AAMhD,qBAAa,uBAAwB,YAAW,gBAAgB;IAGlD,OAAO,CAAC,aAAa;IAFjC,OAAO,CAAC,MAAM,CAA2F;gBAErF,aAAa,EAAE,aAAa;IAEhD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAc7C;;;;;;OAMG;IACG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;IAajC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,YAAY;IAqG9D,OAAO,CAAC,qBAAqB;IA0C7B;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;CAuBhC"}
|
|
@@ -48,65 +48,64 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
|
48
48
|
this.spannerDriver = spannerDriver;
|
|
49
49
|
this.logger = new logger_1.Logger({ name: this.constructor.name, logLevel: getEnvVar('DB_LOG_LEVEL') });
|
|
50
50
|
}
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Classify a schema-update error as Spanner's "already exists" class — the loser's outcome when
|
|
53
|
+
* two actors concurrently create the same table/index or add the same column and the backend
|
|
54
|
+
* serializes the DDL so it lands exactly once. {@link TableManager} calls this to decide whether
|
|
55
|
+
* a create/alter failure is eligible for verify-then-succeed (it still re-reads the live schema
|
|
56
|
+
* and confirms the intended definition before treating it as success).
|
|
57
|
+
*
|
|
58
|
+
* Matched on gRPC status CODE and a specific MESSAGE class — never a loose substring:
|
|
59
|
+
* - code ∈ { ALREADY_EXISTS (6), FAILED_PRECONDITION (9) }. Cloud Spanner has surfaced the
|
|
60
|
+
* duplicate-object errors under both across backends/versions; the emulator returns 9
|
|
61
|
+
* ("Duplicate name in schema: <obj>" for a table/index, "Duplicate column name <table>.<col>"
|
|
62
|
+
* for a column — verified against the emulator image, 2026-08). Gating on this two-code family
|
|
63
|
+
* rather than code 9 alone keeps OTHER FAILED_PRECONDITION errors — a stranded read-write
|
|
64
|
+
* transaction ("a concurrent schema change operation or read-write transaction is already in
|
|
65
|
+
* progress"), a unique-index backfill uniqueness violation — out of the class.
|
|
66
|
+
* - message ∈ the duplicate/already-exists phrasings. This is the discriminator that keeps
|
|
67
|
+
* unrelated code-9 errors out, so it is deliberately specific (e.g. "already in progress" does
|
|
68
|
+
* NOT contain "already exists" and is not matched).
|
|
69
|
+
*
|
|
70
|
+
* The reconcile layer's own errors (unsupported type change, nullable drift, column rename) are
|
|
71
|
+
* plain Errors with no `code` and never match.
|
|
72
|
+
*/
|
|
73
|
+
SpannerSchemaOperations.prototype.isAlreadyExistsError = function (error) {
|
|
74
|
+
var _a;
|
|
75
|
+
var code = error === null || error === void 0 ? void 0 : error.code;
|
|
76
|
+
if (code !== 6 && code !== 9) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
var message = String((_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : '');
|
|
80
|
+
return (/Duplicate column name/i.test(message) ||
|
|
81
|
+
/Duplicate name in schema/i.test(message) ||
|
|
82
|
+
/already exists/i.test(message));
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Create every table in `tables` — each table's `CREATE TABLE` plus all of its `CREATE INDEX`
|
|
86
|
+
* statements, concatenated across tables in the given order — as ONE schema-update operation.
|
|
87
|
+
* `UpdateDatabaseDdl` applies the batch in order, so a table whose foreign keys reference an
|
|
88
|
+
* earlier table in the list resolves against it, exactly as it did when the statements ran
|
|
89
|
+
* serially.
|
|
90
|
+
*/
|
|
91
|
+
SpannerSchemaOperations.prototype.createTables = function (tables) {
|
|
53
92
|
return __awaiter(this, void 0, void 0, function () {
|
|
54
|
-
var
|
|
55
|
-
return __generator(this, function (
|
|
56
|
-
switch (
|
|
93
|
+
var statements, _i, tables_1, table;
|
|
94
|
+
return __generator(this, function (_a) {
|
|
95
|
+
switch (_a.label) {
|
|
57
96
|
case 0:
|
|
58
|
-
|
|
59
|
-
for (_i = 0,
|
|
60
|
-
|
|
61
|
-
|
|
97
|
+
statements = [];
|
|
98
|
+
for (_i = 0, tables_1 = tables; _i < tables_1.length; _i++) {
|
|
99
|
+
table = tables_1[_i];
|
|
100
|
+
statements.push.apply(statements, this.createTableStatements(table));
|
|
62
101
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
for (columnPropertyName in table.columns) {
|
|
66
|
-
column = table.columns[columnPropertyName];
|
|
67
|
-
columnType = new SpannerColumnTypeFactory_1.SpannerColumnTypeFactory().getType(column);
|
|
68
|
-
serializedColumns.push({ name: column.name, type: columnType, nullable: (_a = column.options) === null || _a === void 0 ? void 0 : _a.nullable });
|
|
69
|
-
this.logger.info({ message: "[".concat(table.name, "] Creating column: ").concat(column.name, " (").concat(column.constructor.name, ")") });
|
|
70
|
-
if ((_c = (_b = column.options) === null || _b === void 0 ? void 0 : _b.unique) === null || _c === void 0 ? void 0 : _c.unique) {
|
|
71
|
-
indexes.push({
|
|
72
|
-
name: column.options.unique.indexName,
|
|
73
|
-
columns: [table.columns[column.name].name],
|
|
74
|
-
unique: true,
|
|
75
|
-
});
|
|
76
|
-
this.logger.info({ message: "[".concat(table.name, ".").concat(column.name, "] Adding unique constraint") });
|
|
77
|
-
}
|
|
78
|
-
if ((_d = column.options) === null || _d === void 0 ? void 0 : _d.references) {
|
|
79
|
-
foreignKeys.push({ table: column.options.references.table, column: 'id', referencedByColumn: column.name });
|
|
80
|
-
this.logger.info({
|
|
81
|
-
message: "[".concat(table.name, ".").concat(column.name, "] Adding foreign key -> ").concat(column.options.references.table, ".id"),
|
|
82
|
-
});
|
|
83
|
-
}
|
|
102
|
+
if (statements.length === 0) {
|
|
103
|
+
return [2 /*return*/];
|
|
84
104
|
}
|
|
85
|
-
|
|
86
|
-
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(createTableSql)];
|
|
105
|
+
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(statements)];
|
|
87
106
|
case 1:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
_h.label = 2;
|
|
91
|
-
case 2:
|
|
92
|
-
if (!(_g < indexes_1.length)) return [3 /*break*/, 5];
|
|
93
|
-
index = indexes_1[_g];
|
|
94
|
-
createIndexSql = new db_1.StatementFactory().createIndex(index, table.name).sql;
|
|
95
|
-
indexName = db_1.StatementUtil.getIndexName(table.name, index);
|
|
96
|
-
this.logger.info({
|
|
97
|
-
message: "[".concat(table.name, "] Creating index: ").concat(indexName, " (").concat(index.columns.join(', '), ")"),
|
|
98
|
-
});
|
|
99
|
-
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(createIndexSql)];
|
|
100
|
-
case 3:
|
|
101
|
-
_h.sent();
|
|
102
|
-
this.logger.info({
|
|
103
|
-
message: "[".concat(table.name, "] Created index: ").concat(indexName, " (").concat(index.columns.join(', '), ")"),
|
|
104
|
-
});
|
|
105
|
-
_h.label = 4;
|
|
106
|
-
case 4:
|
|
107
|
-
_g++;
|
|
108
|
-
return [3 /*break*/, 2];
|
|
109
|
-
case 5: return [2 /*return*/];
|
|
107
|
+
_a.sent();
|
|
108
|
+
return [2 /*return*/];
|
|
110
109
|
}
|
|
111
110
|
});
|
|
112
111
|
});
|
|
@@ -114,9 +113,9 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
|
114
113
|
SpannerSchemaOperations.prototype.alterTable = function (table, tableChanges) {
|
|
115
114
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
116
115
|
return __awaiter(this, void 0, void 0, function () {
|
|
117
|
-
var alterParams, indexesToDrop, indexesToAdd, _i, _h, columnPropertyName, column, columnType, _j, _k, columnName, _l, _m, foreignKey, wideningStatements, _o, _p, columnTypeChange, wideningStatement, errorMessage, _q, _r, columnNullableChange, errorMessage, _s, _t, columnPropertyName, column, errorMessage,
|
|
118
|
-
return __generator(this, function (
|
|
119
|
-
switch (
|
|
116
|
+
var alterParams, indexesToDrop, indexesToAdd, _i, _h, columnPropertyName, column, columnType, _j, _k, columnName, _l, _m, foreignKey, wideningStatements, _o, _p, columnTypeChange, wideningStatement, errorMessage, _q, _r, columnNullableChange, errorMessage, _s, _t, columnPropertyName, column, errorMessage, statements, _u, _v, index, _w, _x, index, indexName;
|
|
117
|
+
return __generator(this, function (_y) {
|
|
118
|
+
switch (_y.label) {
|
|
120
119
|
case 0:
|
|
121
120
|
alterParams = {
|
|
122
121
|
tableName: table.name,
|
|
@@ -187,78 +186,76 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
|
187
186
|
this.logger.error({ message: errorMessage });
|
|
188
187
|
throw new Error(errorMessage);
|
|
189
188
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
189
|
+
statements = new db_1.StatementFactory()
|
|
190
|
+
.alterTable(alterParams)
|
|
191
|
+
.map(function (alterStatement) { return alterStatement.sql; });
|
|
192
|
+
statements.push.apply(statements, wideningStatements);
|
|
193
|
+
for (_u = 0, _v = tableChanges.indexesToDrop; _u < _v.length; _u++) {
|
|
194
|
+
index = _v[_u];
|
|
195
|
+
this.logger.info({
|
|
196
|
+
message: "[".concat(table.name, "] Dropping index: ").concat(index.name, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
|
197
|
+
});
|
|
198
|
+
statements.push(new db_1.StatementFactory().dropIndex(index, table.name).sql);
|
|
199
|
+
}
|
|
200
|
+
for (_w = 0, _x = tableChanges.indexesToCreate; _w < _x.length; _w++) {
|
|
201
|
+
index = _x[_w];
|
|
202
|
+
indexName = db_1.StatementUtil.getIndexName(table.name, index);
|
|
203
|
+
this.logger.info({
|
|
204
|
+
message: "[".concat(table.name, "] Creating index: ").concat(indexName, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
|
205
|
+
});
|
|
206
|
+
statements.push(new db_1.StatementFactory().createIndex(index, table.name).sql);
|
|
207
|
+
}
|
|
208
|
+
if (statements.length === 0) {
|
|
209
|
+
return [2 /*return*/];
|
|
210
|
+
}
|
|
211
|
+
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(statements)];
|
|
193
212
|
case 1:
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(alterStatement.sql)];
|
|
197
|
-
case 2:
|
|
198
|
-
_0.sent();
|
|
199
|
-
_0.label = 3;
|
|
200
|
-
case 3:
|
|
201
|
-
_u++;
|
|
202
|
-
return [3 /*break*/, 1];
|
|
203
|
-
case 4:
|
|
204
|
-
_v = 0, wideningStatements_1 = wideningStatements;
|
|
205
|
-
_0.label = 5;
|
|
206
|
-
case 5:
|
|
207
|
-
if (!(_v < wideningStatements_1.length)) return [3 /*break*/, 8];
|
|
208
|
-
wideningStatement = wideningStatements_1[_v];
|
|
209
|
-
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(wideningStatement)];
|
|
210
|
-
case 6:
|
|
211
|
-
_0.sent();
|
|
212
|
-
_0.label = 7;
|
|
213
|
-
case 7:
|
|
214
|
-
_v++;
|
|
215
|
-
return [3 /*break*/, 5];
|
|
216
|
-
case 8:
|
|
217
|
-
_w = 0, _x = tableChanges.indexesToDrop;
|
|
218
|
-
_0.label = 9;
|
|
219
|
-
case 9:
|
|
220
|
-
if (!(_w < _x.length)) return [3 /*break*/, 12];
|
|
221
|
-
index = _x[_w];
|
|
222
|
-
dropIndexSql = new db_1.StatementFactory().dropIndex(index, table.name).sql;
|
|
223
|
-
this.logger.info({
|
|
224
|
-
message: "[".concat(table.name, "] Dropping index: ").concat(index.name, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
|
225
|
-
});
|
|
226
|
-
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(dropIndexSql)];
|
|
227
|
-
case 10:
|
|
228
|
-
_0.sent();
|
|
229
|
-
this.logger.info({
|
|
230
|
-
message: "[".concat(table.name, "] Dropped index: ").concat(index.name, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
|
231
|
-
});
|
|
232
|
-
_0.label = 11;
|
|
233
|
-
case 11:
|
|
234
|
-
_w++;
|
|
235
|
-
return [3 /*break*/, 9];
|
|
236
|
-
case 12:
|
|
237
|
-
_y = 0, _z = tableChanges.indexesToCreate;
|
|
238
|
-
_0.label = 13;
|
|
239
|
-
case 13:
|
|
240
|
-
if (!(_y < _z.length)) return [3 /*break*/, 16];
|
|
241
|
-
index = _z[_y];
|
|
242
|
-
createIndexSql = new db_1.StatementFactory().createIndex(index, table.name).sql;
|
|
243
|
-
indexName = db_1.StatementUtil.getIndexName(table.name, index);
|
|
244
|
-
this.logger.info({
|
|
245
|
-
message: "[".concat(table.name, "] Creating index: ").concat(indexName, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
|
246
|
-
});
|
|
247
|
-
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(createIndexSql)];
|
|
248
|
-
case 14:
|
|
249
|
-
_0.sent();
|
|
250
|
-
this.logger.info({
|
|
251
|
-
message: "[".concat(table.name, "] Created index: ").concat(indexName, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
|
252
|
-
});
|
|
253
|
-
_0.label = 15;
|
|
254
|
-
case 15:
|
|
255
|
-
_y++;
|
|
256
|
-
return [3 /*break*/, 13];
|
|
257
|
-
case 16: return [2 /*return*/];
|
|
213
|
+
_y.sent();
|
|
214
|
+
return [2 /*return*/];
|
|
258
215
|
}
|
|
259
216
|
});
|
|
260
217
|
});
|
|
261
218
|
};
|
|
219
|
+
SpannerSchemaOperations.prototype.createTableStatements = function (table) {
|
|
220
|
+
var _a, _b, _c, _d;
|
|
221
|
+
var indexes = [];
|
|
222
|
+
for (var _i = 0, _e = table.indexes; _i < _e.length; _i++) {
|
|
223
|
+
var _f = _e[_i], name_1 = _f.name, columns = _f.columns, unique = _f.unique;
|
|
224
|
+
indexes.push({ name: name_1, columns: columns.map(function (x) { return table.columns[x].name; }), unique: unique });
|
|
225
|
+
}
|
|
226
|
+
var serializedColumns = [];
|
|
227
|
+
var foreignKeys = [];
|
|
228
|
+
for (var columnPropertyName in table.columns) {
|
|
229
|
+
var column = table.columns[columnPropertyName];
|
|
230
|
+
var columnType = new SpannerColumnTypeFactory_1.SpannerColumnTypeFactory().getType(column);
|
|
231
|
+
serializedColumns.push({ name: column.name, type: columnType, nullable: (_a = column.options) === null || _a === void 0 ? void 0 : _a.nullable });
|
|
232
|
+
this.logger.info({ message: "[".concat(table.name, "] Creating column: ").concat(column.name, " (").concat(column.constructor.name, ")") });
|
|
233
|
+
if ((_c = (_b = column.options) === null || _b === void 0 ? void 0 : _b.unique) === null || _c === void 0 ? void 0 : _c.unique) {
|
|
234
|
+
indexes.push({
|
|
235
|
+
name: column.options.unique.indexName,
|
|
236
|
+
columns: [table.columns[column.name].name],
|
|
237
|
+
unique: true,
|
|
238
|
+
});
|
|
239
|
+
this.logger.info({ message: "[".concat(table.name, ".").concat(column.name, "] Adding unique constraint") });
|
|
240
|
+
}
|
|
241
|
+
if ((_d = column.options) === null || _d === void 0 ? void 0 : _d.references) {
|
|
242
|
+
foreignKeys.push({ table: column.options.references.table, column: 'id', referencedByColumn: column.name });
|
|
243
|
+
this.logger.info({
|
|
244
|
+
message: "[".concat(table.name, ".").concat(column.name, "] Adding foreign key -> ").concat(column.options.references.table, ".id"),
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
var statements = [new db_1.StatementFactory().createTable(table.name, serializedColumns, 'id', foreignKeys).sql];
|
|
249
|
+
for (var _g = 0, indexes_1 = indexes; _g < indexes_1.length; _g++) {
|
|
250
|
+
var index = indexes_1[_g];
|
|
251
|
+
var indexName = db_1.StatementUtil.getIndexName(table.name, index);
|
|
252
|
+
this.logger.info({
|
|
253
|
+
message: "[".concat(table.name, "] Creating index: ").concat(indexName, " (").concat(index.columns.join(', '), ")"),
|
|
254
|
+
});
|
|
255
|
+
statements.push(new db_1.StatementFactory().createIndex(index, table.name).sql);
|
|
256
|
+
}
|
|
257
|
+
return statements;
|
|
258
|
+
};
|
|
262
259
|
/**
|
|
263
260
|
* Spanner supports exactly one in-place column type change: widening a `STRING(n)` to a larger
|
|
264
261
|
* `STRING(m)` or `STRING(MAX)`. Returns the `ALTER COLUMN` statement when `change` is such a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpannerSchemaOperations.js","sourceRoot":"","sources":["../../src/SpannerSchemaOperations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA2C;AAC3C,oCAOuB;AAEvB,uEAAsE;AAEtE,IAAM,SAAS,GAAG,UAAC,GAAW;IAC5B,OAAA,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;AAA5E,CAA4E,CAAC;AAE/E;IAGE,iCAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAFxC,WAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAQ,EAAE,CAAC,CAAC;IAEtD,CAAC;
|
|
1
|
+
{"version":3,"file":"SpannerSchemaOperations.js","sourceRoot":"","sources":["../../src/SpannerSchemaOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BatchedDdl.test.d.ts","sourceRoot":"","sources":["../../test/BatchedDdl.test.ts"],"names":[],"mappings":"AAMA,OAAO,yBAAyB,CAAC"}
|