camusdb 0.6.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.
Files changed (95) hide show
  1. package/README.md +250 -0
  2. package/dist/client.d.ts +73 -39
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +158 -169
  5. package/dist/client.js.map +1 -1
  6. package/dist/config.d.ts +22 -0
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +19 -0
  9. package/dist/config.js.map +1 -1
  10. package/dist/endpoint-pool.d.ts +8 -0
  11. package/dist/endpoint-pool.d.ts.map +1 -1
  12. package/dist/endpoint-pool.js +25 -0
  13. package/dist/endpoint-pool.js.map +1 -1
  14. package/dist/index.d.ts +6 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +4 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/node-stats.d.ts +113 -0
  19. package/dist/node-stats.d.ts.map +1 -0
  20. package/dist/node-stats.js +90 -0
  21. package/dist/node-stats.js.map +1 -0
  22. package/dist/options.d.ts +10 -0
  23. package/dist/options.d.ts.map +1 -1
  24. package/dist/options.js +1 -0
  25. package/dist/options.js.map +1 -1
  26. package/dist/pipeline.d.ts +136 -0
  27. package/dist/pipeline.d.ts.map +1 -0
  28. package/dist/pipeline.js +375 -0
  29. package/dist/pipeline.js.map +1 -0
  30. package/dist/prepared/auto-prepare.d.ts +51 -0
  31. package/dist/prepared/auto-prepare.d.ts.map +1 -0
  32. package/dist/prepared/auto-prepare.js +150 -0
  33. package/dist/prepared/auto-prepare.js.map +1 -0
  34. package/dist/prepared/policy.d.ts +7 -0
  35. package/dist/prepared/policy.d.ts.map +1 -1
  36. package/dist/prepared/policy.js +16 -0
  37. package/dist/prepared/policy.js.map +1 -1
  38. package/dist/query-stream.d.ts +9 -1
  39. package/dist/query-stream.d.ts.map +1 -1
  40. package/dist/query-stream.js +20 -2
  41. package/dist/query-stream.js.map +1 -1
  42. package/dist/retry.d.ts +8 -0
  43. package/dist/retry.d.ts.map +1 -1
  44. package/dist/retry.js +12 -1
  45. package/dist/retry.js.map +1 -1
  46. package/dist/sql-syntax.d.ts +6 -0
  47. package/dist/sql-syntax.d.ts.map +1 -1
  48. package/dist/sql-syntax.js +8 -0
  49. package/dist/sql-syntax.js.map +1 -1
  50. package/dist/statements.d.ts +14 -0
  51. package/dist/statements.d.ts.map +1 -1
  52. package/dist/statements.js +45 -3
  53. package/dist/statements.js.map +1 -1
  54. package/dist/telemetry.d.ts +199 -0
  55. package/dist/telemetry.d.ts.map +1 -0
  56. package/dist/telemetry.js +423 -0
  57. package/dist/telemetry.js.map +1 -0
  58. package/dist/transaction.d.ts +60 -5
  59. package/dist/transaction.d.ts.map +1 -1
  60. package/dist/transaction.js +124 -24
  61. package/dist/transaction.js.map +1 -1
  62. package/dist/transport/authenticating-transport.d.ts +9 -1
  63. package/dist/transport/authenticating-transport.d.ts.map +1 -1
  64. package/dist/transport/authenticating-transport.js +13 -0
  65. package/dist/transport/authenticating-transport.js.map +1 -1
  66. package/dist/transport/grpc/batch-frames.d.ts +23 -5
  67. package/dist/transport/grpc/batch-frames.d.ts.map +1 -1
  68. package/dist/transport/grpc/batch-frames.js +29 -8
  69. package/dist/transport/grpc/batch-frames.js.map +1 -1
  70. package/dist/transport/grpc/batcher.d.ts +69 -5
  71. package/dist/transport/grpc/batcher.d.ts.map +1 -1
  72. package/dist/transport/grpc/batcher.js +217 -10
  73. package/dist/transport/grpc/batcher.js.map +1 -1
  74. package/dist/transport/grpc/grpc-transport.d.ts +35 -1
  75. package/dist/transport/grpc/grpc-transport.d.ts.map +1 -1
  76. package/dist/transport/grpc/grpc-transport.js +193 -7
  77. package/dist/transport/grpc/grpc-transport.js.map +1 -1
  78. package/dist/transport/grpc/messages.d.ts +15 -0
  79. package/dist/transport/grpc/messages.d.ts.map +1 -1
  80. package/dist/transport/grpc/messages.js +9 -0
  81. package/dist/transport/grpc/messages.js.map +1 -1
  82. package/dist/transport/rest-transport.d.ts +9 -1
  83. package/dist/transport/rest-transport.d.ts.map +1 -1
  84. package/dist/transport/rest-transport.js +24 -0
  85. package/dist/transport/rest-transport.js.map +1 -1
  86. package/dist/transport/sequential-pipeline.d.ts +21 -0
  87. package/dist/transport/sequential-pipeline.d.ts.map +1 -0
  88. package/dist/transport/sequential-pipeline.js +119 -0
  89. package/dist/transport/sequential-pipeline.js.map +1 -0
  90. package/dist/transport/transport.d.ts +94 -0
  91. package/dist/transport/transport.d.ts.map +1 -1
  92. package/dist/transport/transport.js +10 -0
  93. package/dist/transport/transport.js.map +1 -1
  94. package/package.json +10 -4
  95. package/proto/camus_sql.proto +114 -0
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { GrpcBatchOptions } from '../../config.js';
8
8
  import type { GrpcBatchExecuteRequest, GrpcBatchExecuteResponse, GrpcResultRow, GrpcResultSchema, GrpcSqlRequest, GrpcTxnHandle } from './messages.js';
