@dbos-inc/dbos-sdk 4.25.14 → 4.26.4-preview
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/schemas/system_db_schema.d.ts +5 -0
- package/dist/schemas/system_db_schema.d.ts.map +1 -1
- package/dist/schemas/system_db_schema.js.map +1 -1
- package/dist/src/adminserver.js +1 -1
- package/dist/src/adminserver.js.map +1 -1
- package/dist/src/cli/cli.d.ts.map +1 -1
- package/dist/src/cli/cli.js +64 -0
- package/dist/src/cli/cli.js.map +1 -1
- package/dist/src/cli/schema.d.ts.map +1 -1
- package/dist/src/cli/schema.js +26 -16
- package/dist/src/cli/schema.js.map +1 -1
- package/dist/src/client.d.ts +62 -4
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +58 -8
- package/dist/src/client.js.map +1 -1
- package/dist/src/conductor/conductor.d.ts.map +1 -1
- package/dist/src/conductor/conductor.js +13 -2
- package/dist/src/conductor/conductor.js.map +1 -1
- package/dist/src/conductor/protocol.d.ts +16 -2
- package/dist/src/conductor/protocol.d.ts.map +1 -1
- package/dist/src/conductor/protocol.js +10 -2
- package/dist/src/conductor/protocol.js.map +1 -1
- package/dist/src/context.d.ts +1 -0
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +2 -1
- package/dist/src/context.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +1 -0
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +128 -64
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/dbos.d.ts +41 -7
- package/dist/src/dbos.d.ts.map +1 -1
- package/dist/src/dbos.js +61 -4
- package/dist/src/dbos.js.map +1 -1
- package/dist/src/debouncer.d.ts +4 -0
- package/dist/src/debouncer.d.ts.map +1 -1
- package/dist/src/debouncer.js +32 -8
- package/dist/src/debouncer.js.map +1 -1
- package/dist/src/enqueue_options.d.ts +59 -0
- package/dist/src/enqueue_options.d.ts.map +1 -0
- package/dist/src/enqueue_options.js +61 -0
- package/dist/src/enqueue_options.js.map +1 -0
- package/dist/src/enqueue_workflow.d.ts +12 -0
- package/dist/src/enqueue_workflow.d.ts.map +1 -0
- package/dist/src/enqueue_workflow.js +91 -0
- package/dist/src/enqueue_workflow.js.map +1 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/scheduler/scheduler.d.ts +1 -0
- package/dist/src/scheduler/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler/scheduler.js +13 -5
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/sysdb_migrations/internal/migrations.d.ts +2 -1
- package/dist/src/sysdb_migrations/internal/migrations.d.ts.map +1 -1
- package/dist/src/sysdb_migrations/internal/migrations.js +186 -2
- package/dist/src/sysdb_migrations/internal/migrations.js.map +1 -1
- package/dist/src/sysdb_migrations/migration_runner.d.ts +5 -0
- package/dist/src/sysdb_migrations/migration_runner.d.ts.map +1 -1
- package/dist/src/sysdb_migrations/migration_runner.js +48 -10
- package/dist/src/sysdb_migrations/migration_runner.js.map +1 -1
- package/dist/src/system_database.d.ts +68 -13
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js +602 -200
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/utils.d.ts +1 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +1 -0
- package/dist/src/utils.js.map +1 -1
- package/dist/src/wfqueue.d.ts +2 -0
- package/dist/src/wfqueue.d.ts.map +1 -1
- package/dist/src/wfqueue.js +5 -1
- package/dist/src/wfqueue.js.map +1 -1
- package/dist/src/workflow.d.ts +2 -0
- package/dist/src/workflow.d.ts.map +1 -1
- package/dist/src/workflow.js.map +1 -1
- package/dist/src/workflow_management.d.ts.map +1 -1
- package/dist/src/workflow_management.js +4 -9
- package/dist/src/workflow_management.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Enqueue a workflow from inside an application using options alone, without a reference to its
|
|
4
|
+
* function. The target may live in another process or language, so nothing checks the local registry.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.enqueueWorkflowWithOptions = void 0;
|
|
8
|
+
const dbos_executor_1 = require("./dbos-executor");
|
|
9
|
+
const context_1 = require("./context");
|
|
10
|
+
const enqueue_options_1 = require("./enqueue_options");
|
|
11
|
+
const workflow_1 = require("./workflow");
|
|
12
|
+
const error_1 = require("./error");
|
|
13
|
+
const serialization_1 = require("./serialization");
|
|
14
|
+
const utils_1 = require("./utils");
|
|
15
|
+
/**
|
|
16
|
+
* Resolve options against the ambient context, except `appVersion`, which would strand a row aimed at another
|
|
17
|
+
* executor. In a workflow the derived ID makes a crash-replay collide instead of enqueueing a second workflow.
|
|
18
|
+
*/
|
|
19
|
+
function resolveOptions(options, assignedID, callerID, callerFunctionID) {
|
|
20
|
+
const pctx = (0, context_1.getCurrentContextStore)();
|
|
21
|
+
const derivedID = callerID !== undefined && callerFunctionID !== undefined ? `${callerID}-${callerFunctionID}` : undefined;
|
|
22
|
+
return {
|
|
23
|
+
...options,
|
|
24
|
+
workflowID: assignedID ?? derivedID,
|
|
25
|
+
authenticatedUser: options.authenticatedUser ?? pctx?.authenticatedUser,
|
|
26
|
+
authenticatedRoles: options.authenticatedRoles ?? pctx?.authenticatedRoles,
|
|
27
|
+
// No explicit target, so this application owns it.
|
|
28
|
+
applicationName: options.applicationName ?? utils_1.globalParams.appName,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Enqueue the row, recording it as a child of the calling workflow when there is one. Replay-safe:
|
|
33
|
+
* a recorded enqueue returns its original child ID or rethrows its recorded failure.
|
|
34
|
+
*/
|
|
35
|
+
async function enqueueWorkflowWithOptions(options, positionalArgs, namedArgs) {
|
|
36
|
+
const exec = dbos_executor_1.DBOSExecutor.globalInstance;
|
|
37
|
+
const sysdb = exec.systemDatabase;
|
|
38
|
+
const pctx = (0, context_1.getCurrentContextStore)();
|
|
39
|
+
const inWorkflow = pctx !== undefined && (0, context_1.isInWorkflowCtx)(pctx);
|
|
40
|
+
if (pctx !== undefined && (0, context_1.isWithinWorkflowCtx)(pctx) && !inWorkflow) {
|
|
41
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError('Invalid call to `enqueueWorkflowWithOptions` from within a `step` or `transaction`');
|
|
42
|
+
}
|
|
43
|
+
const callerID = inWorkflow ? pctx.workflowId : undefined;
|
|
44
|
+
const callerFunctionID = inWorkflow ? (0, context_1.functionIDGetIncrement)() : undefined;
|
|
45
|
+
// Consume an ambient withNextWorkflowID assignment even on a replay, so it cannot leak to a later workflow start.
|
|
46
|
+
const assignedID = (0, context_1.getNextWFID)(options.workflowID);
|
|
47
|
+
if (callerID !== undefined && callerFunctionID !== undefined) {
|
|
48
|
+
const recorded = await sysdb.getOperationResultAndThrowIfCancelled(callerID, callerFunctionID);
|
|
49
|
+
if (recorded) {
|
|
50
|
+
if (recorded.error) {
|
|
51
|
+
throw await (0, serialization_1.deserializeResError)(recorded.error, recorded.serialization ?? null, exec.serializer);
|
|
52
|
+
}
|
|
53
|
+
return new workflow_1.RetrievedHandle(sysdb, recorded.childWorkflowID);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const resolved = resolveOptions(options, assignedID, callerID, callerFunctionID);
|
|
57
|
+
if (resolved.queuePartitionKey !== undefined && resolved.deduplicationID !== undefined) {
|
|
58
|
+
throw new error_1.DBOSError('Deduplication is not supported for partitioned queues');
|
|
59
|
+
}
|
|
60
|
+
const internalStatus = await (0, enqueue_options_1.buildEnqueueStatus)(resolved, exec.serializer, positionalArgs, namedArgs);
|
|
61
|
+
// Fields DBOS internals own, which buildEnqueueStatus leaves for its caller to stamp.
|
|
62
|
+
internalStatus.parentWorkflowID = callerID;
|
|
63
|
+
internalStatus.applicationID = utils_1.globalParams.appID;
|
|
64
|
+
// Without an explicit timeout, inherit an ambient withWorkflowTimeout, else the parent's propagated deadline.
|
|
65
|
+
if (resolved.workflowTimeoutMS === undefined) {
|
|
66
|
+
if (pctx?.workflowTimeoutMS) {
|
|
67
|
+
internalStatus.timeoutMS = pctx.workflowTimeoutMS;
|
|
68
|
+
}
|
|
69
|
+
else if (pctx?.workflowTimeoutMS !== null) {
|
|
70
|
+
// A null ambient timeout explicitly detaches the parent's deadline.
|
|
71
|
+
internalStatus.deadlineEpochMS = pctx?.deadlineEpochMS;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const childStartTime = Date.now();
|
|
75
|
+
try {
|
|
76
|
+
await sysdb.initWorkflowStatus(internalStatus, null);
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
if (e instanceof error_1.DBOSQueueDuplicatedError && callerID !== undefined && callerFunctionID !== undefined) {
|
|
80
|
+
const sererr = await (0, serialization_1.serializeResError)(e, exec.serializer, undefined);
|
|
81
|
+
await sysdb.recordOperationResult(callerID, callerFunctionID, internalStatus.workflowName, true, childStartTime, Date.now(), { error: sererr.serializedValue, serialization: sererr.serialization });
|
|
82
|
+
}
|
|
83
|
+
throw e;
|
|
84
|
+
}
|
|
85
|
+
if (callerID !== undefined && callerFunctionID !== undefined) {
|
|
86
|
+
await sysdb.recordOperationResult(callerID, callerFunctionID, internalStatus.workflowName, true, childStartTime, Date.now(), { childWorkflowID: internalStatus.workflowUUID });
|
|
87
|
+
}
|
|
88
|
+
return new workflow_1.RetrievedHandle(sysdb, internalStatus.workflowUUID);
|
|
89
|
+
}
|
|
90
|
+
exports.enqueueWorkflowWithOptions = enqueueWorkflowWithOptions;
|
|
91
|
+
//# sourceMappingURL=enqueue_workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enqueue_workflow.js","sourceRoot":"","sources":["../../src/enqueue_workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -14,5 +14,6 @@ export { FunctionName, ConfiguredInstance, MethodParameter } from './decorators'
|
|
|
14
14
|
export { DBOSConfig, DBOSExternalState, OtelAttributeFormat } from './dbos-executor';
|
|
15
15
|
export { DLogger, ContextualMetadata, StackTrace } from './telemetry/logs';
|
|
16
16
|
export { DBOSSpan } from './telemetry/traces';
|
|
17
|
-
export { VersionInfo } from './system_database';
|
|
17
|
+
export { VersionInfo, ApplicationRowCounts, DEFAULT_RENAME_BATCH_SIZE } from './system_database';
|
|
18
|
+
export { EnqueueWorkflowOptions } from './enqueue_options';
|
|
18
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,uBAAuB,GACxB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/F,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,IAAI,uBAAuB,EAC5C,wBAAwB,EACxB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAErF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,uBAAuB,GACxB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/F,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,IAAI,uBAAuB,EAC5C,wBAAwB,EACxB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAErF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.MethodParameter = exports.ConfiguredInstance = exports.DebouncerClient = exports.Debouncer = exports.StatusString = exports.DBOSWorkflowConflictError = exports.Error = exports.WorkflowQueue = exports.ArgName = exports.DBOSDataType = exports.SchedulerMode = exports.DBOSClient = exports.DBOS = void 0;
|
|
26
|
+
exports.DEFAULT_RENAME_BATCH_SIZE = exports.MethodParameter = exports.ConfiguredInstance = exports.DebouncerClient = exports.Debouncer = exports.StatusString = exports.DBOSWorkflowConflictError = exports.Error = exports.WorkflowQueue = exports.ArgName = exports.DBOSDataType = exports.SchedulerMode = exports.DBOSClient = exports.DBOS = void 0;
|
|
27
27
|
var dbos_1 = require("./dbos");
|
|
28
28
|
Object.defineProperty(exports, "DBOS", { enumerable: true, get: function () { return dbos_1.DBOS; } });
|
|
29
29
|
var client_1 = require("./client");
|
|
@@ -46,4 +46,6 @@ Object.defineProperty(exports, "DebouncerClient", { enumerable: true, get: funct
|
|
|
46
46
|
var decorators_2 = require("./decorators");
|
|
47
47
|
Object.defineProperty(exports, "ConfiguredInstance", { enumerable: true, get: function () { return decorators_2.ConfiguredInstance; } });
|
|
48
48
|
Object.defineProperty(exports, "MethodParameter", { enumerable: true, get: function () { return decorators_2.MethodParameter; } });
|
|
49
|
+
var system_database_1 = require("./system_database");
|
|
50
|
+
Object.defineProperty(exports, "DEFAULT_RENAME_BATCH_SIZE", { enumerable: true, get: function () { return system_database_1.DEFAULT_RENAME_BATCH_SIZE; } });
|
|
49
51
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BASgB;AARd,4FAAA,IAAI,OAAA;AAUN,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AAEnB,uEAAiF;AAAxE,oHAAA,aAAa,OAAA;AAItB,2CASsB;AANpB,0GAAA,YAAY,OAAA;AAKZ,qGAAA,OAAO,OAAA;AAGT,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AAEtB,iDAAiC;AAEjC,iCAAoD;AAA3C,kHAAA,yBAAyB,OAAA;AAElC,uCAUoB;AANlB,wGAAA,YAAY,OAAA;AAQd,yCAAyD;AAAhD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAMnC,2CAAiF;AAA1D,gHAAA,kBAAkB,OAAA;AAAE,6GAAA,eAAe,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BASgB;AARd,4FAAA,IAAI,OAAA;AAUN,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AAEnB,uEAAiF;AAAxE,oHAAA,aAAa,OAAA;AAItB,2CASsB;AANpB,0GAAA,YAAY,OAAA;AAKZ,qGAAA,OAAO,OAAA;AAGT,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AAEtB,iDAAiC;AAEjC,iCAAoD;AAA3C,kHAAA,yBAAyB,OAAA;AAElC,uCAUoB;AANlB,wGAAA,YAAY,OAAA;AAQd,yCAAyD;AAAhD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAMnC,2CAAiF;AAA1D,gHAAA,kBAAkB,OAAA;AAAE,6GAAA,eAAe,OAAA;AAQ1D,qDAAiG;AAArD,4HAAA,yBAAyB,OAAA"}
|
|
@@ -19,6 +19,7 @@ export interface WorkflowSchedule {
|
|
|
19
19
|
automaticBackfill: boolean;
|
|
20
20
|
cronTimezone: string | null;
|
|
21
21
|
queueName: string | null;
|
|
22
|
+
applicationName?: string;
|
|
22
23
|
}
|
|
23
24
|
export declare function toWorkflowSchedule(internal: WorkflowScheduleInternal, serializer: DBOSSerializer): Promise<WorkflowSchedule>;
|
|
24
25
|
export declare function createScheduleId(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAA+B,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,cAAc,EAAiB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAUtD,MAAM,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,wBAAwB,EAClC,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAA+B,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,cAAc,EAAiB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAUtD,MAAM,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,wBAAwB,EAClC,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAiB3B;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAyBD,qBAAa,oBAAqB,YAAW,qBAAqB;;gBAMpD,iBAAiB,CAAC,EAAE,MAAM;IAKhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA+L/B;AA6CD,wBAAsB,eAAe,CACnC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,IAAI,EACX,GAAG,EAAE,IAAI,GACR,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB"}
|
|
@@ -23,6 +23,7 @@ async function toWorkflowSchedule(internal, serializer) {
|
|
|
23
23
|
automaticBackfill: internal.automaticBackfill,
|
|
24
24
|
cronTimezone: internal.cronTimezone,
|
|
25
25
|
queueName: internal.queueName,
|
|
26
|
+
applicationName: internal.applicationName,
|
|
26
27
|
};
|
|
27
28
|
}
|
|
28
29
|
exports.toWorkflowSchedule = toWorkflowSchedule;
|
|
@@ -83,7 +84,9 @@ class DynamicSchedulerLoop {
|
|
|
83
84
|
let schedules;
|
|
84
85
|
try {
|
|
85
86
|
const executor = dbos_executor_1.DBOSExecutor.globalInstance;
|
|
86
|
-
schedules = await executor.systemDatabase.listSchedules(
|
|
87
|
+
schedules = await executor.systemDatabase.listSchedules({
|
|
88
|
+
applicationName: executor.systemDatabase.appName,
|
|
89
|
+
});
|
|
87
90
|
}
|
|
88
91
|
catch (e) {
|
|
89
92
|
__1.DBOS.logger.warn(`Dynamic scheduler: error listing schedules: ${e.message}`);
|
|
@@ -133,7 +136,7 @@ class DynamicSchedulerLoop {
|
|
|
133
136
|
// Active and no running loop — start one
|
|
134
137
|
const controller = new AbortController();
|
|
135
138
|
const executor = dbos_executor_1.DBOSExecutor.globalInstance;
|
|
136
|
-
const promise = DynamicSchedulerLoop.#scheduleLoop(sched.scheduleName, sched.workflowName, sched.workflowClassName, sched.schedule, sched.context, executor.serializer, controller.signal, sched.cronTimezone ?? undefined, sched.queueName ?? undefined);
|
|
139
|
+
const promise = DynamicSchedulerLoop.#scheduleLoop(sched.scheduleName, sched.workflowName, sched.workflowClassName, sched.schedule, sched.context, executor.serializer, controller.signal, sched.cronTimezone ?? undefined, sched.queueName ?? undefined, sched.applicationName);
|
|
137
140
|
this.#scheduleLoops.set(sched.scheduleName, { controller, promise, signature });
|
|
138
141
|
}
|
|
139
142
|
}
|
|
@@ -141,7 +144,7 @@ class DynamicSchedulerLoop {
|
|
|
141
144
|
await (0, utils_1.interruptibleSleep)(pollTimeout(), signal);
|
|
142
145
|
}
|
|
143
146
|
}
|
|
144
|
-
static async #scheduleLoop(scheduleName, workflowName, workflowClassName, cronExpression, serializedContext, serializer, signal, cronTimezone, queueName) {
|
|
147
|
+
static async #scheduleLoop(scheduleName, workflowName, workflowClassName, cronExpression, serializedContext, serializer, signal, cronTimezone, queueName, applicationName) {
|
|
145
148
|
const timeMatcher = new crontab_1.TimeMatcher(cronExpression, cronTimezone);
|
|
146
149
|
const sched = {
|
|
147
150
|
scheduleId: '',
|
|
@@ -155,6 +158,7 @@ class DynamicSchedulerLoop {
|
|
|
155
158
|
automaticBackfill: false,
|
|
156
159
|
cronTimezone: cronTimezone ?? null,
|
|
157
160
|
queueName: queueName ?? null,
|
|
161
|
+
applicationName,
|
|
158
162
|
};
|
|
159
163
|
let lastExec = new Date().setMilliseconds(0);
|
|
160
164
|
while (!signal.aborted) {
|
|
@@ -201,8 +205,10 @@ class DynamicSchedulerLoop {
|
|
|
201
205
|
exports.DynamicSchedulerLoop = DynamicSchedulerLoop;
|
|
202
206
|
async function enqueueScheduledWorkflow(systemDatabase, serializer, sched, workflowID, scheduledDate, context) {
|
|
203
207
|
const serparam = await (0, serialization_1.serializeArgs)([scheduledDate, context], undefined, serializer, undefined);
|
|
204
|
-
//
|
|
205
|
-
const
|
|
208
|
+
// The schedule's owner routes its runs, whoever fires them; an unclaimed one falls back to the firing handle, which may have no identity itself.
|
|
209
|
+
const owner = sched.applicationName ?? systemDatabase.appName;
|
|
210
|
+
// Scheduled workflows are always enqueued to their owner's latest application version
|
|
211
|
+
const latestVersion = await systemDatabase.getLatestApplicationVersion(owner);
|
|
206
212
|
const internalStatus = {
|
|
207
213
|
workflowUUID: workflowID,
|
|
208
214
|
status: workflow_1.StatusString.ENQUEUED,
|
|
@@ -226,6 +232,8 @@ async function enqueueScheduledWorkflow(systemDatabase, serializer, sched, workf
|
|
|
226
232
|
queuePartitionKey: undefined,
|
|
227
233
|
serialization: serparam.serialization,
|
|
228
234
|
scheduleName: sched.scheduleName,
|
|
235
|
+
// Owned where possible: the internal queue's shared name cannot route an unclaimed row.
|
|
236
|
+
applicationName: owner,
|
|
229
237
|
};
|
|
230
238
|
await systemDatabase.initWorkflowStatus(internalStatus, null);
|
|
231
239
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":";;;AACA,oDAAiE;AACjE,mCAAoC;AACpC,0BAA0B;AAE1B,oCAAmE;AACnE,uCAAwC;AACxC,oDAAgD;AAChD,oCAAqC;AACrC,0CAA2C;
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { SHARED_MIGRATION_BASE, type DBMigration } from '../migration_runner';
|
|
2
|
+
export { SHARED_MIGRATION_BASE };
|
|
2
3
|
export declare function allMigrations(schemaName?: string, opts?: {
|
|
3
4
|
useListenNotify?: boolean;
|
|
4
5
|
isCockroach?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../../src/sysdb_migrations/internal/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../../src/sysdb_migrations/internal/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAajC,wBAAgB,aAAa,CAC3B,UAAU,GAAE,MAAe,EAC3B,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1D,aAAa,CAAC,WAAW,CAAC,CA2tB5B"}
|
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.allMigrations = void 0;
|
|
3
|
+
exports.allMigrations = exports.SHARED_MIGRATION_BASE = void 0;
|
|
4
|
+
const migration_runner_1 = require("../migration_runner");
|
|
5
|
+
Object.defineProperty(exports, "SHARED_MIGRATION_BASE", { enumerable: true, get: function () { return migration_runner_1.SHARED_MIGRATION_BASE; } });
|
|
6
|
+
/**
|
|
7
|
+
* Pad a language's own history out to SHARED_MIGRATION_BASE - 1. Earlier indices
|
|
8
|
+
* stay per-language, safe to skip only because the schemas converge.
|
|
9
|
+
*/
|
|
10
|
+
function padToSharedBase(migrations) {
|
|
11
|
+
const padding = Array.from({ length: migration_runner_1.SHARED_MIGRATION_BASE - 1 - migrations.length }, () => ({
|
|
12
|
+
pg: [],
|
|
13
|
+
}));
|
|
14
|
+
return [...migrations, ...padding];
|
|
15
|
+
}
|
|
4
16
|
function allMigrations(schemaName = 'dbos', opts) {
|
|
5
17
|
const useListenNotify = opts?.useListenNotify ?? true;
|
|
6
18
|
const isCockroach = opts?.isCockroach ?? false;
|
|
7
19
|
const c = isCockroach ? '' : 'CONCURRENTLY';
|
|
8
|
-
|
|
20
|
+
const history = [
|
|
9
21
|
{
|
|
10
22
|
name: '20240123182943_schema',
|
|
11
23
|
pg: [`CREATE SCHEMA IF NOT EXISTS "${schemaName}"`],
|
|
@@ -720,7 +732,179 @@ function allMigrations(schemaName = 'dbos', opts) {
|
|
|
720
732
|
online: true,
|
|
721
733
|
pg: [`DROP INDEX ${c} IF EXISTS "${schemaName}"."idx_workflow_status_partition_dequeue"`],
|
|
722
734
|
},
|
|
735
|
+
// Long-abandoned tables whose contents moved onto workflow_status; dropping them leaves the schema identical to every other SDK's at the shared base.
|
|
736
|
+
{
|
|
737
|
+
name: '20250725_drop_consolidated_tables',
|
|
738
|
+
pg: [
|
|
739
|
+
`DROP TABLE IF EXISTS "${schemaName}"."workflow_inputs"`,
|
|
740
|
+
`DROP TABLE IF EXISTS "${schemaName}"."workflow_queue"`,
|
|
741
|
+
`DROP TABLE IF EXISTS "${schemaName}"."scheduler_state"`,
|
|
742
|
+
],
|
|
743
|
+
},
|
|
723
744
|
];
|
|
745
|
+
return [...padToSharedBase(history), ...sharedMigrations(schemaName, isCockroach)];
|
|
724
746
|
}
|
|
725
747
|
exports.allMigrations = allMigrations;
|
|
748
|
+
/**
|
|
749
|
+
* Migrations from SHARED_MIGRATION_BASE on, defined identically by every SDK at the
|
|
750
|
+
* same index so applications in different languages can share a system database.
|
|
751
|
+
*/
|
|
752
|
+
function sharedMigrations(schemaName, isCockroach) {
|
|
753
|
+
return [
|
|
754
|
+
// NULL means unclaimed: any application may read and claim the row. One table per migration, so a blocked table does not hold the others' locks.
|
|
755
|
+
{
|
|
756
|
+
name: '100_workflow_status_application_name',
|
|
757
|
+
pg: [
|
|
758
|
+
`ALTER TABLE "${schemaName}"."workflow_status" ADD COLUMN IF NOT EXISTS "application_name" TEXT DEFAULT NULL`,
|
|
759
|
+
],
|
|
760
|
+
},
|
|
761
|
+
{
|
|
762
|
+
name: '101_queues_application_name',
|
|
763
|
+
pg: [`ALTER TABLE "${schemaName}"."queues" ADD COLUMN IF NOT EXISTS "application_name" TEXT DEFAULT NULL`],
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
name: '102_workflow_schedules_application_name',
|
|
767
|
+
pg: [
|
|
768
|
+
`ALTER TABLE "${schemaName}"."workflow_schedules" ADD COLUMN IF NOT EXISTS "application_name" TEXT DEFAULT NULL`,
|
|
769
|
+
],
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
name: '103_application_versions_application_name',
|
|
773
|
+
pg: [
|
|
774
|
+
`ALTER TABLE "${schemaName}"."application_versions" ADD COLUMN IF NOT EXISTS "application_name" TEXT DEFAULT NULL`,
|
|
775
|
+
],
|
|
776
|
+
},
|
|
777
|
+
{
|
|
778
|
+
name: '104_operation_outputs_application_name',
|
|
779
|
+
pg: [
|
|
780
|
+
`ALTER TABLE "${schemaName}"."operation_outputs" ADD COLUMN IF NOT EXISTS "application_name" TEXT DEFAULT NULL`,
|
|
781
|
+
],
|
|
782
|
+
},
|
|
783
|
+
// Callers omitting the trailing application_name enqueue an unclaimed workflow.
|
|
784
|
+
{
|
|
785
|
+
name: '105_enqueue_workflow_application_name',
|
|
786
|
+
pg: [
|
|
787
|
+
`DROP FUNCTION IF EXISTS "${schemaName}".enqueue_workflow(
|
|
788
|
+
TEXT, TEXT, JSON[], JSON, TEXT, TEXT, TEXT, TEXT, BIGINT, BIGINT, TEXT, INT4, TEXT, TEXT, TEXT, BIGINT
|
|
789
|
+
)`,
|
|
790
|
+
`CREATE OR REPLACE FUNCTION "${schemaName}".enqueue_workflow(
|
|
791
|
+
workflow_name TEXT,
|
|
792
|
+
queue_name TEXT,
|
|
793
|
+
positional_args JSON[] DEFAULT ARRAY[]::JSON[],
|
|
794
|
+
named_args JSON DEFAULT '{}'::JSON,
|
|
795
|
+
class_name TEXT DEFAULT NULL,
|
|
796
|
+
config_name TEXT DEFAULT NULL,
|
|
797
|
+
workflow_id TEXT DEFAULT NULL,
|
|
798
|
+
app_version TEXT DEFAULT NULL,
|
|
799
|
+
timeout_ms BIGINT DEFAULT NULL,
|
|
800
|
+
deadline_epoch_ms BIGINT DEFAULT NULL,
|
|
801
|
+
deduplication_id TEXT DEFAULT NULL,
|
|
802
|
+
priority INT4 DEFAULT NULL,
|
|
803
|
+
queue_partition_key TEXT DEFAULT NULL,
|
|
804
|
+
authenticated_user TEXT DEFAULT NULL,
|
|
805
|
+
authenticated_roles TEXT DEFAULT NULL,
|
|
806
|
+
delay_until_epoch_ms BIGINT DEFAULT NULL,
|
|
807
|
+
application_name TEXT DEFAULT NULL
|
|
808
|
+
) RETURNS TEXT AS $$
|
|
809
|
+
DECLARE
|
|
810
|
+
v_workflow_id TEXT;
|
|
811
|
+
v_serialized_inputs TEXT;
|
|
812
|
+
v_owner_xid TEXT;
|
|
813
|
+
v_now BIGINT;
|
|
814
|
+
v_recovery_attempts INT4 := 0;
|
|
815
|
+
v_priority INT4;
|
|
816
|
+
v_status TEXT;
|
|
817
|
+
BEGIN
|
|
818
|
+
|
|
819
|
+
-- Validate required parameters
|
|
820
|
+
IF workflow_name IS NULL OR workflow_name = '' THEN
|
|
821
|
+
RAISE EXCEPTION 'Workflow name cannot be null or empty';
|
|
822
|
+
END IF;
|
|
823
|
+
IF queue_name IS NULL OR queue_name = '' THEN
|
|
824
|
+
RAISE EXCEPTION 'Queue name cannot be null or empty';
|
|
825
|
+
END IF;
|
|
826
|
+
IF named_args IS NOT NULL AND jsonb_typeof(named_args::jsonb) != 'object' THEN
|
|
827
|
+
RAISE EXCEPTION 'Named args must be a JSON object';
|
|
828
|
+
END IF;
|
|
829
|
+
IF workflow_id IS NOT NULL AND workflow_id = '' THEN
|
|
830
|
+
RAISE EXCEPTION 'Workflow ID cannot be an empty string if provided.';
|
|
831
|
+
END IF;
|
|
832
|
+
IF delay_until_epoch_ms IS NOT NULL AND delay_until_epoch_ms < 0 THEN
|
|
833
|
+
RAISE EXCEPTION 'delay_until_epoch_ms must be >= 0';
|
|
834
|
+
END IF;
|
|
835
|
+
|
|
836
|
+
v_workflow_id := COALESCE(workflow_id, gen_random_uuid()::TEXT);
|
|
837
|
+
v_owner_xid := gen_random_uuid()::TEXT;
|
|
838
|
+
v_priority := COALESCE(priority, 0);
|
|
839
|
+
v_serialized_inputs := json_build_object(
|
|
840
|
+
'positionalArgs', positional_args,
|
|
841
|
+
'namedArgs', named_args
|
|
842
|
+
)::TEXT;
|
|
843
|
+
v_now := EXTRACT(epoch FROM now()) * 1000;
|
|
844
|
+
v_status := CASE WHEN delay_until_epoch_ms IS NULL THEN 'ENQUEUED' ELSE 'DELAYED' END;
|
|
845
|
+
|
|
846
|
+
INSERT INTO "${schemaName}".workflow_status (
|
|
847
|
+
workflow_uuid, status, inputs,
|
|
848
|
+
name, class_name, config_name,
|
|
849
|
+
queue_name, deduplication_id, priority, queue_partition_key,
|
|
850
|
+
application_version,
|
|
851
|
+
created_at, updated_at, recovery_attempts,
|
|
852
|
+
workflow_timeout_ms, workflow_deadline_epoch_ms,
|
|
853
|
+
parent_workflow_id, owner_xid, serialization,
|
|
854
|
+
authenticated_user, authenticated_roles,
|
|
855
|
+
delay_until_epoch_ms, application_name
|
|
856
|
+
) VALUES (
|
|
857
|
+
v_workflow_id, v_status, v_serialized_inputs,
|
|
858
|
+
workflow_name, class_name, config_name,
|
|
859
|
+
queue_name, deduplication_id, v_priority, queue_partition_key,
|
|
860
|
+
app_version,
|
|
861
|
+
v_now, v_now, v_recovery_attempts,
|
|
862
|
+
timeout_ms, deadline_epoch_ms,
|
|
863
|
+
NULL, v_owner_xid, 'portable_json',
|
|
864
|
+
authenticated_user, authenticated_roles,
|
|
865
|
+
delay_until_epoch_ms, application_name
|
|
866
|
+
)
|
|
867
|
+
ON CONFLICT (workflow_uuid)
|
|
868
|
+
DO UPDATE SET
|
|
869
|
+
updated_at = EXCLUDED.updated_at;
|
|
870
|
+
|
|
871
|
+
RETURN v_workflow_id;
|
|
872
|
+
|
|
873
|
+
EXCEPTION
|
|
874
|
+
WHEN unique_violation THEN
|
|
875
|
+
RAISE EXCEPTION 'DBOS queue duplicated'
|
|
876
|
+
USING DETAIL = format('Workflow %s with queue %s and deduplication ID %s already exists', v_workflow_id, queue_name, deduplication_id),
|
|
877
|
+
ERRCODE = 'unique_violation';
|
|
878
|
+
END;
|
|
879
|
+
$$ LANGUAGE plpgsql;`,
|
|
880
|
+
...(isCockroach
|
|
881
|
+
? []
|
|
882
|
+
: [
|
|
883
|
+
`ALTER FUNCTION "${schemaName}".enqueue_workflow(
|
|
884
|
+
TEXT, TEXT, JSON[], JSON, TEXT, TEXT, TEXT, TEXT, BIGINT, BIGINT, TEXT, INT4, TEXT, TEXT, TEXT, BIGINT, TEXT
|
|
885
|
+
) SET search_path = pg_catalog, pg_temp`,
|
|
886
|
+
]),
|
|
887
|
+
],
|
|
888
|
+
},
|
|
889
|
+
// Half of the key replacing version_name's global uniqueness, which will be dropped in a future version.
|
|
890
|
+
{
|
|
891
|
+
name: '106_application_versions_owner_key',
|
|
892
|
+
pg: [
|
|
893
|
+
`CREATE UNIQUE INDEX IF NOT EXISTS "uq_application_versions_owner_version"
|
|
894
|
+
ON "${schemaName}"."application_versions" ("application_name", "version_name")
|
|
895
|
+
WHERE "application_name" IS NOT NULL`,
|
|
896
|
+
],
|
|
897
|
+
},
|
|
898
|
+
// The other half, unclaimed rows counting as one owner. Online because every pre-upgrade row is unclaimed, so this one indexes them all.
|
|
899
|
+
{
|
|
900
|
+
name: '107_application_versions_unclaimed_key',
|
|
901
|
+
online: true,
|
|
902
|
+
pg: [
|
|
903
|
+
`CREATE UNIQUE INDEX ${isCockroach ? '' : 'CONCURRENTLY'} IF NOT EXISTS "uq_application_versions_unclaimed_version"
|
|
904
|
+
ON "${schemaName}"."application_versions" ("version_name")
|
|
905
|
+
WHERE "application_name" IS NULL`,
|
|
906
|
+
],
|
|
907
|
+
},
|
|
908
|
+
];
|
|
909
|
+
}
|
|
726
910
|
//# sourceMappingURL=migrations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../../src/sysdb_migrations/internal/migrations.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../../src/sysdb_migrations/internal/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ClientBase } from 'pg';
|
|
2
|
+
/**
|
|
3
|
+
* From this index on, every SDK defines the same migration at the same index and runs it
|
|
4
|
+
* in one transaction, so a peer in another language never observes it half-applied.
|
|
5
|
+
*/
|
|
6
|
+
export declare const SHARED_MIGRATION_BASE = 100;
|
|
2
7
|
export type DBMigration = {
|
|
3
8
|
name?: string;
|
|
4
9
|
pg?: ReadonlyArray<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration_runner.d.ts","sourceRoot":"","sources":["../../../src/sysdb_migrations/migration_runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,kEAAkE;AAClE,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,GAAE,MAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB7G;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"migration_runner.d.ts","sourceRoot":"","sources":["../../../src/sysdb_migrations/migration_runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,kEAAkE;AAClE,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,GAAE,MAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB7G;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AA8GF;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,EACzC,UAAU,GAAE,MAAe,EAC3B,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CAmFD"}
|