@wavehouse/chtypes 0.4.0 → 0.5.1

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.
@@ -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/schema.d.ts CHANGED
@@ -7,6 +7,29 @@ import type { BlockHandle, FilterHandle, NativeLibrary, SchemaHandle } from './f
7
7
  import { type Format } from './format.js';
8
8
  import { type BatchResult, type FilterResult, type RowResult } from './results.js';
9
9
  import { type Settings } from './settings.js';
10
+ /**
11
+ * Native state a `Schema`'s GC finalizer frees from, tracked separately from
12
+ * the `Schema` object itself: a `FinalizationRegistry` callback must never
13
+ * hold (or close over) a reference to the object it was registered for —
14
+ * that would keep it reachable forever and the finalizer would never run.
15
+ *
16
+ * `Filter` and `Block` each remove their own handle from `openFilters` /
17
+ * `openBlocks` when they free it — whether that is an explicit `close()` or
18
+ * their OWN finalizer — so whichever gets there first wins and the other is
19
+ * a safe no-op. That is what lets this schema's finalizer walk whatever is
20
+ * STILL in these sets and free it before freeing the schema itself (the C
21
+ * layer does not refcount: freeing the schema under a live filter or block
22
+ * handle is a use-after-free) without racing a filter's or block's own
23
+ * independent finalizer — the spec promises nothing about the order two
24
+ * separate `FinalizationRegistry` callbacks run in, so correctness cannot
25
+ * depend on which one happens to fire first.
26
+ */
27
+ interface SchemaNative {
28
+ readonly native: NativeLibrary;
29
+ handle: SchemaHandle | null;
30
+ readonly openFilters: Set<FilterHandle>;
31
+ readonly openBlocks: Set<BlockHandle>;
32
+ }
10
33
  /** One declared column, as ClickHouse canonicalized it. */
