spindb 0.44.0 → 0.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.
Files changed (66) hide show
  1. package/README.md +22 -10
  2. package/dist/cli/commands/create.js +16 -1
  3. package/dist/cli/commands/create.js.map +1 -1
  4. package/dist/cli/commands/engines.js +39 -0
  5. package/dist/cli/commands/engines.js.map +1 -1
  6. package/dist/cli/commands/menu/backup-handlers.js +5 -0
  7. package/dist/cli/commands/menu/backup-handlers.js.map +1 -1
  8. package/dist/cli/commands/menu/settings-handlers.js +3 -0
  9. package/dist/cli/commands/menu/settings-handlers.js.map +1 -1
  10. package/dist/cli/commands/menu/shell-handlers.js +31 -1
  11. package/dist/cli/commands/menu/shell-handlers.js.map +1 -1
  12. package/dist/cli/commands/start.js.map +1 -1
  13. package/dist/cli/constants.js +4 -0
  14. package/dist/cli/constants.js.map +1 -1
  15. package/dist/cli/helpers.js +53 -2
  16. package/dist/cli/helpers.js.map +1 -1
  17. package/dist/config/backup-formats.js +18 -0
  18. package/dist/config/backup-formats.js.map +1 -1
  19. package/dist/config/engine-defaults.js +13 -0
  20. package/dist/config/engine-defaults.js.map +1 -1
  21. package/dist/config/engines.json +18 -0
  22. package/dist/config/version.js +1 -1
  23. package/dist/core/config-manager.js +4 -1
  24. package/dist/core/config-manager.js.map +1 -1
  25. package/dist/core/credential-manager.js +2 -0
  26. package/dist/core/credential-manager.js.map +1 -1
  27. package/dist/core/database-capabilities.js +8 -0
  28. package/dist/core/database-capabilities.js.map +1 -1
  29. package/dist/core/dependency-manager.js +2 -0
  30. package/dist/core/dependency-manager.js.map +1 -1
  31. package/dist/core/docker-exporter.js +12 -0
  32. package/dist/core/docker-exporter.js.map +1 -1
  33. package/dist/core/remote-container.js +2 -0
  34. package/dist/core/remote-container.js.map +1 -1
  35. package/dist/engines/couchdb/index.js +7 -5
  36. package/dist/engines/couchdb/index.js.map +1 -1
  37. package/dist/engines/ferretdb/index.js +1 -1
  38. package/dist/engines/index.js +5 -1
  39. package/dist/engines/index.js.map +1 -1
  40. package/dist/engines/libsql/api-client.js +134 -0
  41. package/dist/engines/libsql/api-client.js.map +1 -0
  42. package/dist/engines/libsql/backup.js +151 -0
  43. package/dist/engines/libsql/backup.js.map +1 -0
  44. package/dist/engines/libsql/binary-manager.js +31 -0
  45. package/dist/engines/libsql/binary-manager.js.map +1 -0
  46. package/dist/engines/libsql/binary-urls.js +50 -0
  47. package/dist/engines/libsql/binary-urls.js.map +1 -0
  48. package/dist/engines/libsql/hostdb-releases.js +21 -0
  49. package/dist/engines/libsql/hostdb-releases.js.map +1 -0
  50. package/dist/engines/libsql/index.js +578 -0
  51. package/dist/engines/libsql/index.js.map +1 -0
  52. package/dist/engines/libsql/restore.js +214 -0
  53. package/dist/engines/libsql/restore.js.map +1 -0
  54. package/dist/engines/libsql/version-maps.js +63 -0
  55. package/dist/engines/libsql/version-maps.js.map +1 -0
  56. package/dist/engines/libsql/version-validator.js +115 -0
  57. package/dist/engines/libsql/version-validator.js.map +1 -0
  58. package/dist/engines/questdb/index.js +5 -63
  59. package/dist/engines/questdb/index.js.map +1 -1
  60. package/dist/engines/redis/index.js +1 -1
  61. package/dist/engines/redis/index.js.map +1 -1
  62. package/dist/engines/valkey/index.js +1 -1
  63. package/dist/engines/valkey/index.js.map +1 -1
  64. package/dist/types/index.js +2 -0
  65. package/dist/types/index.js.map +1 -1
  66. package/package.json +2 -1
