uql-orm 0.15.0 → 0.15.2

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 (69) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +2 -1
  3. package/dist/d1/d1SqliteDialect.d.ts +2 -2
  4. package/dist/d1/d1SqliteDialect.d.ts.map +1 -1
  5. package/dist/d1/d1SqliteDialect.js +3 -2
  6. package/dist/d1/d1SqliteDialect.js.map +1 -1
  7. package/dist/dialect/abstractDialect.d.ts +16 -8
  8. package/dist/dialect/abstractDialect.d.ts.map +1 -1
  9. package/dist/dialect/abstractDialect.js +11 -9
  10. package/dist/dialect/abstractDialect.js.map +1 -1
  11. package/dist/dialect/abstractSqlDialect.d.ts +13 -3
  12. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
  13. package/dist/dialect/abstractSqlDialect.js +21 -6
  14. package/dist/dialect/abstractSqlDialect.js.map +1 -1
  15. package/dist/dialect/mysqlLikeSqlDialect.d.ts +4 -5
  16. package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +1 -1
  17. package/dist/dialect/mysqlLikeSqlDialect.js +3 -6
  18. package/dist/dialect/mysqlLikeSqlDialect.js.map +1 -1
  19. package/dist/maria/mariaDialect.d.ts +1 -0
  20. package/dist/maria/mariaDialect.d.ts.map +1 -1
  21. package/dist/maria/mariaDialect.js +2 -0
  22. package/dist/maria/mariaDialect.js.map +1 -1
  23. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +3 -2
  24. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
  25. package/dist/migrate/generator/mongoSchemaGenerator.js +4 -3
  26. package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -1
  27. package/dist/mongo/mongoDialect.d.ts +4 -5
  28. package/dist/mongo/mongoDialect.d.ts.map +1 -1
  29. package/dist/mongo/mongoDialect.js +21 -23
  30. package/dist/mongo/mongoDialect.js.map +1 -1
  31. package/dist/postgres/pgDialect.d.ts +0 -2
  32. package/dist/postgres/pgDialect.d.ts.map +1 -1
  33. package/dist/postgres/pgDialect.js +0 -3
  34. package/dist/postgres/pgDialect.js.map +1 -1
  35. package/dist/postgres/postgresDialect.d.ts +3 -4
  36. package/dist/postgres/postgresDialect.d.ts.map +1 -1
  37. package/dist/postgres/postgresDialect.js +3 -6
  38. package/dist/postgres/postgresDialect.js.map +1 -1
  39. package/dist/querier/abstractQuerier.d.ts +13 -13
  40. package/dist/querier/abstractQuerier.d.ts.map +1 -1
  41. package/dist/querier/abstractQuerier.js.map +1 -1
  42. package/dist/querier/abstractQuerierPool.d.ts +4 -4
  43. package/dist/querier/abstractQuerierPool.d.ts.map +1 -1
  44. package/dist/querier/abstractQuerierPool.js.map +1 -1
  45. package/dist/querier/abstractSqlQuerier.d.ts +7 -0
  46. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
  47. package/dist/querier/abstractSqlQuerier.js +43 -10
  48. package/dist/querier/abstractSqlQuerier.js.map +1 -1
  49. package/dist/sqlite/sqliteDialect.d.ts +8 -5
  50. package/dist/sqlite/sqliteDialect.d.ts.map +1 -1
  51. package/dist/sqlite/sqliteDialect.js +14 -6
  52. package/dist/sqlite/sqliteDialect.js.map +1 -1
  53. package/dist/type/querier.d.ts +27 -13
  54. package/dist/type/querier.d.ts.map +1 -1
  55. package/dist/type/querier.js.map +1 -1
  56. package/dist/type/query.d.ts +35 -5
  57. package/dist/type/query.d.ts.map +1 -1
  58. package/dist/type/query.js.map +1 -1
  59. package/dist/type/universalQuerier.d.ts +5 -5
  60. package/dist/type/universalQuerier.d.ts.map +1 -1
  61. package/dist/util/dialect.util.d.ts +10 -0
  62. package/dist/util/dialect.util.d.ts.map +1 -1
  63. package/dist/util/dialect.util.js +26 -0
  64. package/dist/util/dialect.util.js.map +1 -1
  65. package/dist/util/sql.util.d.ts +13 -3
  66. package/dist/util/sql.util.d.ts.map +1 -1
  67. package/dist/util/sql.util.js +25 -29
  68. package/dist/util/sql.util.js.map +1 -1
  69. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import type { QueryUpdateResult, RawRow } from '../type/index.js';