9
+ import { GrpcBatchStatementKind } from './messages.js';
9
10
  import type { CamusCacheMetadata } from '../../cache.js';
10
11
  import type { CamusRoutingAdvice } from '../../routing/advice.js';
11
12
  /** The hybrid-logical-clock token a reply carried. All three components are load-bearing. */
@@ -51,18 +52,40 @@ export declare class PreparedStatementStaleError extends Error {
51
52
  readonly name = "PreparedStatementStaleError";
52
53
  constructor();
53
54
  }
55
+ /**
56
+ * One operation of a pipeline handed to `enqueuePipeline`, before the batcher gives it a request
57
+ * id. `expectedTransportId` is the stream that a prepared execution's handle lives on, as for a
58
+ * lone operation.
59
+ */
60
+ export interface PipelineOp {
61
+ readonly kind: GrpcBatchStatementKind;
62
+ readonly request: GrpcSqlRequest;
63
+ readonly expectedTransportId?: number | undefined;
64
+ }
65
+ /**
66
+ * Raised on every operation of a pipeline that the batcher refused to write as one frame, before
67
+ * any of it was written. The causes are a server that announced a contract version below
68
+ * `FRAME_PIPELINE_VERSION`, frames that are off, or a pipeline that does not fit one frame.
69
+ * Nothing ran, so the caller can run the same operations one exchange at a time.
70
+ */
71
+ export declare class PipelineUnsupportedError extends Error {
72
+ readonly name = "PipelineUnsupportedError";
73
+ readonly reason: string;
74
+ constructor(reason: string);
75
+ }
54
76
  /** One `BatchExecute` duplex call, behind an interface a test can substitute for. */
