@metaobjectsdev/runtime-ts 1.0.9-rc.6 → 1.0.10

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 (80) hide show
  1. package/README.md +1 -1
  2. package/dist/constraint-errors.d.ts.map +1 -1
  3. package/dist/constraint-errors.js +3 -1
  4. package/dist/constraint-errors.js.map +1 -1
  5. package/dist/drivers/drizzle-driver.d.ts +2 -1
  6. package/dist/drivers/drizzle-driver.d.ts.map +1 -1
  7. package/dist/drivers/drizzle-driver.js +44 -0
  8. package/dist/drivers/drizzle-driver.js.map +1 -1
  9. package/dist/drivers/kysely-driver.d.ts +3 -1
  10. package/dist/drivers/kysely-driver.d.ts.map +1 -1
  11. package/dist/drivers/kysely-driver.js +37 -4
  12. package/dist/drivers/kysely-driver.js.map +1 -1
  13. package/dist/drivers/mysql-support.d.ts +19 -0
  14. package/dist/drivers/mysql-support.d.ts.map +1 -0
  15. package/dist/drivers/mysql-support.js +64 -0
  16. package/dist/drivers/mysql-support.js.map +1 -0
  17. package/dist/drizzle-fastify/filter-parser.d.ts +2 -1
  18. package/dist/drizzle-fastify/filter-parser.d.ts.map +1 -1
  19. package/dist/drizzle-fastify/filter-parser.js +11 -4
  20. package/dist/drizzle-fastify/filter-parser.js.map +1 -1
  21. package/dist/drizzle-fastify/index.d.ts +2 -1
  22. package/dist/drizzle-fastify/index.d.ts.map +1 -1
  23. package/dist/drizzle-fastify/index.js +23 -30
  24. package/dist/drizzle-fastify/index.js.map +1 -1
  25. package/dist/drizzle-fastify/mount-read-only.d.ts +2 -1
  26. package/dist/drizzle-fastify/mount-read-only.d.ts.map +1 -1
  27. package/dist/drizzle-fastify/mount-read-only.js +9 -3
  28. package/dist/drizzle-fastify/mount-read-only.js.map +1 -1
  29. package/dist/drizzle-fastify/util.d.ts +6 -0
  30. package/dist/drizzle-fastify/util.d.ts.map +1 -1
  31. package/dist/drizzle-fastify/util.js +28 -0
  32. package/dist/drizzle-fastify/util.js.map +1 -1
  33. package/dist/extract-object.d.ts.map +1 -1
  34. package/dist/extract-object.js +13 -2
  35. package/dist/extract-object.js.map +1 -1
  36. package/dist/hono/index.d.ts +2 -1
  37. package/dist/hono/index.d.ts.map +1 -1
  38. package/dist/hono/index.js +21 -30
  39. package/dist/hono/index.js.map +1 -1
  40. package/dist/hono/mount-read-only.d.ts +2 -1
  41. package/dist/hono/mount-read-only.d.ts.map +1 -1
  42. package/dist/hono/mount-read-only.js +9 -3
  43. package/dist/hono/mount-read-only.js.map +1 -1
  44. package/dist/object-manager.d.ts.map +1 -1
  45. package/dist/object-manager.js +2 -1
  46. package/dist/object-manager.js.map +1 -1
  47. package/dist/persistence-driver.d.ts +8 -1
  48. package/dist/persistence-driver.d.ts.map +1 -1
  49. package/dist/query-builder.d.ts +2 -0
  50. package/dist/query-builder.d.ts.map +1 -1
  51. package/dist/query-builder.js +5 -0
  52. package/dist/query-builder.js.map +1 -1
  53. package/dist/sql-dialect.d.ts +11 -0
  54. package/dist/sql-dialect.d.ts.map +1 -0
  55. package/dist/sql-dialect.js +16 -0
  56. package/dist/sql-dialect.js.map +1 -0
  57. package/dist/type-coercer.d.ts.map +1 -1
  58. package/dist/type-coercer.js +63 -4
  59. package/dist/type-coercer.js.map +1 -1
  60. package/dist/validator-runner.d.ts.map +1 -1
  61. package/dist/validator-runner.js +102 -73
  62. package/dist/validator-runner.js.map +1 -1
  63. package/package.json +3 -3
  64. package/src/constraint-errors.ts +3 -1
  65. package/src/drivers/drizzle-driver.ts +47 -4
  66. package/src/drivers/kysely-driver.ts +43 -7
  67. package/src/drivers/mysql-support.ts +77 -0
  68. package/src/drizzle-fastify/filter-parser.ts +16 -7
  69. package/src/drizzle-fastify/index.ts +23 -26
  70. package/src/drizzle-fastify/mount-read-only.ts +10 -4
  71. package/src/drizzle-fastify/util.ts +23 -0
  72. package/src/extract-object.ts +18 -0
  73. package/src/hono/index.ts +21 -26
  74. package/src/hono/mount-read-only.ts +10 -4
  75. package/src/object-manager.ts +2 -1
  76. package/src/persistence-driver.ts +8 -1
  77. package/src/query-builder.ts +9 -0
  78. package/src/sql-dialect.ts +21 -0
  79. package/src/type-coercer.ts +55 -3
  80. package/src/validator-runner.ts +100 -70
