callman-core 1.43.0 → 1.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/prompts/diagram.d.ts.map +1 -1
- package/dist/ai/prompts/diagram.js +10 -5
- package/dist/ai/prompts/diagram.js.map +1 -1
- package/dist/ai/prompts/scenarioNodeReference.d.ts.map +1 -1
- package/dist/ai/prompts/scenarioNodeReference.js +17 -6
- package/dist/ai/prompts/scenarioNodeReference.js.map +1 -1
- package/dist/diagram/geometry.d.ts +1 -0
- package/dist/diagram/geometry.d.ts.map +1 -1
- package/dist/diagram/geometry.js +15 -0
- package/dist/diagram/geometry.js.map +1 -1
- package/dist/diagram/ops.d.ts.map +1 -1
- package/dist/diagram/ops.js +25 -12
- package/dist/diagram/ops.js.map +1 -1
- package/dist/diagram/routing/batch.d.ts +2 -0
- package/dist/diagram/routing/batch.d.ts.map +1 -1
- package/dist/diagram/routing/batch.js +4 -4
- package/dist/diagram/routing/batch.js.map +1 -1
- package/dist/diagram/routing/index.d.ts +1 -0
- package/dist/diagram/routing/index.d.ts.map +1 -1
- package/dist/diagram/routing/index.js +1 -0
- package/dist/diagram/routing/index.js.map +1 -1
- package/dist/diagram/routing/ports.d.ts +14 -0
- package/dist/diagram/routing/ports.d.ts.map +1 -0
- package/dist/diagram/routing/ports.js +130 -0
- package/dist/diagram/routing/ports.js.map +1 -0
- package/dist/diagram/routing/sides.d.ts.map +1 -1
- package/dist/diagram/routing/sides.js +4 -3
- package/dist/diagram/routing/sides.js.map +1 -1
- package/dist/diagram/routing/types.d.ts +1 -0
- package/dist/diagram/routing/types.d.ts.map +1 -1
- package/dist/diagram/routing/types.js.map +1 -1
- package/dist/host/connections.d.ts.map +1 -1
- package/dist/host/connections.js +7 -0
- package/dist/host/connections.js.map +1 -1
- package/dist/host/db/db-query-reference.d.ts.map +1 -1
- package/dist/host/db/db-query-reference.js +22 -5
- package/dist/host/db/db-query-reference.js.map +1 -1
- package/dist/host/db/dbBinds.d.ts +20 -0
- package/dist/host/db/dbBinds.d.ts.map +1 -0
- package/dist/host/db/dbBinds.js +61 -0
- package/dist/host/db/dbBinds.js.map +1 -0
- package/dist/host/db/dbSessionManager.d.ts +13 -0
- package/dist/host/db/dbSessionManager.d.ts.map +1 -0
- package/dist/host/db/dbSessionManager.js +165 -0
- package/dist/host/db/dbSessionManager.js.map +1 -0
- package/dist/host/db/introspection/index.d.ts +1 -0
- package/dist/host/db/introspection/index.d.ts.map +1 -1
- package/dist/host/db/introspection/index.js +1 -0
- package/dist/host/db/introspection/index.js.map +1 -1
- package/dist/host/db/introspection/routines.d.ts +38 -0
- package/dist/host/db/introspection/routines.d.ts.map +1 -0
- package/dist/host/db/introspection/routines.js +439 -0
- package/dist/host/db/introspection/routines.js.map +1 -0
- package/dist/host/db/mssqlAdapter.d.ts +10 -4
- package/dist/host/db/mssqlAdapter.d.ts.map +1 -1
- package/dist/host/db/mssqlAdapter.js +144 -34
- package/dist/host/db/mssqlAdapter.js.map +1 -1
- package/dist/host/db/mysqlAdapter.d.ts +10 -4
- package/dist/host/db/mysqlAdapter.d.ts.map +1 -1
- package/dist/host/db/mysqlAdapter.js +66 -16
- package/dist/host/db/mysqlAdapter.js.map +1 -1
- package/dist/host/db/oracleAdapter.d.ts +10 -4
- package/dist/host/db/oracleAdapter.d.ts.map +1 -1
- package/dist/host/db/oracleAdapter.js +301 -28
- package/dist/host/db/oracleAdapter.js.map +1 -1
- package/dist/host/db/pgClientConfig.d.ts +10 -1
- package/dist/host/db/pgClientConfig.d.ts.map +1 -1
- package/dist/host/db/pgClientConfig.js +59 -0
- package/dist/host/db/pgClientConfig.js.map +1 -1
- package/dist/host/db/pgSession.d.ts +11 -0
- package/dist/host/db/pgSession.d.ts.map +1 -0
- package/dist/host/db/pgSession.js +62 -0
- package/dist/host/db/pgSession.js.map +1 -0
- package/dist/host/db/pgSessionManager.d.ts +5 -14
- package/dist/host/db/pgSessionManager.d.ts.map +1 -1
- package/dist/host/db/pgSessionManager.js +9 -161
- package/dist/host/db/pgSessionManager.js.map +1 -1
- package/dist/host/db/postgresAdapter.d.ts +2 -4
- package/dist/host/db/postgresAdapter.d.ts.map +1 -1
- package/dist/host/db/postgresAdapter.js +26 -6
- package/dist/host/db/postgresAdapter.js.map +1 -1
- package/dist/host/db/queryExecutor.d.ts +2 -4
- package/dist/host/db/queryExecutor.d.ts.map +1 -1
- package/dist/host/db/queryExecutor.js +35 -23
- package/dist/host/db/queryExecutor.js.map +1 -1
- package/dist/host/db/sqlState.d.ts +1 -0
- package/dist/host/db/sqlState.d.ts.map +1 -1
- package/dist/host/db/sqlState.js +20 -0
- package/dist/host/db/sqlState.js.map +1 -1
- package/dist/host/db/types.d.ts +38 -0
- package/dist/host/db/types.d.ts.map +1 -1
- package/dist/host/index.d.ts +5 -3
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +8 -6
- package/dist/host/index.js.map +1 -1
- package/dist/scenario-runner/adapters/db-executor.d.ts +17 -3
- package/dist/scenario-runner/adapters/db-executor.d.ts.map +1 -1
- package/dist/scenario-runner/adapters/db-executor.js +57 -22
- package/dist/scenario-runner/adapters/db-executor.js.map +1 -1
- package/dist/scenario-runner/adapters/index.d.ts +1 -1
- package/dist/scenario-runner/adapters/index.d.ts.map +1 -1
- package/dist/scenario-runner/adapters/index.js +1 -1
- package/dist/scenario-runner/adapters/index.js.map +1 -1
- package/dist/scenario-runner/adapters/types.d.ts +7 -0
- package/dist/scenario-runner/adapters/types.d.ts.map +1 -1
- package/dist/scenario-runner/index.d.ts +1 -1
- package/dist/scenario-runner/index.d.ts.map +1 -1
- package/dist/scenario-runner/index.js +1 -1
- package/dist/scenario-runner/index.js.map +1 -1
- package/dist/scenario-runner/nodePolicy.d.ts.map +1 -1
- package/dist/scenario-runner/nodePolicy.js +3 -0
- package/dist/scenario-runner/nodePolicy.js.map +1 -1
- package/dist/scenario-runner/runScenario.d.ts +4 -2
- package/dist/scenario-runner/runScenario.d.ts.map +1 -1
- package/dist/scenario-runner/runScenario.js +47 -12
- package/dist/scenario-runner/runScenario.js.map +1 -1
- package/dist/scenario-runner/runScenarioWithDataset.d.ts.map +1 -1
- package/dist/scenario-runner/runScenarioWithDataset.js +65 -1
- package/dist/scenario-runner/runScenarioWithDataset.js.map +1 -1
- package/dist/scenario-runner/types.d.ts +21 -1
- package/dist/scenario-runner/types.d.ts.map +1 -1
- package/dist/script/features/db.d.ts +7 -0
- package/dist/script/features/db.d.ts.map +1 -1
- package/dist/script/features/db.js +8 -1
- package/dist/script/features/db.js.map +1 -1
- package/dist/script/pm-api-declarations.d.ts.map +1 -1
- package/dist/script/pm-api-declarations.js +24 -0
- package/dist/script/pm-api-declarations.js.map +1 -1
- package/dist/script/pm-api-metadata.js +1 -1
- package/dist/script/pm-api-metadata.js.map +1 -1
- package/dist/script/types.d.ts +7 -0
- package/dist/script/types.d.ts.map +1 -1
- package/dist-cjs/ai/prompts/diagram.js +10 -5
- package/dist-cjs/ai/prompts/diagram.js.map +1 -1
- package/dist-cjs/ai/prompts/scenarioNodeReference.js +17 -6
- package/dist-cjs/ai/prompts/scenarioNodeReference.js.map +1 -1
- package/dist-cjs/diagram/geometry.js +17 -1
- package/dist-cjs/diagram/geometry.js.map +1 -1
- package/dist-cjs/diagram/ops.js +25 -12
- package/dist-cjs/diagram/ops.js.map +1 -1
- package/dist-cjs/diagram/routing/batch.js +4 -4
- package/dist-cjs/diagram/routing/batch.js.map +1 -1
- package/dist-cjs/diagram/routing/index.js +1 -0
- package/dist-cjs/diagram/routing/index.js.map +1 -1
- package/dist-cjs/diagram/routing/ports.js +135 -0
- package/dist-cjs/diagram/routing/ports.js.map +1 -0
- package/dist-cjs/diagram/routing/sides.js +3 -2
- package/dist-cjs/diagram/routing/sides.js.map +1 -1
- package/dist-cjs/diagram/routing/types.js.map +1 -1
- package/dist-cjs/host/connections.js +7 -0
- package/dist-cjs/host/connections.js.map +1 -1
- package/dist-cjs/host/db/db-query-reference.js +22 -5
- package/dist-cjs/host/db/db-query-reference.js.map +1 -1
- package/dist-cjs/host/db/dbBinds.js +71 -0
- package/dist-cjs/host/db/dbBinds.js.map +1 -0
- package/dist-cjs/host/db/dbSessionManager.js +172 -0
- package/dist-cjs/host/db/dbSessionManager.js.map +1 -0
- package/dist-cjs/host/db/introspection/index.js +4 -1
- package/dist-cjs/host/db/introspection/index.js.map +1 -1
- package/dist-cjs/host/db/introspection/routines.js +444 -0
- package/dist-cjs/host/db/introspection/routines.js.map +1 -0
- package/dist-cjs/host/db/mssqlAdapter.js +146 -35
- package/dist-cjs/host/db/mssqlAdapter.js.map +1 -1
- package/dist-cjs/host/db/mysqlAdapter.js +68 -17
- package/dist-cjs/host/db/mysqlAdapter.js.map +1 -1
- package/dist-cjs/host/db/oracleAdapter.js +303 -29
- package/dist-cjs/host/db/oracleAdapter.js.map +1 -1
- package/dist-cjs/host/db/pgClientConfig.js +61 -1
- package/dist-cjs/host/db/pgClientConfig.js.map +1 -1
- package/dist-cjs/host/db/pgSession.js +67 -0
- package/dist-cjs/host/db/pgSession.js.map +1 -0
- package/dist-cjs/host/db/pgSessionManager.js +10 -166
- package/dist-cjs/host/db/pgSessionManager.js.map +1 -1
- package/dist-cjs/host/db/postgresAdapter.js +25 -5
- package/dist-cjs/host/db/postgresAdapter.js.map +1 -1
- package/dist-cjs/host/db/queryExecutor.js +34 -22
- package/dist-cjs/host/db/queryExecutor.js.map +1 -1
- package/dist-cjs/host/db/sqlState.js +22 -1
- package/dist-cjs/host/db/sqlState.js.map +1 -1
- package/dist-cjs/host/index.js +15 -6
- package/dist-cjs/host/index.js.map +1 -1
- package/dist-cjs/scenario-runner/adapters/db-executor.js +57 -21
- package/dist-cjs/scenario-runner/adapters/db-executor.js.map +1 -1
- package/dist-cjs/scenario-runner/adapters/index.js +3 -1
- package/dist-cjs/scenario-runner/adapters/index.js.map +1 -1
- package/dist-cjs/scenario-runner/index.js +2 -1
- package/dist-cjs/scenario-runner/index.js.map +1 -1
- package/dist-cjs/scenario-runner/nodePolicy.js +3 -0
- package/dist-cjs/scenario-runner/nodePolicy.js.map +1 -1
- package/dist-cjs/scenario-runner/runScenario.js +49 -13
- package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
- package/dist-cjs/scenario-runner/runScenarioWithDataset.js +65 -1
- package/dist-cjs/scenario-runner/runScenarioWithDataset.js.map +1 -1
- package/dist-cjs/script/features/db.js +8 -1
- package/dist-cjs/script/features/db.js.map +1 -1
- package/dist-cjs/script/pm-api-declarations.js +24 -0
- package/dist-cjs/script/pm-api-declarations.js.map +1 -1
- package/dist-cjs/script/pm-api-metadata.js +1 -1
- package/dist-cjs/script/pm-api-metadata.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,170 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
// nodes of a run share that client, so `BEGIN`, temp tables, GUCs and
|
|
6
|
-
// advisory locks survive between nodes — the foundation of the
|
|
7
|
-
// seed → call function → assert → ROLLBACK stored-function testing pattern.
|
|
8
|
-
//
|
|
9
|
-
// Modeled on callman-backend's kafka-client-pool: lazy open, per-session
|
|
10
|
-
// serialization, idle sweeper, explicit shutdown hook. Postgres-only by
|
|
11
|
-
// design — other providers reject `useSession` at the host driver.
|
|
2
|
+
// The original, Postgres-named surface of run-scoped sessions. Sessions now
|
|
3
|
+
// cover every SQL engine (dbSessionManager); hosts and tests that import these
|
|
4
|
+
// names keep working.
|
|
12
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
6
|
exports.__getPgSessionCountForTests = exports.closeAllPostgresSessions = exports.releasePostgresSessionsForRun = exports.executePostgresQueryInSession = exports.__setPgSessionDriverForTests = void 0;
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
// Test seam mirroring postgresAdapter's — lets unit tests inject a fake
|
|
22
|
-
// driver without a live server.
|
|
23
|
-
let pgDriverOverride = null;
|
|
24
|
-
const __setPgSessionDriverForTests = (driver) => {
|
|
25
|
-
pgDriverOverride = driver;
|
|
26
|
-
};
|
|
27
|
-
exports.__setPgSessionDriverForTests = __setPgSessionDriverForTests;
|
|
28
|
-
const loadPgDriver = async () => {
|
|
29
|
-
if (pgDriverOverride)
|
|
30
|
-
return pgDriverOverride;
|
|
31
|
-
try {
|
|
32
|
-
return unwrap(await (0, lazy_js_1.loadOptionalModule)("pg"));
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
throw new Error("PostgreSQL driver (`pg`) is not installed. Install `pg` to use PostgreSQL sessions.");
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
// Connection identity participates in the key so two different connections
|
|
39
|
-
// in one run never share a client, even if their `id`s degenerate to the
|
|
40
|
-
// same normalized placeholder.
|
|
41
|
-
const sessionKey = (runId, connection) => [
|
|
42
|
-
runId,
|
|
43
|
-
connection.id,
|
|
44
|
-
connection.connectionString ?? "",
|
|
45
|
-
connection.host,
|
|
46
|
-
String(connection.port),
|
|
47
|
-
connection.database ?? "",
|
|
48
|
-
connection.username,
|
|
49
|
-
].join("::");
|
|
50
|
-
const ensureSweeper = () => {
|
|
51
|
-
if (sweeper)
|
|
52
|
-
return;
|
|
53
|
-
sweeper = setInterval(() => {
|
|
54
|
-
const now = Date.now();
|
|
55
|
-
for (const [key, entry] of sessions) {
|
|
56
|
-
if (now - entry.lastUsedAtMs > IDLE_SESSION_TTL_MS) {
|
|
57
|
-
sessions.delete(key);
|
|
58
|
-
void destroyEntry(entry, "rollback");
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (sessions.size === 0 && sweeper) {
|
|
62
|
-
clearInterval(sweeper);
|
|
63
|
-
sweeper = null;
|
|
64
|
-
}
|
|
65
|
-
}, IDLE_SWEEP_INTERVAL_MS);
|
|
66
|
-
// Never keep the host process alive just for the sweeper.
|
|
67
|
-
sweeper.unref?.();
|
|
68
|
-
};
|
|
69
|
-
const destroyEntry = async (entry, outcome) => {
|
|
70
|
-
try {
|
|
71
|
-
const client = await entry.clientPromise;
|
|
72
|
-
if (entry.transactionOpen && !entry.poisoned) {
|
|
73
|
-
try {
|
|
74
|
-
await client.query(outcome === "commit" ? "COMMIT" : "ROLLBACK");
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
// The transaction dies with the connection either way.
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
try {
|
|
81
|
-
await client.end();
|
|
82
|
-
}
|
|
83
|
-
catch {
|
|
84
|
-
// Best-effort teardown.
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
catch {
|
|
88
|
-
// Client never connected — nothing to tear down.
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
const openEntry = (runId, connection) => {
|
|
92
|
-
const entry = {
|
|
93
|
-
clientPromise: (async () => {
|
|
94
|
-
const { Client } = await loadPgDriver();
|
|
95
|
-
const client = new Client((0, pgClientConfig_js_1.buildPgClientConfig)(connection));
|
|
96
|
-
await client.connect();
|
|
97
|
-
// Socket-level errors surface here (killed backend, network drop);
|
|
98
|
-
// mark the session so the next query fails fast with the cause.
|
|
99
|
-
client.on?.("error", (error) => {
|
|
100
|
-
entry.poisoned =
|
|
101
|
-
error instanceof Error ? error.message : "PostgreSQL session connection lost";
|
|
102
|
-
});
|
|
103
|
-
return client;
|
|
104
|
-
})(),
|
|
105
|
-
chain: Promise.resolve(),
|
|
106
|
-
transactionOpen: false,
|
|
107
|
-
poisoned: null,
|
|
108
|
-
lastUsedAtMs: Date.now(),
|
|
109
|
-
runId,
|
|
110
|
-
};
|
|
111
|
-
return entry;
|
|
112
|
-
};
|
|
113
|
-
const executePostgresQueryInSession = async (input) => {
|
|
114
|
-
const key = sessionKey(input.runId, input.connection);
|
|
115
|
-
let entry = sessions.get(key);
|
|
116
|
-
if (!entry) {
|
|
117
|
-
entry = openEntry(input.runId, input.connection);
|
|
118
|
-
sessions.set(key, entry);
|
|
119
|
-
ensureSweeper();
|
|
120
|
-
}
|
|
121
|
-
const run = entry.chain.then(async () => {
|
|
122
|
-
if (entry.poisoned) {
|
|
123
|
-
throw new Error(`PostgreSQL session is unusable: ${entry.poisoned}`);
|
|
124
|
-
}
|
|
125
|
-
const client = await entry.clientPromise;
|
|
126
|
-
if (input.transactionMode !== "none" && !entry.transactionOpen) {
|
|
127
|
-
await client.query("BEGIN");
|
|
128
|
-
entry.transactionOpen = true;
|
|
129
|
-
}
|
|
130
|
-
return (0, pgClientConfig_js_1.runPgQuery)(client, input.query, input.params ?? []);
|
|
131
|
-
});
|
|
132
|
-
// The chain must survive a failed query (SQL errors are normal in
|
|
133
|
-
// expectError flows) — swallow for chaining purposes only.
|
|
134
|
-
entry.chain = run.then(() => undefined, () => undefined).then(() => {
|
|
135
|
-
entry.lastUsedAtMs = Date.now();
|
|
136
|
-
});
|
|
137
|
-
return run;
|
|
138
|
-
};
|
|
139
|
-
exports.executePostgresQueryInSession = executePostgresQueryInSession;
|
|
140
|
-
// Close every session belonging to `runId` — COMMIT/ROLLBACK per the run
|
|
141
|
-
// outcome, then end the client. Queued statements finish (or fail) first
|
|
142
|
-
// thanks to the serialization chain.
|
|
143
|
-
const releasePostgresSessionsForRun = async (runId, outcome) => {
|
|
144
|
-
const owned = [];
|
|
145
|
-
for (const [key, entry] of sessions) {
|
|
146
|
-
if (entry.runId === runId)
|
|
147
|
-
owned.push([key, entry]);
|
|
148
|
-
}
|
|
149
|
-
await Promise.all(owned.map(async ([key, entry]) => {
|
|
150
|
-
sessions.delete(key);
|
|
151
|
-
await entry.chain;
|
|
152
|
-
await destroyEntry(entry, outcome);
|
|
153
|
-
}));
|
|
154
|
-
};
|
|
155
|
-
exports.releasePostgresSessionsForRun = releasePostgresSessionsForRun;
|
|
156
|
-
// Shutdown hook for hosts (backend process exit, CLI end, electron quit).
|
|
157
|
-
const closeAllPostgresSessions = async () => {
|
|
158
|
-
const all = Array.from(sessions.values());
|
|
159
|
-
sessions.clear();
|
|
160
|
-
if (sweeper) {
|
|
161
|
-
clearInterval(sweeper);
|
|
162
|
-
sweeper = null;
|
|
163
|
-
}
|
|
164
|
-
await Promise.all(all.map((entry) => destroyEntry(entry, "rollback")));
|
|
165
|
-
};
|
|
166
|
-
exports.closeAllPostgresSessions = closeAllPostgresSessions;
|
|
167
|
-
// Introspection for tests.
|
|
168
|
-
const __getPgSessionCountForTests = () => sessions.size;
|
|
169
|
-
exports.__getPgSessionCountForTests = __getPgSessionCountForTests;
|
|
7
|
+
const dbSessionManager_js_1 = require("./dbSessionManager.js");
|
|
8
|
+
var pgSession_js_1 = require("./pgSession.js");
|
|
9
|
+
Object.defineProperty(exports, "__setPgSessionDriverForTests", { enumerable: true, get: function () { return pgSession_js_1.__setPgSessionDriverForTests; } });
|
|
10
|
+
exports.executePostgresQueryInSession = dbSessionManager_js_1.executeInDbSession;
|
|
11
|
+
exports.releasePostgresSessionsForRun = dbSessionManager_js_1.releaseDbSessionsForRun;
|
|
12
|
+
exports.closeAllPostgresSessions = dbSessionManager_js_1.closeAllDbSessions;
|
|
13
|
+
exports.__getPgSessionCountForTests = dbSessionManager_js_1.__getDbSessionCountForTests;
|
|
170
14
|
//# sourceMappingURL=pgSessionManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgSessionManager.js","sourceRoot":"","sources":["../../../src/host/db/pgSessionManager.ts"],"names":[],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"file":"pgSessionManager.js","sourceRoot":"","sources":["../../../src/host/db/pgSessionManager.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,sBAAsB;;;AAEtB,+DAO+B;AAE/B,+CAA8D;AAArD,4HAAA,4BAA4B,OAAA;AAKxB,QAAA,6BAA6B,GAAG,wCAAkB,CAAC;AACnD,QAAA,6BAA6B,GAAG,6CAAuB,CAAC;AACxD,QAAA,wBAAwB,GAAG,wCAAkB,CAAC;AAC9C,QAAA,2BAA2B,GAAG,iDAA2B,CAAC"}
|
|
@@ -53,8 +53,25 @@ const testPostgresConnection = async (connection) => {
|
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
55
|
exports.testPostgresConnection = testPostgresConnection;
|
|
56
|
+
// A cursor only lives inside a transaction, so a one-shot statement that hands
|
|
57
|
+
// one back runs in its own.
|
|
58
|
+
const runPgOnClient = async (client, query, options) => {
|
|
59
|
+
if (!options.binds?.some((bind) => bind.type === "cursor")) {
|
|
60
|
+
return (0, pgClientConfig_js_1.runPgStatement)(client, query, options);
|
|
61
|
+
}
|
|
62
|
+
await client.query("BEGIN");
|
|
63
|
+
try {
|
|
64
|
+
const result = await (0, pgClientConfig_js_1.runPgStatement)(client, query, options);
|
|
65
|
+
await client.query("COMMIT");
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
await client.query("ROLLBACK").catch(() => undefined);
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
56
73
|
// Pooled path (configureDbPooling): one pg.Pool per connection identity.
|
|
57
|
-
const executePostgresQueryPooled = async (connection, query,
|
|
74
|
+
const executePostgresQueryPooled = async (connection, query, options) => {
|
|
58
75
|
const settings = (0, dbPool_js_1.getDbPoolSettings)();
|
|
59
76
|
const entry = await (0, dbPool_js_1.getOrCreateDbPool)(connection, async () => {
|
|
60
77
|
const { Pool } = await loadPgDriver();
|
|
@@ -82,7 +99,7 @@ const executePostgresQueryPooled = async (connection, query, params) => {
|
|
|
82
99
|
let failed = false;
|
|
83
100
|
const queryTimer = (0, dbTimings_js_1.startDbTimer)();
|
|
84
101
|
try {
|
|
85
|
-
const result = await (
|
|
102
|
+
const result = await runPgOnClient(client, query, options);
|
|
86
103
|
timings.queryMs = queryTimer();
|
|
87
104
|
return { ...result, timings };
|
|
88
105
|
}
|
|
@@ -97,9 +114,12 @@ const executePostgresQueryPooled = async (connection, query, params) => {
|
|
|
97
114
|
timings.closeMs = closeTimer();
|
|
98
115
|
}
|
|
99
116
|
};
|
|
100
|
-
const executePostgresQuery = async (connection, query,
|
|
117
|
+
const executePostgresQuery = async (connection, query, paramsOrOptions = []) => {
|
|
118
|
+
const options = Array.isArray(paramsOrOptions)
|
|
119
|
+
? { params: paramsOrOptions }
|
|
120
|
+
: paramsOrOptions;
|
|
101
121
|
if ((0, dbPool_js_1.isDbPoolingEnabled)()) {
|
|
102
|
-
return executePostgresQueryPooled(connection, query,
|
|
122
|
+
return executePostgresQueryPooled(connection, query, options);
|
|
103
123
|
}
|
|
104
124
|
const { Client } = await loadPgDriver();
|
|
105
125
|
const timings = (0, dbTimings_js_1.emptyDbTimings)();
|
|
@@ -109,7 +129,7 @@ const executePostgresQuery = async (connection, query, params = []) => {
|
|
|
109
129
|
timings.connectMs = connectTimer();
|
|
110
130
|
const queryTimer = (0, dbTimings_js_1.startDbTimer)();
|
|
111
131
|
try {
|
|
112
|
-
const result = await (
|
|
132
|
+
const result = await runPgOnClient(client, query, options);
|
|
113
133
|
timings.queryMs = queryTimer();
|
|
114
134
|
return { ...result, timings };
|
|
115
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresAdapter.js","sourceRoot":"","sources":["../../../src/host/db/postgresAdapter.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,4EAA4E;AAC5E,yEAAyE;AACzE,qBAAqB;;;AAErB,wCAAgD;AAEhD,
|
|
1
|
+
{"version":3,"file":"postgresAdapter.js","sourceRoot":"","sources":["../../../src/host/db/postgresAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,23 +10,23 @@ const mongoAdapter_js_1 = require("./mongoAdapter.js");
|
|
|
10
10
|
const mysqlAdapter_js_1 = require("./mysqlAdapter.js");
|
|
11
11
|
const oracleAdapter_js_1 = require("./oracleAdapter.js");
|
|
12
12
|
const postgresAdapter_js_1 = require("./postgresAdapter.js");
|
|
13
|
-
const
|
|
13
|
+
const dbSessionManager_js_1 = require("./dbSessionManager.js");
|
|
14
14
|
const dbErrors_js_1 = require("./dbErrors.js");
|
|
15
15
|
const sqlState_js_1 = require("./sqlState.js");
|
|
16
16
|
const templateResolver_js_1 = require("./templateResolver.js");
|
|
17
17
|
const mssqlAdapter_js_1 = require("./mssqlAdapter.js");
|
|
18
|
-
const executeAgainstConnection = async (connection, resolvedQuery,
|
|
18
|
+
const executeAgainstConnection = async (connection, resolvedQuery, options = {}) => {
|
|
19
19
|
switch (connection.type) {
|
|
20
20
|
case "mongo":
|
|
21
21
|
return (0, mongoAdapter_js_1.executeMongoQuery)(connection, await (0, mongoAdapter_js_1.parseMongoCommandText)(resolvedQuery));
|
|
22
22
|
case "postgres":
|
|
23
|
-
return (0, postgresAdapter_js_1.executePostgresQuery)(connection, resolvedQuery,
|
|
23
|
+
return (0, postgresAdapter_js_1.executePostgresQuery)(connection, resolvedQuery, options);
|
|
24
24
|
case "mysql":
|
|
25
|
-
return (0, mysqlAdapter_js_1.executeMysqlQuery)(connection, resolvedQuery,
|
|
25
|
+
return (0, mysqlAdapter_js_1.executeMysqlQuery)(connection, resolvedQuery, options);
|
|
26
26
|
case "mssql":
|
|
27
|
-
return (0, mssqlAdapter_js_1.executeMssqlQuery)(connection, resolvedQuery,
|
|
27
|
+
return (0, mssqlAdapter_js_1.executeMssqlQuery)(connection, resolvedQuery, options);
|
|
28
28
|
default:
|
|
29
|
-
return (0, oracleAdapter_js_1.executeOracleQuery)(connection, resolvedQuery);
|
|
29
|
+
return (0, oracleAdapter_js_1.executeOracleQuery)(connection, resolvedQuery, options);
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
// Pre-resolved dispatcher: dispatch an ALREADY template-resolved query to the
|
|
@@ -34,25 +34,28 @@ const executeAgainstConnection = async (connection, resolvedQuery, params = [])
|
|
|
34
34
|
// the scenario / `databaseExecutor` path (core's scenario runner resolves the
|
|
35
35
|
// template before calling the host), so hosts must not duplicate adapter logic.
|
|
36
36
|
//
|
|
37
|
-
// `session` (additive) routes the query through the run-scoped
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
// `useSession` node never silently runs autocommit.
|
|
37
|
+
// `session` (additive) routes the query through the run-scoped session instead
|
|
38
|
+
// of a one-shot connection — see dbSessionManager. MongoDB has none and fails
|
|
39
|
+
// with an actionable message so a `useSession` node never silently autocommits.
|
|
41
40
|
const executeResolvedDbQuery = (input) => {
|
|
42
41
|
const connection = (0, exports.normalizeConnectionInput)(input.connection);
|
|
42
|
+
const options = {
|
|
43
|
+
params: input.params ?? [],
|
|
44
|
+
binds: input.binds,
|
|
45
|
+
captureOutput: input.captureOutput,
|
|
46
|
+
timeoutMs: input.timeoutMs,
|
|
47
|
+
signal: input.signal,
|
|
48
|
+
};
|
|
43
49
|
if (input.session) {
|
|
44
|
-
|
|
45
|
-
return Promise.reject(new Error(`Scenario DB sessions are only supported for PostgreSQL connections (got "${connection.type}"). Disable 'Run in scenario transaction' on this node.`));
|
|
46
|
-
}
|
|
47
|
-
return (0, pgSessionManager_js_1.executePostgresQueryInSession)({
|
|
50
|
+
return (0, dbSessionManager_js_1.executeInDbSession)({
|
|
48
51
|
connection,
|
|
49
52
|
runId: input.session.runId,
|
|
50
53
|
transactionMode: input.session.transactionMode,
|
|
51
54
|
query: input.resolvedQuery,
|
|
52
|
-
|
|
55
|
+
...options,
|
|
53
56
|
});
|
|
54
57
|
}
|
|
55
|
-
return executeAgainstConnection(connection, input.resolvedQuery,
|
|
58
|
+
return executeAgainstConnection(connection, input.resolvedQuery, options);
|
|
56
59
|
};
|
|
57
60
|
exports.executeResolvedDbQuery = executeResolvedDbQuery;
|
|
58
61
|
const normalizeConnectionInput = (connectionInput) => ({
|
|
@@ -142,18 +145,21 @@ const executeQuery = async (payload) => {
|
|
|
142
145
|
}
|
|
143
146
|
try {
|
|
144
147
|
const resolvedQuery = (0, templateResolver_js_1.resolveTemplate)(payload.query, payload.context ?? {});
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
+
const options = {
|
|
149
|
+
params: payload.params ?? [],
|
|
150
|
+
binds: payload.binds,
|
|
151
|
+
captureOutput: payload.captureOutput,
|
|
152
|
+
timeoutMs: payload.timeoutMs,
|
|
153
|
+
};
|
|
148
154
|
const result = payload.session
|
|
149
|
-
? await (0,
|
|
155
|
+
? await (0, dbSessionManager_js_1.executeInDbSession)({
|
|
150
156
|
connection,
|
|
151
157
|
runId: payload.session.runId,
|
|
152
158
|
transactionMode: payload.session.transactionMode,
|
|
153
159
|
query: resolvedQuery,
|
|
154
|
-
|
|
160
|
+
...options,
|
|
155
161
|
})
|
|
156
|
-
: await executeAgainstConnection(connection, resolvedQuery,
|
|
162
|
+
: await executeAgainstConnection(connection, resolvedQuery, options);
|
|
157
163
|
return {
|
|
158
164
|
success: true,
|
|
159
165
|
phase: payload.phase,
|
|
@@ -164,11 +170,15 @@ const executeQuery = async (payload) => {
|
|
|
164
170
|
resolvedQuery,
|
|
165
171
|
rows: result.rows,
|
|
166
172
|
rowCount: result.rowCount,
|
|
173
|
+
...(result.out ? { out: result.out } : {}),
|
|
174
|
+
...(result.output ? { output: result.output } : {}),
|
|
175
|
+
...(result.resultSets ? { resultSets: result.resultSets } : {}),
|
|
167
176
|
durationMs: Math.round(node_perf_hooks_1.performance.now() - startedAt),
|
|
168
177
|
executedAt: new Date().toISOString(),
|
|
169
178
|
};
|
|
170
179
|
}
|
|
171
180
|
catch (error) {
|
|
181
|
+
const dbOutput = error?.dbOutput;
|
|
172
182
|
return {
|
|
173
183
|
success: false,
|
|
174
184
|
phase: payload.phase,
|
|
@@ -185,6 +195,8 @@ const executeQuery = async (payload) => {
|
|
|
185
195
|
executedAt: new Date().toISOString(),
|
|
186
196
|
error: error instanceof Error ? error.message : String(error),
|
|
187
197
|
...((0, sqlState_js_1.extractSqlState)(error) ? { sqlState: (0, sqlState_js_1.extractSqlState)(error) } : {}),
|
|
198
|
+
...((0, sqlState_js_1.extractDbErrorCode)(error) ? { dbErrorCode: (0, sqlState_js_1.extractDbErrorCode)(error) } : {}),
|
|
199
|
+
...(dbOutput ? { output: dbOutput } : {}),
|
|
188
200
|
...((0, oracleAdapter_js_1.getOracleClientErrorCode)(error) ? { errorCode: (0, oracleAdapter_js_1.getOracleClientErrorCode)(error) } : {}),
|
|
189
201
|
...((0, dbErrors_js_1.describeDbError)(error) ? { diagnosis: (0, dbErrors_js_1.describeDbError)(error) ?? undefined } : {}),
|
|
190
202
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryExecutor.js","sourceRoot":"","sources":["../../../src/host/db/queryExecutor.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,+EAA+E;AAC/E,gFAAgF;AAChF,wEAAwE;;;AAExE,qDAA8C;AAG9C,uDAAkG;AAClG,uDAA2E;AAC3E,yDAI4B;AAC5B,6DAAoF;AACpF,+
|
|
1
|
+
{"version":3,"file":"queryExecutor.js","sourceRoot":"","sources":["../../../src/host/db/queryExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractSqlState = void 0;
|
|
3
|
+
exports.extractDbErrorCode = exports.extractSqlState = void 0;
|
|
4
4
|
// SQLSTATE extraction shared by the scenario db-executor, the host query
|
|
5
5
|
// executor, and desktop adapters. Postgres SQLSTATE is 5 alphanumeric chars;
|
|
6
6
|
// `pg` errors expose it as `.code`. `.sqlState` is checked first so hosts
|
|
@@ -15,4 +15,25 @@ const extractSqlState = (error) => {
|
|
|
15
15
|
: undefined;
|
|
16
16
|
};
|
|
17
17
|
exports.extractSqlState = extractSqlState;
|
|
18
|
+
// The engine's own error code, for engines whose errors are not SQLSTATE
|
|
19
|
+
// classified: "ORA-20001", "MSSQL-50000", "ER_SIGNAL_EXCEPTION". `.dbErrorCode`
|
|
20
|
+
// is checked first so hosts can carry it across their own error types.
|
|
21
|
+
const extractDbErrorCode = (error) => {
|
|
22
|
+
if (!error || typeof error !== "object")
|
|
23
|
+
return undefined;
|
|
24
|
+
const record = error;
|
|
25
|
+
if (typeof record.dbErrorCode === "string" && record.dbErrorCode)
|
|
26
|
+
return record.dbErrorCode;
|
|
27
|
+
if (typeof record.errorNum === "number" && record.errorNum > 0) {
|
|
28
|
+
return `ORA-${String(record.errorNum).padStart(5, "0")}`;
|
|
29
|
+
}
|
|
30
|
+
if (typeof record.number === "number" && record.number > 0)
|
|
31
|
+
return `MSSQL-${record.number}`;
|
|
32
|
+
if (typeof record.code === "string" && /^(ORA-\d+|ER_[A-Z0-9_]+)$/.test(record.code)) {
|
|
33
|
+
return record.code;
|
|
34
|
+
}
|
|
35
|
+
const inMessage = typeof record.message === "string" ? record.message.match(/\bORA-\d{5}\b/) : null;
|
|
36
|
+
return inMessage?.[0];
|
|
37
|
+
};
|
|
38
|
+
exports.extractDbErrorCode = extractDbErrorCode;
|
|
18
39
|
//# sourceMappingURL=sqlState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlState.js","sourceRoot":"","sources":["../../../src/host/db/sqlState.ts"],"names":[],"mappings":";;;AAAA,yEAAyE;AACzE,6EAA6E;AAC7E,0EAA0E;AAC1E,sEAAsE;AACtE,8BAA8B;AACvB,MAAM,eAAe,GAAG,CAAC,KAAc,EAAsB,EAAE;IACpE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,SAAS,GACZ,KAAgC,CAAC,QAAQ,IAAK,KAA4B,CAAC,IAAI,CAAC;IACnF,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;QACrE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B"}
|
|
1
|
+
{"version":3,"file":"sqlState.js","sourceRoot":"","sources":["../../../src/host/db/sqlState.ts"],"names":[],"mappings":";;;AAAA,yEAAyE;AACzE,6EAA6E;AAC7E,0EAA0E;AAC1E,sEAAsE;AACtE,8BAA8B;AACvB,MAAM,eAAe,GAAG,CAAC,KAAc,EAAsB,EAAE;IACpE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,SAAS,GACZ,KAAgC,CAAC,QAAQ,IAAK,KAA4B,CAAC,IAAI,CAAC;IACnF,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;QACrE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B;AAEF,yEAAyE;AACzE,gFAAgF;AAChF,uEAAuE;AAChE,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAsB,EAAE;IACvE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,MAAM,GAAG,KAMd,CAAC;IACF,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5F,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC;IAC5F,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACrF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B"}
|
package/dist-cjs/host/index.js
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// resolved connection runtimes into script capabilities. Lets the collection
|
|
4
4
|
// runner execute `pm.db.*` and `pm.redis` without an external host process.
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
exports.normalizeConnectionInput = exports.withMongoClient = exports.withOracleConnection = exports.withMssqlPool = exports.withMysqlConnection = exports.withPostgresClient = exports.formatOracleType = exports.formatMssqlType = exports.bsonTypeOf = exports.fieldsFromSample = exports.tableKey = exports.tableMatchesFilter = exports.introspectSchema = exports.__getTemporalConnectionCountForTests = exports.__setTemporalDriverForTests = exports.normalizeWorkflowStatus = exports.normalizeEventType = exports.describeTemporalError = exports.decodeTemporalPayloads = exports.summarizeSdkError = exports.summarizeProtoFailure = exports.summarizeTemporalHistory = exports.resolveTemporalNamespace = exports.buildTemporalConnectionOptions = exports.closeAllTemporalConnections = exports.releaseTemporalConnectionsForRun = exports.testTemporalConnection = exports.executeTemporalOperation = exports.__setRedisDriverForTests = exports.REDIS_COMMAND_SPECS = exports.parseRedisCommand = exports.executeRedisCommands = exports.databaseConfigToDbConnection = void 0;
|
|
6
|
+
exports.extractDbErrorCode = exports.buildPgClientConfig = exports.buildPgSslConfig = exports.isSessionMutatingStatement = exports.isDbPoolingEnabled = exports.getDbPoolStats = exports.getDbPoolSettings = exports.DbPoolAcquireTimeoutError = exports.configureDbPooling = exports.closeAllDbPools = exports.stripTrailingSqlTerminator = exports.__setMssqlDriverForTests = exports.testMssqlConnection = exports.executeMssqlQuery = exports.__setOracleDriverForTests = exports.ORACLE_CLIENT_NOT_FOUND = exports.ORACLE_CLIENT_REQUIRED = exports.OracleClientError = exports.getOracleClientErrorCode = exports.getOracleClientInfo = exports.configureOracleClient = exports.testOracleConnection = exports.executeOracleQuery = exports.__setMysqlDriverForTests = exports.testMysqlConnection = exports.executeMysqlQuery = exports.__setPostgresDriverForTests = exports.testPostgresConnection = exports.executePostgresQuery = exports.__setMongoDriverForTests = exports.testMongoConnection = exports.parseMongoCommandText = exports.executeMongoQuery = exports.__getPgSessionCountForTests = exports.__setPgSessionDriverForTests = exports.closeAllPostgresSessions = exports.releasePostgresSessionsForRun = exports.executePostgresQueryInSession = exports.closeAllDbSessions = exports.releaseDbSessionsForRun = exports.executeInDbSession = exports.describeDbError = exports.testDbConnection = exports.executeResolvedDbQuery = exports.executeQuery = exports.buildRedisCapability = exports.buildRedisValueCache = exports.runRedisCommandsForPhase = exports.runConfiguredDbQuery = exports.buildDbExecuteCapability = void 0;
|
|
7
|
+
exports.normalizeConnectionInput = exports.withMongoClient = exports.withOracleConnection = exports.withMssqlPool = exports.withMysqlConnection = exports.withPostgresClient = exports.formatOracleType = exports.formatMssqlType = exports.bsonTypeOf = exports.fieldsFromSample = exports.tableKey = exports.tableMatchesFilter = exports.buildRoutineCall = exports.introspectRoutines = exports.introspectSchema = exports.__getTemporalConnectionCountForTests = exports.__setTemporalDriverForTests = exports.normalizeWorkflowStatus = exports.normalizeEventType = exports.describeTemporalError = exports.decodeTemporalPayloads = exports.summarizeSdkError = exports.summarizeProtoFailure = exports.summarizeTemporalHistory = exports.resolveTemporalNamespace = exports.buildTemporalConnectionOptions = exports.closeAllTemporalConnections = exports.releaseTemporalConnectionsForRun = exports.testTemporalConnection = exports.executeTemporalOperation = exports.__setRedisDriverForTests = exports.REDIS_COMMAND_SPECS = exports.parseRedisCommand = exports.executeRedisCommands = exports.databaseConfigToDbConnection = exports.OracleConnectStringError = exports.normalizeOracleConnectString = exports.renderDbQueryReference = exports.DbStatementTimeoutError = exports.extractSqlState = void 0;
|
|
8
8
|
var connections_js_1 = require("./connections.js");
|
|
9
9
|
Object.defineProperty(exports, "buildDbExecuteCapability", { enumerable: true, get: function () { return connections_js_1.buildDbExecuteCapability; } });
|
|
10
10
|
Object.defineProperty(exports, "runConfiguredDbQuery", { enumerable: true, get: function () { return connections_js_1.runConfiguredDbQuery; } });
|
|
@@ -18,10 +18,14 @@ Object.defineProperty(exports, "testDbConnection", { enumerable: true, get: func
|
|
|
18
18
|
// What a driver error means (title + hint), for test panels and reports.
|
|
19
19
|
var dbErrors_js_1 = require("./db/dbErrors.js");
|
|
20
20
|
Object.defineProperty(exports, "describeDbError", { enumerable: true, get: function () { return dbErrors_js_1.describeDbError; } });
|
|
21
|
-
// Run-scoped
|
|
22
|
-
// spanning multiple nodes). Hosts wire
|
|
23
|
-
// the `databaseSessionRelease` driver and
|
|
24
|
-
// process shutdown.
|
|
21
|
+
// Run-scoped sessions for `useSession` db nodes on every SQL engine (one
|
|
22
|
+
// connection and one transaction spanning multiple nodes). Hosts wire
|
|
23
|
+
// `releaseDbSessionsForRun` into the `databaseSessionRelease` driver and
|
|
24
|
+
// `closeAllDbSessions` into process shutdown.
|
|
25
|
+
var dbSessionManager_js_1 = require("./db/dbSessionManager.js");
|
|
26
|
+
Object.defineProperty(exports, "executeInDbSession", { enumerable: true, get: function () { return dbSessionManager_js_1.executeInDbSession; } });
|
|
27
|
+
Object.defineProperty(exports, "releaseDbSessionsForRun", { enumerable: true, get: function () { return dbSessionManager_js_1.releaseDbSessionsForRun; } });
|
|
28
|
+
Object.defineProperty(exports, "closeAllDbSessions", { enumerable: true, get: function () { return dbSessionManager_js_1.closeAllDbSessions; } });
|
|
25
29
|
var pgSessionManager_js_1 = require("./db/pgSessionManager.js");
|
|
26
30
|
Object.defineProperty(exports, "executePostgresQueryInSession", { enumerable: true, get: function () { return pgSessionManager_js_1.executePostgresQueryInSession; } });
|
|
27
31
|
Object.defineProperty(exports, "releasePostgresSessionsForRun", { enumerable: true, get: function () { return pgSessionManager_js_1.releasePostgresSessionsForRun; } });
|
|
@@ -71,7 +75,10 @@ var pgClientConfig_js_1 = require("./db/pgClientConfig.js");
|
|
|
71
75
|
Object.defineProperty(exports, "buildPgSslConfig", { enumerable: true, get: function () { return pgClientConfig_js_1.buildPgSslConfig; } });
|
|
72
76
|
Object.defineProperty(exports, "buildPgClientConfig", { enumerable: true, get: function () { return pgClientConfig_js_1.buildPgClientConfig; } });
|
|
73
77
|
var sqlState_js_1 = require("./db/sqlState.js");
|
|
78
|
+
Object.defineProperty(exports, "extractDbErrorCode", { enumerable: true, get: function () { return sqlState_js_1.extractDbErrorCode; } });
|
|
74
79
|
Object.defineProperty(exports, "extractSqlState", { enumerable: true, get: function () { return sqlState_js_1.extractSqlState; } });
|
|
80
|
+
var dbBinds_js_1 = require("./db/dbBinds.js");
|
|
81
|
+
Object.defineProperty(exports, "DbStatementTimeoutError", { enumerable: true, get: function () { return dbBinds_js_1.DbStatementTimeoutError; } });
|
|
75
82
|
var db_query_reference_js_1 = require("./db/db-query-reference.js");
|
|
76
83
|
Object.defineProperty(exports, "renderDbQueryReference", { enumerable: true, get: function () { return db_query_reference_js_1.renderDbQueryReference; } });
|
|
77
84
|
var oracleConnectString_js_1 = require("./db/oracleConnectString.js");
|
|
@@ -106,6 +113,8 @@ Object.defineProperty(exports, "__getTemporalConnectionCountForTests", { enumera
|
|
|
106
113
|
// per call, a DbSchema back. Hosts expose it (Electron IPC, the backend).
|
|
107
114
|
var index_js_1 = require("./db/introspection/index.js");
|
|
108
115
|
Object.defineProperty(exports, "introspectSchema", { enumerable: true, get: function () { return index_js_1.introspectSchema; } });
|
|
116
|
+
Object.defineProperty(exports, "introspectRoutines", { enumerable: true, get: function () { return index_js_1.introspectRoutines; } });
|
|
117
|
+
Object.defineProperty(exports, "buildRoutineCall", { enumerable: true, get: function () { return index_js_1.buildRoutineCall; } });
|
|
109
118
|
Object.defineProperty(exports, "tableMatchesFilter", { enumerable: true, get: function () { return index_js_1.tableMatchesFilter; } });
|
|
110
119
|
Object.defineProperty(exports, "tableKey", { enumerable: true, get: function () { return index_js_1.tableKey; } });
|
|
111
120
|
Object.defineProperty(exports, "fieldsFromSample", { enumerable: true, get: function () { return index_js_1.fieldsFromSample; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,6EAA6E;AAC7E,4EAA4E;;;;AAE5E,mDAc0B;AAbxB,0HAAA,wBAAwB,OAAA;AACxB,sHAAA,oBAAoB,OAAA;AACpB,0HAAA,wBAAwB,OAAA;AACxB,sHAAA,oBAAoB,OAAA;AACpB,sHAAA,oBAAoB,OAAA;AAWtB,0DAI+B;AAH7B,gHAAA,YAAY,OAAA;AACZ,0HAAA,sBAAsB,OAAA;AACtB,oHAAA,gBAAgB,OAAA;AAElB,yEAAyE;AACzE,gDAA0E;AAAjE,8GAAA,eAAe,OAAA;AACxB,yEAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"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"}
|