@wavehouse/chtypes 0.3.1 → 0.4.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/CHANGELOG.md +33 -0
- package/README.md +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -2
- package/dist/cli.js.map +1 -1
- package/dist/error-codes.d.ts +80 -0
- package/dist/error-codes.d.ts.map +1 -0
- package/dist/error-codes.js +139 -0
- package/dist/error-codes.js.map +1 -0
- package/dist/errors.d.ts +5 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +5 -1
- package/dist/errors.js.map +1 -1
- package/dist/fetch.d.ts +68 -5
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +149 -19
- package/dist/fetch.js.map +1 -1
- package/dist/ffi.d.ts +18 -0
- package/dist/ffi.d.ts.map +1 -1
- package/dist/ffi.js +53 -0
- package/dist/ffi.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/library.d.ts +27 -0
- package/dist/library.d.ts.map +1 -1
- package/dist/library.js +29 -0
- package/dist/library.js.map +1 -1
- package/dist/paths.d.ts +7 -3
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +9 -4
- package/dist/paths.js.map +1 -1
- package/dist/registry.d.ts +5 -5
- package/dist/registry.js +5 -5
- package/dist/results.d.ts +16 -0
- package/dist/results.d.ts.map +1 -1
- package/dist/results.js +10 -0
- package/dist/results.js.map +1 -1
- package/dist/schema.d.ts +29 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +31 -1
- package/dist/schema.js.map +1 -1
- package/package.json +1 -1
package/dist/fetch.js
CHANGED
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
*
|
|
10
10
|
* 0. `SHA256SUMS.sig` — ed25519 over the exact bytes of `SHA256SUMS`, with a
|
|
11
11
|
* trusted key. Failure stops everything; nothing is downloaded around it.
|
|
12
|
-
* 1. `index.json` names the asset for the line/platform and its sha256
|
|
12
|
+
* 1. `index.json` names the asset for the line/platform and its sha256 — only
|
|
13
|
+
* ever a row at this binding's own `ABI_REVISION` (docs/guides/fetch.md §2).
|
|
13
14
|
* 2. `SHA256SUMS` — now known-authentic — must list the same file with the
|
|
14
15
|
* same sha256; a disagreement is a broken release, reported, not repaired.
|
|
15
16
|
* 3. The tarball is hashed BEFORE it is unpacked.
|
|
@@ -33,7 +34,7 @@ import { Readable, Transform } from 'node:stream';
|
|
|
33
34
|
import { pipeline } from 'node:stream/promises';
|
|
34
35
|
import { setTimeout as sleep } from 'node:timers/promises';
|
|
35
36
|
import { fileURLToPath } from 'node:url';
|
|
36
|
-
import { ArtifactCorruptError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, ChtypesError, SourceUnreachableError, } from './errors.js';
|
|
37
|
+
import { ABI_REVISION, ArtifactCorruptError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, ChtypesError, SourceUnreachableError, } from './errors.js';
|
|
37
38
|
import { fetchDestination, hostPlatform, isPlatformKey } from './paths.js';
|
|
38
39
|
import { extractTarGz } from './tar.js';
|
|
39
40
|
// ------------------------------------------------------------- constants
|
|
@@ -451,8 +452,106 @@ function indexArtifact(row, i) {
|
|
|
451
452
|
library_sha256: str('library_sha256').toLowerCase(),
|
|
452
453
|
build: buildOf(r['build'], file),
|
|
453
454
|
core_commit: typeof r['core_commit'] === 'string' ? r['core_commit'] : '',
|
|
455
|
+
...revisionOf(r['abi_revision']),
|
|
454
456
|
};
|
|
455
457
|
}
|
|
458
|
+
/**
|
|
459
|
+
* A row's `abi_revision` when it is an integer; otherwise the row is read as
|
|
460
|
+
* declaring none — the field is left out, and never matches — rather than
|
|
461
|
+
* failing the whole listing.
|
|
462
|
+
*/
|
|
463
|
+
function revisionOf(field) {
|
|
464
|
+
return typeof field === 'number' && Number.isSafeInteger(field) ? { abi_revision: field } : {};
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* TEST-ONLY. When `override` is set, the ABI revision fetch selects release rows
|
|
468
|
+
* at, in place of `ABI_REVISION` (docs/guides/fetch.md §2). The fetch-fixture
|
|
469
|
+
* suite sets it to the revision its fixture release carries — derived from that
|
|
470
|
+
* release's own `index.json` — so a binding whose own revision has moved ahead
|
|
471
|
+
* of the fixtures still exercises the whole chain. It changes WHICH rows are
|
|
472
|
+
* eligible and nothing else: the default registry directory stays
|
|
473
|
+
* `abi<ABI_REVISION>/`, and the loader still refuses an artifact of another
|
|
474
|
+
* revision.
|
|
475
|
+
*
|
|
476
|
+
* A mutable object for the same reason as {@link RELEASE_RETRY}: an imported
|
|
477
|
+
* binding is read-only. Not re-exported from `index.ts` — internal to this
|
|
478
|
+
* module and its test suite, never part of the public contract.
|
|
479
|
+
*/
|
|
480
|
+
export const FETCH_ABI_REVISION = { override: null };
|
|
481
|
+
/** The one ABI revision whose rows fetch may install: this binding's own. */
|
|
482
|
+
function fetchAbiRevision() {
|
|
483
|
+
return FETCH_ABI_REVISION.override ?? ABI_REVISION;
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* What the release DOES have for `noun`, for an unpublished message: the ABI
|
|
487
|
+
* revision(s) its rows carry, or that it has none at any revision.
|
|
488
|
+
*/
|
|
489
|
+
/**
|
|
490
|
+
* Rows that carry no `abi_revision`, named with the reason: the artifact
|
|
491
|
+
* producer records the field from the revision that introduced it onward. Every
|
|
492
|
+
* unpublished message, `ensureAll` warning and `list` note says this in these
|
|
493
|
+
* words rather than that the release serves "none".
|
|
494
|
+
*/
|
|
495
|
+
const BUILT_BEFORE = '(built before revisions were recorded)';
|
|
496
|
+
const NO_RECORDED_REVISION = `rows that record no ABI revision ${BUILT_BEFORE}`;
|
|
497
|
+
function served(rows, noun) {
|
|
498
|
+
if (rows.length === 0)
|
|
499
|
+
return `the release does not have ${noun} at any ABI revision`;
|
|
500
|
+
const revs = declaredRevisions(rows);
|
|
501
|
+
if (revs.length === 0)
|
|
502
|
+
return `the release has ${noun} only in ${NO_RECORDED_REVISION}`;
|
|
503
|
+
let said = revs.length === 1 ? `ABI revision ${revs[0]}` : `ABI revisions ${revs.join(', ')}`;
|
|
504
|
+
if (rows.some((a) => a.abi_revision === undefined))
|
|
505
|
+
said += ` and in ${NO_RECORDED_REVISION}`;
|
|
506
|
+
return `the release has ${noun} only at ${said}`;
|
|
507
|
+
}
|
|
508
|
+
/** The distinct revisions rows declare, ascending. */
|
|
509
|
+
function declaredRevisions(rows) {
|
|
510
|
+
return [...new Set(rows.flatMap((a) => (a.abi_revision === undefined ? [] : [a.abi_revision])))].sort((a, b) => a - b);
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* One message per line the release has for `platform` only at another ABI
|
|
514
|
+
* revision, or only in rows that record none — the lines `ensureAll` installs
|
|
515
|
+
* nothing for — oldest line first. Exported for the test suite only; not
|
|
516
|
+
* re-exported from `index.ts`.
|
|
517
|
+
*/
|
|
518
|
+
export function skippedLines(index, platform) {
|
|
519
|
+
const [os, arch] = platform.split('-');
|
|
520
|
+
const rev = fetchAbiRevision();
|
|
521
|
+
const byLine = new Map();
|
|
522
|
+
for (const a of index.artifacts) {
|
|
523
|
+
if (a.os !== os || a.arch !== arch)
|
|
524
|
+
continue;
|
|
525
|
+
byLine.set(a.clickhouse_minor, [...(byLine.get(a.clickhouse_minor) ?? []), a]);
|
|
526
|
+
}
|
|
527
|
+
return [...byLine.entries()]
|
|
528
|
+
.filter(([, rows]) => !rows.some((a) => a.abi_revision === rev))
|
|
529
|
+
.sort(([a], [b]) => compareVersions(a, b))
|
|
530
|
+
.map(([line, rows]) => `ClickHouse line ${line} on ${platform} is not installed: ${served(rows, `that line for ${platform}`)}, ` +
|
|
531
|
+
`and this SDK speaks ABI revision ${rev}`);
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* `list`'s one line naming the platform's rows at another ABI revision, which it
|
|
535
|
+
* does not show (docs/guides/fetch.md §6); `undefined` when none were hidden.
|
|
536
|
+
* Rows that carry no `abi_revision` are named for what they are — built before
|
|
537
|
+
* revisions were recorded — never as a revision called "none". Exported for the
|
|
538
|
+
* test suite only; not re-exported from `index.ts`.
|
|
539
|
+
*/
|
|
540
|
+
export function notShown(index, platform) {
|
|
541
|
+
const [os, arch] = platform.split('-');
|
|
542
|
+
const rev = fetchAbiRevision();
|
|
543
|
+
const hidden = index.artifacts.filter((a) => a.os === os && a.arch === arch && a.abi_revision !== rev);
|
|
544
|
+
if (hidden.length === 0)
|
|
545
|
+
return undefined;
|
|
546
|
+
const undeclared = hidden.filter((a) => a.abi_revision === undefined).length;
|
|
547
|
+
const declared = hidden.length - undeclared;
|
|
548
|
+
const parts = [];
|
|
549
|
+
if (declared > 0)
|
|
550
|
+
parts.push(`${declared} row(s) at ABI revision(s) ${declaredRevisions(hidden).join(', ')}`);
|
|
551
|
+
if (undeclared > 0)
|
|
552
|
+
parts.push(`${undeclared} row(s) that record no ABI revision ${BUILT_BEFORE}`);
|
|
553
|
+
return `${parts.join(' and ')} not shown; this SDK speaks ${rev}`;
|
|
554
|
+
}
|
|
456
555
|
/**
|
|
457
556
|
* The wrapper build number: the row's own `build` when it has one, else the
|
|
458
557
|
* `-b<N>` suffix of the file name, else 0 — an old row, published before builds
|
|
@@ -478,23 +577,32 @@ function minorOfVersion(version) {
|
|
|
478
577
|
const parts = version.split('.');
|
|
479
578
|
return parts.length < 2 ? version : `${parts[0]}.${parts[1]}`;
|
|
480
579
|
}
|
|
481
|
-
/**
|
|
580
|
+
/**
|
|
581
|
+
* The one row for a request, or `CHTYPES_ARTIFACT_UNPUBLISHED` naming what the
|
|
582
|
+
* release does have. Only rows at this binding's ABI revision are considered,
|
|
583
|
+
* FIRST (docs/guides/fetch.md §2): nothing at that revision is unpublished, never
|
|
584
|
+
* another revision's row.
|
|
585
|
+
*/
|
|
482
586
|
export function selectArtifact(index, platform, req) {
|
|
483
|
-
const
|
|
484
|
-
|
|
587
|
+
const all = forPlatform(index, platform);
|
|
588
|
+
const rev = fetchAbiRevision();
|
|
589
|
+
const have = all.filter((a) => a.abi_revision === rev).map((a) => a.clickhouse_version).join(', ') || 'nothing';
|
|
590
|
+
let anyRevision;
|
|
485
591
|
if (req.exact !== null) {
|
|
486
592
|
const typedChannel = CHANNEL.test(req.exact);
|
|
487
|
-
|
|
488
|
-
if (hit.length === 0) {
|
|
489
|
-
throw new ArtifactUnpublishedError(`chtypes: you asked for exactly ClickHouse ${req.exact} on ${platform} and this release does not publish it ` +
|
|
490
|
-
`(it has: ${rows.map((a) => a.clickhouse_version).join(', ')}). Ask for the line (${req.line}) to take what was published.`);
|
|
491
|
-
}
|
|
593
|
+
anyRevision = all.filter((a) => a.clickhouse_version === req.exact || (!typedChannel && a.clickhouse_version.replace(CHANNEL, '') === req.bare));
|
|
492
594
|
}
|
|
493
595
|
else {
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
596
|
+
anyRevision = all.filter((a) => a.clickhouse_minor === req.line);
|
|
597
|
+
}
|
|
598
|
+
const hit = anyRevision.filter((a) => a.abi_revision === rev);
|
|
599
|
+
if (hit.length === 0) {
|
|
600
|
+
throw new ArtifactUnpublishedError(req.exact !== null
|
|
601
|
+
? `chtypes: you asked for exactly ClickHouse ${req.exact} on ${platform} at ABI revision ${rev} (this SDK's) and this ` +
|
|
602
|
+
`release does not publish it at that revision: ${served(anyRevision, `that patch for ${platform}`)}` +
|
|
603
|
+
`; at ABI revision ${rev} the release has: ${have}. Ask for the line (${req.line}) to take what was published.`
|
|
604
|
+
: `chtypes: no artifact for ClickHouse line ${req.line} on ${platform} at ABI revision ${rev} (this SDK's): ` +
|
|
605
|
+
`${served(anyRevision, `that line for ${platform}`)}; at ABI revision ${rev} the release has: ${have}`);
|
|
498
606
|
}
|
|
499
607
|
// A line can carry more than one row: two patches, or the same patch built
|
|
500
608
|
// twice (a release keeps the two highest builds per version). Take the newest
|
|
@@ -513,10 +621,21 @@ function newerRow(a, b) {
|
|
|
513
621
|
const byVersion = compareVersions(a.clickhouse_version, b.clickhouse_version);
|
|
514
622
|
return byVersion !== 0 ? byVersion > 0 : a.build > b.build;
|
|
515
623
|
}
|
|
516
|
-
/**
|
|
624
|
+
/**
|
|
625
|
+
* Every line the release publishes for the platform at this binding's ABI
|
|
626
|
+
* revision, newest patch (then highest build) per line, oldest line first.
|
|
627
|
+
* Nothing at that revision is `CHTYPES_ARTIFACT_UNPUBLISHED`, naming the
|
|
628
|
+
* revision(s) the release does serve (docs/guides/fetch.md §2).
|
|
629
|
+
*/
|
|
517
630
|
export function selectAll(index, platform) {
|
|
631
|
+
const all = forPlatform(index, platform);
|
|
632
|
+
const rev = fetchAbiRevision();
|
|
633
|
+
const rows = all.filter((a) => a.abi_revision === rev);
|
|
634
|
+
if (rows.length === 0) {
|
|
635
|
+
throw new ArtifactUnpublishedError(`chtypes: the release has nothing for ${platform} at ABI revision ${rev} (this SDK's): ${served(all, `rows for ${platform}`)}`);
|
|
636
|
+
}
|
|
518
637
|
const best = new Map();
|
|
519
|
-
for (const a of
|
|
638
|
+
for (const a of rows) {
|
|
520
639
|
const cur = best.get(a.clickhouse_minor);
|
|
521
640
|
if (cur === undefined || newerRow(a, cur))
|
|
522
641
|
best.set(a.clickhouse_minor, a);
|
|
@@ -564,7 +683,12 @@ export async function ensure(spelling, options = {}) {
|
|
|
564
683
|
inFlight.set(key, p);
|
|
565
684
|
return p;
|
|
566
685
|
}
|
|
567
|
-
/**
|
|
686
|
+
/**
|
|
687
|
+
* `fetch --all`: every line the release publishes for the platform at this
|
|
688
|
+
* binding's ABI revision, each through `ensure`'s chain. A line it has only at
|
|
689
|
+
* another revision is not installed and is named in one loud stderr line; the
|
|
690
|
+
* rest go on.
|
|
691
|
+
*/
|
|
568
692
|
export async function ensureAll(options = {}) {
|
|
569
693
|
const platform = resolvePlatform(options.platform);
|
|
570
694
|
const dest = fetchDestination(options.dest, platform);
|
|
@@ -576,8 +700,13 @@ export async function ensureAll(options = {}) {
|
|
|
576
700
|
emit({ type: 'status', message: `every published ClickHouse line, ${platform} -> ${dest}` });
|
|
577
701
|
emit({ type: 'status', message: `source ${source.description}` });
|
|
578
702
|
const release = await loadRelease(source, options, emit);
|
|
703
|
+
const rows = selectAll(release.index, platform);
|
|
704
|
+
// A line the release has only at another ABI revision is not installed —
|
|
705
|
+
// and never silently: one loud line per such line, then the rest go on.
|
|
706
|
+
for (const message of skippedLines(release.index, platform))
|
|
707
|
+
warn(`chtypes: WARNING: ${message}`);
|
|
579
708
|
const out = [];
|
|
580
|
-
for (const art of
|
|
709
|
+
for (const art of rows)
|
|
581
710
|
out.push(await installOne(release, art, ctx));
|
|
582
711
|
await installGoldens(release, ctx, options);
|
|
583
712
|
return out;
|
|
@@ -901,7 +1030,8 @@ export async function listArtifacts(options = {}) {
|
|
|
901
1030
|
throw err;
|
|
902
1031
|
offered = [];
|
|
903
1032
|
}
|
|
904
|
-
|
|
1033
|
+
const note = notShown(release.index, platform);
|
|
1034
|
+
return { registry: dir, platform, installed, offered, source: source.description, ...(note !== undefined ? { notShown: note } : {}) };
|
|
905
1035
|
}
|
|
906
1036
|
// ------------------------------------------------------------ the lock
|
|
907
1037
|
/** Read a lock file; null when it does not exist. */
|
package/dist/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
package/dist/ffi.d.ts
CHANGED
|
@@ -194,6 +194,14 @@ export declare class NativeLibrary {
|
|
|
194
194
|
ok: boolean;
|
|
195
195
|
};
|
|
196
196
|
registeredFamilies(): string[];
|
|
197
|
+
/**
|
|
198
|
+
* `chs_error_codes` (revision 6): the build's own error-code table as the
|
|
199
|
+
* raw JSON document, or `null` when the library could not build it (a
|
|
200
|
+
* guarded exception — transient, so the caller must not remember it). A
|
|
201
|
+
* missing symbol throws `UnsupportedError`, which is a different answer: the
|
|
202
|
+
* artifact predates revision 6.
|
|
203
|
+
*/
|
|
204
|
+
errorCodes(): Buffer | null;
|
|
197
205
|
/** The function-volatility TSV audit, verbatim. Requires `chs_init`. */
|
|
198
206
|
functionFlags(): string;
|
|
199
207
|
/**
|
|
@@ -249,6 +257,16 @@ export declare class NativeLibrary {
|
|
|
249
257
|
*/
|
|
250
258
|
schemaEngine(handle: SchemaHandle, engine: string, orderBy: string, mergeTreeSettingsJson: string): void;
|
|
251
259
|
schemaTtl(handle: SchemaHandle, ttl: string): void;
|
|
260
|
+
/**
|
|
261
|
+
* `chs_schema_partition_by` (revision 6): declare the table's partition key;
|
|
262
|
+
* `""` removes it. The return follows `schemaEngine`'s SIGN rule, NOT
|
|
263
|
+
* `schemaTtl`'s: a positive rc is the server's own CREATE-path refusal
|
|
264
|
+
* (e.g. 36 for a non-deterministic key, 549), a `SchemaError` with its code
|
|
265
|
+
* and message; a negative rc is this library declining (-2, a key the
|
|
266
|
+
* server accepts but this build will not evaluate), an `UnsupportedError`;
|
|
267
|
+
* a missing symbol degrades to `UnsupportedError`, never a crash.
|
|
268
|
+
*/
|
|
269
|
+
schemaPartitionBy(handle: SchemaHandle, partitionBy: string): void;
|
|
252
270
|
/**
|
|
253
271
|
* Column introspection is all-or-nothing: the six getters shipped together, so
|
|
254
272
|
* a missing one means the whole group is absent and the column list stays empty
|
package/dist/ffi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ffi.d.ts","sourceRoot":"","sources":["../src/ffi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAYL,KAAK,UAAU,EAChB,MAAM,QAAQ,CAAC;AAOhB,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAEtC,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAEtC,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC;AAKrC;;;;;;;GAOG;AACH,wBAAgB,WAAW,IAAI;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAE5E;
|
|
1
|
+
{"version":3,"file":"ffi.d.ts","sourceRoot":"","sources":["../src/ffi.ts"],"names":[],"mappings":"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"}
|
package/dist/ffi.js
CHANGED
|
@@ -157,6 +157,10 @@ function declare(library) {
|
|
|
157
157
|
// signature, not a separate `_v2` overload.
|
|
158
158
|
chs_schema_engine: d(I32, [External, Str, Str, Str, External]),
|
|
159
159
|
chs_schema_ttl: d(I32, [External, Str, External]),
|
|
160
|
+
// Revision 6: the partition key — chs_schema_ttl's exact C shape. Its
|
|
161
|
+
// return follows chs_schema_engine's SIGN rule, not chs_schema_ttl's (see
|
|
162
|
+
// `schemaPartitionBy`).
|
|
163
|
+
chs_schema_partition_by: d(I32, [External, Str, External]),
|
|
160
164
|
chs_schema_column_count: d(I32, [External]),
|
|
161
165
|
chs_schema_column_name: d(Str, [External, I32]),
|
|
162
166
|
chs_schema_column_type: d(Str, [External, I32]),
|
|
@@ -175,6 +179,11 @@ function declare(library) {
|
|
|
175
179
|
chs_quote_literal: d(I32, [U8Array, U64, External, External]),
|
|
176
180
|
chs_registered_families: d(External, []),
|
|
177
181
|
chs_function_flags: d(External, []),
|
|
182
|
+
// Revision 6: the build's own error-code table, an owned JSON document.
|
|
183
|
+
// Optional like everything else here — a missing symbol degrades to
|
|
184
|
+
// `unsupported` at call time. NULL from a PRESENT symbol is a guarded
|
|
185
|
+
// exception, which is a different answer (see `errorCodes`).
|
|
186
|
+
chs_error_codes: d(External, []),
|
|
178
187
|
// Revision 3: the filter trio. Optional like everything above — a missing
|
|
179
188
|
// symbol degrades to `unsupported` at call time.
|
|
180
189
|
// Revision 4: chs_filter_compile carries params_json ({name:Type} query
|
|
@@ -563,6 +572,23 @@ export class NativeLibrary {
|
|
|
563
572
|
}
|
|
564
573
|
return (text ?? '').split('\n').filter((line) => line !== '');
|
|
565
574
|
}
|
|
575
|
+
/**
|
|
576
|
+
* `chs_error_codes` (revision 6): the build's own error-code table as the
|
|
577
|
+
* raw JSON document, or `null` when the library could not build it (a
|
|
578
|
+
* guarded exception — transient, so the caller must not remember it). A
|
|
579
|
+
* missing symbol throws `UnsupportedError`, which is a different answer: the
|
|
580
|
+
* artifact predates revision 6.
|
|
581
|
+
*/
|
|
582
|
+
errorCodes() {
|
|
583
|
+
let ptr;
|
|
584
|
+
try {
|
|
585
|
+
ptr = this.entered(() => this.fns.chs_error_codes([]));
|
|
586
|
+
}
|
|
587
|
+
catch (err) {
|
|
588
|
+
return unsupportedIfMissing(err, 'this artifact predates chs_error_codes (rebuild it)');
|
|
589
|
+
}
|
|
590
|
+
return this.takeBytes(ptr);
|
|
591
|
+
}
|
|
566
592
|
/** The function-volatility TSV audit, verbatim. Requires `chs_init`. */
|
|
567
593
|
functionFlags() {
|
|
568
594
|
try {
|
|
@@ -735,6 +761,33 @@ export class NativeLibrary {
|
|
|
735
761
|
dropPtrSlot(errSlot);
|
|
736
762
|
}
|
|
737
763
|
}
|
|
764
|
+
/**
|
|
765
|
+
* `chs_schema_partition_by` (revision 6): declare the table's partition key;
|
|
766
|
+
* `""` removes it. The return follows `schemaEngine`'s SIGN rule, NOT
|
|
767
|
+
* `schemaTtl`'s: a positive rc is the server's own CREATE-path refusal
|
|
768
|
+
* (e.g. 36 for a non-deterministic key, 549), a `SchemaError` with its code
|
|
769
|
+
* and message; a negative rc is this library declining (-2, a key the
|
|
770
|
+
* server accepts but this build will not evaluate), an `UnsupportedError`;
|
|
771
|
+
* a missing symbol degrades to `UnsupportedError`, never a crash.
|
|
772
|
+
*/
|
|
773
|
+
schemaPartitionBy(handle, partitionBy) {
|
|
774
|
+
const errSlot = ptrSlot();
|
|
775
|
+
try {
|
|
776
|
+
let rc;
|
|
777
|
+
try {
|
|
778
|
+
rc = this.entered(() => Number(this.fns.chs_schema_partition_by([handle, partitionBy, ...errSlot])));
|
|
779
|
+
}
|
|
780
|
+
catch (err) {
|
|
781
|
+
return unsupportedIfMissing(err, 'this artifact predates chs_schema_partition_by (rebuild it)');
|
|
782
|
+
}
|
|
783
|
+
if (rc === 0)
|
|
784
|
+
return;
|
|
785
|
+
throw schemaErrorFor(rc, this.takeString(readPtr(errSlot)) ?? '');
|
|
786
|
+
}
|
|
787
|
+
finally {
|
|
788
|
+
dropPtrSlot(errSlot);
|
|
789
|
+
}
|
|
790
|
+
}
|
|
738
791
|
/**
|
|
739
792
|
* Column introspection is all-or-nothing: the six getters shipped together, so
|
|
740
793
|
* a missing one means the whole group is absent and the column list stays empty
|