1
+ import type { InsertIdSource, QueryUpdateResult, RawRow } from '../type/index.js';
2
2
  import type { PrimaryKey } from '../type/utility.js';
3
3
  export declare function flatObject<E extends object>(obj: E, pre?: string): E;
4
4
  export declare function unflatObjects<T extends object>(objects: RawRow[]): T[];
@@ -28,8 +28,13 @@ export interface BuildUpdateResultPayload {
28
28
  rows?: RawRow[];
29
29
  /** The first (MySQL) or last (SQLite) auto-generated ID from the driver header. */
30
30
  id?: PrimaryKey;
31
- /** The ID strategy: 'first' (MySQL/MariaDB) or 'last' (SQLite/LibSQL/D1). */
32
- insertIdStrategy?: 'first' | 'last';
31
+ /** How the dialect surfaces inserted IDs (see {@link InsertIdSource}). */
32
+ insertIdSource?: InsertIdSource;
33
+ /**
34
+ * Auto-increment stride for header-derived id inference. Defaults to 1; a clustered MySQL
35
+ * server (e.g. Galera, group replication) may set `auto_increment_increment` higher.
36
+ */
37
+ insertIdIncrement?: number;
33
38
  /**
34
39
  * Driver-specific upsert detection from the result header.
35
40
  * MySQL/MariaDB `ON DUPLICATE KEY UPDATE` convention: 1 = insert, 2 = update, 0 = no-op.
@@ -41,6 +46,11 @@ export interface BuildUpdateResultPayload {
41
46
  *
42
47
  * UQL's SQL dialects always alias the entity's ID column to `id` in RETURNING clauses,
43
48
  * so the result rows always contain an `id` property regardless of the entity's @Id() key name.
49
+ *
50
+ * The header-derived ID path assumes the database allocated consecutive values for the
51
+ * statement, which holds for a single multi-row `INSERT ... VALUES` on auto-increment keys
52
+ * (with the standard `auto_increment_increment = 1`); the querier only maps these IDs onto
53
+ * payloads when that assumption is safe.
44
54
  */
45
55
  export declare function buildUpdateResult(payload: BuildUpdateResultPayload): QueryUpdateResult;
46
56
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sql.util.d.ts","sourceRoot":"","sources":["../../src/util/sql.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,iBAAiB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMrD,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAKpE;AAcD,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAYtE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAwBnG;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC;;EAQxD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,GAAG,GAAG,GAAS,EAC7B,eAAe,CAAC,EAAE,OAAO,EACzB,MAAM,CAAC,EAAE,OAAO,GACf,MAAM,CAmBR;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mFAAmF;IACnF,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CA8CtF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAE5D"}
1
+ {"version":3,"file":"sql.util.d.ts","sourceRoot":"","sources":["../../src/util/sql.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAO,iBAAiB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMrD,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAKpE;AAcD,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAYtE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAwBnG;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC;;EAQxD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,GAAG,GAAG,GAAS,EAC7B,eAAe,CAAC,EAAE,OAAO,EACzB,MAAM,CAAC,EAAE,OAAO,GACf,MAAM,CAmBR;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mFAAmF;IACnF,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CA8BtF;AASD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAE5D"}
@@ -86,43 +86,33 @@ export function escapeSqlId(val, escapeIdChar = '`', forbidQualified, addDot) {
86
86
  *
87
87
  * UQL's SQL dialects always alias the entity's ID column to `id` in RETURNING clauses,
88
88
  * so the result rows always contain an `id` property regardless of the entity's @Id() key name.
89
+ *
90
+ * The header-derived ID path assumes the database allocated consecutive values for the
91
+ * statement, which holds for a single multi-row `INSERT ... VALUES` on auto-increment keys
92
+ * (with the standard `auto_increment_increment = 1`); the querier only maps these IDs onto
93
+ * payloads when that assumption is safe.
89
94
  */
90
95
  export function buildUpdateResult(payload) {
91
- const { rows, id, insertIdStrategy, upsertStatus } = payload;
96
+ const { rows, id, insertIdSource, upsertStatus } = payload;
92
97
  const changes = payload.changes ?? rows?.length ?? 0;
93
- // 1. ID Mapping
94
- let firstId;
95
- const rowId = rows?.[0]?.['id'];
96
- if (isPrimaryKey(rowId)) {
97
- firstId = rowId;
98
- }
99
- else if (isPrimaryKey(id)) {
100
- const offset = changes - 1;
101
- if (insertIdStrategy === 'last') {
102
- if (typeof id === 'bigint') {
103
- firstId = id - BigInt(offset);
104
- }
105
- else if (typeof id === 'number') {
106
- firstId = id - offset;
107
- }
108
- else {
109
- firstId = id;
110
- }
111
- }
112
- else {
113
- firstId = id;
114
- }
115
- }
98
+ const stride = payload.insertIdIncrement && payload.insertIdIncrement > 0 ? payload.insertIdIncrement : 1;
99
+ // ID mapping. RETURNING rows are exact. Otherwise the sequence is derived from the single id in
100
+ // the driver header: `firstId` dialects (MySQL) report the FIRST generated id, `lastId` dialects
101
+ // (SQLite) the LAST - so for the latter we step back over the other rows to reach the first. A
102
+ // header id of `0`/`0n` means no id was generated (e.g. a non-auto-increment key), so we infer none.
116
103
  let ids = [];
117
104
  if (rows?.length) {
118
105
  ids = rows.map((r) => r['id']);
119
106
  }
120
- else if (isPrimaryKey(firstId)) {
121
- if (typeof firstId === 'bigint' || typeof firstId === 'number') {
122
- ids = Array.from({ length: changes }, (_, i) => typeof firstId === 'bigint' ? firstId + BigInt(i) : firstId + i);
107
+ else if (insertIdSource !== 'returning' && isPrimaryKey(id) && id) {
108
+ if (typeof id === 'string') {
109
+ if (changes === 1)
110
+ ids = [id];
123
111
  }
124
- else if (changes === 1) {
125
- ids = [firstId];
112
+ else {
113
+ const backSteps = insertIdSource === 'lastId' ? changes - 1 : 0;
114
+ const first = typeof id === 'bigint' ? id - BigInt(backSteps * stride) : id - backSteps * stride;
115
+ ids = sequentialIds(first, changes, stride);
126
116
  }
127
117
  }
128
118
  // 2. Creation Status
@@ -132,6 +122,12 @@ export function buildUpdateResult(payload) {
132
122
  (typeof upsertStatus === 'number' && upsertStatus >= 0 && upsertStatus <= 2 ? upsertStatus === 1 : undefined);
133
123
  return { changes, ids, firstId: ids?.[0], created };
134
124
  }
125
+ /** Build `count` ids starting at `first`, incrementing by `step` (bigint- and number-safe). */
126
+ function sequentialIds(first, count, step) {
127
+ return typeof first === 'bigint'
128
+ ? Array.from({ length: count }, (_, i) => first + BigInt(i) * BigInt(step))
129
+ : Array.from({ length: count }, (_, i) => first + i * step);
130
+ }
135
131
  /**
136
132
  * Checks if a value is of a primary key type (string, number, or bigint).
137
133
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sql.util.js","sourceRoot":"","sources":["../../src/util/sql.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.util.js","sourceRoot":"","sources":["../../src/util/sql.util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "homepage": "https://uql-orm.dev",
4
4
  "description": "Fast, type-safe TypeScript ORM - one API for every database",
5
5
  "license": "MIT",
6
- "version": "0.15.0",
6
+ "version": "0.15.2",
7
7
  "type": "module",
8
8
  "main": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",
@@ -175,5 +175,5 @@
175
175
  "publishConfig": {
176
176
  "access": "public"
177
177
  },
178
- "gitHead": "8add13b552f016141280b8ca4f41bac6fdd69645"
178
+ "gitHead": "b41135b50d6622f90415945c7aa68e461a916864"
179
179
  }