package/README.md CHANGED
@@ -62,7 +62,7 @@ const reloaded = await om.load(ref);
62
62
 
63
63
  Two drivers ship today:
64
64
 
65
- - **`kyselyDriver({ db, dialect })`** — real DBs (SQLite via libsql/Turso, Postgres via node-postgres or Neon). User provides a Kysely instance.
65
+ - **`kyselyDriver({ db, dialect })`** — real DBs (SQLite via libsql/Turso, Postgres via node-postgres or Neon, MySQL via Kysely's `MysqlDialect` over a mysql2 pool created with `timezone: "Z"`). User provides a Kysely instance. MySQL: see `docs/recipes/mysql.md`.
66
66
  - **`inMemoryDriver({ seed?, pkFields? })`** — Map-backed; useful for unit tests, prototyping, and MCP tool sandboxing where data shouldn't persist.
67
67
 
68
68
  ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-errors.d.ts","sourceRoot":"","sources":["../src/constraint-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAwCnF;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACvB,SAAS,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,CAAC,EACtC,QAAQ,GAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAA8B,GACzD,OAAO,CAAC,CAAC,CAAC,CAUZ;AAuBD,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAE/C;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;;CAK/C"}
1
+ {"version":3,"file":"constraint-errors.d.ts","sourceRoot":"","sources":["../src/constraint-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CA0CnF;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACvB,SAAS,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,CAAC,EACtC,QAAQ,GAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAA8B,GACzD,OAAO,CAAC,CAAC,CAAC,CAUZ;AAuBD,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAE/C;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;;CAK/C"}
@@ -50,11 +50,12 @@ export function classifyConstraintError(err) {
50
50
  const haystack = errorChainText(err);
51
51
  // Postgres SQLSTATE 23xxx — integrity constraint violation.
52
52
  const kind = haystack.includes("23503") ||
53
- haystack.includes("FOREIGN KEY") ||
53
+ haystack.includes("FOREIGN KEY") || // also MySQL 1451/1452 message text
54
54
  haystack.includes("SQLITE_CONSTRAINT_FOREIGNKEY") // extended code: no space
55
55
  ? "foreign_key"
56
56
  : haystack.includes("23505") ||
57
57
  haystack.includes("SQLITE_CONSTRAINT_UNIQUE") ||
58
+ haystack.includes("ER_DUP_ENTRY") || // MySQL 1062
58
59
  haystack.includes("UNIQUE CONSTRAINT")
59
60
  ? "unique"
60
61
  : haystack.includes("23514") ||
@@ -63,6 +64,7 @@ export function classifyConstraintError(err) {
63
64
  ? "check"
64
65
  : haystack.includes("23502") ||
65
66
  haystack.includes("SQLITE_CONSTRAINT_NOTNULL") ||
67
+ haystack.includes("ER_BAD_NULL_ERROR") || // MySQL 1048
66
68
  haystack.includes("NOT NULL")
67
69
  ? "not_null"
68
70
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-errors.js","sourceRoot":"","sources":["../src/constraint-errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraint-errors.js","sourceRoot":"","sources":["../src/constraint-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAYH;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,sFAAsF;IACtF,uFAAuF;IACvF,qBAAqB;IACrB,EAAE;IACF,6DAA6D;IAC7D,2EAA2E;IAC3E,EAAE;IACF,sFAAsF;IACtF,wFAAwF;IACxF,0FAA0F;IAC1F,uFAAuF;IACvF,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAErC,4DAA4D;IAC5D,MAAM,IAAI,GACR,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC1B,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAgB,oCAAoC;QACpF,QAAQ,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAG,0BAA0B;QAC5E,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YACxB,QAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAe,aAAa;YAC7D,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACxC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACxB,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBAC5C,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACvC,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACxB,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC;oBAC9C,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAM,aAAa;oBACzD,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC/B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,SAAS,CAAC;IAEtB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEzC,oFAAoF;IACpF,uEAAuE;IACvE,MAAM,MAAM,GAAG,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACvE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;AAC/E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAuB,EACvB,SAAsC,EACtC,WAAmC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;QACrD,yFAAyF;QACzF,QAAQ,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,qBAAqB,EAAE,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,GAAY;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,GAAG,GAAY,GAAG,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAClF,MAAM,CAAC,GAAG,GAA6D,CAAC;QACxE,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG;YAAE,MAAM;QAC3B,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF"}
@@ -14,7 +14,8 @@ export interface DrizzleDriverOptions {
14
14
  * JS variable name doesn't have to match the SQL table name.
15
15
  */
16
16
  schema: Record<string, unknown>;
17
- dialect: "sqlite" | "postgres";
17
+ /** `mysql`: a `drizzle-orm/mysql2` instance. */
18
+ dialect: "sqlite" | "postgres" | "mysql";
18
19
  }
19
20
  export interface DrizzleDriverPublic extends PersistenceDriver {
20
21
  /** The underlying Drizzle instance — escape hatch for hand-written queries. */
@@ -1 +1 @@
1
- {"version":3,"file":"drizzle-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/drizzle-driver.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EACV,iBAAiB,EAWlB,MAAM,0BAA0B,CAAC;AAOlC;;;;GAIG;AAEH,KAAK,YAAY,GAAG,GAAG,CAAC;AAMxB,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,EAAE,EAAE,YAAY,CAAC;IACjB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;CAC3B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,mBAAmB,CAG7E"}
1
+ {"version":3,"file":"drizzle-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/drizzle-driver.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EACV,iBAAiB,EAWlB,MAAM,0BAA0B,CAAC;AAQlC;;;;GAIG;AAEH,KAAK,YAAY,GAAG,GAAG,CAAC;AAMxB,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,EAAE,EAAE,YAAY,CAAC;IACjB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gDAAgD;IAChD,OAAO,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;CAC3B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,mBAAmB,CAG7E"}
@@ -12,6 +12,7 @@
12
12
  // Java analog: ObjectConnection backed by a JDBC DataSource.
13
13
  import { and as drzAnd, or as drzOr, eq as drzEq, ne as drzNe, gt as drzGt, gte as drzGte, lt as drzLt, lte as drzLte, like as drzLike, inArray as drzInArray, isNull as drzIsNull, isNotNull as drzIsNotNull, asc as drzAsc, desc as drzDesc, count as drzCount, getTableName, getTableColumns, } from "drizzle-orm";
14
14
  import { ConstraintViolationError } from "../errors.js";
15
+ import { insertedKey, mysqlConstraintKind } from "./mysql-support.js";
15
16
  export function drizzleDriver(opts) {
16
17
  const tables = indexTables(opts.schema);
17
18
  return makeDrizzleDriver(opts.db, tables, opts.dialect);
@@ -126,6 +127,24 @@ function makeDrizzleDriver(db, tables, dialect) {
126
127
  }
127
128
  return out;
128
129
  }
130
+ // MySQL has no RETURNING: insert, then read the row back by its key.
131
+ async function insertAndReadBack(table, tableName, values, returning, key) {
132
+ const result = await db.insert(table).values(toJsValues(table, values));
133
+ const header = (Array.isArray(result) ? result[0] : result);
134
+ const keyValues = key !== undefined && key.length > 0 ? insertedKey(key, values, header?.insertId) : undefined;
135
+ if (keyValues === undefined) {
136
+ throw new Error(`drizzleDriver.insert: cannot read back the row inserted into '${tableName}' (no primary-key value)`);
137
+ }
138
+ const where = {
139
+ kind: "and",
140
+ clauses: Object.entries(keyValues).map(([column, value]) => ({ kind: "eq", column, value: value })),
141
+ };
142
+ const selectArg = buildSelectMap(table, returning);
143
+ const rows = (await db.select(selectArg).from(table).where(applyWhere(table, where, table)).limit(1));
144
+ if (!rows[0])
145
+ throw new Error(`drizzleDriver.insert: no row found after insert into '${tableName}'`);
146
+ return toDbKeyedRow(table, jsKeyedFromSelect(rows[0], selectArg));
147
+ }
129
148
  return {
130
149
  db,
131
150
  dialect,
@@ -170,6 +189,8 @@ function makeDrizzleDriver(db, tables, dialect) {
170
189
  async insert(spec) {
171
190
  const table = requireTable(spec.table);
172
191
  try {
192
+ if (dialect === "mysql")
193
+ return await insertAndReadBack(table, spec.table, spec.values, spec.returning, spec.key);
173
194
  const result = await db
174
195
  .insert(table)
175
196
  .values(toJsValues(table, spec.values))
@@ -187,6 +208,12 @@ function makeDrizzleDriver(db, tables, dialect) {
187
208
  async insertMany(spec) {
188
209
  const table = requireTable(spec.table);
189
210
  try {
211
+ if (dialect === "mysql") {
212
+ const out = [];
213
+ for (const row of spec.rows)
214
+ out.push(await insertAndReadBack(table, spec.table, row, spec.returning, spec.key));
215
+ return out;
216
+ }
190
217
  const values = spec.rows.map((r) => toJsValues(table, r));
191
218
  const rows = (await db
192
219
  .insert(table)
@@ -205,6 +232,15 @@ function makeDrizzleDriver(db, tables, dialect) {
205
232
  const w = applyWhere(table, spec.where, table);
206
233
  if (w !== undefined)
207
234
  q = q.where(w);
235
+ if (dialect === "mysql") {
236
+ await q;
237
+ const selectArg = buildSelectMap(table, spec.returning);
238
+ let s = db.select(selectArg).from(table);
239
+ if (w !== undefined)
240
+ s = s.where(w);
241
+ const found = (await s.limit(1))[0];
242
+ return found ? toDbKeyedRow(table, jsKeyedFromSelect(found, selectArg)) : null;
243
+ }
208
244
  const rows = (await q.returning(buildSelectMap(table, spec.returning)));
209
245
  const first = rows[0];
210
246
  return first
@@ -300,6 +336,10 @@ function extractRowCount(result) {
300
336
  // common shapes; unknown shapes fall through to 0.
301
337
  if (typeof result === "number")
302
338
  return result;
339
+ // mysql2: `[ResultSetHeader, fields]`, the count on the header.
340
+ if (Array.isArray(result) && typeof result[0]?.affectedRows === "number") {
341
+ return result[0].affectedRows;
342
+ }
303
343
  if (Array.isArray(result))
304
344
  return result.length;
305
345
  if (result && typeof result === "object") {
@@ -355,6 +395,10 @@ function mapDriverError(err, table, dialect) {
355
395
  return err;
356
396
  const msg = err.message;
357
397
  const code = err.code;
398
+ if (dialect === "mysql") {
399
+ const kind = mysqlConstraintKind(err);
400
+ return kind === null ? err : new ConstraintViolationError(msg, { kind, table, cause: err });
401
+ }
358
402
  if (dialect === "sqlite") {
359
403
  const kind = sqliteConstraintKind(code, msg);
360
404
  if (kind !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"drizzle-driver.js","sourceRoot":"","sources":["../../src/drivers/drizzle-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drizzle-driver.js","sourceRoot":"","sources":["../../src/drivers/drizzle-driver.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@ import type { Kysely } from "kysely";
2
2
  import type { PersistenceDriver, Row } from "../persistence-driver.js";
3
3
  export interface KyselyDriverOptions {
4
4
  db: Kysely<Record<string, Row>>;
5
- dialect: "sqlite" | "postgres";
5
+ /** `mysql`: build the Kysely instance with `MysqlDialect` over a mysql2 pool created with
6
+ * `timezone: "Z"` (DATETIME then holds the UTC wall clock). */
7
+ dialect: "sqlite" | "postgres" | "mysql";
6
8
  }
7
9
  export interface KyselyDriverPublic extends PersistenceDriver {
8
10
  /** The underlying Kysely instance — power-user escape hatch. */
@@ -1 +1 @@
1
- {"version":3,"file":"kysely-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/kysely-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAA8D,MAAM,QAAQ,CAAC;AACjG,OAAO,KAAK,EACV,iBAAiB,EACoD,GAAG,EACzE,MAAM,0BAA0B,CAAC;AAalC,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAChC,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,gEAAgE;IAChE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CAC1C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CAE1E"}
1
+ {"version":3,"file":"kysely-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/kysely-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAA8D,MAAM,QAAQ,CAAC;AACjG,OAAO,KAAK,EACV,iBAAiB,EACoD,GAAG,EACzE,MAAM,0BAA0B,CAAC;AAclC,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAChC;oEACgE;IAChE,OAAO,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,gEAAgE;IAChE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CAC1C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CAE1E"}
@@ -1,8 +1,23 @@
1
1
  import { ConstraintViolationError } from "../errors.js";
2
+ import { arraysAsJsonText, insertedKey, mysqlConstraintKind } from "./mysql-support.js";
2
3
  export function kyselyDriver(opts) {
3
4
  return makeKyselyDriver(opts.db, opts.dialect);
4
5
  }
5
6
  function makeKyselyDriver(db, dialect) {
7
+ // Neither SQLite nor MySQL has an array type: a scalar array is bound as JSON text.
8
+ const bindable = (values) => (dialect === "postgres" ? values : arraysAsJsonText(values));
9
+ // MySQL has no RETURNING: insert, then read the row back by its key.
10
+ async function insertAndReadBack(table, values, returning, key) {
11
+ const result = await db.insertInto(table).values(bindable(values)).executeTakeFirst();
12
+ const keyValues = key !== undefined && key.length > 0 ? insertedKey(key, values, result?.insertId) : undefined;
13
+ if (keyValues === undefined) {
14
+ throw new Error(`kyselyDriver.insert: cannot read back the row inserted into '${table}' (no primary-key value)`);
15
+ }
16
+ let q = db.selectFrom(table).select(returning);
17
+ for (const [col, v] of Object.entries(keyValues))
18
+ q = q.where(col, "=", v);
19
+ return (await q.executeTakeFirstOrThrow());
20
+ }
6
21
  return {
7
22
  db,
8
23
  dialect,
@@ -28,9 +43,11 @@ function makeKyselyDriver(db, dialect) {
28
43
  },
29
44
  async insert(spec) {
30
45
  try {
46
+ if (dialect === "mysql")
47
+ return await insertAndReadBack(spec.table, spec.values, spec.returning, spec.key);
31
48
  const result = await db
32
49
  .insertInto(spec.table)
33
- .values(spec.values)
50
+ .values(bindable(spec.values))
34
51
  .returning(spec.returning)
35
52
  .executeTakeFirstOrThrow();
36
53
  return result;
@@ -41,9 +58,15 @@ function makeKyselyDriver(db, dialect) {
41
58
  },
42
59
  async insertMany(spec) {
43
60
  try {
61
+ if (dialect === "mysql") {
62
+ const out = [];
63
+ for (const row of spec.rows)
64
+ out.push(await insertAndReadBack(spec.table, row, spec.returning, spec.key));
65
+ return out;
66
+ }
44
67
  const rows = await db
45
68
  .insertInto(spec.table)
46
- .values(spec.rows)
69
+ .values(spec.rows.map(bindable))
47
70
  .returning(spec.returning)
48
71
  .execute();
49
72
  return rows;
@@ -54,8 +77,14 @@ function makeKyselyDriver(db, dialect) {
54
77
  },
55
78
  async update(spec) {
56
79
  try {
57
- let q = db.updateTable(spec.table).set(spec.values);
80
+ let q = db.updateTable(spec.table).set(bindable(spec.values));
58
81
  q = applyWhere(q, spec.where);
82
+ if (dialect === "mysql") {
83
+ await q.execute();
84
+ let s = db.selectFrom(spec.table).select(spec.returning);
85
+ s = applyWhere(s, spec.where);
86
+ return (await s.executeTakeFirst()) ?? null;
87
+ }
59
88
  const rows = await q.returning(spec.returning).execute();
60
89
  return (rows[0]) ?? null;
61
90
  }
@@ -65,7 +94,7 @@ function makeKyselyDriver(db, dialect) {
65
94
  },
66
95
  async updateMany(spec) {
67
96
  try {
68
- let q = db.updateTable(spec.table).set(spec.values);
97
+ let q = db.updateTable(spec.table).set(bindable(spec.values));
69
98
  q = applyWhere(q, spec.where);
70
99
  const result = await q.executeTakeFirst();
71
100
  return Number(result?.numUpdatedRows ?? 0);
@@ -146,6 +175,10 @@ function mapDriverError(err, table, dialect) {
146
175
  return err;
147
176
  const msg = err.message;
148
177
  const code = err.code;
178
+ if (dialect === "mysql") {
179
+ const kind = mysqlConstraintKind(err);
180
+ return kind === null ? err : new ConstraintViolationError(msg, { kind, table, cause: err });
181
+ }
149
182
  if (dialect === "sqlite") {
150
183
  const kind = sqliteConstraintKind(code, msg);
151
184
  if (kind !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"kysely-driver.js","sourceRoot":"","sources":["../../src/drivers/kysely-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kysely-driver.js","sourceRoot":"","sources":["../../src/drivers/kysely-driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { Row } from "../persistence-driver.js";
2
+ export type ConstraintKindName = "unique" | "foreign_key" | "not_null" | "check";
3
+ /** The constraint kind a mysql2 error (or a wrapper around one) reports, else null. */
4
+ export declare function mysqlConstraintKind(err: unknown): ConstraintKindName | null;
5
+ /**
6
+ * The key-column values of a row just inserted: every key column the caller wrote, and the
7
+ * server-generated AUTO_INCREMENT id for the one it did not. `undefined` when a key column
8
+ * has neither (the insert cannot be read back).
9
+ */
10
+ export declare function insertedKey(key: readonly string[], values: Row, insertId: number | bigint | undefined): Row | undefined;
11
+ /**
12
+ * A row a SQL driver without an array type can bind (SQLite, MySQL). mysql2 expands a JS
13
+ * array into a value LIST (`'x', 'y'`), breaking the column count, and libsql cannot bind one
14
+ * at all; a scalar array lives in a JSON (MySQL) or JSON-in-TEXT (SQLite) column, so it is sent
15
+ * as JSON text. Objects already arrive as JSON text from the type coercer. Drizzle's JSON
16
+ * column modes encode for themselves, so only the Kysely driver calls this.
17
+ */
18
+ export declare function arraysAsJsonText(values: Row): Row;
19
+ //# sourceMappingURL=mysql-support.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysql-support.d.ts","sourceRoot":"","sources":["../../src/drivers/mysql-support.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAEpD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAYjF,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAU3E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GACpC,GAAG,GAAG,SAAS,CAejB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAQjD"}
@@ -0,0 +1,64 @@
1
+ const MYSQL_CODES = {
2
+ ER_DUP_ENTRY: "unique",
3
+ ER_NO_REFERENCED_ROW_2: "foreign_key",
4
+ ER_ROW_IS_REFERENCED_2: "foreign_key",
5
+ ER_NO_REFERENCED_ROW: "foreign_key",
6
+ ER_ROW_IS_REFERENCED: "foreign_key",
7
+ ER_BAD_NULL_ERROR: "not_null",
8
+ ER_CHECK_CONSTRAINT_VIOLATED: "check",
9
+ };
10
+ /** The constraint kind a mysql2 error (or a wrapper around one) reports, else null. */
11
+ export function mysqlConstraintKind(err) {
12
+ let cur = err;
13
+ for (let depth = 0; depth < 8 && typeof cur === "object" && cur !== null; depth++) {
14
+ const code = cur.code;
15
+ if (typeof code === "string" && code in MYSQL_CODES)
16
+ return MYSQL_CODES[code];
17
+ const next = cur.cause;
18
+ if (next === cur)
19
+ break;
20
+ cur = next;
21
+ }
22
+ return null;
23
+ }
24
+ /**
25
+ * The key-column values of a row just inserted: every key column the caller wrote, and the
26
+ * server-generated AUTO_INCREMENT id for the one it did not. `undefined` when a key column
27
+ * has neither (the insert cannot be read back).
28
+ */
29
+ export function insertedKey(key, values, insertId) {
30
+ const out = {};
31
+ let usedInsertId = false;
32
+ for (const col of key) {
33
+ const v = values[col];
34
+ if (v !== undefined && v !== null) {
35
+ out[col] = v;
36
+ }
37
+ else if (!usedInsertId && insertId !== undefined && Number(insertId) !== 0) {
38
+ out[col] = typeof insertId === "bigint" ? Number(insertId) : insertId;
39
+ usedInsertId = true;
40
+ }
41
+ else {
42
+ return undefined;
43
+ }
44
+ }
45
+ return out;
46
+ }
47
+ /**
48
+ * A row a SQL driver without an array type can bind (SQLite, MySQL). mysql2 expands a JS
49
+ * array into a value LIST (`'x', 'y'`), breaking the column count, and libsql cannot bind one
50
+ * at all; a scalar array lives in a JSON (MySQL) or JSON-in-TEXT (SQLite) column, so it is sent
51
+ * as JSON text. Objects already arrive as JSON text from the type coercer. Drizzle's JSON
52
+ * column modes encode for themselves, so only the Kysely driver calls this.
53
+ */
54
+ export function arraysAsJsonText(values) {
55
+ let out = null;
56
+ for (const [k, v] of Object.entries(values)) {
57
+ if (!Array.isArray(v))
58
+ continue;
59
+ out ??= { ...values };
60
+ out[k] = JSON.stringify(v);
61
+ }
62
+ return out ?? values;
63
+ }
64
+ //# sourceMappingURL=mysql-support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysql-support.js","sourceRoot":"","sources":["../../src/drivers/mysql-support.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,GAAuC;IACtD,YAAY,EAAE,QAAQ;IACtB,sBAAsB,EAAE,aAAa;IACrC,sBAAsB,EAAE,aAAa;IACrC,oBAAoB,EAAE,aAAa;IACnC,oBAAoB,EAAE,aAAa;IACnC,iBAAiB,EAAE,UAAU;IAC7B,4BAA4B,EAAE,OAAO;CACtC,CAAC;AAEF,uFAAuF;AACvF,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,GAAG,GAAY,GAAG,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAClF,MAAM,IAAI,GAAI,GAA0B,CAAC,IAAI,CAAC;QAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC,IAAI,CAAE,CAAC;QAC/E,MAAM,IAAI,GAAI,GAA2B,CAAC,KAAK,CAAC;QAChD,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM;QACxB,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,GAAsB,EACtB,MAAW,EACX,QAAqC;IAErC,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAClC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;aAAM,IAAI,CAAC,YAAY,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtE,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAW;IAC1C,IAAI,GAAG,GAAe,IAAI,CAAC;IAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,SAAS;QAChC,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,IAAI,MAAM,CAAC;AACvB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { type SQL, type SQLWrapper } from "drizzle-orm";
2
+ import type { SqlDialect } from "../sql-dialect.js";
2
3
  import type { FilterAllowlist, SortAllowlist } from "./filter-allowlist.js";
3
4
  export { FilterParseError, parsePageBound, PAGINATION_EXPECTED, RAW_VIEW_MAX_LIMIT, SORT_EXPECTED } from "./list-params.js";
4
5
  type AnyTable = any;
@@ -7,7 +8,7 @@ export interface ParseFilterOpts {
7
8
  table: AnyTable;
8
9
  allowlist: FilterAllowlist;
9
10
  sortAllowlist: SortAllowlist;
10
- dialect: "sqlite" | "postgres";
11
+ dialect: SqlDialect;
11
12
  maxNesting?: number;
12
13
  maxInListSize?: number;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filter-parser.d.ts","sourceRoot":"","sources":["../../src/drizzle-fastify/filter-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EAAE,KAAK,UAAU,EAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,eAAe,EAA6B,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMvG,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQ5H,KAAK,QAAQ,GAAG,GAAG,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,EAAE,eAAe,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB;AA8DD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,iBAAiB,CA8C1E;AAwGD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAWzD"}
1
+ {"version":3,"file":"filter-parser.d.ts","sourceRoot":"","sources":["../../src/drizzle-fastify/filter-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EAAE,KAAK,UAAU,EAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAA6B,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMvG,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQ5H,KAAK,QAAQ,GAAG,GAAG,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,EAAE,eAAe,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB;AA8DD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,iBAAiB,CAkD1E;AA4GD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAWzD"}
@@ -82,9 +82,12 @@ export function parseFilterParams(opts) {
82
82
  // deliberately case-INSENSITIVE — it is a human search box, not the
83
83
  // contract's `like` operator (which is case-sensitive SQL LIKE, ADR-0049).
84
84
  // Postgres uses ILIKE; SQLite's native LIKE folds ASCII case by default,
85
- // which is the intended behavior here.
86
- const matcher = opts.dialect === "postgres" ? ilike : like;
87
- const parts = stringCols.map((col) => matcher(col, term));
85
+ // which is the intended behavior here. MySQL's LIKE follows the column's
86
+ // collation, which is case-insensitive by default and case-sensitive on a
87
+ // `_bin` column, so it folds both sides explicitly.
88
+ const parts = stringCols.map((col) => opts.dialect === "postgres" ? ilike(col, term)
89
+ : opts.dialect === "mysql" ? sql `LOWER(${col}) LIKE LOWER(${term})`
90
+ : like(col, term));
88
91
  // or() is defined as returning SQL | undefined but will always return
89
92
  // SQL when given a non-empty array. parts[0] is always defined here
90
93
  // because stringCols.length > 0 guarantees at least one element.
@@ -170,9 +173,13 @@ function compileOp(col, rule, field, op, value, dialect, maxInList) {
170
173
  // default (and `PRAGMA case_sensitive_like` is connection-global on a
171
174
  // consumer-owned connection), so the sqlite branch lowers to GLOB with
172
175
  // an exactly-translated pattern instead.
176
+ // MySQL's LIKE follows the column's collation, which is case-INSENSITIVE by
177
+ // default, so the pattern carries an explicit binary collation.
173
178
  return dialect === "postgres"
174
179
  ? like(col, s)
175
- : sql `${col} GLOB ${likePatternToGlob(s)}`;
180
+ : dialect === "mysql"
181
+ ? sql `${col} LIKE ${s} COLLATE utf8mb4_bin`
182
+ : sql `${col} GLOB ${likePatternToGlob(s)}`;
176
183
  }
177
184
  case "isNull": {
178
185
  // isNull's value is always coerced as boolean (true/false), regardless of the