firebird-wasm 0.7.0 → 0.8.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 +141 -0
- package/README.md +1 -1
- package/dist/.tsbuildinfo.build +1 -1
- package/dist/browser/engine-transport.d.ts.map +1 -1
- package/dist/browser/engine-transport.js +5 -8
- package/dist/browser/engine-transport.js.map +1 -1
- package/dist/browser/firebird-browser.d.ts.map +1 -1
- package/dist/browser/firebird-browser.js +59 -20
- package/dist/browser/firebird-browser.js.map +1 -1
- package/dist/browser/index.d.ts +2 -2
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +4 -2
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/serve-engine.d.ts +30 -0
- package/dist/browser/serve-engine.d.ts.map +1 -0
- package/dist/browser/serve-engine.js +93 -0
- package/dist/browser/serve-engine.js.map +1 -0
- package/dist/browser/worker-entry.d.ts +8 -22
- package/dist/browser/worker-entry.d.ts.map +1 -1
- package/dist/browser/worker-entry.js +18 -79
- package/dist/browser/worker-entry.js.map +1 -1
- package/dist/electric/apply.d.ts +53 -0
- package/dist/electric/apply.d.ts.map +1 -0
- package/dist/electric/apply.js +88 -0
- package/dist/electric/apply.js.map +1 -0
- package/dist/electric/index.d.ts +83 -0
- package/dist/electric/index.d.ts.map +1 -0
- package/dist/electric/index.js +210 -0
- package/dist/electric/index.js.map +1 -0
- package/dist/electric/values.d.ts +65 -0
- package/dist/electric/values.d.ts.map +1 -0
- package/dist/electric/values.js +243 -0
- package/dist/electric/values.js.map +1 -0
- package/dist/electric-server/capture.d.ts +36 -0
- package/dist/electric-server/capture.d.ts.map +1 -0
- package/dist/electric-server/capture.js +148 -0
- package/dist/electric-server/capture.js.map +1 -0
- package/dist/electric-server/catalog.d.ts +59 -0
- package/dist/electric-server/catalog.d.ts.map +1 -0
- package/dist/electric-server/catalog.js +122 -0
- package/dist/electric-server/catalog.js.map +1 -0
- package/dist/electric-server/index.d.ts +58 -0
- package/dist/electric-server/index.d.ts.map +1 -0
- package/dist/electric-server/index.js +348 -0
- package/dist/electric-server/index.js.map +1 -0
- package/dist/firebird.d.ts +3 -1
- package/dist/firebird.d.ts.map +1 -1
- package/dist/firebird.js +250 -22
- package/dist/firebird.js.map +1 -1
- package/dist/frameworks/query-store.d.ts +99 -0
- package/dist/frameworks/query-store.d.ts.map +1 -0
- package/dist/frameworks/query-store.js +166 -0
- package/dist/frameworks/query-store.js.map +1 -0
- package/dist/react/index.d.ts +68 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +92 -0
- package/dist/react/index.js.map +1 -0
- package/dist/repl/index.d.ts +76 -0
- package/dist/repl/index.d.ts.map +1 -0
- package/dist/repl/index.js +328 -0
- package/dist/repl/index.js.map +1 -0
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/vue/index.d.ts +68 -0
- package/dist/vue/index.d.ts.map +1 -0
- package/dist/vue/index.js +107 -0
- package/dist/vue/index.js.map +1 -0
- package/dist/wasm/firebird-embedded-st.wasm +0 -0
- package/dist/wasm/firebird-embedded.wasm +0 -0
- package/package.json +50 -3
package/dist/firebird.js
CHANGED
|
@@ -144,7 +144,7 @@ class FirebirdLite {
|
|
|
144
144
|
let failed = true;
|
|
145
145
|
try {
|
|
146
146
|
const columnLabels = await stmt.columnLabels;
|
|
147
|
-
fields = columnLabels.map((label) => ({ name: label
|
|
147
|
+
fields = columnLabels.map((label) => ({ name: label }));
|
|
148
148
|
rows = shapeRows(await fetchRows(stmt, transaction, statement.params, fields.length), fields, rowMode);
|
|
149
149
|
failed = false;
|
|
150
150
|
}
|
|
@@ -195,7 +195,7 @@ class FirebirdLite {
|
|
|
195
195
|
return undefined;
|
|
196
196
|
}
|
|
197
197
|
const fields = (await stmt.columnLabels).map((label) => ({
|
|
198
|
-
name: label
|
|
198
|
+
name: label,
|
|
199
199
|
}));
|
|
200
200
|
const rawRows = await fetchRows(stmt, transaction, params, fields.length);
|
|
201
201
|
return { rows: shapeRows(rawRows, fields, rowMode), fields };
|
|
@@ -265,7 +265,7 @@ class FirebirdLite {
|
|
|
265
265
|
const type = await stmt.type;
|
|
266
266
|
return {
|
|
267
267
|
params: undefined,
|
|
268
|
-
fields: columnLabels.map((label) => ({ name: label
|
|
268
|
+
fields: columnLabels.map((label) => ({ name: label })),
|
|
269
269
|
statementType: (0, statement_types_1.statementKind)(type),
|
|
270
270
|
hasResultSet: stmt.hasResultSet,
|
|
271
271
|
};
|
|
@@ -383,7 +383,7 @@ class FirebirdTransaction {
|
|
|
383
383
|
const lease = await this.statements.acquire(this.transaction, statement.sql);
|
|
384
384
|
let failed = true;
|
|
385
385
|
try {
|
|
386
|
-
await lease.stmt.execute(this.transaction, statement.params);
|
|
386
|
+
await lease.stmt.execute(this.transaction, await bindParams(lease.stmt, this.transaction, statement.params));
|
|
387
387
|
failed = false;
|
|
388
388
|
}
|
|
389
389
|
finally {
|
|
@@ -415,7 +415,7 @@ class FirebirdTransaction {
|
|
|
415
415
|
}
|
|
416
416
|
else {
|
|
417
417
|
for (const row of rows) {
|
|
418
|
-
await lease.stmt.execute(this.transaction, row);
|
|
418
|
+
await lease.stmt.execute(this.transaction, await bindParams(lease.stmt, this.transaction, row));
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
421
|
failed = false;
|
|
@@ -463,7 +463,7 @@ class FirebirdTransaction {
|
|
|
463
463
|
for (let at = 0; at < rows.length;) {
|
|
464
464
|
const chunk = rows.slice(at, at + size);
|
|
465
465
|
if (chunk.length === 1) {
|
|
466
|
-
await single.execute(this.transaction, chunk[0]);
|
|
466
|
+
await single.execute(this.transaction, await bindParams(single, this.transaction, chunk[0]));
|
|
467
467
|
at += 1;
|
|
468
468
|
continue;
|
|
469
469
|
}
|
|
@@ -482,11 +482,11 @@ class FirebirdTransaction {
|
|
|
482
482
|
}
|
|
483
483
|
}
|
|
484
484
|
try {
|
|
485
|
-
await current.lease.stmt.execute(this.transaction, chunk.flat());
|
|
485
|
+
await current.lease.stmt.execute(this.transaction, await bindParams(current.lease.stmt, this.transaction, chunk.flat()));
|
|
486
486
|
}
|
|
487
487
|
catch {
|
|
488
488
|
for (const row of chunk) {
|
|
489
|
-
await single.execute(this.transaction, row);
|
|
489
|
+
await single.execute(this.transaction, await bindParams(single, this.transaction, row));
|
|
490
490
|
}
|
|
491
491
|
}
|
|
492
492
|
at += chunk.length;
|
|
@@ -510,7 +510,7 @@ class FirebirdTransaction {
|
|
|
510
510
|
try {
|
|
511
511
|
const columnLabels = await stmt.columnLabels;
|
|
512
512
|
const fields = columnLabels.map((label) => ({
|
|
513
|
-
name: label
|
|
513
|
+
name: label,
|
|
514
514
|
}));
|
|
515
515
|
const rawRows = await fetchRows(stmt, this.transaction, statement.params, fields.length);
|
|
516
516
|
failed = false;
|
|
@@ -528,14 +528,31 @@ exports.FirebirdTransaction = FirebirdTransaction;
|
|
|
528
528
|
/** Rows per `EXECUTE BLOCK` in `execBatch`: a single-table statement uses
|
|
529
529
|
* one of the engine's 256 contexts per row, so 200 leaves room. */
|
|
530
530
|
const BLOCK_ROWS = 200;
|
|
531
|
+
const bindings = new WeakMap();
|
|
532
|
+
async function bindingOf(stmt) {
|
|
533
|
+
let binding = bindings.get(stmt);
|
|
534
|
+
if (!binding) {
|
|
535
|
+
// Read before anything here rewrites the message; a statement is used
|
|
536
|
+
// by one call at a time, so nothing else reads it meanwhile.
|
|
537
|
+
binding = { params: await readInputParams(stmt), variants: new Map(), current: '' };
|
|
538
|
+
bindings.set(stmt, binding);
|
|
539
|
+
}
|
|
540
|
+
return binding;
|
|
541
|
+
}
|
|
531
542
|
/**
|
|
532
|
-
*
|
|
533
|
-
*
|
|
534
|
-
*
|
|
535
|
-
*
|
|
536
|
-
*
|
|
543
|
+
* A statement's `?` parameters: its input metadata as the driver rewrote it
|
|
544
|
+
* (CHAR as VARCHAR, the zoned types in their `_EX` forms), except that an
|
|
545
|
+
* integer or NUMERIC parameter, which the driver binds as a double, is
|
|
546
|
+
* described as prepared: SMALLINT, INTEGER or BIGINT, with its scale. That is
|
|
547
|
+
* what `execBatch` declares a block's parameters as, and what tells a string
|
|
548
|
+
* to send as text. `undefined` whenever the internals are not there, so a
|
|
549
|
+
* driver that changes shape makes `execBatch` fall back to one execute per
|
|
550
|
+
* row and strings go to the driver as they are.
|
|
537
551
|
*/
|
|
538
552
|
async function inputParams(stmt) {
|
|
553
|
+
return (await bindingOf(stmt)).params;
|
|
554
|
+
}
|
|
555
|
+
async function readInputParams(stmt) {
|
|
539
556
|
const internal = stmt;
|
|
540
557
|
const meta = internal.inMetadata;
|
|
541
558
|
const client = internal.attachment?.client;
|
|
@@ -544,23 +561,233 @@ async function inputParams(stmt) {
|
|
|
544
561
|
}
|
|
545
562
|
try {
|
|
546
563
|
return await client.statusAction(async (status) => {
|
|
564
|
+
const read = (m, i) => ({
|
|
565
|
+
type: m.getTypeSync(status, i),
|
|
566
|
+
subType: m.getSubTypeSync(status, i),
|
|
567
|
+
length: m.getLengthSync(status, i),
|
|
568
|
+
scale: m.getScaleSync(status, i),
|
|
569
|
+
charSet: m.getCharSetSync(status, i),
|
|
570
|
+
});
|
|
547
571
|
const params = [];
|
|
548
|
-
for (let i = 0, n = meta.getCountSync(status); i < n; i++)
|
|
549
|
-
params.push(
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
572
|
+
for (let i = 0, n = meta.getCountSync(status); i < n; i++)
|
|
573
|
+
params.push(read(meta, i));
|
|
574
|
+
if (!params.some((p) => (p.type & ~1) === SQL_DOUBLE))
|
|
575
|
+
return params;
|
|
576
|
+
// The metadata as prepared, before the driver's rewrite.
|
|
577
|
+
const prepared = await internal.statementHandle?.getInputMetadataAsync?.(status);
|
|
578
|
+
if (!prepared)
|
|
579
|
+
return params;
|
|
580
|
+
try {
|
|
581
|
+
return params.map((p, i) => {
|
|
582
|
+
if ((p.type & ~1) !== SQL_DOUBLE)
|
|
583
|
+
return p;
|
|
584
|
+
const as = read(prepared, i);
|
|
585
|
+
return INTEGER_TYPES.has(as.type & ~1) ? as : p;
|
|
555
586
|
});
|
|
556
587
|
}
|
|
557
|
-
|
|
588
|
+
finally {
|
|
589
|
+
prepared.releaseSync();
|
|
590
|
+
}
|
|
558
591
|
});
|
|
559
592
|
}
|
|
560
593
|
catch {
|
|
561
594
|
return undefined;
|
|
562
595
|
}
|
|
563
596
|
}
|
|
597
|
+
/** `SQL_BLOB`, without the nullable bit. */
|
|
598
|
+
const SQL_BLOB = 520;
|
|
599
|
+
/** `SQL_DOUBLE`: what the driver binds every integer and NUMERIC as. */
|
|
600
|
+
const SQL_DOUBLE = 480;
|
|
601
|
+
/** SMALLINT, INTEGER, BIGINT, and NUMERIC / DECIMAL kept in them. */
|
|
602
|
+
const INTEGER_TYPES = new Set([500, 496, 580]);
|
|
603
|
+
/** `SQL_VARYING`. */
|
|
604
|
+
const SQL_VARYING = 448;
|
|
605
|
+
/** Character set id of UTF8. */
|
|
606
|
+
const CS_UTF8 = 4;
|
|
607
|
+
/**
|
|
608
|
+
* DATE, TIME, TIMESTAMP, and TIME / TIMESTAMP WITH TIME ZONE in both forms
|
|
609
|
+
* (the driver rewrites the zoned ones to their `_EX` forms).
|
|
610
|
+
*/
|
|
611
|
+
const DATE_TIME_TYPES = new Set([570, 560, 510, 32756, 32754, 32750, 32748]);
|
|
612
|
+
/** The types a string is sent to as text, for Firebird to convert. */
|
|
613
|
+
const TEXT_TYPES = new Set([...DATE_TIME_TYPES, ...INTEGER_TYPES]);
|
|
614
|
+
/** Bytes a value takes as text: a timestamp with the longest zone name fits twice. */
|
|
615
|
+
const TEXT_LENGTH = 128;
|
|
616
|
+
/**
|
|
617
|
+
* The parameters as the driver will take them, the statement made ready to
|
|
618
|
+
* take them.
|
|
619
|
+
*
|
|
620
|
+
* A string or Buffer bound to a BLOB parameter is written to a new blob here,
|
|
621
|
+
* and the blob passed on. The driver takes a Buffer or a Blob there and
|
|
622
|
+
* refused a string ("Unrecognized type used as BLOB"); and given a Buffer,
|
|
623
|
+
* it writes the blob while encoding the other parameters, under a
|
|
624
|
+
* `Promise.all` that rejects as soon as one of them fails, with the blob's
|
|
625
|
+
* native calls still running. The transaction is then rolled back under
|
|
626
|
+
* them, and the process died with a segmentation fault: a date given as a
|
|
627
|
+
* string beside a BLOB did it, so did a string too long for its VARCHAR.
|
|
628
|
+
* Written first, the blob is done before the driver encodes anything, and
|
|
629
|
+
* nothing is in flight when a parameter fails.
|
|
630
|
+
*
|
|
631
|
+
* A string bound to a DATE, TIME or TIMESTAMP parameter (with or without a
|
|
632
|
+
* time zone) is sent as text, and Firebird converts it: the driver takes a
|
|
633
|
+
* JS `Date` there (`date.getFullYear is not a function` for a string),
|
|
634
|
+
* which holds milliseconds where Firebird keeps 1/10000 s, and is read in
|
|
635
|
+
* the process's time zone. The browser engine binds every parameter as text,
|
|
636
|
+
* so the same call now means the same there and here, to the last digit.
|
|
637
|
+
* A `Date` still goes the driver's way.
|
|
638
|
+
*
|
|
639
|
+
* So does a string bound to a SMALLINT, INTEGER, BIGINT or NUMERIC parameter:
|
|
640
|
+
* the driver binds those as doubles, and `'9007199254740993'` arrived as
|
|
641
|
+
* 9007199254740992, `'0.1'` in a NUMERIC(18,17) as 0.10000000000000001.
|
|
642
|
+
* A JS number still goes as a double (it is one); a string to a DOUBLE
|
|
643
|
+
* PRECISION or FLOAT parameter is still converted by JS, which rounds
|
|
644
|
+
* correctly.
|
|
645
|
+
*/
|
|
646
|
+
async function bindParams(stmt, transaction, params) {
|
|
647
|
+
const binding = bindings.get(stmt);
|
|
648
|
+
if (!params.some((p) => typeof p === 'string' || Buffer.isBuffer(p)) && (!binding || binding.current === '')) {
|
|
649
|
+
return params;
|
|
650
|
+
}
|
|
651
|
+
const described = (binding ?? (await bindingOf(stmt))).params;
|
|
652
|
+
if (!described)
|
|
653
|
+
return params;
|
|
654
|
+
const text = [];
|
|
655
|
+
const bound = [...params];
|
|
656
|
+
for (let i = 0; i < bound.length; i++) {
|
|
657
|
+
const p = bound[i];
|
|
658
|
+
const type = (described[i]?.type ?? 0) & ~1;
|
|
659
|
+
if (type === SQL_BLOB && (typeof p === 'string' || Buffer.isBuffer(p))) {
|
|
660
|
+
bound[i] = await writeBlob(stmt, transaction, typeof p === 'string' ? Buffer.from(p, 'utf8') : p);
|
|
661
|
+
}
|
|
662
|
+
else if (typeof p === 'string' && TEXT_TYPES.has(type)) {
|
|
663
|
+
text.push(i);
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
if (!(await useMessage(stmt, text)))
|
|
667
|
+
return params;
|
|
668
|
+
return bound;
|
|
669
|
+
}
|
|
670
|
+
/** A new blob holding `bytes`, in `transaction`; `bytes` itself where the driver's internals are not there. */
|
|
671
|
+
async function writeBlob(stmt, transaction, bytes) {
|
|
672
|
+
const attachment = stmt.attachment;
|
|
673
|
+
if (typeof attachment?.createBlob !== 'function')
|
|
674
|
+
return bytes;
|
|
675
|
+
const stream = await attachment.createBlob(transaction);
|
|
676
|
+
try {
|
|
677
|
+
await stream.write(bytes);
|
|
678
|
+
}
|
|
679
|
+
catch (err) {
|
|
680
|
+
await stream.cancel().catch(() => undefined);
|
|
681
|
+
throw err;
|
|
682
|
+
}
|
|
683
|
+
await stream.close();
|
|
684
|
+
return stream.blob;
|
|
685
|
+
}
|
|
686
|
+
/**
|
|
687
|
+
* Put in place the input message that takes the parameters at `positions`
|
|
688
|
+
* as VARCHAR text and every other as the driver prepared it, making it the
|
|
689
|
+
* first time. False when that cannot be done: the driver's internals are not
|
|
690
|
+
* what this expects.
|
|
691
|
+
*
|
|
692
|
+
* The message is what the driver encodes into and what Firebird reads from;
|
|
693
|
+
* Firebird converts each value from the message's type to the parameter's,
|
|
694
|
+
* which is how the driver itself binds every integer as a double. A
|
|
695
|
+
* statement is used by one call at a time (the cache leases it), so the
|
|
696
|
+
* message in place is the one this call chose.
|
|
697
|
+
*/
|
|
698
|
+
async function useMessage(stmt, positions) {
|
|
699
|
+
const binding = await bindingOf(stmt);
|
|
700
|
+
const key = positions.join(',');
|
|
701
|
+
if (binding.current === key)
|
|
702
|
+
return true;
|
|
703
|
+
const internal = stmt;
|
|
704
|
+
let message = key === '' ? binding.original : binding.variants.get(key);
|
|
705
|
+
if (!message) {
|
|
706
|
+
const made = await makeTextMessage(internal, binding, positions);
|
|
707
|
+
if (!made)
|
|
708
|
+
return positions.length === 0;
|
|
709
|
+
if (!binding.original) {
|
|
710
|
+
binding.original = {
|
|
711
|
+
inMetadata: internal.inMetadata,
|
|
712
|
+
inBuffer: internal.inBuffer,
|
|
713
|
+
dataWriter: internal.dataWriter,
|
|
714
|
+
};
|
|
715
|
+
releaseMessagesOnDispose(internal, binding);
|
|
716
|
+
}
|
|
717
|
+
binding.variants.set(key, made);
|
|
718
|
+
message = made;
|
|
719
|
+
}
|
|
720
|
+
internal.inMetadata = message.inMetadata;
|
|
721
|
+
internal.inBuffer = message.inBuffer;
|
|
722
|
+
internal.dataWriter = message.dataWriter;
|
|
723
|
+
binding.current = key;
|
|
724
|
+
return true;
|
|
725
|
+
}
|
|
726
|
+
let driverUtil;
|
|
727
|
+
async function makeTextMessage(internal, binding, positions) {
|
|
728
|
+
if (driverUtil === undefined) {
|
|
729
|
+
try {
|
|
730
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
731
|
+
driverUtil = require('node-firebird-driver-native/dist/lib/fb-util');
|
|
732
|
+
if (typeof driverUtil?.createDataWriter !== 'function' || typeof driverUtil.createDescriptors !== 'function') {
|
|
733
|
+
driverUtil = null;
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
catch {
|
|
737
|
+
driverUtil = null;
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
const util = driverUtil;
|
|
741
|
+
// Made from the driver's own message, whichever is in place.
|
|
742
|
+
const base = binding.original?.inMetadata ?? internal.inMetadata;
|
|
743
|
+
const client = internal.attachment?.client;
|
|
744
|
+
if (!util || !base || typeof base.getBuilderSync !== 'function' || typeof client?.statusAction !== 'function') {
|
|
745
|
+
return undefined;
|
|
746
|
+
}
|
|
747
|
+
return client.statusAction(async (status) => {
|
|
748
|
+
const builder = base.getBuilderSync(status);
|
|
749
|
+
let inMetadata;
|
|
750
|
+
try {
|
|
751
|
+
for (const i of positions) {
|
|
752
|
+
builder.setTypeSync(status, i, SQL_VARYING);
|
|
753
|
+
builder.setSubTypeSync(status, i, 0);
|
|
754
|
+
builder.setLengthSync(status, i, TEXT_LENGTH);
|
|
755
|
+
builder.setCharSetSync(status, i, CS_UTF8);
|
|
756
|
+
builder.setScaleSync(status, i, 0);
|
|
757
|
+
}
|
|
758
|
+
inMetadata = builder.getMetadataSync(status);
|
|
759
|
+
}
|
|
760
|
+
finally {
|
|
761
|
+
builder.releaseSync();
|
|
762
|
+
}
|
|
763
|
+
return {
|
|
764
|
+
inMetadata,
|
|
765
|
+
inBuffer: new Uint8Array(inMetadata.getMessageLengthSync(status)),
|
|
766
|
+
dataWriter: util.createDataWriter(util.createDescriptors(status, inMetadata)),
|
|
767
|
+
};
|
|
768
|
+
});
|
|
769
|
+
}
|
|
770
|
+
/**
|
|
771
|
+
* Hand the driver back its own message when the statement is disposed, for
|
|
772
|
+
* it to release as it always does, and release the ones made here.
|
|
773
|
+
*/
|
|
774
|
+
function releaseMessagesOnDispose(internal, binding) {
|
|
775
|
+
const dispose = internal.internalDispose;
|
|
776
|
+
if (typeof dispose !== 'function')
|
|
777
|
+
return;
|
|
778
|
+
internal.internalDispose = async function () {
|
|
779
|
+
if (binding.original) {
|
|
780
|
+
internal.inMetadata = binding.original.inMetadata;
|
|
781
|
+
internal.inBuffer = binding.original.inBuffer;
|
|
782
|
+
internal.dataWriter = binding.original.dataWriter;
|
|
783
|
+
}
|
|
784
|
+
for (const message of binding.variants.values())
|
|
785
|
+
message.inMetadata.releaseSync();
|
|
786
|
+
binding.variants.clear();
|
|
787
|
+
binding.current = '';
|
|
788
|
+
return dispose.call(this);
|
|
789
|
+
};
|
|
790
|
+
}
|
|
564
791
|
/** Character sets by id, read once per connection. */
|
|
565
792
|
const charsetCache = new WeakMap();
|
|
566
793
|
async function characterSets(attachment, transaction) {
|
|
@@ -685,6 +912,7 @@ class StatementCache {
|
|
|
685
912
|
* runs and returns nothing.
|
|
686
913
|
*/
|
|
687
914
|
async function fetchRows(stmt, transaction, params, columnCount) {
|
|
915
|
+
params = await bindParams(stmt, transaction, params);
|
|
688
916
|
if (stmt.hasResultSet) {
|
|
689
917
|
const resultSet = await stmt.executeQuery(transaction, params);
|
|
690
918
|
// A failing fetch must still close.
|
package/dist/firebird.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebird.js","sourceRoot":"","sources":["../src/firebird.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firebird.js","sourceRoot":"","sources":["../src/firebird.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* query-store.ts – a query's rows as a value a UI framework can watch.
|
|
3
|
+
*
|
|
4
|
+
* The React and Vue bindings are thin: each wraps a {@link QueryStore}, which
|
|
5
|
+
* runs a statement once (`query()`) or keeps it running (`live()`), and holds
|
|
6
|
+
* the latest `{ rows, error, loading }` for whoever subscribed. What both
|
|
7
|
+
* frameworks get wrong in the same way without it lives here once: a result
|
|
8
|
+
* that arrives after the component moved on to another query, a live query
|
|
9
|
+
* that resolves after it was stopped, and a stop and restart of the same store
|
|
10
|
+
* (React's StrictMode does exactly that on every mount).
|
|
11
|
+
*/
|
|
12
|
+
import type { SqlFragment } from '../sql-tag';
|
|
13
|
+
import type { QueryParams, QueryResult, Row } from '../types';
|
|
14
|
+
import type { LiveQuery, LiveQueryOptions } from '../browser/firebird-browser';
|
|
15
|
+
/**
|
|
16
|
+
* What the store needs of a database: `FirebirdBrowser` has both.
|
|
17
|
+
*
|
|
18
|
+
* Structural, so a test can hand it a stand-in, and so the bindings import no
|
|
19
|
+
* engine code of their own.
|
|
20
|
+
*/
|
|
21
|
+
export interface QueryableDatabase {
|
|
22
|
+
query<T extends Row = Row>(sql: string, params?: QueryParams): Promise<QueryResult<T>>;
|
|
23
|
+
live<T extends Row = Row>(sql: string, options: LiveQueryOptions, onChange: (rows: T[], result: QueryResult<T>) => void): Promise<LiveQuery<T>>;
|
|
24
|
+
}
|
|
25
|
+
/** The state a component renders from. */
|
|
26
|
+
export interface QueryState<T> {
|
|
27
|
+
/**
|
|
28
|
+
* The latest rows, or `undefined` before the first result. While a new
|
|
29
|
+
* query (other SQL or parameters) loads, the previous one's rows stay here,
|
|
30
|
+
* so a list does not blank out between two results.
|
|
31
|
+
*/
|
|
32
|
+
readonly rows: T[] | undefined;
|
|
33
|
+
/** Why the latest run failed; cleared by the next result. */
|
|
34
|
+
readonly error: Error | undefined;
|
|
35
|
+
/** True until this query's first result or error. */
|
|
36
|
+
readonly loading: boolean;
|
|
37
|
+
}
|
|
38
|
+
/** Options shared by the bindings' hooks. */
|
|
39
|
+
export interface QueryStoreOptions {
|
|
40
|
+
/**
|
|
41
|
+
* Event names to watch, as posted by `POST_EVENT`: with any, the statement
|
|
42
|
+
* runs again each time one fires (`FirebirdBrowser.live()`). Without, it
|
|
43
|
+
* runs once.
|
|
44
|
+
*/
|
|
45
|
+
events?: readonly string[];
|
|
46
|
+
/** As `LiveQueryOptions.pollIntervalMs`. */
|
|
47
|
+
pollIntervalMs?: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* One statement with its parameters, run against one database.
|
|
51
|
+
*
|
|
52
|
+
* Immutable in what it runs: other SQL or parameters make a new store, which
|
|
53
|
+
* is how a stale result can never land in the wrong one.
|
|
54
|
+
*/
|
|
55
|
+
export declare class QueryStore<T extends Row = Row> {
|
|
56
|
+
private readonly db;
|
|
57
|
+
readonly sql: string;
|
|
58
|
+
readonly params: QueryParams;
|
|
59
|
+
private readonly options;
|
|
60
|
+
private state;
|
|
61
|
+
private readonly listeners;
|
|
62
|
+
/** Bumped by every start() and stop(); a result from an older run is dropped. */
|
|
63
|
+
private generation;
|
|
64
|
+
private running;
|
|
65
|
+
private live;
|
|
66
|
+
/** The one-off run in flight, settled once its result or error is applied. */
|
|
67
|
+
private pending;
|
|
68
|
+
constructor(db: QueryableDatabase, sql: string, params: QueryParams, options?: QueryStoreOptions, placeholder?: T[]);
|
|
69
|
+
/** For `useSyncExternalStore`: register a listener, get its removal. */
|
|
70
|
+
readonly subscribe: (listener: () => void) => (() => void);
|
|
71
|
+
/** The current state; the same object until something changes. */
|
|
72
|
+
readonly getSnapshot: () => QueryState<T>;
|
|
73
|
+
/** Run the statement, and with events keep running it. Idempotent. */
|
|
74
|
+
start(): void;
|
|
75
|
+
/** Stop watching; results still in flight are dropped. start() may follow. */
|
|
76
|
+
stop(): void;
|
|
77
|
+
/** Run the statement again now, without waiting for an event. */
|
|
78
|
+
readonly refresh: () => Promise<void>;
|
|
79
|
+
private fail;
|
|
80
|
+
private set;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The statement a hook was given, resolved: SQL text and parameters from a
|
|
84
|
+
* string with parameters, or from an `sql` tagged template.
|
|
85
|
+
*/
|
|
86
|
+
export declare function resolveStatement(query: string | SqlFragment, params: QueryParams | undefined): {
|
|
87
|
+
sql: string;
|
|
88
|
+
params: QueryParams;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* A string that is equal exactly when two calls would run the same thing.
|
|
92
|
+
*
|
|
93
|
+
* Components pass a fresh parameter array on every render; comparing by
|
|
94
|
+
* identity would restart the query each time. Types JSON would merge are
|
|
95
|
+
* kept apart: a Date and its ISO string, a bigint and a number, bytes and an
|
|
96
|
+
* array of numbers.
|
|
97
|
+
*/
|
|
98
|
+
export declare function queryKey(sql: string, params: QueryParams, options?: QueryStoreOptions): string;
|
|
99
|
+
//# sourceMappingURL=query-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-store.d.ts","sourceRoot":"","sources":["../../src/frameworks/query-store.ts"],"names":[],"mappings":"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"}
|