camusdb 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -4
- package/dist/auth/rest-login-client.d.ts.map +1 -1
- package/dist/auth/rest-login-client.js +15 -1
- package/dist/auth/rest-login-client.js.map +1 -1
- package/dist/auth/token-provider.d.ts +14 -0
- package/dist/auth/token-provider.d.ts.map +1 -1
- package/dist/auth/token-provider.js +39 -11
- package/dist/auth/token-provider.js.map +1 -1
- package/dist/client.d.ts +24 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +78 -8
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/json.d.ts.map +1 -1
- package/dist/json.js +42 -8
- package/dist/json.js.map +1 -1
- package/dist/own-record.d.ts +16 -0
- package/dist/own-record.d.ts.map +1 -0
- package/dist/own-record.js +18 -0
- package/dist/own-record.js.map +1 -0
- package/dist/query-stream.d.ts +4 -4
- package/dist/query-stream.js +4 -4
- package/dist/result-set.d.ts +4 -2
- package/dist/result-set.d.ts.map +1 -1
- package/dist/result-set.js +25 -8
- package/dist/result-set.js.map +1 -1
- package/dist/retry.d.ts +4 -1
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +16 -4
- package/dist/retry.js.map +1 -1
- package/dist/sequence.d.ts +62 -0
- package/dist/sequence.d.ts.map +1 -0
- package/dist/sequence.js +70 -0
- package/dist/sequence.js.map +1 -0
- package/dist/sql-syntax.d.ts +21 -1
- package/dist/sql-syntax.d.ts.map +1 -1
- package/dist/sql-syntax.js +30 -1
- package/dist/sql-syntax.js.map +1 -1
- package/dist/statements.d.ts.map +1 -1
- package/dist/statements.js +5 -0
- package/dist/statements.js.map +1 -1
- package/dist/transport/grpc/batch-frames.d.ts +7 -1
- package/dist/transport/grpc/batch-frames.d.ts.map +1 -1
- package/dist/transport/grpc/batch-frames.js +11 -3
- package/dist/transport/grpc/batch-frames.js.map +1 -1
- package/dist/transport/grpc/grpc-transport.d.ts +3 -1
- package/dist/transport/grpc/grpc-transport.d.ts.map +1 -1
- package/dist/transport/grpc/grpc-transport.js +12 -3
- package/dist/transport/grpc/grpc-transport.js.map +1 -1
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +5 -1
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/ndjson-row-source.d.ts.map +1 -1
- package/dist/transport/ndjson-row-source.js +16 -3
- package/dist/transport/ndjson-row-source.js.map +1 -1
- package/dist/transport/rest-transport.d.ts.map +1 -1
- package/dist/transport/rest-transport.js +5 -2
- package/dist/transport/rest-transport.js.map +1 -1
- package/dist/transport/transport.d.ts +4 -3
- package/dist/transport/transport.d.ts.map +1 -1
- package/dist/transport/transport.js.map +1 -1
- package/dist/values/encode.d.ts.map +1 -1
- package/dist/values/encode.js +7 -2
- package/dist/values/encode.js.map +1 -1
- package/dist/values/typed.d.ts.map +1 -1
- package/dist/values/typed.js +22 -1
- package/dist/values/typed.js.map +1 -1
- package/dist/values/uuid.d.ts +7 -1
- package/dist/values/uuid.d.ts.map +1 -1
- package/dist/values/uuid.js +15 -6
- package/dist/values/uuid.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -269,6 +269,14 @@ await client.query('SELECT * FROM robots WHERE key = @key AND made = @made AND t
|
|
|
269
269
|
|
|
270
270
|
An empty array needs `camus.array`: there is no element to read a type from.
|
|
271
271
|
|
|
272
|
+
Each helper validates its argument, so a bad value is reported at the call site rather than by the
|
|
273
|
+
server. `camus.id` takes the 24 hexadecimal characters of an ObjectId, and `camus.uuid` takes the
|
|
274
|
+
canonical hyphenated string.
|
|
275
|
+
|
|
276
|
+
A UUID string is always sent as a `Uuid`, also when an array declares its element type as
|
|
277
|
+
`ColumnType.Id`. A 16-byte UUID can never be a 12-byte ObjectId, so the server never matches it
|
|
278
|
+
against an `OID` column. `camus.array(uuids, ColumnType.Id)` therefore sends a `Uuid` array.
|
|
279
|
+
|
|
272
280
|
---
|
|
273
281
|
|
|
274
282
|
## Types
|
|
@@ -458,6 +466,40 @@ Three codes belong to this feature:
|
|
|
458
466
|
A read without a snapshot that keeps seeing a row change under it fails with the retryable
|
|
459
467
|
`CADB0504`, which `withRetry` and `client.transaction` already retry.
|
|
460
468
|
|
|
469
|
+
### Sequences
|
|
470
|
+
|
|
471
|
+
A server from 0.13.2 on has sequences. A sequence stores `int64` values only, has a positive
|
|
472
|
+
increment, and never cycles. The server refuses `CYCLE` with `CADB0533`, because a counter that
|
|
473
|
+
wraps would issue again the values that committed rows already hold.
|
|
474
|
+
|
|
475
|
+
`CREATE SEQUENCE`, `ALTER SEQUENCE`, and `DROP SEQUENCE` go to the DDL route. Two helpers compose
|
|
476
|
+
the create and the drop statements:
|
|
477
|
+
|
|
478
|
+
```ts
|
|
479
|
+
import { createSequenceStatement, dropSequenceStatement, nextValueExpression } from 'camusdb';
|
|
480
|
+
|
|
481
|
+
await client.executeDdl(createSequenceStatement('ticket_numbers', { startWith: 1000, ifNotExists: true }));
|
|
482
|
+
|
|
483
|
+
await client.executeDdl(
|
|
484
|
+
`CREATE TABLE tickets (
|
|
485
|
+
id OID PRIMARY KEY NOT NULL,
|
|
486
|
+
number INT64 DEFAULT (${nextValueExpression('ticket_numbers')}),
|
|
487
|
+
subject STRING
|
|
488
|
+
)`,
|
|
489
|
+
);
|
|
490
|
+
|
|
491
|
+
const next = await client.nextSequenceValue('ticket_numbers'); // a bigint
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
When you leave out `minValue`, the minimum is the server default, 1. The helper never writes
|
|
495
|
+
`NO MINVALUE`, because the server reads it as the smallest 64-bit value.
|
|
496
|
+
|
|
497
|
+
`nextSequenceValue` runs `SELECT nextval('…')`, inside the `transaction` option when you give one. A
|
|
498
|
+
rollback does not return the value: the server never issues a sequence value two times. Inside the
|
|
499
|
+
same transaction, `SELECT currval('…')` returns the value again. The server accepts `nextval` only
|
|
500
|
+
where it can count the values before the statement runs, so a `nextval` in a derived table fails
|
|
501
|
+
with `CADB0547`.
|
|
502
|
+
|
|
461
503
|
---
|
|
462
504
|
|
|
463
505
|
## Streaming
|
|
@@ -484,10 +526,10 @@ Two limits are worth knowing:
|
|
|
484
526
|
- **It is incremental over REST only.** The gRPC data plane multiplexes results over shared streams
|
|
485
527
|
that decode a whole result before returning, so gRPC buffers and replays. Your code is the same;
|
|
486
528
|
the memory saving is not there.
|
|
487
|
-
- **
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
529
|
+
- **A lost conflict surfaces while you read.** Rows can reach you before the statement's own short
|
|
530
|
+
transaction commits, so a conflict that surfaces late is raised from the iteration rather than
|
|
531
|
+
from the call. The driver retries no autocommit statement, `query` included: run the work in
|
|
532
|
+
`client.transaction`, or wrap it in `withRetry`, when you need a retry.
|
|
491
533
|
|
|
492
534
|
---
|
|
493
535
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-login-client.d.ts","sourceRoot":"","sources":["../../src/auth/rest-login-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAW5E;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAChD,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"rest-login-client.d.ts","sourceRoot":"","sources":["../../src/auth/rest-login-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAW5E;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAChD,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC;IA6CtB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAgB3G"}
|
|
@@ -26,7 +26,21 @@ export class RestLoginClient {
|
|
|
26
26
|
const text = await readBody(response);
|
|
27
27
|
if (!response.ok)
|
|
28
28
|
throw translateErrorBody(response.status, text);
|
|
29
|
-
|
|
29
|
+
if (text.length === 0) {
|
|
30
|
+
// A 200 with nothing in it is a broken reply, not a rejected credential. Reporting it as
|
|
31
|
+
// `AuthenticationFailed` would make the provider throw away a token the server never
|
|
32
|
+
// refused.
|
|
33
|
+
throw new CamusError(CamusErrorCode.Generic, 'The login endpoint returned an empty body.');
|
|
34
|
+
}
|
|
35
|
+
let body;
|
|
36
|
+
try {
|
|
37
|
+
body = parseLossless(text);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
throw new CamusError(CamusErrorCode.Generic, 'The login endpoint returned a body that is not valid JSON.', {
|
|
41
|
+
cause: error,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
30
44
|
if (body === null || body.status !== 'ok' || body.token === undefined || body.token.length === 0) {
|
|
31
45
|
throw new CamusError(body?.code ?? CamusErrorCode.AuthenticationFailed, body?.message ?? 'Authentication failed');
|
|
32
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-login-client.js","sourceRoot":"","sources":["../../src/auth/rest-login-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAY9E;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAC1B,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,IAAY,EACZ,QAAgB,EAChB,cAAsB,EACtB,MAAoB;QAEpB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;YAC7C,QAAQ;YACR,IAAI,EAAE,CAAC,OAAO,CAAC;YACf,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,cAAc;YACd,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAElE,
|
|
1
|
+
{"version":3,"file":"rest-login-client.js","sourceRoot":"","sources":["../../src/auth/rest-login-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,11 @@ export declare class CamusTokenProvider {
|
|
|
62
62
|
private readonly lifetimeMs;
|
|
63
63
|
/** The single login in flight, if any. Every racing caller awaits this same promise. */
|
|
64
64
|
private inFlight;
|
|
65
|
+
/**
|
|
66
|
+
* Which credential set a login belongs to. `login()` raises it, so a login started with the
|
|
67
|
+
* credentials that call replaced cannot publish its token over the new ones.
|
|
68
|
+
*/
|
|
69
|
+
private generation;
|
|
65
70
|
/** @internal Test hook: the wall clock this provider reads. */
|
|
66
71
|
clock: () => number;
|
|
67
72
|
constructor(init: {
|
|
@@ -109,6 +114,15 @@ export declare class CamusTokenProvider {
|
|
|
109
114
|
*/
|
|
110
115
|
logout(signal?: AbortSignal): Promise<void>;
|
|
111
116
|
private tryGetCached;
|
|
117
|
+
/**
|
|
118
|
+
* Starts the one login every racing caller joins.
|
|
119
|
+
*
|
|
120
|
+
* The finally clause clears `inFlight` only when it still points at this login. A login that
|
|
121
|
+
* `login()` superseded therefore leaves the newer flight in place, and a caller that arrives
|
|
122
|
+
* after it settles joins that flight rather than starting a third login against a rate-limited
|
|
123
|
+
* endpoint.
|
|
124
|
+
*/
|
|
125
|
+
private startLogin;
|
|
112
126
|
private loginOnce;
|
|
113
127
|
/**
|
|
114
128
|
* When to mint the next token.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-provider.d.ts","sourceRoot":"","sources":["../../src/auth/token-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,mBAAmB,CAAC;AAE5E,sFAAsF;AACtF,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAE1E;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,GAAG,kBAAkB;IAIjF,wDAAwD;IACxD,MAAM,CAAC,WAAW,IAAI,IAAI;IAI1B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAEtD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAW/E,OAAO,CAAC,WAAW,CAAmB;IAEtC,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqD;IAExF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAE/C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAe;IAErD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAA8B;IAE9C,+DAA+D;IAC/D,KAAK,EAAE,MAAM,MAAM,CAAoB;gBAE3B,IAAI,EAAE;QAChB,WAAW,EAAE,gBAAgB,CAAC;QAC9B,kBAAkB,EAAE,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACvE,eAAe,EAAE,MAAM,MAAM,CAAC;QAC9B,qBAAqB,EAAE,MAAM,MAAM,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAYD;;;OAGG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,0FAA0F;IAC1F,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;OAIG;IACH,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED;;;OAGG;IACG,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"token-provider.d.ts","sourceRoot":"","sources":["../../src/auth/token-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,mBAAmB,CAAC;AAE5E,sFAAsF;AACtF,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAE1E;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,GAAG,kBAAkB;IAIjF,wDAAwD;IACxD,MAAM,CAAC,WAAW,IAAI,IAAI;IAI1B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAEtD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAW/E,OAAO,CAAC,WAAW,CAAmB;IAEtC,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqD;IAExF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAE/C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAe;IAErD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAA8B;IAE9C;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAK;IAEvB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,MAAM,CAAoB;gBAE3B,IAAI,EAAE;QAChB,WAAW,EAAE,gBAAgB,CAAC;QAC9B,kBAAkB,EAAE,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACvE,eAAe,EAAE,MAAM,MAAM,CAAC;QAC9B,qBAAqB,EAAE,MAAM,MAAM,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAYD;;;OAGG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,0FAA0F;IAC1F,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;OAIG;IACH,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED;;;OAGG;IACG,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAWjE;;;;;;OAMG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAShD;;;OAGG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAalF;;;;OAIG;IACG,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjD,OAAO,CAAC,YAAY;IAOpB;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;YASJ,SAAS;IAuCvB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;CAMvB"}
|
|
@@ -77,6 +77,11 @@ export class CamusTokenProvider {
|
|
|
77
77
|
lifetimeMs;
|
|
78
78
|
/** The single login in flight, if any. Every racing caller awaits this same promise. */
|
|
79
79
|
inFlight;
|
|
80
|
+
/**
|
|
81
|
+
* Which credential set a login belongs to. `login()` raises it, so a login started with the
|
|
82
|
+
* credentials that call replaced cannot publish its token over the new ones.
|
|
83
|
+
*/
|
|
84
|
+
generation = 0;
|
|
80
85
|
/** @internal Test hook: the wall clock this provider reads. */
|
|
81
86
|
clock = () => Date.now();
|
|
82
87
|
constructor(init) {
|
|
@@ -119,9 +124,7 @@ export class CamusTokenProvider {
|
|
|
119
124
|
if (!this.isEnabled)
|
|
120
125
|
return undefined;
|
|
121
126
|
// A caller that arrives during a login awaits that login rather than issuing its own.
|
|
122
|
-
this.inFlight ??= this.
|
|
123
|
-
this.inFlight = undefined;
|
|
124
|
-
});
|
|
127
|
+
this.inFlight ??= this.startLogin(signal);
|
|
125
128
|
return this.inFlight;
|
|
126
129
|
}
|
|
127
130
|
/**
|
|
@@ -149,11 +152,11 @@ export class CamusTokenProvider {
|
|
|
149
152
|
this.credentials = credentialsFromPassword(user, password);
|
|
150
153
|
this.token = undefined;
|
|
151
154
|
this.renewAfter = 0;
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
this.inFlight =
|
|
156
|
-
return
|
|
155
|
+
// A login already in flight carries the credentials this call replaces. The new generation
|
|
156
|
+
// stops it from publishing its token, and it is no longer the flight a queued caller joins.
|
|
157
|
+
this.generation++;
|
|
158
|
+
this.inFlight = undefined;
|
|
159
|
+
return this.startLogin(signal);
|
|
157
160
|
}
|
|
158
161
|
/**
|
|
159
162
|
* Revokes the cached token on the server and forgets it. The configured credentials are kept, so
|
|
@@ -176,6 +179,22 @@ export class CamusTokenProvider {
|
|
|
176
179
|
return undefined;
|
|
177
180
|
return this.clock() < this.renewAfter ? this.token : undefined;
|
|
178
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Starts the one login every racing caller joins.
|
|
184
|
+
*
|
|
185
|
+
* The finally clause clears `inFlight` only when it still points at this login. A login that
|
|
186
|
+
* `login()` superseded therefore leaves the newer flight in place, and a caller that arrives
|
|
187
|
+
* after it settles joins that flight rather than starting a third login against a rate-limited
|
|
188
|
+
* endpoint.
|
|
189
|
+
*/
|
|
190
|
+
startLogin(signal) {
|
|
191
|
+
const pending = this.loginOnce(signal).finally(() => {
|
|
192
|
+
if (this.inFlight === pending)
|
|
193
|
+
this.inFlight = undefined;
|
|
194
|
+
});
|
|
195
|
+
this.inFlight = pending;
|
|
196
|
+
return pending;
|
|
197
|
+
}
|
|
179
198
|
async loginOnce(signal) {
|
|
180
199
|
// Re-checked inside the single-flight gate: the caller that queued behind the winner finds the
|
|
181
200
|
// token it minted.
|
|
@@ -185,10 +204,19 @@ export class CamusTokenProvider {
|
|
|
185
204
|
if (!this.canRenew) {
|
|
186
205
|
throw new CamusError(CamusErrorCode.AuthenticationFailed, 'The supplied access token was rejected and this client has no credentials to obtain a new one.');
|
|
187
206
|
}
|
|
207
|
+
// Both are read before the first await. A `login()` call during the round trip must not change
|
|
208
|
+
// which identity this flight authenticates as, and it must not let this flight publish a token
|
|
209
|
+
// over the credentials that call installed.
|
|
210
|
+
const credentials = this.credentials;
|
|
211
|
+
const generation = this.generation;
|
|
188
212
|
const client = await this.resolveLoginClient();
|
|
189
|
-
const minted = await client.login(this.resolveEndpoint(),
|
|
190
|
-
this
|
|
191
|
-
|
|
213
|
+
const minted = await client.login(this.resolveEndpoint(), credentials.user, credentials.password, this.resolveTimeoutSeconds(), signal);
|
|
214
|
+
// A `login()` call during the round trip replaced the credentials this token was minted with.
|
|
215
|
+
// The caller that asked for it still receives it; it does not become the cached token.
|
|
216
|
+
if (generation === this.generation) {
|
|
217
|
+
this.token = minted.token;
|
|
218
|
+
this.renewAfter = this.clock() + this.renewalDelayMs(minted.expiresInMs);
|
|
219
|
+
}
|
|
192
220
|
return minted.token;
|
|
193
221
|
}
|
|
194
222
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-provider.js","sourceRoot":"","sources":["../../src/auth/token-provider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"token-provider.js","sourceRoot":"","sources":["../../src/auth/token-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -166,8 +166,10 @@ export declare class CamusClient implements AsyncDisposable {
|
|
|
166
166
|
* shared streams that decode a whole result before returning, so this buffers and replays: the
|
|
167
167
|
* caller's code is the same, but the memory saving is not there.
|
|
168
168
|
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
169
|
+
* A serializable conflict is reported to the caller here, as it is on the buffered `query` path:
|
|
170
|
+
* neither path retries a statement on its own. Rows can reach this side before the statement's
|
|
171
|
+
* own short transaction commits, so a late conflict surfaces from the iteration. Run the work in
|
|
172
|
+
* `client.transaction`, or wrap the call in `withRetry`, when you need a retry.
|
|
171
173
|
*/
|
|
172
174
|
queryStream<T = Record<string, unknown>>(sql: string, parameters?: Parameters, options?: StatementOptions): Promise<CamusQueryStream<T>>;
|
|
173
175
|
/**
|
|
@@ -353,6 +355,23 @@ export declare class CamusClient implements AsyncDisposable {
|
|
|
353
355
|
signal?: AbortSignal;
|
|
354
356
|
timeoutSeconds?: number;
|
|
355
357
|
}): Promise<void>;
|
|
358
|
+
/**
|
|
359
|
+
* Draws the next value of a sequence with `SELECT nextval('…')` and returns it as a `bigint`.
|
|
360
|
+
*
|
|
361
|
+
* ```ts
|
|
362
|
+
* const ticket = await client.nextSequenceValue('ticket_numbers');
|
|
363
|
+
* ```
|
|
364
|
+
*
|
|
365
|
+
* With a `transaction`, the call runs inside it. A rollback does not return the value: the server
|
|
366
|
+
* never issues a sequence value two times. Inside the same transaction, `SELECT currval('…')`
|
|
367
|
+
* returns the value again.
|
|
368
|
+
*
|
|
369
|
+
* The server accepts `nextval` only where it can count the values before the statement runs. A
|
|
370
|
+
* `nextval` in a derived table fails with `CADB0547`.
|
|
371
|
+
*
|
|
372
|
+
* @throws {TypeError} when the name cannot be a sequence name.
|
|
373
|
+
*/
|
|
374
|
+
nextSequenceValue(name: string, options?: StatementOptions): Promise<bigint>;
|
|
356
375
|
/** Drops every cached query result in one family, for the current database. */
|
|
357
376
|
evictCache(name: string, options?: StatementOptions): Promise<void>;
|
|
358
377
|
/** Drops every cached query result for the current database. It never touches another one's. */
|
|
@@ -408,7 +427,9 @@ export declare class CamusClient implements AsyncDisposable {
|
|
|
408
427
|
* does decide is whether to ask again. A refusal specific to this statement stops asking for that
|
|
409
428
|
* statement; anything that says the node has no prepared-statement support at all stops asking
|
|
410
429
|
* for every statement, because one round trip per distinct SQL to relearn that is worse than not
|
|
411
|
-
* trying.
|
|
430
|
+
* trying. A failure that never reached a verdict — a timeout, an unreachable node — drops the
|
|
431
|
+
* entry instead, so one network blip does not cost this statement its registration for the life
|
|
432
|
+
* of the process.
|
|
412
433
|
*/
|
|
413
434
|
private register;
|
|
414
435
|
/**
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAI5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -15,6 +15,8 @@ import { PrepareDecision } from './prepared/policy.js';
|
|
|
15
15
|
import { CamusQueryStream } from './query-stream.js';
|
|
16
16
|
import { RowMapper } from './result-set.js';
|
|
17
17
|
import { delay, isRetryable, withRetry } from './retry.js';
|
|
18
|
+
import { selectNextValueStatement } from './sequence.js';
|
|
19
|
+
import { isValidDatabaseName } from './sql-syntax.js';
|
|
18
20
|
import { ClientRuntime } from './runtime.js';
|
|
19
21
|
import { ROUTING_ACCEPT_VERSION } from './routing/advice.js';
|
|
20
22
|
import { CamusRouteOpKind } from './routing/route-cache.js';
|
|
@@ -103,6 +105,10 @@ export class CamusClient {
|
|
|
103
105
|
if (database.trim().length === 0) {
|
|
104
106
|
throw new CamusError(CamusErrorCode.Generic, 'A database name cannot be empty.');
|
|
105
107
|
}
|
|
108
|
+
if (!isValidDatabaseName(database)) {
|
|
109
|
+
throw new CamusError(CamusErrorCode.Generic, 'A database name cannot hold a control character. The name is part of a cache key that a ' +
|
|
110
|
+
'newline separates.');
|
|
111
|
+
}
|
|
106
112
|
this.runtime.database = database;
|
|
107
113
|
}
|
|
108
114
|
/** The configuration as text, with every secret masked. Safe to log. */
|
|
@@ -180,8 +186,10 @@ export class CamusClient {
|
|
|
180
186
|
* shared streams that decode a whole result before returning, so this buffers and replays: the
|
|
181
187
|
* caller's code is the same, but the memory saving is not there.
|
|
182
188
|
*
|
|
183
|
-
*
|
|
184
|
-
*
|
|
189
|
+
* A serializable conflict is reported to the caller here, as it is on the buffered `query` path:
|
|
190
|
+
* neither path retries a statement on its own. Rows can reach this side before the statement's
|
|
191
|
+
* own short transaction commits, so a late conflict surfaces from the iteration. Run the work in
|
|
192
|
+
* `client.transaction`, or wrap the call in `withRetry`, when you need a retry.
|
|
185
193
|
*/
|
|
186
194
|
async queryStream(sql, parameters, options = {}) {
|
|
187
195
|
const encoded = encodeParameters(parameters);
|
|
@@ -512,6 +520,33 @@ export class CamusClient {
|
|
|
512
520
|
timeoutSeconds: options.timeoutSeconds,
|
|
513
521
|
});
|
|
514
522
|
}
|
|
523
|
+
// ─── Sequences ────────────────────────────────────────────────────────────
|
|
524
|
+
/**
|
|
525
|
+
* Draws the next value of a sequence with `SELECT nextval('…')` and returns it as a `bigint`.
|
|
526
|
+
*
|
|
527
|
+
* ```ts
|
|
528
|
+
* const ticket = await client.nextSequenceValue('ticket_numbers');
|
|
529
|
+
* ```
|
|
530
|
+
*
|
|
531
|
+
* With a `transaction`, the call runs inside it. A rollback does not return the value: the server
|
|
532
|
+
* never issues a sequence value two times. Inside the same transaction, `SELECT currval('…')`
|
|
533
|
+
* returns the value again.
|
|
534
|
+
*
|
|
535
|
+
* The server accepts `nextval` only where it can count the values before the statement runs. A
|
|
536
|
+
* `nextval` in a derived table fails with `CADB0547`.
|
|
537
|
+
*
|
|
538
|
+
* @throws {TypeError} when the name cannot be a sequence name.
|
|
539
|
+
*/
|
|
540
|
+
async nextSequenceValue(name, options = {}) {
|
|
541
|
+
const value = await this.scalar(selectNextValueStatement(name), undefined, {
|
|
542
|
+
...options,
|
|
543
|
+
int64: 'bigint',
|
|
544
|
+
});
|
|
545
|
+
if (typeof value !== 'bigint') {
|
|
546
|
+
throw new CamusError(CamusErrorCode.Generic, `nextval('${name}') returned no value.`);
|
|
547
|
+
}
|
|
548
|
+
return value;
|
|
549
|
+
}
|
|
515
550
|
// ─── Query result cache ───────────────────────────────────────────────────
|
|
516
551
|
/** Drops every cached query result in one family, for the current database. */
|
|
517
552
|
async evictCache(name, options = {}) {
|
|
@@ -648,7 +683,9 @@ export class CamusClient {
|
|
|
648
683
|
* does decide is whether to ask again. A refusal specific to this statement stops asking for that
|
|
649
684
|
* statement; anything that says the node has no prepared-statement support at all stops asking
|
|
650
685
|
* for every statement, because one round trip per distinct SQL to relearn that is worse than not
|
|
651
|
-
* trying.
|
|
686
|
+
* trying. A failure that never reached a verdict — a timeout, an unreachable node — drops the
|
|
687
|
+
* entry instead, so one network blip does not cost this statement its registration for the life
|
|
688
|
+
* of the process.
|
|
652
689
|
*/
|
|
653
690
|
async register(endpoint, database, sql, options) {
|
|
654
691
|
const policy = this.runtime.preparedStatements;
|
|
@@ -664,12 +701,17 @@ export class CamusClient {
|
|
|
664
701
|
policy.forget(database, sql);
|
|
665
702
|
throw error;
|
|
666
703
|
}
|
|
667
|
-
//
|
|
668
|
-
//
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
if (CamusError.is(error) && isUnsupported(error))
|
|
704
|
+
// The statement is about to run inline and will report any real problem itself. The only
|
|
705
|
+
// decision left here is whether asking again is worth a round trip.
|
|
706
|
+
if (CamusError.is(error) && isUnsupported(error)) {
|
|
707
|
+
policy.markRefused(database, sql);
|
|
672
708
|
policy.disable();
|
|
709
|
+
return false;
|
|
710
|
+
}
|
|
711
|
+
if (declinesStatement(error))
|
|
712
|
+
policy.markRefused(database, sql);
|
|
713
|
+
else
|
|
714
|
+
policy.forget(database, sql);
|
|
673
715
|
return false;
|
|
674
716
|
}
|
|
675
717
|
}
|
|
@@ -712,6 +754,34 @@ export class CamusClient {
|
|
|
712
754
|
}
|
|
713
755
|
}
|
|
714
756
|
}
|
|
757
|
+
/**
|
|
758
|
+
* The codes that say nothing about the statement itself.
|
|
759
|
+
*
|
|
760
|
+
* `Generic` covers a call that was sent and then lost, and every failure the driver could not
|
|
761
|
+
* classify. The rest name the connection or the principal. A statement that meets one of these is
|
|
762
|
+
* left reconsiderable: the next call site asks again.
|
|
763
|
+
*/
|
|
764
|
+
const UNINFORMATIVE_CODES = new Set([
|
|
765
|
+
CamusErrorCode.Generic,
|
|
766
|
+
CamusErrorCode.EndpointUnreachable,
|
|
767
|
+
CamusErrorCode.AuthenticationFailed,
|
|
768
|
+
CamusErrorCode.InsufficientPrivilege,
|
|
769
|
+
CamusErrorCode.TooManyAuthAttempts,
|
|
770
|
+
CamusErrorCode.InsecureTransport,
|
|
771
|
+
]);
|
|
772
|
+
/**
|
|
773
|
+
* True when the server gave a verdict on this statement, rather than the round trip failing.
|
|
774
|
+
*
|
|
775
|
+
* Only a verdict is terminal. A retryable condition, a transport failure, and an error the driver
|
|
776
|
+
* did not raise itself all leave the question open.
|
|
777
|
+
*/
|
|
778
|
+
function declinesStatement(error) {
|
|
779
|
+
if (!CamusError.is(error))
|
|
780
|
+
return false;
|
|
781
|
+
if (isRetryable(error))
|
|
782
|
+
return false;
|
|
783
|
+
return !UNINFORMATIVE_CODES.has(error.code);
|
|
784
|
+
}
|
|
715
785
|
/**
|
|
716
786
|
* True when a failure says the node does not implement prepared statements at all, rather than
|
|
717
787
|
* declining this particular statement.
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAS9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -10,6 +10,7 @@ import { CamusEndpointPool } from './endpoint-pool.js';
|
|
|
10
10
|
import { CamusError } from './errors.js';
|
|
11
11
|
import { CamusErrorCode } from './error-codes.js';
|
|
12
12
|
import { CamusIsolationLevel, CamusLocking, CamusTransactionMode } from './options.js';
|
|
13
|
+
import { isValidDatabaseName } from './sql-syntax.js';
|
|
13
14
|
/** The wire protocol a client speaks. */
|
|
14
15
|
export const CamusProtocol = {
|
|
15
16
|
/** The REST and JSON HTTP API. This is the default. */
|
|
@@ -58,6 +59,10 @@ export function resolveOptions(options) {
|
|
|
58
59
|
if (typeof options.database !== 'string' || options.database.trim().length === 0) {
|
|
59
60
|
throw new CamusError(CamusErrorCode.Generic, 'Database is required.');
|
|
60
61
|
}
|
|
62
|
+
if (!isValidDatabaseName(options.database)) {
|
|
63
|
+
throw new CamusError(CamusErrorCode.Generic, 'Database holds a control character. A database name is part of a cache key that a newline ' +
|
|
64
|
+
'separates, so a control character cannot appear in one.');
|
|
65
|
+
}
|
|
61
66
|
const config = {
|
|
62
67
|
endpointList,
|
|
63
68
|
database: options.database,
|