11
34
  export interface ColumnInfo {
12
35
  readonly name: string;
@@ -143,12 +166,18 @@ export interface CompileFilterOptions {
143
166
  * reader WRAPS an out-of-domain integer — `{p:UInt8}` given `"256"` binds
144
167
  * `0` and matches every genuine zero (measured, uniform 24.8–26.7) —
145
168
  * while the same constant as a literal PROMOTES (`x = 256` is never
146
- * true). Size the brace type for the tenant-supplied domain or validate
147
- * the value first; malformed spellings refuse loudly (457 for
148
- * `"-1"`/`"+7"`/`"007"` as UInt8, 32 for `""`). A name bound twice at the
149
- * C boundary takes the LAST binding — the server's own `insert_or_assign`
150
- * rule (unreachable through this unique-keyed object, stated for
151
- * completeness).
169
+ * true). Sizing the brace type WIDER does not remove this: the same wrap
170
+ * reappears at 2^64 on every integer width once the bound value reaches
171
+ * it, and `[U]Int128`/`[U]Int256` wrap at their own width instead of at
172
+ * 2^64 — no brace type is safe against an untrusted value's magnitude by
173
+ * size alone. For a value you cannot already validate as in-domain and
174
+ * canonical, bind `{p:String}` and use the round-trip strict-cast form
175
+ * instead of picking a wider brace type (docs/guides/filters.md "The
176
+ * round-trip form — the recipe for an untrusted value"). Malformed
177
+ * spellings refuse loudly (457 for `"-1"`/`"+7"`/`"007"` as UInt8, 32 for
178
+ * `""`). A name bound twice at the C boundary takes the LAST binding —
179
+ * the server's own `insert_or_assign` rule (unreachable through this
180
+ * unique-keyed object, stated for completeness).
152
181
  *
153
182
  * The compiled handle bakes the values in: identity is per
154
183
  * (schema, expr, params), so changing a value means compiling a new
@@ -163,7 +192,10 @@ export interface CompileFilterOptions {
163
192
  /**
164
193
  * A compiled schema — one tenant table's column list, compiled inside one
165
194
  * version's library. Obtained from `Library#compileDdl`; never constructed
166
- * directly. Release with `close()` (idempotent) or `using` / `Symbol.dispose`.
195
+ * directly. Release with `close()` (idempotent) or `using` / `Symbol.dispose`
196
+ * — `close()` stays the primary path; a GC finalizer that calls it for a
197
+ * schema nobody closed is a backstop, not a replacement, since there is no
198
+ * promise about WHEN (or, in principle, whether) it runs.
167
199
  *
168
200
  * Thread-safety: the C ABI forbids using one `chs_schema *` from two threads
169
201
  * at once; on a single JS thread every call here is synchronous, so ordinary
@@ -182,7 +214,8 @@ export declare class Schema {
182
214
  * (`defaultKind === 'EPHEMERAL'`), not per row.
183
215
  */
184
216
  readonly columns: readonly ColumnInfo[];
185
- private handle;
217
+ /** The handle plus the GC-finalizer coordination state; see `SchemaNative`. */
218
+ private readonly n;
186
219
  /**
187
220
  * Every open `Filter` compiled from this handle, so `close()` can free them
188
221
  * FIRST — the C layer does not refcount, and freeing the schema under a
@@ -442,6 +475,10 @@ export declare class Schema {
442
475
  * work on both objects in any nesting — the schema's dispose runs the
443
476
  * filter's first when the caller forgot. A filter compiled from a schema
444
477
  * answers for THAT handle: recompile filters when the schema is recompiled.
478
+ * A filter nobody closed is also backed by a GC finalizer, coordinated with
479
+ * its schema's own (see `SchemaNative`) so the two can never free this
480
+ * filter's handle out of order or twice, whichever one the GC happens to run
481
+ * first.
445
482
  *
446
483
  * THREADS: the header's rule, verbatim — one `chs_filter` "must not be used
447
484
  * from two threads at once, and a chs_filter call is ALSO a use of its schema
@@ -460,9 +497,10 @@ export declare class Filter {
460
497
  private readonly schema;
461
498
  /** The expression text as compiled, for logging and cache keys. */
462
499
  readonly expr: string;
463
- private handle;
500
+ /** The handle plus the GC-finalizer coordination state; see `FilterNative`. */
501
+ private readonly n;
464
502
  /** @internal — obtained from `Schema#compileFilter`. */
465
- constructor(native: NativeLibrary, schema: Schema, handle: FilterHandle,
503
+ constructor(native: NativeLibrary, schema: Schema, schemaNative: SchemaNative, handle: FilterHandle,
466
504
  /** The expression text as compiled, for logging and cache keys. */
467
505
  expr: string);
468
506
  /** @internal — the loaded library this filter's handle belongs to, for
@@ -510,7 +548,10 @@ export declare class Filter {
510
548
  /**
511
549
  * Release the native filter (`chs_filter_free`). Idempotent, and also
512
550
  * performed by the schema's own `close()` — filters first, then the schema,
513
- * the C-required order.
551
+ * the C-required order. Also the backstop a GC finalizer calls for a filter
552
+ * nobody closed — see `SchemaNative`; the `openFilters.delete` guard is
553
+ * what makes it safe to run whether `close()`, this filter's own finalizer,
554
+ * or the schema's finalizer gets here first.
514
555
  */
515
556
  close(): void;
516
557
  /** `using filter = schema.compileFilter(...)` releases it at scope exit. */
@@ -537,13 +578,19 @@ export declare class Filter {
537
578
  * is a use of BOTH handles. On a single JS thread every call here is
538
579
  * synchronous, so ordinary Node code satisfies both by construction; do not
539
580
  * share a `Block` — or its `Schema` — across `worker_threads`.
581
+ *
582
+ * A block nobody closed is also backed by a GC finalizer, coordinated with
583
+ * its schema's own (see `SchemaNative`) so the two can never free this
584
+ * block's handle out of order or twice, whichever one the GC happens to run
585
+ * first.
540
586
  */
541
587
  export declare class Block {
542
588
  private readonly native;
543
589
  private readonly schema;
544
- private handle;
590
+ /** The handle plus the GC-finalizer coordination state; see `BlockNative`. */
591
+ private readonly n;
545
592
  /** @internal — obtained from `Schema#parseBlock`. */
546
- constructor(native: NativeLibrary, schema: Schema, handle: BlockHandle);
593
+ constructor(native: NativeLibrary, schema: Schema, schemaNative: SchemaNative, handle: BlockHandle);
547
594
  /** @internal — the loaded library this block's handle belongs to. */
548
595
  get nativeLib(): NativeLibrary;
549
596
  /** @internal — the live handle, for `Filter#eval`. */
@@ -551,10 +598,14 @@ export declare class Block {
551
598
  /**
552
599
  * Release the native block (`chs_block_free`). Idempotent, and also
553
600
  * performed by the schema's own `close()` — blocks first, then the schema,
554
- * the C-required order.
601
+ * the C-required order. Also the backstop a GC finalizer calls for a block
602
+ * nobody closed — see `SchemaNative`; the `openBlocks.delete` guard is what
603
+ * makes it safe to run whether `close()`, this block's own finalizer, or
604
+ * the schema's finalizer gets here first.
555
605
  */
556
606
  close(): void;
557
607
  /** `using block = schema.parseBlock(...)` releases it at scope exit. */
558
608
  [Symbol.dispose](): void;
559
609
  }
610
+ export {};
560
611
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/schema.js CHANGED
@@ -8,10 +8,39 @@ import { DOC_ALL, EXPORT_NONE } from './format.js';
8
8
  import { parseDocument } from './json.js';
9
9
  import { batchResultOf, filterResultOf, rowResultOf, } from './results.js';
10
10
  import { encodeSettings } from './settings.js';
11
+ const schemaFinalizer = new FinalizationRegistry((n) => {
12
+ if (n.handle === null)
13
+ return; // closed explicitly already
14
+ for (const h of n.openFilters)
15
+ n.native.filterFree(h);
16
+ n.openFilters.clear();
17
+ for (const h of n.openBlocks)
18
+ n.native.blockFree(h);
19
+ n.openBlocks.clear();
20
+ n.native.schemaFree(n.handle);
21
+ n.handle = null;
22
+ });
23
+ const filterFinalizer = new FinalizationRegistry((n) => {
24
+ if (n.handle === null)
25
+ return;
26
+ if (n.schema.openFilters.delete(n.handle))
27
+ n.native.filterFree(n.handle);
28
+ n.handle = null;
29
+ });
30
+ const blockFinalizer = new FinalizationRegistry((n) => {
31
+ if (n.handle === null)
32
+ return;
33
+ if (n.schema.openBlocks.delete(n.handle))
34
+ n.native.blockFree(n.handle);
35
+ n.handle = null;
36
+ });
11
37
  /**
12
38
  * A compiled schema — one tenant table's column list, compiled inside one
13
39
  * version's library. Obtained from `Library#compileDdl`; never constructed
14
- * directly. Release with `close()` (idempotent) or `using` / `Symbol.dispose`.
40
+ * directly. Release with `close()` (idempotent) or `using` / `Symbol.dispose`
41
+ * — `close()` stays the primary path; a GC finalizer that calls it for a
42
+ * schema nobody closed is a backstop, not a replacement, since there is no
43
+ * promise about WHEN (or, in principle, whether) it runs.
15
44
  *
16
45
  * Thread-safety: the C ABI forbids using one `chs_schema *` from two threads
17
46
  * at once; on a single JS thread every call here is synchronous, so ordinary
@@ -29,7 +58,8 @@ export class Schema {
29
58
  * (`defaultKind === 'EPHEMERAL'`), not per row.
30
59
  */
31
60
  columns;
32
- handle;
61
+ /** The handle plus the GC-finalizer coordination state; see `SchemaNative`. */
62
+ n;
33
63
  /**
34
64
  * Every open `Filter` compiled from this handle, so `close()` can free them
35
65
  * FIRST — the C layer does not refcount, and freeing the schema under a
@@ -47,13 +77,14 @@ export class Schema {
47
77
  ddl) {
48
78
  this.native = native;
49
79
  this.ddl = ddl;
50
- this.handle = handle;
80
+ this.n = { native, handle, openFilters: new Set(), openBlocks: new Set() };
51
81
  this.columns = native.columns(handle);
82
+ schemaFinalizer.register(this, this.n, this);
52
83
  }
53
84
  live() {
54
- if (this.handle === null)
85
+ if (this.n.handle === null)
55
86
  throw new ChtypesError('chtypes: schema is closed');
56
- return this.handle;
87
+ return this.n.handle;
57
88
  }
58
89
  /**
59
90
  * Declare the table engine, so `rows()` applies the engine's own insert-time
@@ -257,7 +288,8 @@ export class Schema {
257
288
  */
258
289
  compileFilter(expr, options) {
259
290
  const handle = this.native.filterCompile(this.live(), expr, encodeSettings(options?.params));
260
- const filter = new Filter(this.native, this, handle, expr);
291
+ this.n.openFilters.add(handle);
292
+ const filter = new Filter(this.native, this, this.n, handle, expr);
261
293
  this.filters.add(filter);
262
294
  return filter;
263
295
  }
@@ -301,7 +333,8 @@ export class Schema {
301
333
  */
302
334
  parseBlock(format, body, settings, options) {
303
335
  const handle = this.native.blockParse(this.live(), format, body, encodeSettings(settings), options?.columns);
304
- const block = new Block(this.native, this, handle);
336
+ this.n.openBlocks.add(handle);
337
+ const block = new Block(this.native, this, this.n, handle);
305
338
  this.blocks.add(block);
306
339
  return block;
307
340
  }
@@ -324,10 +357,11 @@ export class Schema {
324
357
  for (const block of this.blocks)
325
358
  block.close();
326
359
  this.blocks.clear();
327
- if (this.handle === null)
360
+ if (this.n.handle === null)
328
361
  return;
329
- this.native.schemaFree(this.handle);
330
- this.handle = null;
362
+ this.native.schemaFree(this.n.handle);
363
+ this.n.handle = null;
364
+ schemaFinalizer.unregister(this);
331
365
  }
332
366
  /** `using schema = lib.compileDdl(...)` releases it at scope exit. */
333
367
  [Symbol.dispose]() {
@@ -347,6 +381,10 @@ export class Schema {
347
381
  * work on both objects in any nesting — the schema's dispose runs the
348
382
  * filter's first when the caller forgot. A filter compiled from a schema
349
383
  * answers for THAT handle: recompile filters when the schema is recompiled.
384
+ * A filter nobody closed is also backed by a GC finalizer, coordinated with
385
+ * its schema's own (see `SchemaNative`) so the two can never free this
386
+ * filter's handle out of order or twice, whichever one the GC happens to run
387
+ * first.
350
388
  *
351
389
  * THREADS: the header's rule, verbatim — one `chs_filter` "must not be used
352
390
  * from two threads at once, and a chs_filter call is ALSO a use of its schema
@@ -364,15 +402,17 @@ export class Filter {
364
402
  native;
365
403
  schema;
366
404
  expr;
367
- handle;
405
+ /** The handle plus the GC-finalizer coordination state; see `FilterNative`. */
406
+ n;
368
407
  /** @internal — obtained from `Schema#compileFilter`. */
369
- constructor(native, schema, handle,
408
+ constructor(native, schema, schemaNative, handle,
370
409
  /** The expression text as compiled, for logging and cache keys. */
371
410
  expr) {
372
411
  this.native = native;
373
412
  this.schema = schema;
374
413
  this.expr = expr;
375
- this.handle = handle;
414
+ this.n = { native, schema: schemaNative, handle };
415
+ filterFinalizer.register(this, this.n, this);
376
416
  }
377
417
  /** @internal — the loaded library this filter's handle belongs to, for
378
418
  * `Schema#rows(options.rowFilter)`'s cross-library check. */
@@ -381,9 +421,9 @@ export class Filter {
381
421
  }
382
422
  /** @internal — the live handle, for `Schema#rows(options.rowFilter)`. */
383
423
  liveHandle() {
384
- if (this.handle === null)
424
+ if (this.n.handle === null)
385
425
  throw new ChtypesError('chtypes: filter is closed');
386
- return this.handle;
426
+ return this.n.handle;
387
427
  }
388
428
  /**
389
429
  * Evaluate the filter over a body of rows (`chs_filter_rows`) — the same
@@ -402,9 +442,9 @@ export class Filter {
402
442
  * a JS `number`.
403
443
  */
404
444
  rows(format, body, settings) {
405
- if (this.handle === null)
445
+ if (this.n.handle === null)
406
446
  throw new ChtypesError('chtypes: filter is closed');
407
- const doc = this.native.filterRows(this.handle, format, body, encodeSettings(settings));
447
+ const doc = this.native.filterRows(this.n.handle, format, body, encodeSettings(settings));
408
448
  return filterResultOf(parseDocument(doc));
409
449
  }
410
450
  /**
@@ -427,25 +467,31 @@ export class Filter {
427
467
  * from two different libraries.
428
468
  */
429
469
  eval(block) {
430
- if (this.handle === null)
470
+ if (this.n.handle === null)
431
471
  throw new ChtypesError('chtypes: filter is closed');
432
472
  if (block.nativeLib !== this.native) {
433
473
  throw new ChtypesError('chtypes: filter and block come from different libraries');
434
474
  }
435
- const doc = this.native.filterEval(this.handle, block.liveHandle());
475
+ const doc = this.native.filterEval(this.n.handle, block.liveHandle());
436
476
  return filterResultOf(parseDocument(doc));
437
477
  }
438
478
  /**
439
479
  * Release the native filter (`chs_filter_free`). Idempotent, and also
440
480
  * performed by the schema's own `close()` — filters first, then the schema,
441
- * the C-required order.
481
+ * the C-required order. Also the backstop a GC finalizer calls for a filter
482
+ * nobody closed — see `SchemaNative`; the `openFilters.delete` guard is
483
+ * what makes it safe to run whether `close()`, this filter's own finalizer,
484
+ * or the schema's finalizer gets here first.
442
485
  */
443
486
  close() {
444
- if (this.handle === null)
487
+ if (this.n.handle === null)
445
488
  return;
446
- this.native.filterFree(this.handle);
447
- this.handle = null;
489
+ if (this.n.schema.openFilters.delete(this.n.handle)) {
490
+ this.native.filterFree(this.n.handle);
491
+ }
492
+ this.n.handle = null;
448
493
  this.schema.forgetFilter(this);
494
+ filterFinalizer.unregister(this);
449
495
  }
450
496
  /** `using filter = schema.compileFilter(...)` releases it at scope exit. */
451
497
  [Symbol.dispose]() {
@@ -473,16 +519,23 @@ export class Filter {
473
519
  * is a use of BOTH handles. On a single JS thread every call here is
474
520
  * synchronous, so ordinary Node code satisfies both by construction; do not
475
521
  * share a `Block` — or its `Schema` — across `worker_threads`.
522
+ *
523
+ * A block nobody closed is also backed by a GC finalizer, coordinated with
524
+ * its schema's own (see `SchemaNative`) so the two can never free this
525
+ * block's handle out of order or twice, whichever one the GC happens to run
526
+ * first.
476
527
  */
477
528
  export class Block {
478
529
  native;
479
530
  schema;
480
- handle;
531
+ /** The handle plus the GC-finalizer coordination state; see `BlockNative`. */
532
+ n;
481
533
  /** @internal — obtained from `Schema#parseBlock`. */
482
- constructor(native, schema, handle) {
534
+ constructor(native, schema, schemaNative, handle) {
483
535
  this.native = native;
484
536
  this.schema = schema;
485
- this.handle = handle;
537
+ this.n = { native, schema: schemaNative, handle };
538
+ blockFinalizer.register(this, this.n, this);
486
539
  }
487
540
  /** @internal — the loaded library this block's handle belongs to. */
488
541
  get nativeLib() {
@@ -490,21 +543,27 @@ export class Block {
490
543
  }
491
544
  /** @internal — the live handle, for `Filter#eval`. */
492
545
  liveHandle() {
493
- if (this.handle === null)
546
+ if (this.n.handle === null)
494
547
  throw new ChtypesError('chtypes: block is closed');
495
- return this.handle;
548
+ return this.n.handle;
496
549
  }
497
550
  /**
498
551
  * Release the native block (`chs_block_free`). Idempotent, and also
499
552
  * performed by the schema's own `close()` — blocks first, then the schema,
500
- * the C-required order.
553
+ * the C-required order. Also the backstop a GC finalizer calls for a block
554
+ * nobody closed — see `SchemaNative`; the `openBlocks.delete` guard is what
555
+ * makes it safe to run whether `close()`, this block's own finalizer, or
556
+ * the schema's finalizer gets here first.
501
557
  */
502
558
  close() {
503
- if (this.handle === null)
559
+ if (this.n.handle === null)
504
560
  return;
505
- this.native.blockFree(this.handle);
506
- this.handle = null;
561
+ if (this.n.schema.openBlocks.delete(this.n.handle)) {
562
+ this.native.blockFree(this.n.handle);
563
+ }
564
+ this.n.handle = null;
507
565
  this.schema.forgetBlock(this);
566
+ blockFinalizer.unregister(this);
508
567
  }
509
568
  /** `using block = schema.parseBlock(...)` releases it at scope exit. */
510
569
  [Symbol.dispose]() {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAe,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,GAIZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAC;AAgK9D;;;;;;;;;GASG;AACH,MAAM,OAAO,MAAM;IAwBE,MAAM;IAGd,GAAG;IA1Bd;;;;;;OAMG;IACM,OAAO,CAAwB;IAChC,MAAM,CAAsB;IACpC;;;;OAIG;IACc,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C;;;OAGG;IACc,MAAM,GAAG,IAAI,GAAG,EAAS,CAAC;IAE3C,sDAAsD;IACtD,YACmB,MAAqB,EACtC,MAAoB;IACpB,2EAA2E;IAClE,GAAW;sBAHH,MAAM;mBAGd,GAAG;QAEZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAEO,IAAI;QACV,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,SAAS,CAAC,MAAc,EAAE,OAAe,EAAE,OAAuB;QAChE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACrG,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,cAAc,CAAC,IAAY;QACzB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,GAAG,CAAC,MAAc,EAAE,GAAe,EAAE,QAAmB,EAAE,OAAoB;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAClG,OAAO,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,IAAI,CAAC,MAAc,EAAE,IAAgB,EAAE,QAAmB,EAAE,OAAqB;QAC/E,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,WAAW,CAAC;QAC1D,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,CAAC,OAAO,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACrC,IAAI,YAAsC,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,IAAI,YAAY,CAAC,0DAA0D,CAAC,CAAC;YACrF,CAAC;YACD,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CACvC,IAAI,CAAC,IAAI,EAAE,EACX,MAAM,EACN,IAAI,EACJ,cAAc,CAAC,QAAQ,CAAC,EACxB,YAAY,EACZ,QAAQ,EACR,OAAO,EAAE,OAAO,EAChB,YAAY,CACb,CAAC;QACF,OAAO,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,aAAa,CAAC,IAAY,EAAE,OAA8B;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0DAA0D;IAC1D,YAAY,CAAC,MAAc;QACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,UAAU,CAAC,MAAc,EAAE,IAAgB,EAAE,QAAmB,EAAE,OAAoB;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7G,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,WAAW,CAAC,KAAY;QACtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK;QACH,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QACjC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,sEAAsE;IACtE,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,MAAM;IAKE,MAAM;IACN,MAAM;IAGd,IAAI;IARP,MAAM,CAAsB;IAEpC,wDAAwD;IACxD,YACmB,MAAqB,EACrB,MAAc,EAC/B,MAAoB;IACpB,mEAAmE;IAC1D,IAAY;sBAJJ,MAAM;sBACN,MAAM;oBAGd,IAAI;QAEb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;iEAC6D;IAC7D,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,yEAAyE;IACzE,UAAU;QACR,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,MAAc,EAAE,IAAgB,EAAE,QAAmB;QACxD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxF,OAAO,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,CAAC,KAAY;QACf,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC9E,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,YAAY,CAAC,yDAAyD,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QACpE,OAAO,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QACjC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,4EAA4E;IAC5E,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,KAAK;IAKG,MAAM;IACN,MAAM;IALjB,MAAM,CAAqB;IAEnC,qDAAqD;IACrD,YACmB,MAAqB,EACrB,MAAc,EAC/B,MAAmB;sBAFF,MAAM;sBACN,MAAM;QAGvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,qEAAqE;IACrE,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,sDAAsD;IACtD,UAAU;QACR,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,0BAA0B,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,wEAAwE;IACxE,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavehouse/chtypes",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "description": "ClickHouse's own type system, per version, over the frozen chs_* C ABI",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",