@@ -0,0 +1,214 @@
1
+ /**
2
+ * libSQL restore module
3
+ * Supports binary (file copy) and SQL import restore formats
4
+ */
5
+ import { existsSync } from 'fs';
6
+ import { readFile, mkdir, cp, rm } from 'fs/promises';
7
+ import { join } from 'path';
8
+ import { logDebug } from '../../core/error-handler.js';
9
+ import { paths } from '../../config/paths.js';
10
+ import { loadCredentials, getDefaultUsername, } from '../../core/credential-manager.js';
11
+ import { libsqlQuery } from './api-client.js';
12
+ import { Engine, } from '../../types/index.js';
13
+ /**
14
+ * Split SQL content into individual statements, respecting quoted strings
15
+ * and comments. Avoids breaking on semicolons inside string literals.
16
+ */
17
+ function splitSqlStatements(content) {
18
+ const statements = [];
19
+ let current = '';
20
+ let inSingleQuote = false;
21
+ let inDoubleQuote = false;
22
+ let inLineComment = false;
23
+ let inBlockComment = false;
24
+ let i = 0;
25
+ while (i < content.length) {
26
+ const ch = content[i];
27
+ const next = content[i + 1];
28
+ if (inLineComment) {
29
+ if (ch === '\n') {
30
+ inLineComment = false;
31
+ }
32
+ i++;
33
+ continue;
34
+ }
35
+ if (inBlockComment) {
36
+ if (ch === '*' && next === '/') {
37
+ inBlockComment = false;
38
+ i += 2;
39
+ continue;
40
+ }
41
+ i++;
42
+ continue;
43
+ }
44
+ if (inSingleQuote) {
45
+ current += ch;
46
+ if (ch === "'" && next === "'") {
47
+ current += next;
48
+ i += 2;
49
+ continue;
50
+ }
51
+ if (ch === "'") {
52
+ inSingleQuote = false;
53
+ }
54
+ i++;
55
+ continue;
56
+ }
57
+ if (inDoubleQuote) {
58
+ current += ch;
59
+ if (ch === '"') {
60
+ inDoubleQuote = false;
61
+ }
62
+ i++;
63
+ continue;
64
+ }
65
+ // Not inside any quote or comment
66
+ if (ch === '-' && next === '-') {
67
+ inLineComment = true;
68
+ i += 2;
69
+ continue;
70
+ }
71
+ if (ch === '/' && next === '*') {
72
+ inBlockComment = true;
73
+ i += 2;
74
+ continue;
75
+ }
76
+ if (ch === "'") {
77
+ inSingleQuote = true;
78
+ current += ch;
79
+ i++;
80
+ continue;
81
+ }
82
+ if (ch === '"') {
83
+ inDoubleQuote = true;
84
+ current += ch;
85
+ i++;
86
+ continue;
87
+ }
88
+ if (ch === ';') {
89
+ const trimmed = current.trim();
90
+ if (trimmed) {
91
+ statements.push(trimmed);
92
+ }
93
+ current = '';
94
+ i++;
95
+ continue;
96
+ }
97
+ current += ch;
98
+ i++;
99
+ }
100
+ const trimmed = current.trim();
101
+ if (trimmed) {
102
+ statements.push(trimmed);
103
+ }
104
+ return statements;
105
+ }
106
+ /**
107
+ * Detect the backup format from a file path
108
+ */
109
+ export function detectBackupFormat(filePath) {
110
+ if (filePath.endsWith('.sql')) {
111
+ return {
112
+ format: 'sql',
113
+ description: 'SQL dump',
114
+ restoreCommand: `spindb restore <container> ${filePath}`,
115
+ };
116
+ }
117
+ if (filePath.endsWith('.db')) {
118
+ return {
119
+ format: 'binary',
120
+ description: 'Binary database copy',
121
+ restoreCommand: `spindb restore <container> ${filePath}`,
122
+ };
123
+ }
124
+ // Default to binary format for unknown extensions
125
+ return {
126
+ format: 'binary',
127
+ description: 'Binary database copy (assumed)',
128
+ restoreCommand: `spindb restore <container> ${filePath}`,
129
+ };
130
+ }
131
+ /**
132
+ * Restore a libSQL backup
133
+ */
134
+ export async function restoreBackup(backupPath, options) {
135
+ if (!existsSync(backupPath)) {
136
+ throw new Error(`Backup file not found: ${backupPath}`);
137
+ }
138
+ const format = options.format || detectBackupFormat(backupPath).format;
139
+ if (format === 'sql') {
140
+ return restoreSqlBackup(backupPath, options);
141
+ }
142
+ return restoreBinaryBackup(backupPath, options);
143
+ }
144
+ /**
145
+ * Restore from a binary backup by copying the database directory.
146
+ * sqld's data.db is a directory tree, not a single file.
147
+ * Requires the server to be stopped.
148
+ */
149
+ async function restoreBinaryBackup(backupPath, options) {
150
+ const dataDir = options.dataDir ||
151
+ join(paths.getContainerPath(options.containerName, { engine: 'libsql' }), 'data');
152
+ const dbPath = join(dataDir, 'data.db');
153
+ logDebug(`Restoring binary backup to ${dbPath}`);
154
+ // Ensure data directory exists
155
+ if (!existsSync(dataDir)) {
156
+ await mkdir(dataDir, { recursive: true });
157
+ }
158
+ // Remove existing data.db directory/file before restoring
159
+ if (existsSync(dbPath)) {
160
+ await rm(dbPath, { recursive: true, force: true });
161
+ }
162
+ // Copy the backup directory tree
163
+ await cp(backupPath, dbPath, { recursive: true });
164
+ return {
165
+ format: 'binary',
166
+ stdout: `Restored binary backup to ${dbPath}. Start the container to use it.`,
167
+ };
168
+ }
169
+ /**
170
+ * Restore from a SQL dump via the HTTP API
171
+ * Requires the server to be running
172
+ */
173
+ async function restoreSqlBackup(backupPath, options) {
174
+ const port = options.port;
175
+ if (!port) {
176
+ throw new Error('SQL restore requires a running container. Start the container first, then retry.');
177
+ }
178
+ logDebug(`Restoring SQL backup via HTTP API on port ${port}`);
179
+ // Load auth token if credentials are stored
180
+ const username = getDefaultUsername(Engine.LibSQL);
181
+ const creds = await loadCredentials(options.containerName, Engine.LibSQL, username);
182
+ const authToken = creds?.apiKey ?? undefined;
183
+ const content = await readFile(backupPath, 'utf-8');
184
+ // Split into individual statements using a state machine that respects
185
+ // quoted strings and comments (avoids breaking on semicolons inside literals)
186
+ const statements = splitSqlStatements(content);
187
+ let executed = 0;
188
+ const failures = [];
189
+ for (const stmt of statements) {
190
+ // Skip transaction control statements - sqld handles transactions differently
191
+ if (/^(BEGIN|COMMIT|ROLLBACK)\b/i.test(stmt))
192
+ continue;
193
+ try {
194
+ await libsqlQuery(port, `${stmt};`, { authToken });
195
+ executed++;
196
+ }
197
+ catch (error) {
198
+ const message = error.message;
199
+ const preview = stmt.length > 80 ? `${stmt.slice(0, 80)}...` : stmt;
200
+ failures.push({ statement: preview, error: message });
201
+ logDebug(`Warning: statement failed during restore: ${message}`);
202
+ }
203
+ }
204
+ let summary = `Restored ${executed} SQL statements from backup.`;
205
+ if (failures.length > 0) {
206
+ summary += ` ${failures.length} statement(s) failed.`;
207
+ logDebug(`Restore failures:\n${failures.map((f) => ` ${f.statement}: ${f.error}`).join('\n')}`);
208
+ }
209
+ return {
210
+ format: 'sql',
211
+ stdout: summary,
212
+ };
213
+ }
214
+ //# sourceMappingURL=restore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../engines/libsql/restore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * libSQL Version Maps
3
+ *
4
+ * TEMPORARY: This version map will be replaced by the hostdb npm package once published.
5
+ * Until then, manually keep this in sync with robertjbass/hostdb releases.json:
6
+ * https://github.com/robertjbass/hostdb/blob/main/releases.json
7
+ *
8
+ * When updating versions:
9
+ * 1. Check hostdb releases.json for available versions
10
+ * 2. Update LIBSQL_VERSION_MAP to match
11
+ */
12
+ import { logDebug } from '../../core/error-handler.js';
13
+ /**
14
+ * Map of major libSQL versions to their latest stable patch versions.
15
+ * Must match versions available in hostdb releases.json.
16
+ */
17
+ export const LIBSQL_VERSION_MAP = {
18
+ // 1-part: major version -> latest
19
+ '0': '0.24.32',
20
+ // 2-part: major.minor -> latest patch
21
+ '0.24': '0.24.32',
22
+ // 3-part: exact version (identity mapping)
23
+ '0.24.32': '0.24.32',
24
+ };
25
+ /**
26
+ * Supported major libSQL versions (1-part format).
27
+ * Used for grouping and display purposes.
28
+ */
29
+ export const SUPPORTED_MAJOR_VERSIONS = ['0'];
30
+ /**
31
+ * Get the full version string for a major version.
32
+ *
33
+ * @param majorVersion - Major version (e.g., '0')
34
+ * @returns Full version string (e.g., '0.24.32') or null if not supported
35
+ */
36
+ export function getFullVersion(majorVersion) {
37
+ return LIBSQL_VERSION_MAP[majorVersion] || null;
38
+ }
39
+ /**
40
+ * Normalize a version string to X.Y.Z format.
41
+ *
42
+ * @param version - Version string (e.g., '0', '0.24', '0.24.32')
43
+ * @returns Normalized version (e.g., '0.24.32')
44
+ */
45
+ export function normalizeVersion(version) {
46
+ const fullVersion = LIBSQL_VERSION_MAP[version];
47
+ if (fullVersion) {
48
+ return fullVersion;
49
+ }
50
+ // Unknown version - warn and return as-is
51
+ const parts = version.split('.');
52
+ const isValidFormat = parts.length >= 1 &&
53
+ parts.length <= 3 &&
54
+ parts.every((p) => /^\d+$/.test(p));
55
+ if (!isValidFormat) {
56
+ logDebug(`libSQL version '${version}' has invalid format, may not be available in hostdb`);
57
+ }
58
+ else {
59
+ logDebug(`libSQL version '${version}' not in version map, may not be available in hostdb`);
60
+ }
61
+ return version;
62
+ }
63
+ //# sourceMappingURL=version-maps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/libsql/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,kCAAkC;IAClC,GAAG,EAAE,SAAS;IACd,sCAAsC;IACtC,MAAM,EAAE,SAAS;IACjB,2CAA2C;IAC3C,SAAS,EAAE,SAAS;CACrB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,CAAC,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,OAAO,kBAAkB,CAAC,YAAY,CAAC,IAAI,IAAI,CAAA;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,0CAA0C;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhC,MAAM,aAAa,GACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAErC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,QAAQ,CACN,mBAAmB,OAAO,sDAAsD,CACjF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,mBAAmB,OAAO,sDAAsD,CACjF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * libSQL version validation utilities
3
+ * Handles version parsing, comparison, and compatibility checking
4
+ */
5
+ /**
6
+ * Parse a libSQL version string into components
7
+ * Handles formats like "0.24.32", "0.24", "v0.24.32"
8
+ */
9
+ export function parseVersion(versionString) {
10
+ const cleaned = versionString.replace(/^v/, '').trim();
11
+ if (!cleaned)
12
+ return null;
13
+ const parts = cleaned.split('.');
14
+ const major = parseInt(parts[0], 10);
15
+ const minor = parts[1] ? parseInt(parts[1], 10) : 0;
16
+ const patch = parts[2] ? parseInt(parts[2], 10) : 0;
17
+ if (isNaN(major))
18
+ return null;
19
+ if (parts[1] && isNaN(minor))
20
+ return null;
21
+ if (parts[2] && isNaN(patch))
22
+ return null;
23
+ return { major, minor, patch, raw: cleaned };
24
+ }
25
+ /**
26
+ * Check if a libSQL version is supported by SpinDB
27
+ * Minimum supported version: 0.24.0
28
+ */
29
+ export function isVersionSupported(version) {
30
+ const parsed = parseVersion(version);
31
+ if (!parsed)
32
+ return false;
33
+ // Support 0.24+
34
+ if (parsed.major === 0) {
35
+ return parsed.minor >= 24;
36
+ }
37
+ return parsed.major >= 1;
38
+ }
39
+ /**
40
+ * Get major version from full version string
41
+ * e.g., "0.24.32" -> "0"
42
+ */
43
+ export function getMajorVersion(version) {
44
+ const parsed = parseVersion(version);
45
+ return parsed ? String(parsed.major) : version;
46
+ }
47
+ /**
48
+ * Get major.minor version from full version string
49
+ * e.g., "0.24.32" -> "0.24"
50
+ */
51
+ export function getMajorMinorVersion(version) {
52
+ const parsed = parseVersion(version);
53
+ if (!parsed)
54
+ return version;
55
+ return `${parsed.major}.${parsed.minor}`;
56
+ }
57
+ /**
58
+ * Compare two libSQL versions
59
+ * Returns: -1 if a < b, 0 if a == b, 1 if a > b, null if either version cannot be parsed
60
+ */
61
+ export function compareVersions(a, b) {
62
+ const parsedA = parseVersion(a);
63
+ const parsedB = parseVersion(b);
64
+ if (!parsedA || !parsedB) {
65
+ return null;
66
+ }
67
+ if (parsedA.major !== parsedB.major) {
68
+ return parsedA.major < parsedB.major ? -1 : 1;
69
+ }
70
+ if (parsedA.minor !== parsedB.minor) {
71
+ return parsedA.minor < parsedB.minor ? -1 : 1;
72
+ }
73
+ if (parsedA.patch !== parsedB.patch) {
74
+ return parsedA.patch < parsedB.patch ? -1 : 1;
75
+ }
76
+ return 0;
77
+ }
78
+ /**
79
+ * Check if a backup version is compatible with the restore version
80
+ * libSQL backups are generally compatible within major versions
81
+ */
82
+ export function isVersionCompatible(backupVersion, restoreVersion) {
83
+ const backup = parseVersion(backupVersion);
84
+ const restore = parseVersion(restoreVersion);
85
+ if (!backup || !restore) {
86
+ return {
87
+ compatible: true,
88
+ warning: 'Could not parse versions, proceeding with restore',
89
+ };
90
+ }
91
+ // Cannot restore newer backup to older server
92
+ if (backup.major > restore.major) {
93
+ return {
94
+ compatible: false,
95
+ warning: `Cannot restore libSQL ${backupVersion} backup to ${restoreVersion} server. The backup is from a newer major version.`,
96
+ };
97
+ }
98
+ // Allow same major version
99
+ if (backup.major === restore.major) {
100
+ return { compatible: true };
101
+ }
102
+ // Allow upgrading from older major version (restore.major > backup.major)
103
+ return {
104
+ compatible: true,
105
+ warning: `Restoring libSQL ${backupVersion} backup to ${restoreVersion} server. libSQL will upgrade the data format on next save.`,
106
+ };
107
+ }
108
+ /**
109
+ * Validate that a version string matches supported format
110
+ */
111
+ export function isValidVersionFormat(version) {
112
+ const parsed = parseVersion(version);
113
+ return parsed !== null;
114
+ }
115
+ //# sourceMappingURL=version-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-validator.js","sourceRoot":"","sources":["../../../engines/libsql/version-validator.ts"],"names":[],"mappings":"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"}
@@ -308,71 +308,13 @@ export class QuestDBEngine extends BaseEngine {
308
308
  connectionString: this.getConnectionString(container),
309
309
  };
