camusdb 0.2.1 → 0.4.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 (88) hide show
  1. package/README.md +92 -5
  2. package/dist/auth/rest-login-client.d.ts.map +1 -1
  3. package/dist/auth/rest-login-client.js +15 -1
  4. package/dist/auth/rest-login-client.js.map +1 -1
  5. package/dist/auth/token-provider.d.ts +14 -0
  6. package/dist/auth/token-provider.d.ts.map +1 -1
  7. package/dist/auth/token-provider.js +39 -11
  8. package/dist/auth/token-provider.js.map +1 -1
  9. package/dist/client.d.ts +84 -9
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +156 -14
  12. package/dist/client.js.map +1 -1
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +5 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/json.d.ts.map +1 -1
  21. package/dist/json.js +42 -8
  22. package/dist/json.js.map +1 -1
  23. package/dist/own-record.d.ts +16 -0
  24. package/dist/own-record.d.ts.map +1 -0
  25. package/dist/own-record.js +18 -0
  26. package/dist/own-record.js.map +1 -0
  27. package/dist/query-stream.d.ts +4 -4
  28. package/dist/query-stream.js +4 -4
  29. package/dist/result-set.d.ts +4 -2
  30. package/dist/result-set.d.ts.map +1 -1
  31. package/dist/result-set.js +25 -8
  32. package/dist/result-set.js.map +1 -1
  33. package/dist/retry.d.ts +4 -1
  34. package/dist/retry.d.ts.map +1 -1
  35. package/dist/retry.js +16 -4
  36. package/dist/retry.js.map +1 -1
  37. package/dist/sequence.d.ts +62 -0
  38. package/dist/sequence.d.ts.map +1 -0
  39. package/dist/sequence.js +70 -0
  40. package/dist/sequence.js.map +1 -0
  41. package/dist/sql-syntax.d.ts +31 -1
  42. package/dist/sql-syntax.d.ts.map +1 -1
  43. package/dist/sql-syntax.js +94 -1
  44. package/dist/sql-syntax.js.map +1 -1
  45. package/dist/statements.d.ts +5 -0
  46. package/dist/statements.d.ts.map +1 -1
  47. package/dist/statements.js +14 -0
  48. package/dist/statements.js.map +1 -1
  49. package/dist/transport/grpc/batch-frames.d.ts +7 -1
  50. package/dist/transport/grpc/batch-frames.d.ts.map +1 -1
  51. package/dist/transport/grpc/batch-frames.js +11 -3
  52. package/dist/transport/grpc/batch-frames.js.map +1 -1
  53. package/dist/transport/grpc/batcher.d.ts +7 -0
  54. package/dist/transport/grpc/batcher.d.ts.map +1 -1
  55. package/dist/transport/grpc/batcher.js +4 -0
  56. package/dist/transport/grpc/batcher.js.map +1 -1
  57. package/dist/transport/grpc/grpc-transport.d.ts +3 -1
  58. package/dist/transport/grpc/grpc-transport.d.ts.map +1 -1
  59. package/dist/transport/grpc/grpc-transport.js +22 -4
  60. package/dist/transport/grpc/grpc-transport.js.map +1 -1
  61. package/dist/transport/grpc/messages.d.ts +6 -0
  62. package/dist/transport/grpc/messages.d.ts.map +1 -1
  63. package/dist/transport/grpc/messages.js.map +1 -1
  64. package/dist/transport/http.d.ts.map +1 -1
  65. package/dist/transport/http.js +5 -1
  66. package/dist/transport/http.js.map +1 -1
  67. package/dist/transport/ndjson-row-source.d.ts.map +1 -1
  68. package/dist/transport/ndjson-row-source.js +16 -3
  69. package/dist/transport/ndjson-row-source.js.map +1 -1
  70. package/dist/transport/rest-transport.d.ts.map +1 -1
  71. package/dist/transport/rest-transport.js +18 -5
  72. package/dist/transport/rest-transport.js.map +1 -1
  73. package/dist/transport/transport.d.ts +25 -6
  74. package/dist/transport/transport.d.ts.map +1 -1
  75. package/dist/transport/transport.js.map +1 -1
  76. package/dist/values/encode.d.ts +2 -0
  77. package/dist/values/encode.d.ts.map +1 -1
  78. package/dist/values/encode.js +23 -2
  79. package/dist/values/encode.js.map +1 -1
  80. package/dist/values/typed.d.ts.map +1 -1
  81. package/dist/values/typed.js +22 -1
  82. package/dist/values/typed.js.map +1 -1
  83. package/dist/values/uuid.d.ts +7 -1
  84. package/dist/values/uuid.d.ts.map +1 -1
  85. package/dist/values/uuid.js +15 -6
  86. package/dist/values/uuid.js.map +1 -1
  87. package/package.json +1 -1
  88. package/proto/camus_sql.proto +17 -0