55
77
  export interface BatchStream {
56
78
  /** Identifies this stream. A handle registered on it is invalid on any other. */
57
79
  readonly id: number;
58
80
  /**
59
- * True once this stream's server announced that it reads request frames.
81
+ * The frame contract version this stream's server announced, or 0 while it announced nothing.
60
82
  *
61
- * It never blocks, and it never goes back to false. It is false until the announcement arrives,
62
- * and it stays false against a server that makes none. It belongs to one stream, so a rebuilt
63
- * stream negotiates again on its own.
83
+ * It never blocks, and it never goes down. It is 0 until the announcement arrives, and it stays
84
+ * 0 against a server that makes none. It belongs to one stream, so a rebuilt stream negotiates
85
+ * again on its own. Version 1 lets the batcher write frames. `FRAME_PIPELINE_VERSION` lets it
86
+ * write a whole transaction as one frame.
64
87
  */
65
- readonly framesAnnounced: boolean;
88
+ readonly announcedVersion: number;
66
89
  send(request: GrpcBatchExecuteRequest): void;
67
90
  /** Registers the callbacks that drive the reader loop. Called once, right after construction. */
68
91
  listen(handlers: {
@@ -87,6 +110,13 @@ export interface BatchStream {
87
110
  * always was. It is a transport optimization alone. It gives no atomicity and no ordering that the
88
111
  * stream does not already give.
89
112
  *
113
+ * A whole transaction can travel as one frame. `enqueuePipeline` takes the operations of one
114
+ * transaction — a start that its followers name instead of a handle, statements, and a conditional
115
+ * commit — and places them on the inbox together, so they are written as one frame or not at all.
116
+ * The two items that make this possible are contract version 2. A stream whose server announced
117
+ * less gets none of them: the pipeline faults before any byte is written, and the caller runs the
118
+ * same operations one exchange at a time.
119
+ *
90
120
  * A stream that faults is rebuilt by the next write, and every operation that was in flight on the
91
121
  * old one is failed so its caller can decide whether to replay it. Prepared statements are scoped
92
122
  * to the stream that registered them, and a handle from a stream that is gone is refused at the
@@ -140,6 +170,27 @@ export declare class GrpcBatcher {
140
170
  enqueueStart(request: GrpcSqlRequest, slotIndex: number, signal: AbortSignal | undefined): Promise<GrpcTxnHandle>;
141
171
  enqueueCommit(request: GrpcSqlRequest, slotIndex: number, signal: AbortSignal | undefined): Promise<BatchCausalToken>;
142
172
  enqueueRollback(request: GrpcSqlRequest, slotIndex: number, signal: AbortSignal | undefined): Promise<void>;
173
+ /**
174
+ * Enqueues the operations of one transaction so that they travel as one frame, in the given
175
+ * order: an optional start at the head, statements, and an optional conditional commit at the
176
+ * end. Every operation after a start names it by `txnStartRef`, because its handle does not
177
+ * exist yet.
178
+ *
179
+ * It returns one promise per operation. Each one settles with that operation's own answer — a
180
+ * `GrpcTxnHandle`, a `BatchQueryResult`, a `BatchNonQueryResult`, or a `BatchCausalToken` — or
181
+ * with its own error, as a lone operation's does.
182
+ *
183
+ * The operations go on the slot's inbox together, so no other operation of the same transaction
184
+ * can come between them. They are written together or not at all. A named start and a
185
+ * conditional commit are contract version 2. So on a stream whose server announced less, with
186
+ * frames off, or when the pipeline does not fit one frame, nothing is written and every promise
187
+ * rejects with `PipelineUnsupportedError`. A pipeline of plain statements on a known handle needs
188
+ * no version, and is staged as those operations would be alone, still in order.
189
+ *
190
+ * One signal covers the whole pipeline. A pipeline with a cancelled member is left out whole,
191
+ * because to write the rest could commit a transaction that is missing one of its statements.
192
+ */
193
+ enqueuePipeline(ops: readonly PipelineOp[], slotIndex: number, signal: AbortSignal | undefined): Promise<unknown>[];
143
194
  /**
144
195
  * The registration for a statement on one stream, creating it when there is none.
145
196
  *
@@ -184,6 +235,19 @@ export declare class GrpcBatcher {
184
235
  * order is the only order the callers gave.
185
236
  */
186
237
  private stage;
238
+ /** Writes a routed operation alone, or adds it to the slot's run so it shares the next frame. */
239
+ private place;
240
+ /**
241
+ * Stages a pipeline.
242
+ *
243
+ * The group is routed as one, because its operations are one transaction and so use one stream,
244
+ * and that stream is held for every operation. A group that needs the pipeline contract goes into
245
+ * the slot's run whole. The run is flushed first when it is for another stream or has no room for
246
+ * the whole group. A group that needs no contract version is placed one operation at a time, as
247
+ * lone operations are, still in order. A group that cannot be written as one frame faults whole,
248
+ * before anything is held or written.
249
+ */
250
+ private stageGroup;
187
251
  /**
188
252
  * Writes the slot's run: one frame, or the plain single message when one operation is left in
189
253
  * it, so a quiet stream stays byte-identical to a stream without frames.
@@ -1 +1 @@
1
- {"version":3,"file":"batcher.d.ts","sourceRoot":"","sources":["../../../src/transport/grpc/batcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batcher.d.ts","sourceRoot":"","sources":["../../../src/transport/grpc/batcher.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  import { CamusError } from '../../errors.js';
8
8
  import { CamusErrorCode } from '../../error-codes.js';
9
9
  import { sanitizeErrorText } from '../error-text.js';
10
- import { FRAME_MAX_BYTES, FRAME_MAX_ITEMS, frameCost } from './batch-frames.js';
10
+ import { FRAME_MAX_BYTES, FRAME_MAX_ITEMS, FRAME_PIPELINE_VERSION, frameCost } from './batch-frames.js';
11
11
  import { decodeCacheMetadata, decodeRoutingAdvice, fromWire } from './codec.js';
12
12
  import { GrpcBatchStatementKind } from './messages.js';
13
13
  export const EMPTY_CAUSAL_TOKEN = Object.freeze({ n: 0, l: 0n, c: 0n });
@@ -22,6 +22,20 @@ export class PreparedStatementStaleError extends Error {
22
22
  super("The prepared statement's stream was rebuilt before this execution could be written.");
23
23
  }
24
24
  }
25
+ /**
26
+ * Raised on every operation of a pipeline that the batcher refused to write as one frame, before
27
+ * any of it was written. The causes are a server that announced a contract version below
28
+ * `FRAME_PIPELINE_VERSION`, frames that are off, or a pipeline that does not fit one frame.
29
+ * Nothing ran, so the caller can run the same operations one exchange at a time.
30
+ */
31
+ export class PipelineUnsupportedError extends Error {
32
+ name = 'PipelineUnsupportedError';
33
+ reason;
34
+ constructor(reason) {
35
+ super(`The pipeline cannot be written as one frame on this stream: ${reason}.`);
36
+ this.reason = reason;
37
+ }
38
+ }
25
39
  /**
26
40
  * Pipelines many statements over a small pool of long-lived `BatchExecute` streams.
27
41
  *
@@ -38,6 +52,13 @@ export class PreparedStatementStaleError extends Error {
38
52
  * always was. It is a transport optimization alone. It gives no atomicity and no ordering that the
39
53
  * stream does not already give.
40
54
  *
55
+ * A whole transaction can travel as one frame. `enqueuePipeline` takes the operations of one
56
+ * transaction — a start that its followers name instead of a handle, statements, and a conditional
57
+ * commit — and places them on the inbox together, so they are written as one frame or not at all.
58
+ * The two items that make this possible are contract version 2. A stream whose server announced
59
+ * less gets none of them: the pipeline faults before any byte is written, and the caller runs the
60
+ * same operations one exchange at a time.
61
+ *
41
62
  * A stream that faults is rebuilt by the next write, and every operation that was in flight on the
42
63
  * old one is failed so its caller can decide whether to replay it. Prepared statements are scoped
43
64
  * to the stream that registered them, and a handle from a stream that is gone is refused at the
@@ -123,6 +144,83 @@ export class GrpcBatcher {
123
144
  async enqueueRollback(request, slotIndex, signal) {
124
145
  await this.enqueue(GrpcBatchStatementKind.Rollback, request, slotIndex, signal);
125
146
  }
147
+ /**
148
+ * Enqueues the operations of one transaction so that they travel as one frame, in the given
149
+ * order: an optional start at the head, statements, and an optional conditional commit at the
150
+ * end. Every operation after a start names it by `txnStartRef`, because its handle does not
151
+ * exist yet.
152
+ *
153
+ * It returns one promise per operation. Each one settles with that operation's own answer — a
154
+ * `GrpcTxnHandle`, a `BatchQueryResult`, a `BatchNonQueryResult`, or a `BatchCausalToken` — or
155
+ * with its own error, as a lone operation's does.
156
+ *
157
+ * The operations go on the slot's inbox together, so no other operation of the same transaction
158
+ * can come between them. They are written together or not at all. A named start and a
159
+ * conditional commit are contract version 2. So on a stream whose server announced less, with
160
+ * frames off, or when the pipeline does not fit one frame, nothing is written and every promise
161
+ * rejects with `PipelineUnsupportedError`. A pipeline of plain statements on a known handle needs
162
+ * no version, and is staged as those operations would be alone, still in order.
163
+ *
164
+ * One signal covers the whole pipeline. A pipeline with a cancelled member is left out whole,
165
+ * because to write the rest could commit a transaction that is missing one of its statements.
166
+ */
167
+ enqueuePipeline(ops, slotIndex, signal) {
168
+ if (ops.length === 0)
169
+ return [];
170
+ if (this.disposed) {
171
+ const closed = new CamusError(CamusErrorCode.Generic, 'This gRPC transport is closed.');
172
+ return ops.map(() => Promise.reject(closed));
173
+ }
174
+ if (signal?.aborted === true) {
175
+ return ops.map(() => Promise.reject(signal.reason));
176
+ }
177
+ const items = [];
178
+ const promises = [];
179
+ const group = { items, signal, needsPipelineContract: false, broken: false };
180
+ let start;
181
+ let conditionalCommit = false;
182
+ for (let i = 0; i < ops.length; i++) {
183
+ const source = ops[i];
184
+ const requestId = ++this.requestIdSeq;
185
+ const wire = { requestId, kind: source.kind, request: source.request };
186
+ let op;
187
+ promises.push(new Promise((resolve, reject) => {
188
+ op = {
189
+ requestId,
190
+ kind: source.kind,
191
+ transaction: handleKey(source.request.txnHandle),
192
+ settled: false,
193
+ transportId: 0,
194
+ lease: undefined,
195
+ resolve,
196
+ reject,
197
+ };
198
+ }));
199
+ if (i === 0 && source.kind === GrpcBatchStatementKind.Start) {
200
+ start = op;
201
+ }
202
+ else if (start !== undefined) {
203
+ // Named by request id: the start mints the handle after this is written.
204
+ op.startRef = start;
205
+ wire.txnStartRef = start.requestId;
206
+ }
207
+ conditionalCommit ||= source.kind === GrpcBatchStatementKind.CommitIfOk;
208
+ if (signal !== undefined) {
209
+ const pending = op;
210
+ op.signal = signal;
211
+ op.onAbort = () => this.fault(pending, signal.reason);
212
+ signal.addEventListener('abort', op.onAbort, { once: true });
213
+ }
214
+ this.pending.set(requestId, op);
215
+ items.push({ request: wire, op, expectedTransportId: source.expectedTransportId, group });
216
+ }
217
+ // A lone start, or a run of statements by handle with no conditional commit, is ordinary work.
218
+ group.needsPipelineContract = (start !== undefined && ops.length > 1) || conditionalCommit;
219
+ const slot = this.slots[slotIndex];
220
+ slot.inbox.push(items[0]);
221
+ this.schedule(slot);
222
+ return promises;
223
+ }
126
224
  // ─── Prepared statements ──────────────────────────────────────────────────
127
225
  /**
128
226
  * The registration for a statement on one stream, creating it when there is none.
@@ -276,7 +374,10 @@ export class GrpcBatcher {
276
374
  const item = slot.inbox.shift();
277
375
  if (item === undefined)
278
376
  break;
279
- this.stage(slot, item);
377
+ if (item.group !== undefined)
378
+ this.stageGroup(slot, item.group);
379
+ else
380
+ this.stage(slot, item);
280
381
  drained++;
281
382
  }
282
383
  this.flush(slot);
@@ -344,10 +445,14 @@ export class GrpcBatcher {
344
445
  this.fault(item.op, toError(error));
345
446
  return;
346
447
  }
448
+ this.place(slot, item, lease);
449
+ }
450
+ /** Writes a routed operation alone, or adds it to the slot's run so it shares the next frame. */
451
+ place(slot, item, lease) {
347
452
  // A frame goes only to a server that announced one on this very stream. The announcement is
348
453
  // read, never awaited: until it arrives, and for good against a server that makes none, every
349
454
  // operation is its own message.
350
- const framed = this.options.requestFrames && lease.stream.framesAnnounced;
455
+ const framed = this.options.requestFrames && lease.stream.announcedVersion >= 1;
351
456
  if (slot.run.length > 0 && (!framed || slot.runLease !== lease))
352
457
  this.flush(slot);
353
458
  if (!framed) {
@@ -378,6 +483,80 @@ export class GrpcBatcher {
378
483
  slot.run.push(item);
379
484
  slot.runBytes += cost;
380
485
  }
486
+ /**
487
+ * Stages a pipeline.
488
+ *
489
+ * The group is routed as one, because its operations are one transaction and so use one stream,
490
+ * and that stream is held for every operation. A group that needs the pipeline contract goes into
491
+ * the slot's run whole. The run is flushed first when it is for another stream or has no room for
492
+ * the whole group. A group that needs no contract version is placed one operation at a time, as
493
+ * lone operations are, still in order. A group that cannot be written as one frame faults whole,
494
+ * before anything is held or written.
495
+ */
496
+ stageGroup(slot, group) {
497
+ const items = group.items;
498
+ let lease;
499
+ let cost = 0;
500
+ try {
501
+ // All or nothing, before anything is held. A group with a cancelled member is left out
502
+ // whole, because to write the rest could commit a transaction that is missing a statement.
503
+ if (items.some((item) => !this.mustStillBeWritten(item)))
504
+ throw cancelledError(group.signal);
505
+ lease = this.route(slot, items[0].op);
506
+ for (const item of items) {
507
+ if (item.expectedTransportId !== undefined && lease.stream.id !== item.expectedTransportId) {
508
+ throw new PreparedStatementStaleError();
509
+ }
510
+ }
511
+ if (group.needsPipelineContract) {
512
+ const announced = lease.stream.announcedVersion;
513
+ if (!this.options.requestFrames)
514
+ throw new PipelineUnsupportedError('request frames are off');
515
+ if (announced < FRAME_PIPELINE_VERSION) {
516
+ throw new PipelineUnsupportedError(`the server announced frame contract version ${String(announced)}, below ${String(FRAME_PIPELINE_VERSION)}`);
517
+ }
518
+ if (items.length > FRAME_MAX_ITEMS) {
519
+ throw new PipelineUnsupportedError(`${String(items.length)} operations exceed the ${String(FRAME_MAX_ITEMS)}-item frame limit`);
520
+ }
521
+ for (const item of items)
522
+ cost += frameCost(item.request);
523
+ if (cost > FRAME_MAX_BYTES) {
524
+ throw new PipelineUnsupportedError(`${String(cost)} bytes exceed the ${String(FRAME_MAX_BYTES)}-byte frame limit`);
525
+ }
526
+ }
527
+ for (const item of items) {
528
+ item.op.transportId = lease.stream.id;
529
+ lease.inFlight++;
530
+ item.op.lease = lease;
531
+ }
532
+ }
533
+ catch (error) {
534
+ const failure = toError(error);
535
+ for (const item of items)
536
+ this.fault(item.op, failure);
537
+ return;
538
+ }
539
+ if (!group.needsPipelineContract) {
540
+ for (const item of items)
541
+ this.place(slot, item, lease);
542
+ return;
543
+ }
544
+ if (slot.run.length > 0) {
545
+ if (slot.runBytes < 0)
546
+ slot.runBytes = frameCost(slot.run[0].request);
547
+ if (slot.runLease !== lease ||
548
+ slot.run.length + items.length > FRAME_MAX_ITEMS ||
549
+ slot.runBytes + cost > FRAME_MAX_BYTES) {
550
+ this.flush(slot);
551
+ }
552
+ }
553
+ if (slot.run.length === 0) {
554
+ slot.runLease = lease;
555
+ slot.runBytes = 0;
556
+ }
557
+ slot.run.push(...items);
558
+ slot.runBytes += cost;
559
+ }
381
560
  /**
382
561
  * Writes the slot's run: one frame, or the plain single message when one operation is left in
383
562
  * it, so a quiet stream stays byte-identical to a stream without frames.
@@ -394,8 +573,22 @@ export class GrpcBatcher {
394
573
  slot.runBytes = -1;
395
574
  if (run.length === 0 || lease === undefined)
396
575
  return;
397
- // Cancelled since it was staged: nothing awaits an answer, so leave it out.
398
- const items = run.filter((item) => this.mustStillBeWritten(item)).map((item) => item.request);
576
+ // A pipeline travels whole or not at all. When one of its operations was cancelled after it
577
+ // was staged, the others are left out too, and faulted, so a conditional commit never commits
578
+ // a transaction that is missing a statement.
579
+ for (const item of run) {
580
+ if (item.group !== undefined && !item.group.broken && !this.mustStillBeWritten(item)) {
581
+ item.group.broken = true;
582
+ }
583
+ }
584
+ const items = [];
585
+ for (const item of run) {
586
+ // Cancelled since it was staged: nothing awaits an answer, so leave it out.
587
+ if (item.group?.broken === true)
588
+ this.fault(item.op, cancelledError(item.group.signal));
589
+ else if (this.mustStillBeWritten(item))
590
+ items.push(item.request);
591
+ }
399
592
  if (items.length === 0)
400
593
  return;
401
594
  try {
@@ -662,11 +855,13 @@ export class GrpcBatcher {
662
855
  // that holds a retired stream open until its transaction is on the books.
663
856
  if (op.kind === GrpcBatchStatementKind.Start) {
664
857
  const handle = result;
665
- if (handle !== undefined)
666
- this.transactionBegan(handleKey(handle), op.lease);
858
+ if (handle !== undefined) {
859
+ op.mintedHandle = handleKey(handle);
860
+ this.transactionBegan(op.mintedHandle, op.lease);
861
+ }
667
862
  }
668
863
  else if (this.finalizesTransaction(op)) {
669
- this.transactionEnded(op.transaction);
864
+ this.transactionEnded(transactionOf(op));
670
865
  }
671
866
  this.release(op);
672
867
  op.resolve(result);
@@ -678,12 +873,14 @@ export class GrpcBatcher {
678
873
  // caller cancelled, may still be open there, and the rollback that usually follows it must
679
874
  // find its stream.
680
875
  if (CamusError.is(error) && this.finalizesTransaction(op))
681
- this.transactionEnded(op.transaction);
876
+ this.transactionEnded(transactionOf(op));
682
877
  this.release(op);
683
878
  op.reject(error);
684
879
  }
685
880
  finalizesTransaction(op) {
686
- return op.kind === GrpcBatchStatementKind.Commit || op.kind === GrpcBatchStatementKind.Rollback;
881
+ return (op.kind === GrpcBatchStatementKind.Commit ||
882
+ op.kind === GrpcBatchStatementKind.CommitIfOk ||
883
+ op.kind === GrpcBatchStatementKind.Rollback);
687
884
  }
688
885
  settle(op) {
689
886
  if (op.settled)
@@ -739,9 +936,19 @@ function handleKey(handle) {
739
936
  ? undefined
740
937
  : transactionKey(handle.txnIdPt, handle.txnIdCounter);
741
938
  }
939
+ /** The transaction an operation finishes: by the handle it carries, or by the start it names. */
940
+ function transactionOf(op) {
941
+ return op.transaction ?? op.startRef?.mintedHandle;
942
+ }
742
943
  function streamClosedError() {
743
944
  return new CamusError(CamusErrorCode.Generic, 'The gRPC batch stream closed.');
744
945
  }
946
+ /** The failure of a pipeline operation that was left out because another one was cancelled. */
947
+ function cancelledError(signal) {
948
+ if (signal?.aborted === true)
949
+ return toError(signal.reason);
950
+ return new CamusError(CamusErrorCode.Generic, 'The pipeline was cancelled before it was written.');
951
+ }
745
952
  function toError(error) {
746
953
  return error instanceof Error ? error : new Error(String(error));
747
954
  }
@@ -1 +1 @@
1
- {"version":3,"file":"batcher.js","sourceRoot":"","sources":["../../../src/transport/grpc/batcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batcher.js","sourceRoot":"","sources":["../../../src/transport/grpc/batcher.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,10 @@ import type { CamusTokenProvider } from '../../auth/token-provider.js';
9
9
  import type { GrpcBatchOptions } from '../../config.js';
10
10
  import { CamusError } from '../../errors.js';
11
11
  import type { CamusEndpointPool } from '../../endpoint-pool.js';
12
+ import type { CamusNodeStats } from '../../node-stats.js';
12
13
  import type { CamusTransactionOptions } from '../../options.js';
13
14
  import type { CamusRowSource } from '../../row-source.js';
14
- import type { CamusBranchRow, CamusTransport, NonQueryTransportResult, PreparedStatementInfo, QueryTransportResult, StartTransactionResult, TransportInsertRequest, TransportSqlRequest } from '../transport.js';
15
+ import type { CamusBranchRow, CamusTransport, NonQueryTransportResult, PipelineTransportResult, PreparedStatementInfo, QueryTransportResult, StartTransactionResult, TransportInsertRequest, TransportPipelineRequest, TransportSqlRequest } from '../transport.js';
15
16
  import type { GrpcStatusError } from './proto.js';
16
17
  /**
17
18
  * The gRPC transport.
@@ -51,6 +52,34 @@ export declare class GrpcTransport implements CamusTransport, CamusLoginClient {
51
52
  */
52
53
  executeQueryStream(request: TransportSqlRequest): Promise<CamusRowSource>;
53
54
  executeNonQuery(request: TransportSqlRequest): Promise<NonQueryTransportResult>;
55
+ /**
56
+ * Sends a whole pipeline as one stream message: the start that its statements name by
57
+ * `txnStartRef`, the statements, and a conditional commit. It is one exchange, answered
58
+ * operation by operation.
59
+ *
60
+ * The batcher decides, for each stream and at the moment of the write, whether the pipeline can
61
+ * be written as one frame. The stream's server must have announced the pipeline contract, frames
62
+ * must be on, and the pipeline must fit one frame. When it cannot, every operation fails with
63
+ * `PipelineUnsupportedError` before anything was written. The same request then runs here one
64
+ * exchange per step, exactly as it ran before pipelines.
65
+ *
66
+ * Prepared executions follow the rules for a lone operation (see `executeBatched`). A
67
+ * registration that is found stale before the write is dropped, and the pipeline is sent again,
68
+ * prepared once more and then inline. A transaction that finishes on a rotated-out stream runs
69
+ * inline from the start. A stale handle that the server reports after the pipeline began
70
+ * (`CADB0520`) is a statement failure like any other, because the transaction it began is gone
71
+ * with it. The caller then retries from `BEGIN`, as for a conflict.
72
+ */
73
+ executePipeline(request: TransportPipelineRequest): Promise<PipelineTransportResult>;
74
+ /**
75
+ * The wire operations of a pipeline, in order, and the prepared registration each statement used,
76
+ * so that a stale one can be dropped. An entry is `undefined` for an inline statement. When a
77
+ * registration cannot be had, that statement runs inline, as a lone one does: to prepare is an
78
+ * optimization.
79
+ */
80
+ private buildPipelineOps;
81
+ /** Reads one answered pipeline, operation by operation, into the transport-neutral result. */
82
+ private assemblePipelineResult;
54
83
  prepare(endpoint: string, database: string, sql: string, timeoutSeconds: number, signal?: AbortSignal): Promise<PreparedStatementInfo>;
55
84
  closePrepared(endpoint: string, database: string, sql: string, signal?: AbortSignal): Promise<void>;
56
85
  /**
@@ -64,6 +93,11 @@ export declare class GrpcTransport implements CamusTransport, CamusLoginClient {
64
93
  executeDdl(request: TransportSqlRequest): Promise<boolean>;
65
94
  insert(request: TransportInsertRequest): Promise<number>;
66
95
  ping(endpoint: string, timeoutSeconds: number, signal?: AbortSignal): Promise<boolean>;
96
+ /**
97
+ * Calls `CamusSql.GetNodeStats`. A message field that an older server left unset keeps the -1
98
+ * defaults of the model, and does not become zeros.
99
+ */
100
+ getNodeStats(endpoint: string, timeoutSeconds: number, signal?: AbortSignal): Promise<CamusNodeStats>;
67
101
  createDatabase(endpoint: string, database: string, ifNotExists: boolean, timeoutSeconds: number, signal?: AbortSignal): Promise<void>;
68
102
  createBranchDatabase(endpoint: string, branchName: string, sourceDatabaseName: string, ifNotExists: boolean, timeoutSeconds: number, signal?: AbortSignal): Promise<void>;
69
103
  dropDatabase(endpoint: string, database: string, timeoutSeconds: number, signal?: AbortSignal): Promise<void>;