310
310
  }
311
- // Wait for QuestDB to be ready using psql
312
- async waitForReady(port, version, timeoutMs = 60000) {
311
+ // Wait for QuestDB to be ready using HTTP health check
312
+ // HTTP is preferred over psql because it doesn't require authentication,
313
+ // so it works regardless of configured credentials
314
+ async waitForReady(port, _version, timeoutMs = 60000) {
313
315
  logDebug(`waitForReady called for port ${port}`);
314
- const startTime = Date.now();
315
- const checkInterval = 500;
316
- // Try to find psql for connection checking
317
- let psqlPath = await configManager.getBinaryPath('psql');
318
- if (!psqlPath) {
319
- // Try system psql
320
- try {
321
- const result = await findBinary('psql');
322
- if (result?.path) {
323
- psqlPath = result.path;
324
- }
325
- }
326
- catch {
327
- // Ignore
328
- }
329
- }
330
- // If no psql, try HTTP health check instead
331
- if (!psqlPath) {
332
- logDebug('psql not found, using HTTP health check');
333
- return this.waitForReadyHttp(port + 188, timeoutMs);
334
- }
335
- let attempt = 0;
336
- while (Date.now() - startTime < timeoutMs) {
337
- attempt++;
338
- logDebug(`Connection attempt ${attempt}...`);
339
- try {
340
- await new Promise((resolve, reject) => {
341
- const proc = spawn(psqlPath, [
342
- '-h',
343
- '127.0.0.1',
344
- '-p',
345
- String(port),
346
- '-U',
347
- 'admin',
348
- '-d',
349
- 'qdb',
350
- '-c',
351
- 'SELECT 1;',
352
- ], {
353
- stdio: ['ignore', 'pipe', 'pipe'],
354
- env: { ...process.env, PGPASSWORD: 'quest' },
355
- });
356
- proc.on('close', (code) => {
357
- if (code === 0)
358
- resolve();
359
- else
360
- reject(new Error(`Exit code ${code}`));
361
- });
362
- proc.on('error', reject);
363
- });
364
- logDebug(`QuestDB ready on port ${port}`);
365
- return true;
366
- }
367
- catch (err) {
368
- logDebug(`Attempt ${attempt} failed: ${err}`);
369
- await new Promise((resolve) => setTimeout(resolve, checkInterval));
370
- }
371
- }
372
- logWarning(`QuestDB did not become ready within ${timeoutMs}ms`);
373
- return false;
316
+ return this.waitForReadyHttp(port + 188, timeoutMs);
374
317
  }
375
- // Fallback: wait using HTTP health check
376
318
  async waitForReadyHttp(httpPort, timeoutMs) {
377
319
  const startTime = Date.now();
378
320
  const checkInterval = 500;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../engines/questdb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../engines/questdb/index.ts"],"names":[],"mappings":"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"}
@@ -179,7 +179,7 @@ function patchRedisConfig(existingConfig, options) {
179
179
  config = config.replace(/^logfile .+/m, `logfile ${normalizePathForRedis(options.logFile)}`);
180
180
  config = config.replace(/^pidfile .+/m, `pidfile ${normalizePathForRedis(options.pidFile)}`);
181
181
  if (options.bindAddress !== undefined) {
182
- config = config.replace(/^bind .+/m, `bind ${options.bindAddress}`);
182
+ config = config.replace(/^bind\s+.*$/m, `bind ${options.bindAddress}`);
183
183
  }
184
184
  if (options.daemonize !== undefined) {
185
185
  config = config.replace(/^daemonize (yes|no)/m, `daemonize ${options.daemonize ? 'yes' : 'no'}`);