camusdb 0.4.0 → 0.5.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 (52) hide show
  1. package/README.md +66 -15
  2. package/dist/client.d.ts +27 -18
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +32 -24
  5. package/dist/client.js.map +1 -1
  6. package/dist/column-type.d.ts +5 -0
  7. package/dist/column-type.d.ts.map +1 -1
  8. package/dist/column-type.js +6 -0
  9. package/dist/column-type.js.map +1 -1
  10. package/dist/column-value.d.ts +2 -0
  11. package/dist/column-value.d.ts.map +1 -1
  12. package/dist/column-value.js +1 -0
  13. package/dist/column-value.js.map +1 -1
  14. package/dist/error-codes.d.ts +5 -0
  15. package/dist/error-codes.d.ts.map +1 -1
  16. package/dist/error-codes.js +5 -0
  17. package/dist/error-codes.js.map +1 -1
  18. package/dist/statements.d.ts +4 -3
  19. package/dist/statements.d.ts.map +1 -1
  20. package/dist/statements.js +5 -5
  21. package/dist/statements.js.map +1 -1
  22. package/dist/transport/grpc/batch-frames.js +1 -0
  23. package/dist/transport/grpc/batch-frames.js.map +1 -1
  24. package/dist/transport/grpc/batcher.d.ts +1 -1
  25. package/dist/transport/grpc/batcher.js +1 -1
  26. package/dist/transport/grpc/batcher.js.map +1 -1
  27. package/dist/transport/grpc/codec.d.ts.map +1 -1
  28. package/dist/transport/grpc/codec.js +25 -2
  29. package/dist/transport/grpc/codec.js.map +1 -1
  30. package/dist/transport/grpc/messages.d.ts +3 -2
  31. package/dist/transport/grpc/messages.d.ts.map +1 -1
  32. package/dist/transport/grpc/messages.js.map +1 -1
  33. package/dist/transport/rest-decode.d.ts.map +1 -1
  34. package/dist/transport/rest-decode.js +19 -0
  35. package/dist/transport/rest-decode.js.map +1 -1
  36. package/dist/transport/rest-transport.js +2 -2
  37. package/dist/transport/rest-transport.js.map +1 -1
  38. package/dist/transport/transport.d.ts +10 -8
  39. package/dist/transport/transport.d.ts.map +1 -1
  40. package/dist/transport/transport.js.map +1 -1
  41. package/dist/values/decode.d.ts +2 -0
  42. package/dist/values/decode.d.ts.map +1 -1
  43. package/dist/values/decode.js +3 -0
  44. package/dist/values/decode.js.map +1 -1
  45. package/dist/values/encode.js +3 -0
  46. package/dist/values/encode.js.map +1 -1
  47. package/dist/values/typed.d.ts +12 -2
  48. package/dist/values/typed.d.ts.map +1 -1
  49. package/dist/values/typed.js +41 -2
  50. package/dist/values/typed.js.map +1 -1
  51. package/package.json +1 -1
  52. package/proto/camus_sql.proto +7 -5
