@wavehouse/chtypes 0.2.2 → 0.3.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/registry.js CHANGED
@@ -20,11 +20,10 @@
20
20
  *
21
21
  * Where a registry IS follows the search path of docs/guides/fetch.md §1 (`paths.ts`):
22
22
  * the explicit directory, `CHTYPES_REGISTRY`, the per-user cache, then the
23
- * reserved system locations. The first directory holding artifacts is scanned
24
- * and loaded at construction; a line it lacks is taken, on request, from the
25
- * first later directory that has it. A line no directory has is the one §7
26
- * error, `ArtifactMissingError` — or, with `autofetch`, a fetch on first
27
- * `open()`.
23
+ * reserved system locations. Construction READS THE MANIFESTS on that path and
24
+ * `dlopen`s nothing; a line is taken, on request, from the first directory that
25
+ * has it. A line no directory has is the one §7 error,
26
+ * `ArtifactMissingError` — or, with `autofetch`, a fetch on first `open()`.
28
27
  */
29
28
  import { createHash } from 'node:crypto';
30
29
  import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
@@ -36,13 +35,20 @@ import { Library, minorOf } from './library.js';
36
35
  import { cacheRegistryDir, ENV_AUTOFETCH, ENV_REGISTRY, fetchDestination, hostPlatform, registrySearchPath, systemRegistryDirs, } from './paths.js';
37
36
  /**
38
37
  * The artifact-directory loader — the multi-version entry point of this
39
- * package. Construction scans one subdirectory per ClickHouse version, dlopens
40
- * each artifact into its own symbol scope (`RTLD_LOCAL`, ~120 MB resident per
41
- * version), verifies its ABI revision against this binding's `ABI_REVISION`
42
- * (a different nonzero revision is refused; 0 means the artifact predates the
43
- * probe and degrades per symbol), and runs each library's one-time
44
- * `chs_init` with the UTC default timezone and the artifact's own
45
- * `unsafe_families.txt`.
38
+ * package.
39
+ *
40
+ * **Construction reads `manifest.json` files and `dlopen`s nothing**, with or
41
+ * without a directory. Nothing in this package opens an artifact except a
42
+ * request for a specific version (`for()` / `open()`) or an explicit
43
+ * `preload` — not `versions()`, not `libraries()`, not `has()`. An open costs
44
+ * about 120 MB resident per version, which a listing call must not spend on a
45
+ * caller's behalf.
46
+ *
47
+ * An open dlopens the artifact into its own symbol scope (`RTLD_LOCAL`),
48
+ * verifies its ABI revision against this binding's `ABI_REVISION` (a different
49
+ * nonzero revision is refused; 0 means the artifact predates the probe and
50
+ * degrades per symbol), and runs that library's one-time `chs_init` with the
51
+ * registry's timezone and the artifact's own `unsafe_families.txt`.
46
52
  *
47
53
  * Libraries are never dlclosed; `close()` joins background threads only.
48
54
  * Loading the same artifact path from two `Registry` instances shares one
@@ -50,9 +56,9 @@ import { cacheRegistryDir, ENV_AUTOFETCH, ENV_REGISTRY, fetchDestination, hostPl
50
56
  */