@@ -53,7 +53,13 @@ export function delimitIdentifier(identifier, parameterName) {
53
53
  validateIdentifier(identifier, parameterName);
54
54
  return `\`${identifier}\``;
55
55
  }
56
- /** Refuses an identifier that cannot be delimited. */
56
+ /**
57
+ * Refuses an identifier that cannot be delimited.
58
+ *
59
+ * A trailing backslash is refused for the reason `validateSqlLiteral` refuses one: CamusDB's lexer
60
+ * reads a backslash and the character after it as one unit, so the backslash would consume the
61
+ * closing backtick and the identifier would run into the text after it.
62
+ */
57
63
  export function validateIdentifier(identifier, parameterName) {
58
64
  if (identifier.trim().length === 0) {
59
65
  throw new TypeError(`An identifier cannot be empty (${parameterName}).`);
@@ -61,6 +67,29 @@ export function validateIdentifier(identifier, parameterName) {
61
67
  if (identifier.includes('`')) {
62
68
  throw new TypeError(`The identifier '${identifier}' holds a backtick, which CamusDB cannot quote (${parameterName}).`);
63
69
  }
70
+ if (identifier.endsWith('\\')) {
71
+ throw new TypeError(`The identifier '${identifier}' ends with a backslash (${parameterName}). CamusDB's lexer reads a ` +
72
+ 'backslash and the character after it as one unit, so the backslash would consume the closing backtick.');
73
+ }
74
+ }
75
+ /**
76
+ * True when a string can serve as a database name.
77
+ *
78
+ * The name travels as a request field rather than as SQL text, so there is no injection to close
79
+ * here. What the test protects is the cache keys: the prepared-statement policy, the gRPC batcher,
80
+ * and the REST prepared-statement cache each join a database name and a statement with a newline,
81
+ * and each states that a database name holds no newline. A name that held one would make two
82
+ * distinct pairs collide on one key. Every control character is refused, not the newline alone,
83
+ * because none of them names a database.
84
+ *
85
+ * It reports a verdict rather than throwing, because the two call sites raise different error
86
+ * types: a configuration failure is a `CamusError`, and a bad argument is a `TypeError`.
87
+ */
88
+ export function isValidDatabaseName(database) {
89
+ if (database.trim().length === 0)
90
+ return false;
91
+ // eslint-disable-next-line no-control-regex -- the point of the test is to find these characters.
92
+ return !/[\u0000-\u001f\u007f]/.test(database);
64
93
  }
65
94
  /**
66
95
  * Refuses a name that is emitted into SQL as bare text and therefore cannot be escaped at all.
@@ -80,4 +109,68 @@ export function validateBareName(name, maxLength, parameterName) {
80
109
  'or one of _ - . : — the name is emitted into SQL as text and cannot be escaped.');
81
110
  }
82
111
  }
112
+ const RETURNING = 'RETURNING';
113
+ /**
114
+ * True when `sql` holds the keyword `RETURNING` as a token: not inside a string literal, a
115
+ * delimited identifier, or a comment, and not as part of a longer name or an `@placeholder`.
116
+ *
117
+ * `RETURNING` is a reserved word on the server, so a token match is the clause itself. A column or
118
+ * a table called `returning` must be written with backticks, which this skips. The scan follows the
119
+ * lexer rules that `validateSqlLiteral` describes: a backslash and the character after it are one
120
+ * unit, and a doubled quote stays inside the literal.
121
+ */
122
+ export function hasReturningKeyword(sql) {
123
+ let i = 0;
124
+ while (i < sql.length) {
125
+ const c = sql[i];
126
+ if (c === "'" || c === '"' || c === '`') {
127
+ i = skipDelimited(sql, i, c);
128
+ continue;
129
+ }
130
+ if (c === '-' && sql[i + 1] === '-') {
131
+ const end = sql.indexOf('\n', i);
132
+ i = end < 0 ? sql.length : end + 1;
133
+ continue;
134
+ }
135
+ if (c === '/' && sql[i + 1] === '*') {
136
+ const end = sql.indexOf('*/', i + 2);
137
+ i = end < 0 ? sql.length : end + 2;
138
+ continue;
139
+ }
140
+ if (isWordCharacter(c)) {
141
+ const start = i;
142
+ while (i < sql.length && isWordCharacter(sql[i]))
143
+ i++;
144
+ if (i - start === RETURNING.length && sql.slice(start, i).toUpperCase() === RETURNING)
145
+ return true;
146
+ continue;
147
+ }
148
+ i++;
149
+ }
150
+ return false;
151
+ }
152
+ /** `@`, `$`, and `.` join the word, so `@returning` and `t.returning` are not the keyword. */
153
+ function isWordCharacter(character) {
154
+ return /[\p{L}\p{Nd}_@$.]/u.test(character);
155
+ }
156
+ /** The index just past the closing delimiter, or the end of the text when the literal never closes. */
157
+ function skipDelimited(sql, open, quote) {
158
+ let j = open + 1;
159
+ while (j < sql.length) {
160
+ const character = sql[j];
161
+ if (character === '\\' && quote !== '`') {
162
+ j += 2;
163
+ continue;
164
+ }
165
+ if (character === quote) {
166
+ if (sql[j + 1] === quote) {
167
+ j += 2;
168
+ continue;
169
+ }
170
+ return j + 1;
171
+ }
172
+ j++;
173
+ }
174
+ return sql.length;
175
+ }
83
176
  //# sourceMappingURL=sql-syntax.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql-syntax.js","sourceRoot":"","sources":["../src/sql-syntax.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,MAAc;IACtD,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,MAAc;IAC9D,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,SAAS,CACjB,iBAAiB,MAAM,oEAAoE;gBACzF,oGAAoG,CACvG,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CACjB,iBAAiB,MAAM,2DAA2D,MAAM,CAAC,KAAK,CAAC,IAAI;gBACjG,8EAA8E,CACjF,CAAC;QACJ,CAAC;QAED,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,aAAqB;IACzE,kBAAkB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC9C,OAAO,KAAK,UAAU,IAAI,CAAC;AAC7B,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,aAAqB;IAC1E,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC,kCAAkC,aAAa,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CACjB,mBAAmB,UAAU,mDAAmD,aAAa,IAAI,CAClG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,SAAiB,EAAE,aAAqB;IACrF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,IAAI,aAAa,oBAAoB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CACjB,IAAI,aAAa,QAAQ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,MAAM,CAAC,SAAS,CAAC,eAAe,CACrG,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,SAAS;QAEpD,MAAM,IAAI,SAAS,CACjB,IAAI,aAAa,0BAA0B,SAAS,gDAAgD;YAClG,iFAAiF,CACpF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"sql-syntax.js","sourceRoot":"","sources":["../src/sql-syntax.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,11 @@
8
8
  export declare function isDdlStatement(sql: string): boolean;
9
9
  /** True when the statement writes rows and reports how many. */
10
10
  export declare function isDmlStatement(sql: string): boolean;
11
+ /**
12
+ * True when the statement is an `INSERT` with a `RETURNING` list, which sends back the rows it
13
+ * inserted. The keyword test skips literals, comments, delimited names, and placeholders.
14
+ */
15
+ export declare function isInsertReturning(sql: string): boolean;
11
16
  /** True when the statement may be registered as a prepared statement. */
12
17
  export declare function isPreparableStatement(sql: string): boolean;
13
18
  /** True when the statement cannot run inside an explicit transaction. */
@@ -1 +1 @@
1
- {"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgEH,qDAAqD;AACrD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEzD"}
1
+ {"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyEH,qDAAqD;AACrD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEzD"}
@@ -4,6 +4,7 @@
4
4
  * For the full copyright and license information, please view the LICENSE.txt
5
5
  * file that was distributed with this source code.
6
6
  */
7
+ import { hasReturningKeyword } from './sql-syntax.js';
7
8
  /**
8
9
  * Classifies a statement by its leading keywords.
9
10
  *
@@ -43,8 +44,14 @@ const DDL_PREFIXES = [
43
44
  'CREATE MATERIALIZED VIEW',
44
45
  'DROP MATERIALIZED VIEW',
45
46
  'ALTER MATERIALIZED VIEW',
47
+ // Sequences. ALTER SEQUENCE covers both the option form and RENAME TO. COMMENT ON SEQUENCE is
48
+ // absent, as COMMENT ON is for every other object: the data route handles it itself.
49
+ 'CREATE SEQUENCE',
50
+ 'DROP SEQUENCE',
51
+ 'ALTER SEQUENCE',
46
52
  ];
47
53
  const DML_PREFIXES = ['INSERT', 'UPDATE', 'DELETE'];
54
+ const INSERT_PREFIXES = ['INSERT'];
48
55
  /**
49
56
  * The statements the server accepts a registration for: the repeatable data statements, whose
50
57
  * whole point is running many times with different values. Schema and administration statements
@@ -69,6 +76,13 @@ export function isDdlStatement(sql) {
69
76
  export function isDmlStatement(sql) {
70
77
  return startsWithAny(sql, DML_PREFIXES);
71
78
  }
79
+ /**
80
+ * True when the statement is an `INSERT` with a `RETURNING` list, which sends back the rows it
81
+ * inserted. The keyword test skips literals, comments, delimited names, and placeholders.
82
+ */
83
+ export function isInsertReturning(sql) {
84
+ return startsWithAny(sql, INSERT_PREFIXES) && hasReturningKeyword(sql);
85
+ }
72
86
  /** True when the statement may be registered as a prepared statement. */
73
87
  export function isPreparableStatement(sql) {
74
88
  return startsWithAny(sql, PREPARABLE_PREFIXES);
@@ -1 +1 @@
1
- {"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AACH,MAAM,YAAY,GAAG;IACnB,cAAc;IACd,YAAY;IACZ,aAAa;IACb,gGAAgG;IAChG,iGAAiG;IACjG,+CAA+C;IAC/C,UAAU;IACV,qBAAqB;IACrB,cAAc;IACd,YAAY;IACZ,6FAA6F;IAC7F,+FAA+F;IAC/F,6EAA6E;IAC7E,aAAa;IACb,wBAAwB;IACxB,WAAW;IACX,YAAY;IACZ,0BAA0B;IAC1B,wBAAwB;IACxB,yBAAyB;CAC1B,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEpD;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE7E;;;;;;;;GAQG;AACH,MAAM,wBAAwB,GAAG,CAAC,UAAU,CAAC,CAAC;AAE9C,qDAAqD;AACrD,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AACjD,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,aAAa,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,QAA2B;IAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;IAEhC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;YAAE,SAAS;QAE7C,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;IAC5E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AACH,MAAM,YAAY,GAAG;IACnB,cAAc;IACd,YAAY;IACZ,aAAa;IACb,gGAAgG;IAChG,iGAAiG;IACjG,+CAA+C;IAC/C,UAAU;IACV,qBAAqB;IACrB,cAAc;IACd,YAAY;IACZ,6FAA6F;IAC7F,+FAA+F;IAC/F,6EAA6E;IAC7E,aAAa;IACb,wBAAwB;IACxB,WAAW;IACX,YAAY;IACZ,0BAA0B;IAC1B,wBAAwB;IACxB,yBAAyB;IACzB,8FAA8F;IAC9F,qFAAqF;IACrF,iBAAiB;IACjB,eAAe;IACf,gBAAgB;CACjB,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEpD,MAAM,eAAe,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE7E;;;;;;;;GAQG;AACH,MAAM,wBAAwB,GAAG,CAAC,UAAU,CAAC,CAAC;AAE9C,qDAAqD;AACrD,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACzE,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AACjD,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,aAAa,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,QAA2B;IAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;IAEhC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;YAAE,SAAS;QAE7C,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;IAC5E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -46,7 +46,13 @@ export declare const FRAME_MAX_ITEMS = 256;
46
46
  * own travels as a plain single message.
47
47
  */
48
48
  export declare const FRAME_MAX_BYTES: number;
49
- /** True when a header value announces a contract version this client writes. */
49
+ /**
50
+ * True when a header value announces a contract version this client writes.
51
+ *
52
+ * The whole value must be digits. `Number.parseInt` stops at the first character it cannot read,
53
+ * so it would read `1x` as version 1 and treat a header this client does not understand as an
54
+ * announcement.
55
+ */
50
56
  export declare function announcesFrames(value: string | undefined): boolean;
51
57
  /**
52
58
  * An upper bound on the bytes one operation adds to a frame.
@@ -1 +1 @@
1
- {"version":3,"file":"batch-frames.d.ts","sourceRoot":"","sources":["../../../src/transport/grpc/batch-frames.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,eAAe,CAAC;AAExF;;;;;;;;;;GAUG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,yBAAyB,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,gCAAgC,CAAC;AAEjE,yEAAyE;AACzE,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,sFAAsF;AACtF,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,QAAc,CAAC;AAE3C,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAMlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAElE"}
1
+ {"version":3,"file":"batch-frames.d.ts","sourceRoot":"","sources":["../../../src/transport/grpc/batch-frames.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,eAAe,CAAC;AAExF;;;;;;;;;;GAUG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,yBAAyB,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,gCAAgC,CAAC;AAEjE,yEAAyE;AACzE,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,sFAAsF;AACtF,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,QAAc,CAAC;AAE3C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAElE"}
@@ -45,12 +45,20 @@ export const FRAME_MAX_ITEMS = 256;
45
45
  * own travels as a plain single message.
46
46
  */
47
47
  export const FRAME_MAX_BYTES = 1024 * 1024;
48
- /** True when a header value announces a contract version this client writes. */
48
+ /**
49
+ * True when a header value announces a contract version this client writes.
50
+ *
51
+ * The whole value must be digits. `Number.parseInt` stops at the first character it cannot read,
52
+ * so it would read `1x` as version 1 and treat a header this client does not understand as an
53
+ * announcement.
54
+ */
49
55
  export function announcesFrames(value) {
50
56
  if (value === undefined)
51
57
  return false;
52
- const version = Number.parseInt(value, 10);
53
- return Number.isInteger(version) && version >= FRAME_VERSION;
58
+ const text = value.trim();
59
+ if (!/^\d+$/.test(text))
60
+ return false;
61
+ return Number(text) >= FRAME_VERSION;
54
62
  }
55
63
  /**
56
64
  * An upper bound on the bytes one operation adds to a frame.
@@ -1 +1 @@
1
- {"version":3,"file":"batch-frames.js","sourceRoot":"","sources":["../../../src/transport/grpc/batch-frames.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-frames.js","sourceRoot":"","sources":["../../../src/transport/grpc/batch-frames.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,13 @@ export interface BatchNonQueryResult {
28
28
  readonly affectedRows: number;
29
29
  readonly token: BatchCausalToken;
30
30
  readonly routing: CamusRoutingAdvice | undefined;
31
+ /**
32
+ * The output columns of an `INSERT … RETURNING`, or `undefined` for a statement without
33
+ * `RETURNING` and for a request that set `discardReturningRows`.
34
+ */
35
+ readonly returningSchema: GrpcResultSchema | undefined;
36
+ /** The `RETURNING` rows, aligned to `returningSchema`. Empty when the schema is `undefined`. */
37
+ readonly returningRows: GrpcResultRow[];
31
38
  }
32
39
  /** A prepared statement registered on one stream: the handle, and which stream minted it. */
33
40
  export interface PreparedSlotEntry {
@@ -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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"}
@@ -622,6 +622,10 @@ export class GrpcBatcher {
622
622
  c: fromWire(reply.causalTokenC),
623
623
  },
624
624
  routing: decodeRoutingAdvice(reply.routing),
625
+ // returning_schema is a message field, so "unset" (no RETURNING, or count only) and "set
626
+ // with no rows" (a RETURNING that inserted nothing) stay distinct.
627
+ returningSchema: reply.returningSchema ?? undefined,
628
+ returningRows: reply.returningRows ?? [],
625
629
  });
626
630
  return;
627
631
  }
@@ -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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"}
@@ -120,7 +120,9 @@ export declare class GrpcTransport implements CamusTransport, CamusLoginClient {
120
120
  private buildHandle;
121
121
  /**
122
122
  * Merges a reply's token, keeping the clock maximum — physical component first, then the logical
123
- * counter — so the token this session threads advances whatever order replies arrive in.
123
+ * counter, then the node id — so the token this session threads advances whatever order replies
124
+ * arrive in. The node id is the tie-breaker `buildHandle` documents, so it decides a merge that
125
+ * the first two components leave equal.
124
126
  */
125
127
  private observeToken;
126
128
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"grpc-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/grpc/grpc-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grpc-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/grpc/grpc-transport.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  import { CamusProtocol } from '../../config.js';
8
8
  import { CamusError } from '../../errors.js';
9
9
  import { CamusErrorCode } from '../../error-codes.js';
10
+ import { setOwn } from '../../own-record.js';
10
11
  import { CamusIsolationLevel, CamusLocking, CamusTransactionMode } from '../../options.js';
11
12
  import { bindPositional } from '../../prepared/binder.js';
12
13
  import { BufferedRowSource } from '../../row-source.js';
@@ -118,7 +119,13 @@ export class GrpcTransport {
118
119
  const batcher = await this.batcherFor(request.endpoint);
119
120
  const result = await this.executeBatched(batcher, request, callSignal, (wire, slot, transportId) => batcher.enqueueNonQuery(wire, slot, callSignal, transportId));
120
121
  this.observeToken(result.token);
121
- return { affectedRows: result.affectedRows, routing: result.routing };
122
+ return {
123
+ affectedRows: result.affectedRows,
124
+ routing: result.routing,
125
+ returning: result.returningSchema === undefined
126
+ ? undefined
127
+ : buildResultSet(result.returningSchema, result.returningRows),
128
+ };
122
129
  });
123
130
  }
