spindb 0.69.4 → 0.69.5
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/config/version.js +1 -1
- package/dist/engines/postgresql/remote-version.js +32 -22
- package/dist/engines/postgresql/remote-version.js.map +1 -1
- package/dist/engines/postgresql/version-token.js +31 -0
- package/dist/engines/postgresql/version-token.js.map +1 -0
- package/dist/engines/postgresql/version-validator.js +23 -26
- package/dist/engines/postgresql/version-validator.js.map +1 -1
- package/package.json +1 -1
package/dist/config/version.js
CHANGED
|
@@ -8,6 +8,7 @@ import { exec } from 'child_process';
|
|
|
8
8
|
import { promisify } from 'util';
|
|
9
9
|
import { configManager } from '../../core/config-manager.js';
|
|
10
10
|
import { logDebug } from '../../core/error-handler.js';
|
|
11
|
+
import { parsePostgresVersionToken } from './version-token.js';
|
|
11
12
|
const execAsync = promisify(exec);
|
|
12
13
|
/**
|
|
13
14
|
* Detect the PostgreSQL version of a remote database
|
|
@@ -27,28 +28,9 @@ export async function detectRemotePostgresVersion(connectionString) {
|
|
|
27
28
|
const cmd = `"${psqlPath}" "${connectionString}" -t -A -F "|||" -c "${sql}"`;
|
|
28
29
|
try {
|
|
29
30
|
const { stdout } = await execAsync(cmd, { timeout: 30000 });
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
const [versionString, serverVersion] = parts;
|
|
35
|
-
// Parse version from server_version (e.g., "16.1", "17.0")
|
|
36
|
-
const match = serverVersion.match(/(\d+)\.(\d+)(?:\.(\d+))?/);
|
|
37
|
-
if (!match) {
|
|
38
|
-
throw new Error(`Could not parse server version: ${serverVersion}`);
|
|
39
|
-
}
|
|
40
|
-
const majorVersion = parseInt(match[1], 10);
|
|
41
|
-
const minorVersion = parseInt(match[2], 10);
|
|
42
|
-
const fullVersion = match[0];
|
|
43
|
-
// Detect server type from version() output
|
|
44
|
-
const serverType = detectServerType(versionString);
|
|
45
|
-
logDebug('Remote PostgreSQL version detected', {
|
|
46
|
-
majorVersion,
|
|
47
|
-
minorVersion,
|
|
48
|
-
fullVersion,
|
|
49
|
-
serverType,
|
|
50
|
-
});
|
|
51
|
-
return { majorVersion, minorVersion, fullVersion, serverType };
|
|
31
|
+
const result = parseRemoteVersionOutput(stdout);
|
|
32
|
+
logDebug('Remote PostgreSQL version detected', result);
|
|
33
|
+
return result;
|
|
52
34
|
}
|
|
53
35
|
catch (error) {
|
|
54
36
|
const e = error;
|
|
@@ -76,6 +58,34 @@ export async function detectRemotePostgresVersion(connectionString) {
|
|
|
76
58
|
throw new Error(`Failed to detect remote PostgreSQL version: ${e.message}`);
|
|
77
59
|
}
|
|
78
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Parse the raw psql output of
|
|
63
|
+
* `SELECT version(), current_setting('server_version')` (tuples-only,
|
|
64
|
+
* unaligned, `|||` as the field separator) into the remote version result.
|
|
65
|
+
* Pure, so the prerelease path (`19beta3`, which has no minor) is testable
|
|
66
|
+
* without a server. Throws on output that is not two fields or whose
|
|
67
|
+
* server_version carries no recognizable version.
|
|
68
|
+
*/
|
|
69
|
+
export function parseRemoteVersionOutput(stdout) {
|
|
70
|
+
const parts = stdout.trim().split('|||');
|
|
71
|
+
if (parts.length < 2) {
|
|
72
|
+
throw new Error(`Unexpected version output format: ${stdout}`);
|
|
73
|
+
}
|
|
74
|
+
const [versionString, serverVersion] = parts;
|
|
75
|
+
// Parse version from server_version (e.g., "16.1", "17.0", or a
|
|
76
|
+
// prerelease such as "19beta3", which has no minor).
|
|
77
|
+
const parsed = parsePostgresVersionToken(serverVersion);
|
|
78
|
+
if (!parsed) {
|
|
79
|
+
throw new Error(`Could not parse server version: ${serverVersion}`);
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
majorVersion: parsed.major,
|
|
83
|
+
minorVersion: parsed.minor,
|
|
84
|
+
fullVersion: parsed.full,
|
|
85
|
+
// Detect server type from version() output
|
|
86
|
+
serverType: detectServerType(versionString),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
79
89
|
// Detect the type of PostgreSQL server from version() output
|
|
80
90
|
function detectServerType(versionString) {
|
|
81
91
|
const lower = versionString.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-version.js","sourceRoot":"","sources":["../../../engines/postgresql/remote-version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;AASjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,gBAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,2DAA2D;YACzD,kEAAkE,CACrE,CAAA;IACH,CAAC;IAED,yCAAyC;IACzC,0DAA0D;IAC1D,MAAM,GAAG,GAAG,qDAAqD,CAAA;IACjE,MAAM,GAAG,GAAG,IAAI,QAAQ,MAAM,gBAAgB,wBAAwB,GAAG,GAAG,CAAA;IAE5E,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3D,MAAM,
|
|
1
|
+
{"version":3,"file":"remote-version.js","sourceRoot":"","sources":["../../../engines/postgresql/remote-version.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The PostgreSQL version token shared by the tool-version, dump-header, and
|
|
3
|
+
* remote server-version parsers. Kept in its own module so version-validator
|
|
4
|
+
* and remote-version can both use it without importing each other.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* A PostgreSQL version as it appears in `--version` output, `server_version`,
|
|
8
|
+
* and dump headers: `16.1`, `17.0`, `14.9.1`, or a prerelease like `19beta3`
|
|
9
|
+
* / `19rc1`, which carries NO minor. A bare major with neither a dot nor a
|
|
10
|
+
* prerelease tag is deliberately not matched, so a stray number elsewhere in
|
|
11
|
+
* the line (a distro build string, a date) cannot pass for the version.
|
|
12
|
+
*/
|
|
13
|
+
export const POSTGRES_VERSION_PATTERN = /(\d+)(?:\.(\d+)(?:\.(\d+))?|((?:alpha|beta|rc)\d+))/;
|
|
14
|
+
/**
|
|
15
|
+
* Parse the first PostgreSQL version token in `text`, or null if there is none.
|
|
16
|
+
* A prerelease reports minor 0 and patch 0 with the tag in `prerelease`.
|
|
17
|
+
*/
|
|
18
|
+
export function parsePostgresVersionToken(text) {
|
|
19
|
+
const match = text.match(POSTGRES_VERSION_PATTERN);
|
|
20
|
+
if (!match)
|
|
21
|
+
return null;
|
|
22
|
+
const [full, major, minor, patch, prerelease] = match;
|
|
23
|
+
return {
|
|
24
|
+
major: parseInt(major, 10),
|
|
25
|
+
minor: parseInt(minor || '0', 10),
|
|
26
|
+
patch: parseInt(patch || '0', 10),
|
|
27
|
+
full,
|
|
28
|
+
...(prerelease ? { prerelease } : {}),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=version-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-token.js","sourceRoot":"","sources":["../../../engines/postgresql/version-token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GACnC,qDAAqD,CAAA;AAEvD;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,KAAK,CAAA;IACrD,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QAC1B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC;QACjC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC;QACjC,IAAI;QACJ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAA;AACH,CAAC"}
|
|
@@ -11,8 +11,13 @@ import { createInterface } from 'readline';
|
|
|
11
11
|
import { SpinDBError, ErrorCodes, logWarning, logDebug, } from '../../core/error-handler.js';
|
|
12
12
|
import { getBundledBinaryPath, findCompatibleVersion, } from '../../core/pg-binary-resolver.js';
|
|
13
13
|
import { detectRemotePostgresVersion, } from './remote-version.js';
|
|
14
|
+
import { parsePostgresVersionToken } from './version-token.js';
|
|
14
15
|
const execAsync = promisify(exec);
|
|
15
16
|
// =============================================================================
|
|
17
|
+
// Types
|
|
18
|
+
// =============================================================================
|
|
19
|
+
export { POSTGRES_VERSION_PATTERN, parsePostgresVersionToken, } from './version-token.js';
|
|
20
|
+
// =============================================================================
|
|
16
21
|
// Version Parsing
|
|
17
22
|
// =============================================================================
|
|
18
23
|
/**
|
|
@@ -23,16 +28,20 @@ const execAsync = promisify(exec);
|
|
|
23
28
|
* "pg_dump (PostgreSQL) 17.0"
|
|
24
29
|
*/
|
|
25
30
|
export function parseToolVersion(output) {
|
|
26
|
-
const
|
|
27
|
-
if (!
|
|
31
|
+
const version = parsePostgresVersionToken(output);
|
|
32
|
+
if (!version) {
|
|
28
33
|
throw new Error(`Cannot parse version from: ${output}`);
|
|
29
34
|
}
|
|
30
|
-
return
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
return version;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Parse the version a dump header records, from either the plain-SQL comment
|
|
39
|
+
* or the `pg_restore -l` TOC line: "Dumped from database version 16.1" (a
|
|
40
|
+
* prerelease server writes "19beta3" there too).
|
|
41
|
+
*/
|
|
42
|
+
export function parseDumpHeaderVersion(header) {
|
|
43
|
+
const line = header.match(/Dumped from database version\s+(\S+)/);
|
|
44
|
+
return line ? parsePostgresVersionToken(line[1]) : null;
|
|
36
45
|
}
|
|
37
46
|
async function readFirstLines(filePath, lineCount) {
|
|
38
47
|
return new Promise((resolve, reject) => {
|
|
@@ -66,28 +75,16 @@ export async function parseDumpVersion(dumpPath, format, pgRestorePath) {
|
|
|
66
75
|
const restorePath = pgRestorePath || 'pg_restore';
|
|
67
76
|
const { stdout } = await execAsync(`"${restorePath}" -l "${dumpPath}" 2>&1 | head -20`);
|
|
68
77
|
// Look for: "; Dumped from database version 16.1"
|
|
69
|
-
const
|
|
70
|
-
if (
|
|
71
|
-
return
|
|
72
|
-
major: parseInt(match[1], 10),
|
|
73
|
-
minor: parseInt(match[2], 10),
|
|
74
|
-
patch: parseInt(match[3] || '0', 10),
|
|
75
|
-
full: `${match[1]}.${match[2]}${match[3] ? `.${match[3]}` : ''}`,
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
+
const version = parseDumpHeaderVersion(stdout);
|
|
79
|
+
if (version)
|
|
80
|
+
return version;
|
|
78
81
|
}
|
|
79
82
|
else {
|
|
80
83
|
// Plain SQL format - read first 50 lines
|
|
81
84
|
const header = await readFirstLines(dumpPath, 50);
|
|
82
|
-
const
|
|
83
|
-
if (
|
|
84
|
-
return
|
|
85
|
-
major: parseInt(match[1], 10),
|
|
86
|
-
minor: parseInt(match[2], 10),
|
|
87
|
-
patch: parseInt(match[3] || '0', 10),
|
|
88
|
-
full: `${match[1]}.${match[2]}${match[3] ? `.${match[3]}` : ''}`,
|
|
89
|
-
};
|
|
90
|
-
}
|
|
85
|
+
const version = parseDumpHeaderVersion(header);
|
|
86
|
+
if (version)
|
|
87
|
+
return version;
|
|
91
88
|
}
|
|
92
89
|
}
|
|
93
90
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-validator.js","sourceRoot":"","sources":["../../../engines/postgresql/version-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,GACT,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,2BAA2B,GAE5B,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"version-validator.js","sourceRoot":"","sources":["../../../engines/postgresql/version-validator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spindb",
|
|
3
|
-
"version": "0.69.
|
|
3
|
+
"version": "0.69.5",
|
|
4
4
|
"author": "Bob Bass <bob@bbass.co>",
|
|
5
5
|
"license": "PolyForm-Noncommercial-1.0.0",
|
|
6
6
|
"description": "Zero-config Docker-free local database containers. Create, backup, and clone a variety of popular databases.",
|