package/README.md CHANGED
@@ -257,6 +257,7 @@ await client.query('SELECT * FROM robots WHERE key = @key AND made = @made AND t
257
257
  | `camus.int64(value)` | `Integer64` |
258
258
  | `camus.float64(value)` | `Float64` |
259
259
  | `camus.float32(value)` | `Float32` |
260
+ | `camus.numeric(value)` | `Numeric`, from a decimal `string`, a `bigint`, or a `number` |
260
261
  | `camus.bool(value)` | `Bool` |
261
262
  | `camus.string(value)` | `String` |
262
263
  | `camus.bytes(value)` | `Bytes` |
@@ -293,6 +294,7 @@ against an `OID` column. `camus.array(uuids, ColumnType.Id)` therefore sends a `
293
294
  | `Bytes` | `Uint8Array` |
294
295
  | `Date`, `DateTime` | `Date`, in UTC |
295
296
  | `Uuid` | `string`, canonical and lowercase |
297
+ | `Numeric` | `string`, the exact decimal text — see [NUMERIC](#numeric) |
296
298
  | `Array` | an array of the values above |
297
299
 
298
300
  ### 64-bit integers
@@ -317,6 +319,36 @@ const client = new CamusClient({ endpoint, database, int64: 'bigint' });
317
319
  await client.query('SELECT n FROM counters', undefined, { int64: 'number' });
318
320
  ```
319
321
 
322
+ ### NUMERIC
323
+
324
+ `NUMERIC` (alias `DECIMAL`) is an exact decimal with precision 38 and scale 9. Its range is
325
+ `-99999999999999999999999999999.999999999` to `99999999999999999999999999999.999999999`. The server
326
+ refuses `NUMERIC(P, S)`, because the precision and the scale are fixed. A value travels as decimal
327
+ text on REST and on gRPC, so no digit goes through a JavaScript number.
328
+
329
+ - A `NUMERIC` column reaches you as a `string` with the canonical text: no exponent, no trailing
330
+ zeros, and no point for a whole number (`'1.5'`, `'1200'`, `'0'`). JavaScript has no decimal
331
+ type, and a `number` holds only about 15 significant digits. Use `Number(value)` when a rounded
332
+ value is enough, or give the text to a decimal library.
333
+ - `camus.numeric(value)` binds a `NUMERIC`. A `string` binds its text as it is, a `bigint` binds its
334
+ digits, and a finite `number` binds the shortest text that reads back as the same number. The
335
+ server rounds more than 9 fraction digits half away from zero. A value past the range fails with
336
+ `CADB0417` (`CamusErrorCode.NumericValueOutOfRange`).
337
+ - A plain `number` still binds as `Float64` or `Integer64`. Into a `FLOAT64` column the server
338
+ converts a NUMERIC value to a double, and a comparison of NUMERIC with FLOAT64 compares as doubles.
339
+ Use `camus.numeric` for an exact comparison.
340
+ - The server has no `ARRAY(NUMERIC)`. An array of `camus.numeric` values, or
341
+ `camus.array(items, ColumnType.Numeric)`, fails before the request is sent.
342
+
343
+ ```ts
344
+ await client.execute('INSERT INTO orders (id, price, total) VALUES (GEN_ID(), @price, @total)', {
345
+ price: camus.numeric('19.99'),
346
+ total: camus.numeric('12345678901234567890.123456789'),
347
+ });
348
+
349
+ const row = await client.queryOne<{ total: string }>('SELECT total FROM orders LIMIT 1');
350
+ ```
351
+
320
352
  ### Dates
321
353
 
322
354
  A `Date` or `DateTime` column stores .NET ticks: 100-nanosecond units since 0001-01-01 UTC. A
@@ -386,11 +418,11 @@ await client.insert('robots', {
386
418
 
387
419
  Column names carry no `@` here, because they bind to columns rather than to placeholders.
388
420
 
389
- ### `INSERT … RETURNING`
421
+ ### `RETURNING`
390
422
 
391
- An `INSERT` can send back values from the rows that it inserted. The values are the stored values,
392
- so they include column defaults, sequence and identity values, and coerced types. Use `query`,
393
- `queryOne`, or `scalar` to read them:
423
+ An `INSERT`, `UPDATE`, or `DELETE` can send back values from the rows that it wrote. The values are
424
+ the stored values, so they include column defaults, sequence and identity values, and coerced
425
+ types. Use `query`, `queryOne`, or `scalar` to read them:
394
426
 
395
427
  ```ts
396
428
  const result = await client.query<{ id: string; name: string; doubled: number }>(
@@ -408,24 +440,43 @@ const id = await client.scalar<string>(
408
440
  );
409
441
  ```
410
442
 
411
- - The driver sends an `INSERT` with a `RETURNING` clause to the non-query route, also when you
412
- call `query`. The keyword test skips string literals, comments, backtick names, and
443
+ An `UPDATE` returns the new row, after the `SET` clause. A `DELETE` returns the deleted row. In
444
+ both statements, the `RETURNING` list comes after the `LIMIT`, if there is one:
445
+
446
+ ```ts
447
+ const updated = await client.query<{ id: string; year: number }>(
448
+ 'UPDATE robots SET year = year + 1 WHERE year < @year RETURNING id, year',
449
+ { year: 1980 },
450
+ );
451
+
452
+ const deleted = await client.query<{ id: string }>(
453
+ 'DELETE FROM robots WHERE year > 2000 LIMIT 10 RETURNING id',
454
+ );
455
+ ```
456
+
457
+ - The driver sends an `INSERT`, `UPDATE`, or `DELETE` with a `RETURNING` clause to the non-query
458
+ route, also when you call `query`. The keyword test skips string literals, comments, backtick names, and
413
459
  `@parameters`.
414
460
  - `execute` returns the count only. The driver tells the server not to send the rows. The server
415
461
  still checks the `RETURNING` list and the `SELECT` privilege.
416
462
  - The `transactionOptions` of `query`, `queryOne`, `scalar`, and `queryStream` apply to the short
417
- transaction of an `INSERT … RETURNING`. A read ignores them.
463
+ transaction of a write with `RETURNING`. A read ignores them.
418
464
  - The `RETURNING` list accepts `*`, columns, expressions, aliases, and parameters. It does not
419
465
  accept aggregates, subqueries, or sequence functions.
420
- - `INSERT … RETURNING` needs the `SELECT` privilege on the table, in addition to `INSERT`.
466
+ - A `RETURNING` list needs the `SELECT` privilege on the table, in addition to `INSERT`, `UPDATE`,
467
+ or `DELETE`.
468
+ - An `INSERT` returns its rows in insert order. An `UPDATE` or a `DELETE` returns its rows in no
469
+ defined order.
470
+ - An `UPDATE` cannot return the old values. The server has no `OLD` and `NEW` qualifiers.
421
471
  - `RETURNING` is a reserved word. A column or a table called `returning` needs backticks.
422
- - The server has no `UPDATE … RETURNING` or `DELETE … RETURNING`.
423
472
 
424
473
  `query`, `queryOne`, and `scalar` receive all rows in one reply. On gRPC, the server refuses a reply
425
474
  that is larger than 4 MiB with `CADB0550`, before the commit, so the statement stores nothing. For
426
- a large `INSERT … SELECT … RETURNING`, use `queryStream`. It sends the statement to the streaming
427
- query endpoint, which sends no row before the commit. The stream reports no inserted-row count, so
428
- count the rows as you read them.
475
+ a large result, such as an `INSERT … SELECT … RETURNING` or an `UPDATE` of many rows, use
476
+ `queryStream`. It sends the statement to the streaming query endpoint, which sends no row before the
477
+ commit. The stream reports no written-row count, so count the rows as you read them.
478
+
479
+ See `docs/returning.md` in the server repository for the full rules.
429
480
 
430
481
  ### `TRUNCATE`
431
482
 
@@ -572,9 +623,9 @@ Two limits are worth knowing:
572
623
  from the call. The driver retries no autocommit statement, `query` included: run the work in
573
624
  `client.transaction`, or wrap it in `withRetry`, when you need a retry.
574
625
 
575
- `queryStream` also accepts an `INSERT … RETURNING`. The server sends no row of it before the
576
- commit, so a conflict never surfaces mid-read for it. See
577
- [`INSERT … RETURNING`](#insert--returning).
626
+ `queryStream` also accepts an `INSERT`, `UPDATE`, or `DELETE` with `RETURNING`. The server sends
627
+ no row of it before the commit, so a conflict never surfaces mid-read for it. See
628
+ [`RETURNING`](#returning).
578
629
 
579
630
  ---
580
631
 
package/dist/client.d.ts CHANGED
@@ -31,7 +31,7 @@ export interface AutocommitStatementOptions extends StatementOptions {
31
31
  /**
32
32
  * Concurrency knobs for the short transaction the server begins for this statement. A read
33
33
  * ignores them: it runs in a read-only snapshot. They apply to a write, which includes an
34
- * `INSERT … RETURNING` that is sent through `query` or `queryStream`.
34
+ * `INSERT`, `UPDATE`, or `DELETE` with `RETURNING` that is sent through `query` or `queryStream`.
35
35
  */
36
36
  readonly transactionOptions?: CamusTransactionOptions | undefined;
37
37
  }
@@ -43,8 +43,9 @@ export interface QueryResult<T> {
43
43
  readonly columns: CamusColumn[];
44
44
  readonly rowCount: number;
45
45
  /**
46
- * The inserted-row count of an `INSERT … RETURNING` that `query` ran, or `undefined` for a read.
47
- * The server sends one row for each inserted row, so it equals `rowCount`.
46
+ * The written-row count of an `INSERT`, `UPDATE`, or `DELETE` with `RETURNING` that `query` ran,
47
+ * or `undefined` for a read. The server sends one row for each written row, so it equals
48
+ * `rowCount`.
48
49
  */
49
50
  readonly affectedRows?: number | undefined;
50
51
  /** How a cache-hinted `SELECT` resolved, or `undefined` when the statement carried no hint. */
@@ -148,24 +149,31 @@ export declare class CamusClient implements AsyncDisposable {
148
149
  *
149
150
  * Use `queryStream` when the result may be large: this method holds every row in memory.
150
151
  *
151
- * An `INSERT … RETURNING` is accepted here too. It goes to the non-query route, and the rows are
152
- * the stored values of the inserted rows, in insert order:
152
+ * An `INSERT`, `UPDATE`, or `DELETE` with a `RETURNING` list is accepted here too. It goes to the
153
+ * non-query route, and the rows are the stored values of the rows it wrote. An `INSERT` returns
154
+ * them in insert order. An `UPDATE` returns the new rows and a `DELETE` returns the deleted rows,
155
+ * in no defined order:
153
156
  *
154
157
  * ```ts
155
158
  * const { rows } = await client.query<{ id: string }>(
156
159
  * 'INSERT INTO robots (id, name) VALUES (GEN_ID(), @name) RETURNING id',
157
160
  * { name: 'R2-D2' },
158
161
  * );
162
+ *
163
+ * const { rows: updated } = await client.query<{ id: string; year: number }>(
164
+ * 'UPDATE robots SET year = year + 1 WHERE year < @year RETURNING id, year',
165
+ * { year: 1980 },
166
+ * );
159
167
  * ```
160
168
  *
161
- * All the rows of an `INSERT … RETURNING` arrive in one reply. On gRPC the server refuses a reply
162
- * larger than 4 MiB with `CADB0550`, before the commit, so the statement stores nothing. Use
163
- * `queryStream` for a large `INSERT … SELECT … RETURNING`.
169
+ * All the `RETURNING` rows arrive in one reply. On gRPC the server refuses a reply larger than
170
+ * 4 MiB with `CADB0550`, before the commit, so the statement stores nothing. Use `queryStream` for
171
+ * a large result, such as an `INSERT … SELECT … RETURNING` or an `UPDATE` of many rows.
164
172
  */
165
173
  query<T = Record<string, unknown>>(sql: string, parameters?: Parameters, options?: AutocommitStatementOptions): Promise<QueryResult<T>>;
166
174
  /**
167
175
  * Runs a `SELECT` and reads its first row, or `undefined` when it returned none. It accepts an
168
- * `INSERT … RETURNING` as `query` does.
176
+ * `INSERT`, `UPDATE`, or `DELETE` with `RETURNING` as `query` does.
169
177
  */
170
178
  queryOne<T = Record<string, unknown>>(sql: string, parameters?: Parameters, options?: AutocommitStatementOptions): Promise<T | undefined>;
171
179
  /**
@@ -175,7 +183,8 @@ export declare class CamusClient implements AsyncDisposable {
175
183
  * const total = await client.scalar<number>('SELECT COUNT(*) FROM robots');
176
184
  * ```
177
185
  *
178
- * It accepts an `INSERT … RETURNING` as `query` does, so it can read a generated key:
186
+ * It accepts an `INSERT`, `UPDATE`, or `DELETE` with `RETURNING` as `query` does, so it can read
187
+ * a generated key:
179
188
  *
180
189
  * ```ts
181
190
  * const id = await client.scalar<string>('INSERT INTO robots (id, name) VALUES (GEN_ID(), @name) RETURNING id', {
@@ -205,10 +214,10 @@ export declare class CamusClient implements AsyncDisposable {
205
214
  * own short transaction commits, so a late conflict surfaces from the iteration. Run the work in
206
215
  * `client.transaction`, or wrap the call in `withRetry`, when you need a retry.
207
216
  *
208
- * An `INSERT … RETURNING` is accepted here too, and goes to the same streaming query endpoint.
209
- * Use this method for a `RETURNING` result that is too large for `query`. The server sends no row
210
- * before the commit, so a conflict never surfaces mid-read for it. The stream reports no
211
- * inserted-row count, so count the rows as you read them.
217
+ * An `INSERT`, `UPDATE`, or `DELETE` with a `RETURNING` list is accepted here too, and goes to
218
+ * the same streaming query endpoint. Use this method for a `RETURNING` result that is too large
219
+ * for `query`. The server sends no row before the commit, so a conflict never surfaces mid-read
220
+ * for it. The stream reports no written-row count, so count the rows as you read them.
212
221
  */
213
222
  queryStream<T = Record<string, unknown>>(sql: string, parameters?: Parameters, options?: AutocommitStatementOptions): Promise<CamusQueryStream<T>>;
214
223
  /**
@@ -223,8 +232,8 @@ export declare class CamusClient implements AsyncDisposable {
223
232
  *
224
233
  * A DDL statement is accepted here too and is sent to the DDL route, where it reports zero rows.
225
234
  *
226
- * For an `INSERT … RETURNING`, this reports the inserted-row count and the server does not send
227
- * the rows. The server still checks the `RETURNING` list and the `SELECT` privilege that it needs.
235
+ * For an `INSERT`, `UPDATE`, or `DELETE` with a `RETURNING` list, this reports the written-row
236
+ * count and the server does not send the rows. The server still checks the `RETURNING` list and the `SELECT` privilege that it needs.
228
237
  * To read the rows, use `query`, `queryOne`, `scalar`, or `queryStream`.
229
238
  */
230
239
  execute(sql: string, parameters?: Parameters, options?: AutocommitStatementOptions): Promise<ExecuteResult>;
@@ -433,8 +442,8 @@ export declare class CamusClient implements AsyncDisposable {
433
442
  * without `RETURNING`, so this sets it on every statement and does not parse the SQL for the clause.
434
443
  */
435
444
  private executeNonQuery;
436
- /** Runs an `INSERT … RETURNING` on the non-query route and maps the rows it sent back. */
437
- private queryInsertReturning;
445
+ /** Runs a write with `RETURNING` on the non-query route and maps the rows it sent back. */
446
+ private queryWriteReturning;
438
447
  /**
439
448
  * Runs a write on the non-query route. The endpoint, the negotiation flag, and the learning after
440
449
  * a success follow the same routing rules as the query path.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
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;AAOnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAU9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAgD,MAAM,0BAA0B,CAAC;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,kGAAkG;IAClG,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEpD,gCAAgC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAE1C,uDAAuD;IACvD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7C,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACxC;AAED,qEAAqE;AACrE,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;CACnE;AAED,4EAA4E;AAC5E,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;IAEnB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAEhC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3C,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAExD;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CACzD;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,uCAAuC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CACzD;AAED,gEAAgE;AAChE,MAAM,WAAW,qBAAqB;IACpC,oFAAoF;IACpF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,6CAA6C;IAC7C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAElE,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,WAAY,YAAW,eAAe;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IAExC,OAAO,CAAC,YAAY,CAAgC;IAEpD;;;;;;;OAOG;gBACS,OAAO,EAAE,kBAAkB,GAAG,MAAM;IAMhD;;;;;;;;;OASG;IACH,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,WAAW;IAIlE,uEAAuE;IACvE,IAAI,MAAM,IAAI,cAAc,CAE3B;IAED,2CAA2C;IAC3C,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,4CAA4C;IAC5C,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,0FAA0F;IAC1F,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;;;;OAKG;IACH,IAAI,OAAO,IAAI,iBAAiB,CAG/B;IAED,8EAA8E;IAC9E,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,uFAAuF;IACvF,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,gEAAgE;IAChE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAgBtC,wEAAwE;IACxE,QAAQ,IAAI,MAAM;IAMlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IA2B1B;;;OAGG;IACG,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAKzB;;;;;;;;;;;;;;;OAeG;IACG,MAAM,CAAC,CAAC,GAAG,OAAO,EACtB,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAWzB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IA8B/B;;;;;;;;;;;;;;;OAeG;IACG,OAAO,CACX,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,aAAa,CAAC;IASzB;;;;;;;OAOG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,0BAA+B,GAAG,OAAO,CAAC,OAAO,CAAC;IAmCzF;;;;;;;;;;OAUG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBhG,0CAA0C;IAC1C,IAAI,CAAC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAUvF;;;;;;;;;;;;;;;;;OAiBG;IACG,gBAAgB,CACpB,OAAO,GAAE,uBAA4B,EACrC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC;IAyC5B;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,WAAW,CAAC,CAAC,EACjB,IAAI,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,EACnD,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,CAAC,CAAC;IA6Bb;;;;;;;;;;;;OAYG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzE,iFAAiF;IACjF,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAMhC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ5E;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C;;;;;;;;;OASG;IACG,cAAc,CAClB,QAAQ,GAAE,MAA8B,EACxC,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAC5D,OAAO,CAAC,IAAI,CAAC;IAyBhB,6CAA6C;IAC7C,YAAY,CACV,QAAQ,GAAE,MAA8B,EACxC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACrC,OAAO,CAAC,IAAI,CAAC;IAShB;;;OAGG;IACH,oBAAoB,CAClB,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAC5D,OAAO,CAAC,IAAI,CAAC;IAehB;;;OAGG;IACH,YAAY,CACV,QAAQ,GAAE,MAA8B,EACxC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACrC,OAAO,CAAC,cAAc,EAAE,CAAC;IAS5B;;;OAGG;IACH,aAAa,CACX,QAAQ,GAAE,MAA8B,EACxC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACrC,OAAO,CAAC,cAAc,EAAE,CAAC;IAW5B;;;;;;;;;;;;;;;;;;;OAmBG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAO,GAChF,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;;;;;;;;;;OAeG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAetF,+EAA+E;IACzE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E,gGAAgG;IAC1F,aAAa,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5C;;;OAGG;YACW,eAAe;IAU7B,2FAA2F;YAC7E,mBAAmB;IAqBjC;;;OAGG;YACW,mBAAmB;IAyBjC;;;;;;;;;;;;;;;OAeG;YACW,KAAK;YAsCL,YAAY;IAkC1B;;;;;;;;;;;;;OAaG;YACW,aAAa;IAqB3B;;;;;;;;;;;OAWG;YACW,QAAQ;IA0CtB;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;IAMf;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,aAAa;YAIP,kBAAkB;CAmBjC"}
package/dist/client.js CHANGED
@@ -20,7 +20,7 @@ import { isValidDatabaseName } from './sql-syntax.js';
20
20
  import { ClientRuntime } from './runtime.js';
21
21
  import { ROUTING_ACCEPT_VERSION } from './routing/advice.js';
22
22
  import { CamusRouteOpKind } from './routing/route-cache.js';
23
- import { isDdlStatement, isInsertReturning, isPreparableStatement, runsInOwnTransaction, } from './statements.js';
23
+ import { isDdlStatement, isWriteReturning, isPreparableStatement, runsInOwnTransaction, } from './statements.js';
24
24
  import { CamusTransaction } from './transaction.js';
25
25
  import { encodeParameters } from './values/encode.js';
26
26
  /**
@@ -132,23 +132,30 @@ export class CamusClient {
132
132
  *
133
133
  * Use `queryStream` when the result may be large: this method holds every row in memory.
134
134
  *
135
- * An `INSERT … RETURNING` is accepted here too. It goes to the non-query route, and the rows are
136
- * the stored values of the inserted rows, in insert order:
135
+ * An `INSERT`, `UPDATE`, or `DELETE` with a `RETURNING` list is accepted here too. It goes to the
136
+ * non-query route, and the rows are the stored values of the rows it wrote. An `INSERT` returns
137
+ * them in insert order. An `UPDATE` returns the new rows and a `DELETE` returns the deleted rows,
138
+ * in no defined order:
137
139
  *
138
140
  * ```ts
139
141
  * const { rows } = await client.query<{ id: string }>(
140
142
  * 'INSERT INTO robots (id, name) VALUES (GEN_ID(), @name) RETURNING id',
141
143
  * { name: 'R2-D2' },
142
144
  * );
145
+ *
146
+ * const { rows: updated } = await client.query<{ id: string; year: number }>(
147
+ * 'UPDATE robots SET year = year + 1 WHERE year < @year RETURNING id, year',
148
+ * { year: 1980 },
149
+ * );
143
150
  * ```
144
151
  *
145
- * All the rows of an `INSERT … RETURNING` arrive in one reply. On gRPC the server refuses a reply
146
- * larger than 4 MiB with `CADB0550`, before the commit, so the statement stores nothing. Use
147
- * `queryStream` for a large `INSERT … SELECT … RETURNING`.
152
+ * All the `RETURNING` rows arrive in one reply. On gRPC the server refuses a reply larger than
153
+ * 4 MiB with `CADB0550`, before the commit, so the statement stores nothing. Use `queryStream` for
154
+ * a large result, such as an `INSERT … SELECT … RETURNING` or an `UPDATE` of many rows.
148
155
  */
149
156
  async query(sql, parameters, options = {}) {
150
- if (isInsertReturning(sql))
151
- return this.queryInsertReturning(sql, parameters, options);
157
+ if (isWriteReturning(sql))
158
+ return this.queryWriteReturning(sql, parameters, options);
152
159
  const encoded = encodeParameters(parameters);
153
160
  const transaction = options.transaction;
154
161
  const route = await this.route(sql, CamusRouteOpKind.Query, transaction, options.signal);
@@ -168,7 +175,7 @@ export class CamusClient {
168
175
  }
169
176
  /**
170
177
  * Runs a `SELECT` and reads its first row, or `undefined` when it returned none. It accepts an
171
- * `INSERT … RETURNING` as `query` does.
178
+ * `INSERT`, `UPDATE`, or `DELETE` with `RETURNING` as `query` does.
172
179
  */
173
180
  async queryOne(sql, parameters, options = {}) {
174
181
  const result = await this.query(sql, parameters, options);
@@ -181,7 +188,8 @@ export class CamusClient {
181
188
  * const total = await client.scalar<number>('SELECT COUNT(*) FROM robots');
182
189
  * ```
183
190
  *
184
- * It accepts an `INSERT … RETURNING` as `query` does, so it can read a generated key:
191
+ * It accepts an `INSERT`, `UPDATE`, or `DELETE` with `RETURNING` as `query` does, so it can read
192
+ * a generated key:
185
193
  *
186
194
  * ```ts
187
195
  * const id = await client.scalar<string>('INSERT INTO robots (id, name) VALUES (GEN_ID(), @name) RETURNING id', {
@@ -218,24 +226,24 @@ export class CamusClient {
218
226
  * own short transaction commits, so a late conflict surfaces from the iteration. Run the work in
219
227
  * `client.transaction`, or wrap the call in `withRetry`, when you need a retry.
220
228
  *
221
- * An `INSERT … RETURNING` is accepted here too, and goes to the same streaming query endpoint.
222
- * Use this method for a `RETURNING` result that is too large for `query`. The server sends no row
223
- * before the commit, so a conflict never surfaces mid-read for it. The stream reports no
224
- * inserted-row count, so count the rows as you read them.
229
+ * An `INSERT`, `UPDATE`, or `DELETE` with a `RETURNING` list is accepted here too, and goes to
230
+ * the same streaming query endpoint. Use this method for a `RETURNING` result that is too large
231
+ * for `query`. The server sends no row before the commit, so a conflict never surfaces mid-read
232
+ * for it. The stream reports no written-row count, so count the rows as you read them.
225
233
  */
226
234
  async queryStream(sql, parameters, options = {}) {
227
235
  const encoded = encodeParameters(parameters);
228
236
  const transaction = options.transaction;
229
- const insertReturning = isInsertReturning(sql);
237
+ const writeReturning = isWriteReturning(sql);
230
238
  // A learned route still steers the send, which costs nothing, but the streaming endpoint's
231
- // trailer carries no routing metadata, so nothing is negotiated or learned. An
232
- // INSERT … RETURNING reuses the route learned for the write, which is where the rows live.
233
- const route = await this.route(sql, insertReturning ? CamusRouteOpKind.NonQuery : CamusRouteOpKind.Query, transaction, options.signal);
239
+ // trailer carries no routing metadata, so nothing is negotiated or learned. A write with
240
+ // RETURNING reuses the route learned for the write, which is where the rows live.
241
+ const route = await this.route(sql, writeReturning ? CamusRouteOpKind.NonQuery : CamusRouteOpKind.Query, transaction, options.signal);
234
242
  const request = await this.buildRequest(sql, encoded, route, transaction, options, {
235
243
  negotiateRouting: false,
236
- // A read runs in a read-only snapshot with no locking mode, but an autocommit INSERT on the
244
+ // A read runs in a read-only snapshot with no locking mode, but an autocommit write on the
237
245
  // query endpoint begins a writable transaction that honors the same options as a non-query.
238
- autocommitOptions: insertReturning && transaction === undefined
246
+ autocommitOptions: writeReturning && transaction === undefined
239
247
  ? this.resolveTransactionOptions(options.transactionOptions)
240
248
  : undefined,
241
249
  });
@@ -254,8 +262,8 @@ export class CamusClient {
254
262
  *
255
263
  * A DDL statement is accepted here too and is sent to the DDL route, where it reports zero rows.
256
264
  *
257
- * For an `INSERT … RETURNING`, this reports the inserted-row count and the server does not send
258
- * the rows. The server still checks the `RETURNING` list and the `SELECT` privilege that it needs.
265
+ * For an `INSERT`, `UPDATE`, or `DELETE` with a `RETURNING` list, this reports the written-row
266
+ * count and the server does not send the rows. The server still checks the `RETURNING` list and the `SELECT` privilege that it needs.
259
267
  * To read the rows, use `query`, `queryOne`, `scalar`, or `queryStream`.
260
268
  */
261
269
  async execute(sql, parameters, options = {}) {
@@ -622,8 +630,8 @@ export class CamusClient {
622
630
  const result = await this.executeNonQueryCore(sql, parameters, options, true);
623
631
  return { affectedRows: result.affectedRows, routingAdvice: result.routing };
624
632
  }
625
- /** Runs an `INSERT … RETURNING` on the non-query route and maps the rows it sent back. */
626
- async queryInsertReturning(sql, parameters, options) {
633
+ /** Runs a write with `RETURNING` on the non-query route and maps the rows it sent back. */
634
+ async queryWriteReturning(sql, parameters, options) {
627
635
  const result = await this.executeNonQueryCore(sql, parameters, options, false);
628
636
  // The server decides the shape. A reply without `columns` has nothing to map, but it still
629
637
  // reports the count.
@@ -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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"}
@@ -24,6 +24,11 @@ export declare const ColumnType: {
24
24
  readonly DateTime: 9;
25
25
  readonly Array: 10;
26
26
  readonly Uuid: 11;
27
+ /**
28
+ * Exact decimal with precision 38 and scale 9 (SQL `NUMERIC`, alias `DECIMAL`). It travels as its
29
+ * decimal text in `strValue`, so no digit goes through a JavaScript number.
30
+ */
31
+ readonly Numeric: 12;
27
32
  };
28
33
  export type ColumnType = (typeof ColumnType)[keyof typeof ColumnType];
29
34
  /** The declared type's name, for diagnostics and for `QueryResult.columns[i].typeName`. */
@@ -1 +1 @@
1
- {"version":3,"file":"column-type.d.ts","sourceRoot":"","sources":["../src/column-type.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAab,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAiBtE,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEvD;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE"}
1
+ {"version":3,"file":"column-type.d.ts","sourceRoot":"","sources":["../src/column-type.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;IAcrB;;;OAGG;;CAEK,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAkBtE,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEvD;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE"}
@@ -24,6 +24,11 @@ export const ColumnType = {
24
24
  DateTime: 9,
25
25
  Array: 10,
26
26
  Uuid: 11,
27
+ /**
28
+ * Exact decimal with precision 38 and scale 9 (SQL `NUMERIC`, alias `DECIMAL`). It travels as its
29
+ * decimal text in `strValue`, so no digit goes through a JavaScript number.
30
+ */
31
+ Numeric: 12,
27
32
  };
28
33
  const NAMES = {
29
34
  0: 'Null',
@@ -38,6 +43,7 @@ const NAMES = {
38
43
  9: 'DateTime',
39
44
  10: 'Array',
40
45
  11: 'Uuid',
46
+ 12: 'Numeric',
41
47
  };
42
48
  /** The declared type's name, for diagnostics and for `QueryResult.columns[i].typeName`. */
43
49
  export function columnTypeName(type) {
@@ -1 +1 @@
1
- {"version":3,"file":"column-type.js","sourceRoot":"","sources":["../src/column-type.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,CAAC;IACP,EAAE,EAAE,CAAC;IACL,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;CACA,CAAC;AAIX,MAAM,KAAK,GAA2B;IACpC,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,UAAU;IACb,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,MAAM;CACX,CAAC;AAEF,2FAA2F;AAC3F,MAAM,UAAU,cAAc,CAAC,IAAgB;IAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACnD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"column-type.js","sourceRoot":"","sources":["../src/column-type.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,CAAC;IACP,EAAE,EAAE,CAAC;IACL,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IAER;;;OAGG;IACH,OAAO,EAAE,EAAE;CACH,CAAC;AAIX,MAAM,KAAK,GAA2B;IACpC,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,UAAU;IACb,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,SAAS;CACd,CAAC;AAEF,2FAA2F;AAC3F,MAAM,UAAU,cAAc,CAAC,IAAgB;IAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACnD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC"}
@@ -16,6 +16,8 @@ import { ColumnType } from './column-type.js';
16
16
  * - `Float64` and `Float32` — `floatValue`.
17
17
  * - `Bool` — `boolValue`.
18
18
  * - `String` and `Id` — `strValue`.
19
+ * - `Numeric` — `strValue` as decimal text. The server sends the canonical form: no exponent, no
20
+ * trailing zeros, and at most 9 fraction digits.
19
21
  * - `Date` and `DateTime` — `longValue` as UTC .NET ticks. `Date` is truncated to midnight.
20
22
  * - `Bytes` — `bytesValue`. JSON carries it as base64.
21
23
  * - `Array` — `arrayValues` plus `arrayElementType`.
@@ -1 +1 @@
1
- {"version":3,"file":"column-value.d.ts","sourceRoot":"","sources":["../src/column-value.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,gGAAgG;AAChG,eAAO,MAAM,UAAU,EAAE,WAAsD,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,CAmDrE"}
1
+ {"version":3,"file":"column-value.d.ts","sourceRoot":"","sources":["../src/column-value.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,gGAAgG;AAChG,eAAO,MAAM,UAAU,EAAE,WAAsD,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,CAoDrE"}
@@ -20,6 +20,7 @@ export function columnValueToJson(value) {
20
20
  return json;
21
21
  case ColumnType.Id:
22
22
  case ColumnType.String:
23
+ case ColumnType.Numeric:
23
24
  json.strValue = value.strValue ?? '';
24
25
  return json;
25
26
  case ColumnType.Integer64:
@@ -1 +1 @@
1
- {"version":3,"file":"column-value.js","sourceRoot":"","sources":["../src/column-value.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA+C9C,gGAAgG;AAChG,MAAM,CAAC,MAAM,UAAU,GAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAsBhF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,MAAM,IAAI,GAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAEnD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC,IAAI;YAClB,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC,MAAM;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,SAAS;YACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,OAAO,CAAC;QACxB,KAAK,UAAU,CAAC,OAAO;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,IAAI;YAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;YAC1C,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,KAAK;YACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,IAAI,CAAC;QACrB,KAAK,UAAU,CAAC,QAAQ;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,IAAI;YAClB,4FAA4F;YAC5F,mFAAmF;YACnF,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;gBAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC3D,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAC9D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,KAAK;YACnB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC;YAClE,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;QAEd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"column-value.js","sourceRoot":"","sources":["../src/column-value.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAiD9C,gGAAgG;AAChG,MAAM,CAAC,MAAM,UAAU,GAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAsBhF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,MAAM,IAAI,GAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAEnD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC,IAAI;YAClB,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC,MAAM,CAAC;QACvB,KAAK,UAAU,CAAC,OAAO;YACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,SAAS;YACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,OAAO,CAAC;QACxB,KAAK,UAAU,CAAC,OAAO;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,IAAI;YAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;YAC1C,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,KAAK;YACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,IAAI,CAAC;QACrB,KAAK,UAAU,CAAC,QAAQ;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,IAAI;YAClB,4FAA4F;YAC5F,mFAAmF;YACnF,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;gBAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC3D,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAC9D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,KAAK;YACnB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC;YAClE,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;QAEd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -29,6 +29,11 @@ export declare const CamusErrorCode: {
29
29
  * whose type has no variable-length value. Only `string`, `bytes`, and array columns take one.
30
30
  */
31
31
  readonly ColumnStorageNotApplicable: "CADB0414";
32
+ /**
33
+ * A `numeric` value or result is outside the range of the type,
34
+ * ±99999999999999999999999999999.999999999. The server never truncates or wraps it.
35
+ */
36
+ readonly NumericValueOutOfRange: "CADB0417";
32
37
  /** The database already exists. Also raised when `IF NOT EXISTS` loses a registration race. */
33
38
  readonly DatabaseAlreadyExists: "CADB0012";
34
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc;IACzB,0EAA0E;;IAG1E;;;;;;;OAOG;;IAGH,wFAAwF;;IAGxF,mFAAmF;;IAGnF;;;OAGG;;IAGH,+FAA+F;;IAG/F;;;OAGG;;IAGH;;;OAGG;;IAGH,8FAA8F;;IAG9F,iGAAiG;;IAGjG,0FAA0F;;IAG1F,4FAA4F;;IAG5F,wDAAwD;;IAGxD,gGAAgG;;IAGhG;;;;OAIG;;IAGH;;;OAGG;;CAEK,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc;IACzB,0EAA0E;;IAG1E;;;;;;;OAOG;;IAGH,wFAAwF;;IAGxF,mFAAmF;;IAGnF;;;OAGG;;IAGH;;;OAGG;;IAGH,+FAA+F;;IAG/F;;;OAGG;;IAGH;;;OAGG;;IAGH,8FAA8F;;IAG9F,iGAAiG;;IAGjG,0FAA0F;;IAG1F,4FAA4F;;IAG5F,wDAAwD;;IAGxD,gGAAgG;;IAGhG;;;;OAIG;;IAGH;;;OAGG;;CAEK,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC"}
@@ -29,6 +29,11 @@ export const CamusErrorCode = {
29
29
  * whose type has no variable-length value. Only `string`, `bytes`, and array columns take one.
30
30
  */
31
31
  ColumnStorageNotApplicable: 'CADB0414',
32
+ /**
33
+ * A `numeric` value or result is outside the range of the type,
34
+ * ±99999999999999999999999999999.999999999. The server never truncates or wraps it.
35
+ */
36
+ NumericValueOutOfRange: 'CADB0417',
32
37
  /** The database already exists. Also raised when `IF NOT EXISTS` loses a registration race. */
33
38
  DatabaseAlreadyExists: 'CADB0012',
34
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,0EAA0E;IAC1E,OAAO,EAAE,UAAU;IAEnB;;;;;;;OAOG;IACH,mBAAmB,EAAE,UAAU;IAE/B,wFAAwF;IACxF,gBAAgB,EAAE,UAAU;IAE5B,mFAAmF;IACnF,aAAa,EAAE,UAAU;IAEzB;;;OAGG;IACH,0BAA0B,EAAE,UAAU;IAEtC,+FAA+F;IAC/F,qBAAqB,EAAE,UAAU;IAEjC;;;OAGG;IACH,kBAAkB,EAAE,UAAU;IAE9B;;;OAGG;IACH,oBAAoB,EAAE,UAAU;IAEhC,8FAA8F;IAC9F,qBAAqB,EAAE,UAAU;IAEjC,iGAAiG;IACjG,mBAAmB,EAAE,UAAU;IAE/B,0FAA0F;IAC1F,iBAAiB,EAAE,UAAU;IAE7B,4FAA4F;IAC5F,wBAAwB,EAAE,UAAU;IAEpC,wDAAwD;IACxD,8BAA8B,EAAE,UAAU;IAE1C,gGAAgG;IAChG,gCAAgC,EAAE,UAAU;IAE5C;;;;OAIG;IACH,iBAAiB,EAAE,UAAU;IAE7B;;;OAGG;IACH,qBAAqB,EAAE,UAAU;CACzB,CAAC"}
1
+ {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,0EAA0E;IAC1E,OAAO,EAAE,UAAU;IAEnB;;;;;;;OAOG;IACH,mBAAmB,EAAE,UAAU;IAE/B,wFAAwF;IACxF,gBAAgB,EAAE,UAAU;IAE5B,mFAAmF;IACnF,aAAa,EAAE,UAAU;IAEzB;;;OAGG;IACH,0BAA0B,EAAE,UAAU;IAEtC;;;OAGG;IACH,sBAAsB,EAAE,UAAU;IAElC,+FAA+F;IAC/F,qBAAqB,EAAE,UAAU;IAEjC;;;OAGG;IACH,kBAAkB,EAAE,UAAU;IAE9B;;;OAGG;IACH,oBAAoB,EAAE,UAAU;IAEhC,8FAA8F;IAC9F,qBAAqB,EAAE,UAAU;IAEjC,iGAAiG;IACjG,mBAAmB,EAAE,UAAU;IAE/B,0FAA0F;IAC1F,iBAAiB,EAAE,UAAU;IAE7B,4FAA4F;IAC5F,wBAAwB,EAAE,UAAU;IAEpC,wDAAwD;IACxD,8BAA8B,EAAE,UAAU;IAE1C,gGAAgG;IAChG,gCAAgC,EAAE,UAAU;IAE5C;;;;OAIG;IACH,iBAAiB,EAAE,UAAU;IAE7B;;;OAGG;IACH,qBAAqB,EAAE,UAAU;CACzB,CAAC"}