124
131
  // ─── Prepared statements ──────────────────────────────────────────────────
@@ -462,6 +469,9 @@ export class GrpcTransport {
462
469
  // Forwarded for a prepared and an inline request alike: negotiation is a property of the
463
470
  // statement's execution, not of how its text travelled. Zero asks for nothing.
464
471
  wire.routingAcceptVersion = request.routingAcceptVersion;
472
+ // Set only by the non-query path: the query RPCs refuse a request that asks for no rows.
473
+ if (request.discardReturningRows === true)
474
+ wire.discardReturningRows = true;
465
475
  return wire;
466
476
  }
467
477
  /**
@@ -481,14 +491,22 @@ export class GrpcTransport {
481
491
  }
482
492
  /**
483
493
  * Merges a reply's token, keeping the clock maximum — physical component first, then the logical
484
- * counter — so the token this session threads advances whatever order replies arrive in.
494
+ * counter, then the node id — so the token this session threads advances whatever order replies
495
+ * arrive in. The node id is the tie-breaker `buildHandle` documents, so it decides a merge that
496
+ * the first two components leave equal.
485
497
  */
486
498
  observeToken(token) {
487
499
  if (token.l === 0n && token.c === 0n)
488
500
  return;
489
501
  const current = this.causalToken;
490
- if (token.l < current.l || (token.l === current.l && token.c <= current.c))
502
+ if (token.l < current.l)
491
503
  return;
504
+ if (token.l === current.l) {
505
+ if (token.c < current.c)
506
+ return;
507
+ if (token.c === current.c && token.n <= current.n)
508
+ return;
509
+ }
492
510
  this.causalToken = token;
493
511
  }
494
512
  /**
@@ -540,7 +558,7 @@ function encodeParameters(parameters) {
540
558
  const encoded = {};
541
559
  if (parameters !== undefined) {
542
560
  for (const [name, value] of parameters)
543
- encoded[name] = encodeValue(value);
561
+ setOwn(encoded, name, encodeValue(value));
544
562
  }
545
563
  return encoded;
546
564
  }