51
57
  export class Registry {
52
58
  /**
53
- * The primary registry directory: the first on the search path that held
54
- * artifacts, scanned and loaded at construction — or, with `autofetch` and
55
- * nothing installed anywhere, the directory the first fetch will create.
59
+ * The primary registry directory: the first on the search path that holds
60
+ * artifacts — or, with `autofetch` and nothing installed anywhere, the
61
+ * directory the first fetch will create.
56
62
  */
57
63
  dir;
58
64
  /** The §1 search path, in order, every candidate whether or not it exists. */
@@ -62,27 +68,39 @@ export class Registry {
62
68
  byId = new Map();
63
69
  byPath = new Map();
64
70
  loaded = [];
71
+ /**
72
+ * Minor line -> the FIRST directory on the search path that holds it, as the
73
+ * construction-time manifest scan found it. What `versions()` answers from,
74
+ * and what makes "no artifact anywhere" and a bad `preload` entry decidable
75
+ * at construction without a single `dlopen`.
76
+ */
77
+ known = new Map();
65
78
  timezone;
66
79
  verifyChecksums;
67
80
  autofetch;
68
81
  fetchOptions;
69
82
  explicit;
70
83
  /**
71
- * Scan and load a registry.
84
+ * Scan a registry. Reads manifests; opens nothing unless `preload` names a
85
+ * line.
72
86
  *
73
87
  * @param dir - the registry root; the head of the search path. Absent, the
74
88
  * path is `CHTYPES_REGISTRY`, the per-user artifact cache, then the system
75
89
  * locations (see `registrySearchPath` / `defaultRegistryDir`).
76
- * @param options - timezone, checksum verification, autofetch — see `RegistryOptions`.
77
- * @throws {RegistryError} when a directory named explicitly (the argument or
78
- * `CHTYPES_REGISTRY`) does not exist and autofetch is off, when no
79
- * directory on the search path holds an artifact (and autofetch is off),
80
- * the primary directory cannot be read, an artifact fails its checksum,
81
- * fails to load, or reports a ClickHouse version different from its
82
- * manifest's.
90
+ * @param options - timezone, checksum verification, autofetch, preload — see
91
+ * `RegistryOptions`.
92
+ * @throws {RegistryError} for what manifests can decide, and only that: a
93
+ * directory named explicitly (the argument or `CHTYPES_REGISTRY`) that does
94
+ * not exist, and no directory on the search path holding a readable
95
+ * `<minor>/manifest.json` — both suppressed when autofetch is on. A
96
+ * `preload` entry no directory holds is `ArtifactMissingError`. Everything
97
+ * a bad artifact can be wrong about — a failed checksum, a load failure, a
98
+ * library whose ClickHouse version disagrees with its manifest — is
99
+ * reported by the call that opens it, which is `preload`'s open at
100
+ * construction or the first `for()` otherwise.
83
101
  * @throws {ChtypesError} when an artifact reports a different nonzero ABI
84
102
  * revision than this binding speaks, or `chs_init` fails (e.g. an unknown
85
- * timezone — the message names it).
103
+ * timezone — the message names it); again, from the call that opens it.
86
104
  */
87
105
  constructor(dir, options = {}) {
88
106
  this.platform = hostPlatform();
@@ -102,6 +120,41 @@ export class Registry {
102
120
  throw new RegistryError(`chtypes: cannot read registry ${d}: not a directory`);
103
121
  }
104
122
  }
123
+ // The scan: every directory on the path, in order, first one holding a line
124
+ // wins. Manifests only — this is the cheap half of what construction used
125
+ // to do, and it is all that is left of it.
126
+ for (const root of this.searchPath) {
127
+ if (!isDirectory(root))
128
+ continue;
129
+ let entries;
130
+ try {
131
+ entries = readdirSync(root);
132
+ }
133
+ catch {
134
+ continue; // unreadable: not a registry, and not this call's business
135
+ }
136
+ for (const entry of entries.sort()) {
137
+ // A dot-directory is never a version: fetch stages its downloads and
138
+ // unpacks in hidden siblings, and a .DS_Store is not a version either.
139
+ if (entry.startsWith('.'))
140
+ continue;
141
+ const sub = path.join(root, entry);
142
+ if (!isDirectory(sub))
143
+ continue;
144
+ // A registry may legitimately hold scratch directories: a missing or
145
+ // unparseable manifest is skipped in silence.
146
+ const manifest = readManifest(sub);
147
+ if (manifest === null)
148
+ continue;
149
+ // The manifest's own claim; the directory name is only the last
150
+ // resort, exactly as it is when the library is finally loaded and
151
+ // names itself.
152
+ const claimed = manifest.clickhouse_minor ?? minorOf(manifest.clickhouse_version ?? '');
153
+ const line = claimed !== '' ? claimed : entry;
154
+ if (!this.known.has(line))
155
+ this.known.set(line, sub);
156
+ }
157
+ }
105
158
  const primary = this.searchPath.find((d) => looksLikeRegistry(d));
106
159
  if (primary === undefined) {
107
160
  if (!this.autofetch) {
@@ -110,33 +163,26 @@ export class Registry {
110
163
  'or set CHTYPES_AUTOFETCH=1 to fetch on first use.');
111
164
  }
112
165
  this.dir = fetchDestination(this.explicit, this.platform);
113
- return;
114
166
  }
115
- this.dir = primary;
116
- let entries;
117
- try {
118
- entries = readdirSync(this.dir);
167
+ else {
168
+ this.dir = primary;
119
169
  }
120
- catch (err) {
121
- throw new RegistryError(`chtypes: cannot read registry ${this.dir}: ${String(err)}`, { cause: err });
170
+ // The one eager path, and the only thing here that opens anything.
171
+ for (const version of options.preload ?? []) {
172
+ this.preloadLine(version);
122
173
  }
123
- for (const entry of entries.sort()) {
124
- // A dot-directory is never a version: fetch stages its downloads and
125
- // unpacks in hidden siblings, and a .DS_Store is not a version either.
126
- if (entry.startsWith('.'))
127
- continue;
128
- const sub = path.join(this.dir, entry);
129
- if (!isDirectory(sub))
130
- continue;
131
- // A registry may legitimately hold scratch directories: a missing or
132
- // unparseable manifest is skipped in silence.
133
- const manifest = readManifest(sub);
134
- if (manifest === null)
135
- continue;
136
- this.load(sub, manifest);
174
+ }
175
+ /**
176
+ * Open one `preload` entry, before the constructor returns, without
177
+ * fetching. Resolution is `for()`'s, and so is the failure: a line no
178
+ * directory holds is the same `ArtifactMissingError`, raised earlier.
179
+ */
180
+ preloadLine(version) {
181
+ if (version === '') {
182
+ throw new RegistryError("chtypes: preload: an empty version does not mean 'pick one'");
137
183
  }
138
- if (this.loaded.length === 0) {
139
- throw new RegistryError(`chtypes: no version artifacts under ${this.dir}`);
184
+ if (this.resolve(version) === undefined) {
185
+ throw new ArtifactMissingError(minorOf(version), this.platform, this.searchPath);
140
186
  }
141
187
  }
142
188
  /** dlopen one artifact directory, cross-check it, `chs_init` it, index it. */
@@ -145,6 +191,11 @@ export class Registry {
145
191
  if (already !== undefined)
146
192
  return already;
147
193
  const libPath = path.join(sub, manifest.library);
194
+ // Unconditional, unlike the hash below: nearly free (one stat, never a
195
+ // re-hash of the library's contents), and it catches the commonest shape
196
+ // of a broken artifact directory — a truncated or partially-written
197
+ // library file (issue #82).
198
+ checkLibraryBytes(libPath, manifest);
148
199
  if (this.verifyChecksums)
149
200
  verifyChecksum(libPath, manifest);
150
201
  // A directory that has a manifest and does not load is broken, not absent.
@@ -193,11 +244,63 @@ export class Registry {
193
244
  lookup(version) {
194
245
  return this.byId.get(version) ?? this.byId.get(minorOf(version));
195
246
  }
196
- /** The ClickHouse minor lines this registry has loaded, oldest first. */
247
+ /**
248
+ * Resolve without fetching: what is already open, then the line's directory
249
+ * as the construction-time scan recorded it, then a fresh walk of the search
250
+ * path for a line installed since. `undefined` means no directory holds it,
251
+ * which is a fetch's cue on `open()` and the §7 error everywhere else —
252
+ * `preload` never fetches, and this is the one function that makes the
253
+ * preload path and the first-use path identical in everything else.
254
+ */
255
+ resolve(version) {
256
+ const hit = this.lookup(version);
257
+ if (hit !== undefined)
258
+ return hit;
259
+ const minor = minorOf(version);
260
+ // The scan already resolved every line it could see to the FIRST directory
261
+ // holding it, and it knows which line a manifest claims even when the
262
+ // directory is not named after it — which the <dir>/<minor> walk below
263
+ // cannot see.
264
+ const scanned = this.known.get(minor);
265
+ if (scanned !== undefined) {
266
+ const manifest = readManifest(scanned);
267
+ if (manifest !== null) {
268
+ this.load(scanned, manifest);
269
+ const found = this.lookup(version);
270
+ if (found !== undefined)
271
+ return found;
272
+ }
273
+ }
274
+ for (const dir of this.searchPath) {
275
+ if (this.loadLine(dir, minor) !== null) {
276
+ const found = this.lookup(version);
277
+ if (found !== undefined)
278
+ return found;
279
+ }
280
+ }
281
+ return undefined;
282
+ }
283
+ /**
284
+ * Every ClickHouse minor line this registry CAN ANSWER FOR, oldest first —
285
+ * the ones it has opened plus the ones its construction-time manifest scan
286
+ * discovered on the search path.
287
+ *
288
+ * That is one meaning in all four bindings, and it is the meaning that
289
+ * survives lazy loading: "the lines that happen to be open" would read as an
290
+ * empty registry until the first `for()`. It opens nothing.
291
+ */
197
292
  versions() {
198
- return [...new Set(this.loaded.map((l) => l.minor))].sort(compareMinor);
293
+ const lines = new Set(this.loaded.map((l) => l.minor));
294
+ for (const line of this.known.keys())
295
+ lines.add(line);
296
+ return [...lines].sort(compareMinor);
199
297
  }
200
- /** Every loaded library, in release order (oldest minor line first). */
298
+ /**
299
+ * The libraries this registry has OPENED, in release order (oldest minor
300
+ * line first) — what is open right now, never what could be. A discovered
301
+ * line that no `for()` and no `preload` has opened appears in `versions()`
302
+ * and not here. It opens nothing.
303
+ */
201
304
  libraries() {
202
305
  return this.loaded;
203
306
  }
@@ -206,10 +309,11 @@ export class Registry {
206
309
  * ("25.8.28.1-lts") both work, and an unknown patch inside a loaded minor line
207
310
  * resolves to that line — asking for "25.8.30.16" finds the loaded 25.8.
208
311
  *
209
- * A line the primary directory lacks is loaded from the first later
210
- * directory on the search path that holds it (docs/guides/fetch.md §1), and joins
211
- * `versions()` / `libraries()` from then on. Never a fetch: this call is
212
- * synchronous; `open()` is the one that may fetch.
312
+ * **This is what opens an artifact.** Construction does not: the line is
313
+ * taken from the first directory on the search path that holds it
314
+ * (docs/guides/fetch.md §1), `dlopen`ed once, and joins `libraries()` from
315
+ * then on. Never a fetch: this call is synchronous; `open()` is the one that
316
+ * may fetch.
213
317
  *
214
318
  * Failure is the one §7 error, never a fallback to the nearest version:
215
319
  * answering 26.7 semantics from a 25.8 artifact is a lie, and silent
@@ -224,18 +328,10 @@ export class Registry {
224
328
  * @throws {RegistryError} when a directory holds the line but it does not load.
225
329
  */
226
330
  for(version) {
227
- const hit = this.lookup(version);
331
+ const hit = this.resolve(version);
228
332
  if (hit !== undefined)
229
333
  return hit;
230
- const minor = minorOf(version);
231
- for (const dir of this.searchPath) {
232
- if (this.loadLine(dir, minor) !== null) {
233
- const found = this.lookup(version);
234
- if (found !== undefined)
235
- return found;
236
- }
237
- }
238
- throw new ArtifactMissingError(minor, this.platform, this.searchPath);
334
+ throw new ArtifactMissingError(minorOf(version), this.platform, this.searchPath);
239
335
  }
240
336
  /**
241
337
  * `for()`, with the lazy fetch of docs/guides/fetch.md §6 in front of it: a line no
@@ -392,15 +488,27 @@ function readUnsafeFamilies(dir, manifest) {
392
488
  return (manifest.unsafe_families ?? '').trim();
393
489
  }
394
490
  }
491
+ /**
492
+ * Compare `libPath`'s on-disk size to `manifest.library_bytes` — the load-path
493
+ * check `load()` runs on EVERY open, whether or not `verifyChecksums` is on
494
+ * (issue #82). A manifest with no `library_bytes` (`undefined`, the shape a
495
+ * manifest predating the field parses to) is not asked, so this is a no-op
496
+ * for one.
497
+ */
498
+ function checkLibraryBytes(libPath, manifest) {
499
+ if (manifest.library_bytes === undefined)
500
+ return;
501
+ const actual = statSync(libPath).size;
502
+ if (actual !== manifest.library_bytes) {
503
+ throw new RegistryError(`chtypes: ${libPath} is ${actual} bytes, manifest says ${manifest.library_bytes}`);
504
+ }
505
+ }
395
506
  function verifyChecksum(libPath, manifest) {
396
507
  const expected = manifest.library_sha256;
397
508
  if (expected === undefined || expected === '') {
398
509
  throw new RegistryError(`chtypes: ${libPath} cannot be verified: its manifest carries no library_sha256`);
399
510
  }
400
511
  const bytes = readFileSync(libPath);
401
- if (manifest.library_bytes !== undefined && bytes.byteLength !== manifest.library_bytes) {
402
- throw new RegistryError(`chtypes: ${libPath} is ${bytes.byteLength} bytes, manifest says ${manifest.library_bytes}`);
403
- }
404
512
  const actual = createHash('sha256').update(bytes).digest('hex');
405
513
  // Case-insensitive: a hex digest is the same digest in either case, and Go
406
514
  // and Rust already lower-case before comparing. Comparing raw here made an
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
package/dist/results.d.ts CHANGED
@@ -72,10 +72,58 @@ export interface Value {
72
72
  /**
73
73
  * Where the value came from: `input` | `default` | `default_substituted` |
74
74
  * `absent` | `skipped` | `default_volatile_unresolved` | `default_pending` |
75
- * `default_expr_unsupported` (the C ABI contract §`src` values).
75
+ * `default_expr_unsupported` | `ephemeral_input` | `materialized_input`
76
+ * (revision 5 — see {@link Source}) (the C ABI contract §`src` values).
77
+ * `ephemeral_input` is excluded from `RowResult.values`/`values`, like
78
+ * `skipped`; never seen here. `materialized_input` stays in `values`.
76
79
  */
77
80
  readonly source: string;
78
81
  }
82
+ /**
83
+ * The two revision-5 `source` provenances `columns_json` introduces (issue
84
+ * #53), plus the pre-existing `Skipped` provenance named alongside them
85
+ * (issue #90). A plain const object, not a closed union: `source` is a
86
+ * growing vocabulary arriving from the C layer, and an unrecognized spelling
87
+ * from a newer artifact must pass through unchanged, not be rejected.
88
+ */
89
+ export declare const Source: {
90
+ /**
91
+ * MATERIALIZED / ALIAS / EPHEMERAL, never read from an input row.
92
+ * Predates revision 5 — unlike the two provenances below — but
93
+ * `rowResultOf` has excluded it from `values` from the start, the same
94
+ * exclusion `EphemeralInput` was modeled on. Named here, in the same
95
+ * idiom, so the exclusion can be keyed on a symbol rather than a bare
96
+ * string literal.
97
+ */
98
+ readonly Skipped: 'skipped';
99
+ /**
100
+ * A listed EPHEMERAL column's read value. The server reads it — it is in
101
+ * scope for the DEFAULT expressions that reference it — and it is never
102
+ * stored and never exported. `rowResultOf` excludes it from `values`
103
+ * exactly as it already excludes `Source.Skipped`: a value that is never
104
+ * stored must not sit where a caller reads the stored row (a hash, a
105
+ * signature).
106
+ */
107
+ readonly EphemeralInput: 'ephemeral_input';
108
+ /**
109
+ * A listed MATERIALIZED column's supplied value under
110
+ * `insert_allow_materialized_columns=1`. The supplied value REPLACES the
111
+ * column's expression and IS stored — unlike `EphemeralInput`, it stays
112
+ * IN `values`.
113
+ */
114
+ readonly MaterializedInput: 'materialized_input';
115
+ /**
116
+ * A VOLATILE DEFAULT (`now()`/`now64(n)`/`today()`/`yesterday()`, or an
117
+ * expression over one) this library resolved locally rather than
118
+ * ClickHouse — the caller MUST send it as an explicit column on any later
119
+ * INSERT, or the value silently drifts each attempt. `rowResultOf` has
120
+ * always populated `substituted` for exactly this src value; like
121
+ * `Skipped` before issue #90, it had no named constant of its own (issue
122
+ * #122).
123
+ */
124
+ readonly DefaultSubstituted: 'default_substituted';
125
+ };
126
+ export type Source = (typeof Source)[keyof typeof Source];
79
127
  /** A silent change: input 256 into UInt8 stored as 0. */
80
128
  export interface Transform {
81
129
  readonly column: string;
@@ -146,6 +194,25 @@ export interface RowResult {
146
194
  readonly substituted: Substitution[];
147
195
  /** MATERIALIZED values — durable, but not part of `SELECT *`. */
148
196
  readonly computed: Computed[];
197
+ /**
198
+ * `Schema#rows(..., { rowFilter })` only: this row's filter verdict,
199
+ * beside `outcome` above — the two are independent facts, and neither
200
+ * replaces the other (docs/guides/filters.md "Exporting only the rows a
201
+ * filter admits"). `undefined` when no filter was attached to the call
202
+ * that produced this row (every plain `row()`/`rows()` call, and `rows()`
203
+ * with no `rowFilter`). A security-enforcing caller MUST fail closed —
204
+ * hide the row / fail the request — on a verdict that is `undefined` or
205
+ * not `isAnswer()`.
206
+ */
207
+ readonly verdict: Verdict | undefined;
208
+ /**
209
+ * Set beside `'e'` (the predicate threw, ClickHouse's own code/message),
210
+ * beside an eval-time `'d'` (the admission envelope), and for a row whose
211
+ * own `outcome` is not `'accepted'` (its own parse error, reported as
212
+ * `'d'`). 0/`''` otherwise.
213
+ */
214
+ readonly verdictCode: number;
215
+ readonly verdictErr: string;
149
216
  }
150
217
  /**
151
218
  * The verdict on a whole request body, which may hold many rows. Returned by
@@ -222,6 +289,16 @@ export interface BatchResult {
222
289
  * server verdict.
223
290
  */
224
291
  readonly exportDeclined: string | undefined;
292
+ /**
293
+ * `rows(..., { rowFilter })` only: accepted rows whose verdict is `'t'`,
294
+ * and accepted rows with any other verdict, respectively. `rowsPassed +
295
+ * rowsCut` equals the accepted-row count. Both `0` when no filter was
296
+ * attached — indistinguishable from "filter attached, nothing passed and
297
+ * nothing accepted", so key presence on whether `rowFilter` was passed,
298
+ * never on these being nonzero.
299
+ */
300
+ readonly rowsPassed: number;
301
+ readonly rowsCut: number;
225
302
  }
226
303
  /** One row's byte range inside an export `payload` — see `BatchResult#spans`. */
227
304
  export interface Span {
@@ -259,6 +336,7 @@ export interface ColumnDoc {
259
336
  /** True when `stored` is a genuine JSON null. */
260
337
  readonly storedIsNull: boolean;
261
338
  }
339
+ export declare function columnDocOf(raw: Json): ColumnDoc;
262
340
  /** Turn one row document into a `RowResult`. */
263
341
  export declare function rowResultOf(doc: Json): RowResult;
264
342
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"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"}