spindb 0.68.7 → 0.68.8

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.
@@ -0,0 +1,84 @@
1
+ /**
2
+ * MySQL Family Binary Resolver
3
+ *
4
+ * Resolves a MySQL or MariaDB client binary out of spindb's own binary cache
5
+ * (`~/.spindb/bin/<engine>-<version>-<platform>-<arch>/bin/`), preferring the
6
+ * version the caller asks for.
7
+ *
8
+ * This is the MySQL-family twin of `core/pg-binary-resolver.ts`, and it exists
9
+ * for the same reason: `configManager.getBinaryPath('mysqldump')` stores ONE
10
+ * path per tool name with no version dimension, so on a machine with several
11
+ * installed versions it returns whichever one was registered first and still
12
+ * exists on disk. That is how a MySQL 9.7.2 container ended up dumping through
13
+ * `mysql-9.6.0/bin/mysqldump`: nothing was wrong with the 9.6 binary, it was
14
+ * simply the entry already in `config.json`.
15
+ *
16
+ * As with PostgreSQL, spindb owns its binaries: we never probe Homebrew, APT,
17
+ * or any other system package manager here. The globally registered path stays
18
+ * available as the caller's last resort.
19
+ */
20
+ import { existsSync } from 'fs';
21
+ import { join } from 'path';
22
+ import { paths } from '../config/paths.js';
23
+ import { platformService } from './platform-service.js';
24
+ import { compareVersions, isVersionPrefixOf } from './version-utils.js';
25
+ /**
26
+ * Choose one version out of the installed ones.
27
+ *
28
+ * Pure, so the preference order is unit tested without a filesystem:
29
+ * 1. the requested version exactly,
30
+ * 2. the newest install the requested version is a prefix of, matched on
31
+ * version-segment boundaries (`isVersionPrefixOf`) so `11.8` never matches
32
+ * `11.80`,
33
+ * 3. the newest installed version.
34
+ *
35
+ * Returns null only when nothing is installed.
36
+ */
37
+ export function selectInstalledVersion(options) {
38
+ const { installed, preferVersion } = options;
39
+ if (installed.length === 0)
40
+ return null;
41
+ const newestFirst = [...installed].sort((a, b) => compareVersions(b, a));
42
+ if (preferVersion) {
43
+ const exact = newestFirst.find((version) => version === preferVersion);
44
+ if (exact)
45
+ return exact;
46
+ const sameLine = newestFirst.find((version) => isVersionPrefixOf(preferVersion, version));
47
+ if (sameLine)
48
+ return sameLine;
49
+ }
50
+ return newestFirst[0];
51
+ }
52
+ /**
53
+ * List the installed versions of an engine that actually ship the given tool,
54
+ * newest first.
55
+ */
56
+ export function listInstalledMysqlFamilyBinaries(options) {
57
+ const { engine, tool } = options;
58
+ const { platform, arch } = platformService.getPlatformInfo();
59
+ const ext = platformService.getExecutableExtension();
60
+ return paths
61
+ .findInstalledBinaries(engine, platform, arch)
62
+ .map((entry) => ({
63
+ version: entry.version,
64
+ path: join(entry.path, 'bin', `${tool}${ext}`),
65
+ }))
66
+ .filter((candidate) => existsSync(candidate.path));
67
+ }
68
+ /**
69
+ * Resolve a bundled MySQL-family binary, preferring `preferVersion`.
70
+ *
71
+ * Returns null when the engine has no installed version carrying that tool,
72
+ * which is the caller's cue to fall back or to download.
73
+ */
74
+ export function resolveBundledMysqlFamilyBinary(options) {
75
+ const candidates = listInstalledMysqlFamilyBinaries(options);
76
+ const version = selectInstalledVersion({
77
+ installed: candidates.map((candidate) => candidate.version),
78
+ preferVersion: options.preferVersion,
79
+ });
80
+ if (!version)
81
+ return null;
82
+ return candidates.find((candidate) => candidate.version === version) ?? null;
83
+ }
84
+ //# sourceMappingURL=mysql-family-binary-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysql-family-binary-resolver.js","sourceRoot":"","sources":["../../core/mysql-family-binary-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AASpE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAGtC;IACC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAA;IAC5C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAExE,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC,CAAA;QACtE,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;QAEvB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5C,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,CAC1C,CAAA;QACD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;IAC/B,CAAC;IAED,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,OAGhD;IACC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IAChC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,eAAe,EAAE,CAAA;IAC5D,MAAM,GAAG,GAAG,eAAe,CAAC,sBAAsB,EAAE,CAAA;IAEpD,OAAO,KAAK;SACT,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;SAC7C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;KAC/C,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAAC,OAI/C;IACC,MAAM,UAAU,GAAG,gCAAgC,CAAC,OAAO,CAAC,CAAA;IAC5D,MAAM,OAAO,GAAG,sBAAsB,CAAC;QACrC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;QAC3D,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,IAAI,CAAA;AAC9E,CAAC"}
@@ -210,7 +210,12 @@ export class PullManager {
210
210
  // --- PULL REMOTE ---
211
211
  // Step 4: Dump remote to temp file
212
212
  logDebug(`Dumping remote database to: ${tempRemoteDump}`);
213
- await engine.dumpFromConnectionString(options.fromUrl, tempRemoteDump, buildRemoteDumpOptions(options));
213
+ await engine.dumpFromConnectionString(options.fromUrl, tempRemoteDump, {
214
+ ...buildRemoteDumpOptions(options),
215
+ // Prefer a client tool matching this container's version when the
216
+ // engine keeps several installed.
217
+ targetVersion: config.version,
218
+ });
214
219
  tx.addRollback({
215
220
  description: 'Delete remote dump temp file',
216
221
  execute: async () => {
@@ -359,7 +364,12 @@ export class PullManager {
359
364
  });
360
365
  // Step 3: Dump remote to temp file
361
366
  logDebug(`Dumping remote database to: ${tempRemoteDump}`);
362
- await engine.dumpFromConnectionString(options.fromUrl, tempRemoteDump, buildRemoteDumpOptions(options));
367
+ await engine.dumpFromConnectionString(options.fromUrl, tempRemoteDump, {
368
+ ...buildRemoteDumpOptions(options),
369
+ // Prefer a client tool matching this container's version when the
370
+ // engine keeps several installed.
371
+ targetVersion: config.version,
372
+ });
363
373
  tx.addRollback({
364
374
  description: 'Delete remote dump temp file',
365
375
  execute: async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"pull-manager.js","sourceRoot":"","sources":["../../core/pull-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull-manager.js","sourceRoot":"","sources":["../../core/pull-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Server Handshake Probing
3
+ *
4
+ * Engine-agnostic: reads the greeting a database server sends the moment a TCP
5
+ * connection is opened, before any credentials are exchanged, so spindb can
6
+ * pick the client tool that matches the SERVER it is about to talk to.
7
+ *
8
+ * This is the same principle PostgreSQL already follows in
9
+ * `engines/postgresql/version-validator.ts`: the tool that takes a remote dump
10
+ * follows the SOURCE server, not the target container. PostgreSQL only has to
11
+ * follow a version, because there is one `pg_dump`. The MySQL family has two
12
+ * incompatible client families, so it has to follow a flavor as well as a
13
+ * version, and the flavor is not in the connection string: a MariaDB server
14
+ * and a MySQL server are both reached through `mysql://`.
15
+ *
16
+ * Reading the greeting is the only way to tell them apart without a successful
17
+ * login. We never write to the socket:
18
+ * - MySQL and MariaDB both send the initial handshake packet unprompted, and
19
+ * TLS is negotiated in the client's REPLY, so a plain read works even against
20
+ * a server that requires TLS.
21
+ * - No credentials are sent, so a probe cannot fail authentication, and a
22
+ * caller with a wrong password still learns the flavor.
23
+ */
24
+ import { Socket } from 'net';
25
+ import { logDebug } from './error-handler.js';
26
+ const HEADER_BYTES = 4;
27
+ const HANDSHAKE_PROTOCOL_V10 = 0x0a;
28
+ const ERR_PACKET_HEADER = 0xff;
29
+ const SQLSTATE_MARKER = 0x23; // '#'
30
+ const SQLSTATE_BYTES = 6; // marker + 5 characters
31
+ const DEFAULT_TIMEOUT_MS = 5000;
32
+ /**
33
+ * Parse a MySQL-protocol initial handshake packet.
34
+ *
35
+ * Pure, so the packet shapes are unit tested against fixture bytes rather than
36
+ * against a running server.
37
+ *
38
+ * Packet layout (both MySQL and MariaDB):
39
+ * bytes 0-2 payload length, little endian
40
+ * byte 3 sequence id
41
+ * byte 4 protocol version (0x0a), or 0xff for an ERR packet
42
+ * bytes 5.. NUL-terminated server version string
43
+ *
44
+ * A server that refuses the connection outright (host blocked, too many
45
+ * connections, TLS-only proxies) answers with an ERR packet INSTEAD of a
46
+ * greeting, which is why that is a parse outcome and not an exception.
47
+ */
48
+ export function parseMysqlWireHandshake(buffer) {
49
+ if (buffer.length < HEADER_BYTES + 1) {
50
+ return { kind: 'incomplete' };
51
+ }
52
+ const payloadLength = buffer.readUIntLE(0, 3);
53
+ if (buffer.length < HEADER_BYTES + payloadLength) {
54
+ return { kind: 'incomplete' };
55
+ }
56
+ const payload = buffer.subarray(HEADER_BYTES, HEADER_BYTES + payloadLength);
57
+ // A header that declares a zero-length payload carries no protocol byte, so
58
+ // every read below would be `undefined`. Classify it before touching
59
+ // `payload[0]`: the packet is already complete, so asking for more bytes
60
+ // would only stall until the timeout.
61
+ if (payload.length === 0) {
62
+ return {
63
+ kind: 'error',
64
+ errorCode: null,
65
+ message: 'Server sent an empty packet instead of a greeting. ' +
66
+ 'This does not look like a MySQL-protocol server.',
67
+ };
68
+ }
69
+ if (payload[0] === ERR_PACKET_HEADER) {
70
+ return parseErrPacket(payload);
71
+ }
72
+ if (payload[0] !== HANDSHAKE_PROTOCOL_V10) {
73
+ return {
74
+ kind: 'error',
75
+ errorCode: null,
76
+ message: `Unexpected handshake protocol version 0x${payload[0].toString(16)} ` +
77
+ '(expected 0x0a). This does not look like a MySQL-protocol server.',
78
+ };
79
+ }
80
+ const terminator = payload.indexOf(0x00, 1);
81
+ if (terminator === -1) {
82
+ return { kind: 'incomplete' };
83
+ }
84
+ return {
85
+ kind: 'handshake',
86
+ protocolVersion: payload[0],
87
+ serverVersion: payload.toString('utf8', 1, terminator),
88
+ };
89
+ }
90
+ function parseErrPacket(payload) {
91
+ if (payload.length < 3) {
92
+ return {
93
+ kind: 'error',
94
+ errorCode: null,
95
+ message: 'Server rejected the connection without a message',
96
+ };
97
+ }
98
+ const errorCode = payload.readUInt16LE(1);
99
+ // A connection-phase ERR packet usually carries no SQL state, but a server
100
+ // that has already negotiated CLIENT_PROTOCOL_41 prefixes one as "#HY000".
101
+ const hasSqlState = payload[3] === SQLSTATE_MARKER;
102
+ const messageStart = hasSqlState ? 3 + SQLSTATE_BYTES : 3;
103
+ return {
104
+ kind: 'error',
105
+ errorCode,
106
+ message: payload.toString('utf8', messageStart).trim(),
107
+ };
108
+ }
109
+ /**
110
+ * Open a TCP connection, read the server's greeting, and return the version
111
+ * string it announces (for example `9.7.2`, `11.8.8-MariaDB`, or
112
+ * `11.8.0-MariaDB` from a ProxySQL front end).
113
+ *
114
+ * Nothing is ever written to the socket, and the socket is destroyed as soon
115
+ * as the version is known.
116
+ *
117
+ * @throws when the server cannot be reached, refuses the connection, or does
118
+ * not speak the MySQL wire protocol. Callers that only want a best-effort
119
+ * hint should catch and fall back.
120
+ */
121
+ export async function readMysqlWireServerVersion(options) {
122
+ const { host, port, timeoutMs = DEFAULT_TIMEOUT_MS } = options;
123
+ return new Promise((resolve, reject) => {
124
+ const socket = new Socket();
125
+ let buffer = Buffer.alloc(0);
126
+ let settled = false;
127
+ const finish = (error, version) => {
128
+ if (settled)
129
+ return;
130
+ settled = true;
131
+ socket.destroy();
132
+ if (error) {
133
+ reject(error);
134
+ }
135
+ else {
136
+ resolve(version);
137
+ }
138
+ };
139
+ socket.setTimeout(timeoutMs);
140
+ socket.on('timeout', () => {
141
+ finish(new Error(`Timed out after ${timeoutMs}ms waiting for a greeting from ${host}:${port}`));
142
+ });
143
+ socket.on('error', (error) => {
144
+ finish(new Error(`Could not reach ${host}:${port}: ${error.message}`));
145
+ });
146
+ socket.on('close', () => {
147
+ finish(new Error(`${host}:${port} closed the connection before sending a greeting`));
148
+ });
149
+ socket.on('data', (chunk) => {
150
+ buffer = Buffer.concat([buffer, chunk]);
151
+ // A throw in here is an uncaught exception on the socket, not a rejected
152
+ // promise, so it would take the whole process down instead of reaching
153
+ // the caller's catch. The probe is best-effort: a parser it cannot trust
154
+ // must still end as a rejected read.
155
+ let parsed;
156
+ try {
157
+ parsed = parseMysqlWireHandshake(buffer);
158
+ }
159
+ catch (error) {
160
+ finish(new Error(`Could not read the greeting from ${host}:${port}: ` +
161
+ (error instanceof Error ? error.message : String(error))));
162
+ return;
163
+ }
164
+ if (parsed.kind === 'incomplete')
165
+ return;
166
+ if (parsed.kind === 'error') {
167
+ finish(new Error(`${host}:${port} refused the connection: ${parsed.message}`));
168
+ return;
169
+ }
170
+ logDebug('Read MySQL wire server version', {
171
+ host,
172
+ port,
173
+ serverVersion: parsed.serverVersion,
174
+ });
175
+ finish(null, parsed.serverVersion);
176
+ });
177
+ socket.connect(port, host);
178
+ });
179
+ }
180
+ /**
181
+ * Classify a MySQL-protocol version string into a flavor.
182
+ *
183
+ * MariaDB 10.x announces itself as `5.5.5-10.11.15-MariaDB`: the `5.5.5-`
184
+ * prefix is a compatibility lie for old replication clients, dropped in
185
+ * MariaDB 11. Strip it before reading the version, or every MariaDB 10 server
186
+ * looks like MySQL 5.5.
187
+ *
188
+ * Anything that starts with a number but never says MariaDB is treated as
189
+ * MySQL, which is what a Percona or an AWS build wants: they take the same
190
+ * mysqldump.
191
+ */
192
+ export function classifyMysqlFamilyServer(version) {
193
+ const rawVersion = version.trim();
194
+ const stripped = rawVersion.replace(/^5\.5\.5-/, '');
195
+ const numeric = stripped.match(/^(\d+)\.(\d+)/);
196
+ let flavor = 'unknown';
197
+ if (/mariadb/i.test(stripped)) {
198
+ flavor = 'mariadb';
199
+ }
200
+ else if (numeric) {
201
+ flavor = 'mysql';
202
+ }
203
+ return {
204
+ flavor,
205
+ version: stripped,
206
+ rawVersion,
207
+ majorVersion: numeric ? parseInt(numeric[1], 10) : null,
208
+ minorVersion: numeric ? parseInt(numeric[2], 10) : null,
209
+ };
210
+ }
211
+ /**
212
+ * Best-effort flavor probe: never throws.
213
+ *
214
+ * A source that cannot be probed is reported as `unknown`, which every caller
215
+ * treats as "keep doing what you did before". A probe failure must never be
216
+ * the reason a dump does not happen - the dump tool itself reports a real
217
+ * connection problem far better than a greeting read can.
218
+ */
219
+ export async function probeMysqlFamilyServer(options) {
220
+ try {
221
+ const version = await readMysqlWireServerVersion(options);
222
+ return classifyMysqlFamilyServer(version);
223
+ }
224
+ catch (error) {
225
+ logDebug('MySQL family server probe failed', {
226
+ host: options.host,
227
+ port: options.port,
228
+ error: error instanceof Error ? error.message : String(error),
229
+ });
230
+ return {
231
+ flavor: 'unknown',
232
+ version: '',
233
+ rawVersion: '',
234
+ majorVersion: null,
235
+ minorVersion: null,
236
+ };
237
+ }
238
+ }
239
+ //# sourceMappingURL=server-handshake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-handshake.js","sourceRoot":"","sources":["../../core/server-handshake.ts"],"names":[],"mappings":"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"}
@@ -4,16 +4,14 @@
4
4
  * Creates database backups in SQL or compressed (.dump = gzipped SQL) format using mysqldump.
5
5
  */
6
6
  import { spawn } from 'child_process';
7
- import { createWriteStream, existsSync } from 'fs';
7
+ import { createWriteStream } from 'fs';
8
8
  import { stat } from 'fs/promises';
9
- import { join } from 'path';
10
9
  import { createGzip } from 'zlib';
11
10
  import { pipeline } from 'stream/promises';
12
11
  import { configManager } from '../../core/config-manager.js';
13
- import { getWindowsSpawnOptions, isWindows, platformService, } from '../../core/platform-service.js';
12
+ import { resolveBundledMysqlFamilyBinary } from '../../core/mysql-family-binary-resolver.js';
13
+ import { getWindowsSpawnOptions, isWindows } from '../../core/platform-service.js';
14
14
  import { getEngineDefaults } from '../../config/defaults.js';
15
- import { paths } from '../../config/paths.js';
16
- import { normalizeVersion } from './version-maps.js';
17
15
  import { getDefaultUsername, loadCredentials, } from '../../core/credential-manager.js';
18
16
  import { Engine, } from '../../types/index.js';
19
17
  const engineDef = getEngineDefaults('mysql');
@@ -21,42 +19,28 @@ const engineDef = getEngineDefaults('mysql');
21
19
  * Get mysqldump path for a specific MySQL version.
22
20
  *
23
21
  * Prioritizes SpinDB-managed binaries that match the container's version,
24
- * falling back to system mysqldump only if no matching version is found.
22
+ * falling back to the globally registered mysqldump only if no bundled binary
23
+ * carries the tool. The version preference itself lives in
24
+ * `core/mysql-family-binary-resolver.ts`, shared with the remote dump path, so
25
+ * "which mysqldump" is answered the same way everywhere.
25
26
  *
26
27
  * @param containerVersion - The container's MySQL version (e.g., "8" or "8.4.3")
27
28
  * @returns Path to the version-matched mysqldump binary
28
29
  */
29
30
  async function getMysqldumpPath(containerVersion) {
30
- // Normalize to full version (e.g., "8" -> "8.4.3")
31
- const fullVersion = normalizeVersion(containerVersion);
32
- // Get platform info for building the binary path
33
- const platformInfo = platformService.getPlatformInfo();
34
- const ext = platformInfo.platform === 'win32' ? '.exe' : '';
35
- // Try to find SpinDB-managed mysqldump for the matching version
36
- const versionedBinPath = paths.getBinaryPath({
31
+ const bundled = resolveBundledMysqlFamilyBinary({
37
32
  engine: 'mysql',
38
- version: fullVersion,
39
- platform: platformInfo.platform,
40
- arch: platformInfo.arch,
33
+ tool: 'mysqldump',
34
+ preferVersion: containerVersion,
41
35
  });
42
- const versionedMysqldump = join(versionedBinPath, 'bin', `mysqldump${ext}`);
43
- if (existsSync(versionedMysqldump)) {
44
- return versionedMysqldump;
45
- }
46
- // Try to find any installed version for this major version
47
- const majorVersion = containerVersion.split('.')[0];
48
- const installed = paths.findInstalledBinaryForMajor('mysql', majorVersion, platformInfo.platform, platformInfo.arch);
49
- if (installed) {
50
- const installedMysqldump = join(installed.path, 'bin', `mysqldump${ext}`);
51
- if (existsSync(installedMysqldump)) {
52
- return installedMysqldump;
53
- }
54
- }
36
+ if (bundled)
37
+ return bundled.path;
55
38
  // Fall back to globally registered mysqldump (system binary)
56
39
  const systemMysqldump = await configManager.getBinaryPath('mysqldump');
57
40
  if (systemMysqldump) {
58
41
  return systemMysqldump;
59
42
  }
43
+ const majorVersion = containerVersion.split('.')[0];
60
44
  throw new Error(`mysqldump not found for MySQL ${containerVersion}. ` +
61
45
  `Either download MySQL binaries with 'spindb create --engine mysql --version ${majorVersion}' ` +
62
46
  'or ensure MySQL binaries are downloaded:\n' +
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../engines/mysql/backup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../engines/mysql/backup.ts"],"names":[],"mappings":"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"}