neoorm 0.9.6 → 0.9.7

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 (100) hide show
  1. package/dist/bin/neoorm.d.ts.map +1 -1
  2. package/dist/bin/neoorm.js +83 -141
  3. package/dist/bin/neoorm.js.map +1 -1
  4. package/dist/codegen/column-ts.d.ts.map +1 -1
  5. package/dist/codegen/column-ts.js +5 -2
  6. package/dist/codegen/column-ts.js.map +1 -1
  7. package/dist/codegen/emit-query-types.d.ts.map +1 -1
  8. package/dist/codegen/emit-query-types.js +35 -0
  9. package/dist/codegen/emit-query-types.js.map +1 -1
  10. package/dist/codegen/generate.d.ts +1 -0
  11. package/dist/codegen/generate.d.ts.map +1 -1
  12. package/dist/codegen/generate.js +8 -1
  13. package/dist/codegen/generate.js.map +1 -1
  14. package/dist/codegen/schema-to-manifest.d.ts.map +1 -1
  15. package/dist/codegen/schema-to-manifest.js +65 -0
  16. package/dist/codegen/schema-to-manifest.js.map +1 -1
  17. package/dist/codegen/validation/from-manifest.d.ts.map +1 -1
  18. package/dist/codegen/validation/from-manifest.js +12 -2
  19. package/dist/codegen/validation/from-manifest.js.map +1 -1
  20. package/dist/dialect/sqlite.test.js +9 -0
  21. package/dist/dialect/sqlite.test.js.map +1 -1
  22. package/dist/introspect/mysql/to-manifest.d.ts.map +1 -1
  23. package/dist/introspect/mysql/to-manifest.js +2 -1
  24. package/dist/introspect/mysql/to-manifest.js.map +1 -1
  25. package/dist/introspect/pull.d.ts +5 -0
  26. package/dist/introspect/pull.d.ts.map +1 -1
  27. package/dist/introspect/pull.js +160 -22
  28. package/dist/introspect/pull.js.map +1 -1
  29. package/dist/introspect/sqlite/to-manifest.d.ts.map +1 -1
  30. package/dist/introspect/sqlite/to-manifest.js +2 -1
  31. package/dist/introspect/sqlite/to-manifest.js.map +1 -1
  32. package/dist/introspect/table-map.d.ts +9 -0
  33. package/dist/introspect/table-map.d.ts.map +1 -0
  34. package/dist/introspect/table-map.js +21 -0
  35. package/dist/introspect/table-map.js.map +1 -0
  36. package/dist/introspect/to-manifest.d.ts.map +1 -1
  37. package/dist/introspect/to-manifest.js +2 -1
  38. package/dist/introspect/to-manifest.js.map +1 -1
  39. package/dist/migrate/dev-workflow.d.ts +36 -0
  40. package/dist/migrate/dev-workflow.d.ts.map +1 -0
  41. package/dist/migrate/dev-workflow.js +96 -0
  42. package/dist/migrate/dev-workflow.js.map +1 -0
  43. package/dist/migrate/runner.d.ts.map +1 -1
  44. package/dist/migrate/runner.js +23 -5
  45. package/dist/migrate/runner.js.map +1 -1
  46. package/dist/runtime/driver-sqlite.test.js +115 -0
  47. package/dist/runtime/driver-sqlite.test.js.map +1 -1
  48. package/dist/runtime/driver.d.ts +8 -0
  49. package/dist/runtime/driver.d.ts.map +1 -1
  50. package/dist/runtime/driver.js +51 -97
  51. package/dist/runtime/driver.js.map +1 -1
  52. package/dist/runtime/error-codes.d.ts +3 -0
  53. package/dist/runtime/error-codes.d.ts.map +1 -1
  54. package/dist/runtime/error-codes.js +3 -0
  55. package/dist/runtime/error-codes.js.map +1 -1
  56. package/dist/runtime/mysql-driver.d.ts.map +1 -1
  57. package/dist/runtime/mysql-driver.js +5 -1
  58. package/dist/runtime/mysql-driver.js.map +1 -1
  59. package/dist/runtime/mysql-family-pool.test.js +14 -1
  60. package/dist/runtime/mysql-family-pool.test.js.map +1 -1
  61. package/dist/runtime/mysql-placeholders.d.ts.map +1 -1
  62. package/dist/runtime/mysql-placeholders.js +12 -0
  63. package/dist/runtime/mysql-placeholders.js.map +1 -1
  64. package/dist/runtime/mysql-placeholders.test.js +15 -0
  65. package/dist/runtime/mysql-placeholders.test.js.map +1 -1
  66. package/dist/runtime/query/compile-where.d.ts.map +1 -1
  67. package/dist/runtime/query/compile-where.js +26 -1
  68. package/dist/runtime/query/compile-where.js.map +1 -1
  69. package/dist/runtime/query/find-or-create.test.js +19 -0
  70. package/dist/runtime/query/find-or-create.test.js.map +1 -1
  71. package/dist/runtime/query/update.d.ts.map +1 -1
  72. package/dist/runtime/query/update.js +9 -1
  73. package/dist/runtime/query/update.js.map +1 -1
  74. package/dist/runtime/query/upsert.d.ts.map +1 -1
  75. package/dist/runtime/query/upsert.js +12 -3
  76. package/dist/runtime/query/upsert.js.map +1 -1
  77. package/dist/runtime/regex-guard.d.ts +28 -0
  78. package/dist/runtime/regex-guard.d.ts.map +1 -0
  79. package/dist/runtime/regex-guard.js +124 -0
  80. package/dist/runtime/regex-guard.js.map +1 -0
  81. package/dist/runtime/regex-guard.test.d.ts +2 -0
  82. package/dist/runtime/regex-guard.test.d.ts.map +1 -0
  83. package/dist/runtime/regex-guard.test.js +63 -0
  84. package/dist/runtime/regex-guard.test.js.map +1 -0
  85. package/dist/runtime/sqlite-open.d.ts.map +1 -1
  86. package/dist/runtime/sqlite-open.js +22 -7
  87. package/dist/runtime/sqlite-open.js.map +1 -1
  88. package/dist/runtime/sqlite-open.test.d.ts +2 -0
  89. package/dist/runtime/sqlite-open.test.d.ts.map +1 -0
  90. package/dist/runtime/sqlite-open.test.js +66 -0
  91. package/dist/runtime/sqlite-open.test.js.map +1 -0
  92. package/dist/sql/split-statements.d.ts +15 -0
  93. package/dist/sql/split-statements.d.ts.map +1 -0
  94. package/dist/sql/split-statements.js +132 -0
  95. package/dist/sql/split-statements.js.map +1 -0
  96. package/docs/migrate-dev-workflow.md +84 -0
  97. package/docs/migrations.md +3 -0
  98. package/docs/sqlite.md +2 -0
  99. package/llms-full.txt +90 -0
  100. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/migrate/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/migrate/runner.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { dirname, join } from "node:path";
4
4
  import { diffManifest, formatDestructiveWarnings, resolveMigrationSql, } from "../codegen/diff-manifest.js";
5
5
  import { compileSchemaToManifest, writeSnapshot } from "../codegen/generate.js";
6
6
  import { applySchemaToManifest, DEFAULT_PG_SCHEMA, quoteQualifiedIdentifier, resolvePgSchemaName, } from "../dialect/postgres.js";
7
+ import { isMysqlFamilyDialect } from "../dialect/resolve.js";
7
8
  import { introspectMysqlToManifest } from "../introspect/mysql/to-manifest.js";
8
9
  import { introspectSqliteToManifest } from "../introspect/sqlite/to-manifest.js";
9
10
  import { introspectToManifest } from "../introspect/to-manifest.js";
@@ -11,7 +12,20 @@ import { schemaError } from "../runtime/error-builders.js";
11
12
  import { SchemaErrorCode } from "../runtime/error-codes.js";
12
13
  import { NeoOrmDriverError } from "../runtime/errors.js";
13
14
  import { enrichMigrationError, extractCreateTableSqlNames, resolveMigrateContext, } from "../runtime/schema-error.js";
15
+ import { splitStatements } from "../sql/split-statements.js";
14
16
  const MIGRATIONS_TABLE = "_neoorm_migrations";
17
+ /**
18
+ * MySQL/MariaDB connections run a single statement per query
19
+ * (`multipleStatements` is off), so a whole migration file would come back
20
+ * as ER_PARSE_ERROR — split it into statements first. Other dialects accept
21
+ * multi-statement payloads and keep their existing error reporting.
22
+ */
23
+ function migrationFileStatements(dialect, sql) {
24
+ const statements = isMysqlFamilyDialect(dialect)
25
+ ? splitStatements(sql, { backslashEscapes: true })
26
+ : [sql];
27
+ return statements.filter((statement) => statement.trim().length > 0);
28
+ }
15
29
  /** int4 classid for `pg_advisory_xact_lock` — distinct from table OIDs. */
16
30
  const PG_MIGRATE_LOCK_CLASSID = 872014;
17
31
  export function hashMigrationSql(sql) {
@@ -49,12 +63,14 @@ async function migrationsLedgerHasChecksumColumn(client, dialect, schema) {
49
63
  }
50
64
  case "mysql":
51
65
  case "mariadb": {
52
- const result = await client.query(`SELECT COUNT(*) AS exists
66
+ // `exists` is a reserved word on MySQL/MariaDB — an unquoted alias
67
+ // is a ER 1064 syntax error, unlike on PostgreSQL.
68
+ const result = await client.query(`SELECT COUNT(*) AS checksum_count
53
69
  FROM information_schema.COLUMNS
54
70
  WHERE TABLE_SCHEMA = DATABASE()
55
71
  AND TABLE_NAME = $1
56
72
  AND COLUMN_NAME = 'checksum'`, [MIGRATIONS_TABLE]);
57
- return Number(result.rows[0]?.exists ?? 0) > 0;
73
+ return Number(result.rows[0]?.checksum_count ?? 0) > 0;
58
74
  }
59
75
  case "postgresql": {
60
76
  const schemaName = resolvePgSchemaName(schema);
@@ -485,7 +501,9 @@ export async function applyMigration(client, dialect, migrationsDir, name, schem
485
501
  if (schemaSql) {
486
502
  await tx.query(schemaSql);
487
503
  }
488
- await tx.query(sql);
504
+ for (const statement of migrationFileStatements(dialect, sql)) {
505
+ await tx.query(statement);
506
+ }
489
507
  await tx.query(`INSERT INTO ${migrationsTableRef(dialect, context.schema)} (name, checksum) VALUES ($1, $2)`, [name, hashMigrationSql(sql)]);
490
508
  });
491
509
  if (dialect.name === "sqlite") {
@@ -548,8 +566,8 @@ async function readSnapshotBefore(migrationsDir, name) {
548
566
  export async function revertMigration(client, dialect, migrationsDir, name, schema) {
549
567
  const sql = await readDownSql(migrationsDir, name);
550
568
  await client.transaction(async (tx) => {
551
- if (sql.trim().length > 0) {
552
- await tx.query(sql);
569
+ for (const statement of migrationFileStatements(dialect, sql)) {
570
+ await tx.query(statement);
553
571
  }
554
572
  await tx.query(`DELETE FROM ${migrationsTableRef(dialect, schema)} WHERE name = $1`, [name]);
555
573
  });
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/migrate/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/migrate/runner.ts"],"names":[],"mappings":"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"}
@@ -154,6 +154,29 @@ describe("sqlite production pragmas", () => {
154
154
  expect(await pragmaValue(client, "busy_timeout")).toBe(2500);
155
155
  await client.close();
156
156
  });
157
+ it("re-applies changed pragmas instead of ignoring later options", async () => {
158
+ // The WeakMap caches one wrapper per db handle. A second call with
159
+ // different options must honor them (not silently keep the first
160
+ // wrap's pragmas) while still returning the same wrapper/mutex.
161
+ const db = new DatabaseSync(":memory:");
162
+ const first = sqliteClient(db, { busyTimeout: 2500 });
163
+ const second = sqliteClient(db, { busyTimeout: 100 });
164
+ expect(second).toBe(first);
165
+ expect(await pragmaValue(second, "busy_timeout")).toBe(100);
166
+ // busyTimeout: false must reset to the engine default (0), not leave
167
+ // the prior 100 in place.
168
+ const third = sqliteClient(db, { busyTimeout: false });
169
+ expect(third).toBe(first);
170
+ expect(await pragmaValue(third, "busy_timeout")).toBe(0);
171
+ await first.close();
172
+ });
173
+ it("keeps one wrapper for identical options", async () => {
174
+ const db = new DatabaseSync(":memory:");
175
+ const a = sqliteClient(db, { busyTimeout: 1234 });
176
+ const b = sqliteClient(db, { busyTimeout: 1234 });
177
+ expect(b).toBe(a);
178
+ await a.close();
179
+ });
157
180
  });
158
181
  describe("sqlite placeholders", () => {
159
182
  it("reuses $1 instead of consuming a second bound value", async () => {
@@ -204,4 +227,96 @@ describe("sqlite readOnly transactions", () => {
204
227
  await client.close();
205
228
  });
206
229
  });
230
+ describe("sqlite placeholder conversion $-quoting", () => {
231
+ function recordingClient() {
232
+ const prepared = [];
233
+ const fake = {
234
+ prepare(sql) {
235
+ prepared.push(sql);
236
+ return {
237
+ all: () => [],
238
+ get: () => undefined,
239
+ run: () => ({ changes: 0, lastInsertRowid: 0 }),
240
+ };
241
+ },
242
+ exec(sql) {
243
+ prepared.push(sql);
244
+ },
245
+ close() { },
246
+ };
247
+ return { client: sqliteClient(fake), prepared };
248
+ }
249
+ function lastNonPragma(prepared) {
250
+ return prepared.find((sql) => !sql.startsWith("PRAGMA")) ?? "";
251
+ }
252
+ it("copies $-quoted regions verbatim while converting real placeholders", async () => {
253
+ const { client, prepared } = recordingClient();
254
+ await client.query("SELECT $1, $$ body with $2 $$ AS b", ["a", "b"]);
255
+ expect(lastNonPragma(prepared)).toBe("SELECT ?1, $$ body with $2 $$ AS b");
256
+ });
257
+ it("copies tagged $-quoted regions verbatim", async () => {
258
+ const { client, prepared } = recordingClient();
259
+ await client.query("SELECT $1, $body$ keep $2 $body$ AS b", ["a", "b"]);
260
+ expect(lastNonPragma(prepared)).toBe("SELECT ?1, $body$ keep $2 $body$ AS b");
261
+ });
262
+ it("still converts $n when a $$ region is never closed", async () => {
263
+ const { client, prepared } = recordingClient();
264
+ await client.query("SELECT $$ open $1, id = $1", ["a"]);
265
+ expect(lastNonPragma(prepared)).toBe("SELECT $$ open ?1, id = ?1");
266
+ });
267
+ });
268
+ describe("sqlite REGEXP catastrophic-backtracking guard", () => {
269
+ // Long enough that an exponential pattern would take far longer than the
270
+ // test timeout if it ever reached the regex engine.
271
+ const evilValue = `${"a".repeat(30)}!`;
272
+ it("rejects nested-quantifier patterns on the regexp operator", async () => {
273
+ const db = new DatabaseSync(":memory:");
274
+ const client = sqliteClient(db);
275
+ await expect(client.query("SELECT ? REGEXP ? AS m", [evilValue, "(a+)+$"])).rejects.toThrow(/unsafeAllowRegex/);
276
+ db.close();
277
+ });
278
+ it("keeps the connection usable and benign patterns matching", async () => {
279
+ const db = new DatabaseSync(":memory:");
280
+ const client = sqliteClient(db);
281
+ await expect(client.query("SELECT ? REGEXP ? AS m", [evilValue, "(a+)+$"])).rejects.toThrow();
282
+ const ok = await client.query("SELECT 1 AS ok");
283
+ expect(ok.rows[0]?.ok).toBe(1);
284
+ const benign = await client.query("SELECT ? REGEXP ? AS m", [
285
+ "hello",
286
+ "^h",
287
+ ]);
288
+ expect(benign.rows[0]?.m).toBe(1);
289
+ db.close();
290
+ });
291
+ it("guards regexp_i as well as regexp", async () => {
292
+ const db = new DatabaseSync(":memory:");
293
+ const client = sqliteClient(db);
294
+ await expect(client.query("SELECT regexp_i(?, ?) AS m", ["(a+)+$", evilValue])).rejects.toThrow(/unsafeAllowRegex/);
295
+ db.close();
296
+ });
297
+ it("allows catastrophic patterns when unsafeAllowRegex is set", async () => {
298
+ const db = new DatabaseSync(":memory:");
299
+ const client = sqliteClient(db, { unsafeAllowRegex: true });
300
+ // Short non-matching value so the allowed pattern finishes instantly.
301
+ const result = await client.query("SELECT ? REGEXP ? AS m", [
302
+ "b",
303
+ "(a+)+$",
304
+ ]);
305
+ expect(result.rows[0]?.m).toBe(0);
306
+ db.close();
307
+ });
308
+ it("re-registers the guard when the option changes on a shared handle", async () => {
309
+ const db = new DatabaseSync(":memory:");
310
+ const guarded = sqliteClient(db);
311
+ await expect(guarded.query("SELECT ? REGEXP ? AS m", [evilValue, "(a+)+$"])).rejects.toThrow();
312
+ const unsafe = sqliteClient(db, { unsafeAllowRegex: true });
313
+ expect(unsafe).toBe(guarded);
314
+ const allowed = await unsafe.query("SELECT ? REGEXP ? AS m", [
315
+ "b",
316
+ "(a+)+$",
317
+ ]);
318
+ expect(allowed.rows[0]?.m).toBe(0);
319
+ db.close();
320
+ });
321
+ });
207
322
  //# sourceMappingURL=driver-sqlite.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver-sqlite.test.js","sourceRoot":"","sources":["../../src/runtime/driver-sqlite.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver-sqlite.test.js","sourceRoot":"","sources":["../../src/runtime/driver-sqlite.test.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,14 @@ export type SqliteClientOptions = {
38
38
  * @default true
39
39
  */
40
40
  wal?: boolean;
41
+ /**
42
+ * Allow `search`/REGEXP patterns that nest unbounded quantifiers
43
+ * (e.g. `(a+)+`), which can backtrack exponentially and freeze the
44
+ * process because SQLite runs them in-process. The guard rejects such
45
+ * patterns by default.
46
+ * @default false
47
+ */
48
+ unsafeAllowRegex?: boolean;
41
49
  };
42
50
  export declare function sqliteClient(db: SqliteDatabaseLike, options?: SqliteClientOptions): DatabaseClient;
43
51
  export declare function pgClient(pool: Pool): DatabaseClient;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/runtime/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAA2B,MAAM,IAAI,CAAC;AAQxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACvD,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,WAAW,CAAC,CAAC,EACZ,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,EAC1C,OAAO,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAAC;AAEF,KAAK,eAAe,GAAG;IACtB,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACrD,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC/D,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG;QAC1B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;KACjC,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;CACnE,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,mBAAmB,GAAG;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACd,CAAC;AA+NF,wBAAgB,YAAY,CAC3B,EAAE,EAAE,kBAAkB,EACtB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,cAAc,CAQhB;AA8ND,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,CAsCnD"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/runtime/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAA2B,MAAM,IAAI,CAAC;AAcxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACvD,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,WAAW,CAAC,CAAC,EACZ,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,EAC1C,OAAO,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAAC;AAEF,KAAK,eAAe,GAAG;IACtB,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACrD,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC/D,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG;QAC1B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;KACjC,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;CACnE,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,mBAAmB,GAAG;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA6JF,wBAAgB,YAAY,CAC3B,EAAE,EAAE,kBAAkB,EACtB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,cAAc,CAgBhB;AA6OD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,CAsCnD"}
@@ -1,4 +1,7 @@
1
+ import { splitStatements } from "../sql/split-statements.js";
2
+ import { scanDollarQuoted } from "../sql/template.js";
1
3
  import { NeoOrmDriverError } from "./errors.js";
4
+ import { catastrophicRegexMessage, hasCatastrophicBacktracking, } from "./regex-guard.js";
2
5
  import { assertNoSavepointOptions, buildBeginSql, buildSqliteBeginSql, rollbackIgnoringFailure, } from "./transaction.js";
3
6
  const SQLITE_DEFAULT_BUSY_TIMEOUT_MS = 5000;
4
7
  function convertPlaceholders(sql) {
@@ -71,6 +74,16 @@ function convertPlaceholders(sql) {
71
74
  out += ch;
72
75
  continue;
73
76
  }
77
+ if (ch === "$") {
78
+ // Copy $-quoted ($$ … $$ / $tag$ … $tag$) regions verbatim so
79
+ // `$N`-looking text inside them is not rewritten to a placeholder.
80
+ const dollarEnd = scanDollarQuoted(sql, i);
81
+ if (dollarEnd !== -1) {
82
+ out += sql.slice(i, dollarEnd);
83
+ i = dollarEnd - 1;
84
+ continue;
85
+ }
86
+ }
74
87
  if (ch === "$" && next !== undefined && /\d/.test(next)) {
75
88
  out += "?";
76
89
  i++;
@@ -105,91 +118,6 @@ function serializeParam(value) {
105
118
  function sqliteRows(result) {
106
119
  return { rows: result, rowCount: result.length };
107
120
  }
108
- function splitStatements(sql) {
109
- const statements = [];
110
- let current = "";
111
- let inSingle = false;
112
- let inDouble = false;
113
- let inLineComment = false;
114
- let inBlockComment = false;
115
- for (let i = 0; i < sql.length; i++) {
116
- const ch = sql[i];
117
- const next = sql[i + 1];
118
- if (inLineComment) {
119
- current += ch;
120
- if (ch === "\n")
121
- inLineComment = false;
122
- continue;
123
- }
124
- if (inBlockComment) {
125
- current += ch;
126
- if (ch === "*" && next === "/") {
127
- current += next;
128
- i++;
129
- inBlockComment = false;
130
- }
131
- continue;
132
- }
133
- if (inSingle) {
134
- current += ch;
135
- if (ch === "'") {
136
- if (next === "'") {
137
- current += next;
138
- i++;
139
- }
140
- else {
141
- inSingle = false;
142
- }
143
- }
144
- continue;
145
- }
146
- if (inDouble) {
147
- current += ch;
148
- if (ch === '"') {
149
- if (next === '"') {
150
- current += next;
151
- i++;
152
- }
153
- else {
154
- inDouble = false;
155
- }
156
- }
157
- continue;
158
- }
159
- if (ch === "-" && next === "-") {
160
- inLineComment = true;
161
- current += ch;
162
- continue;
163
- }
164
- if (ch === "/" && next === "*") {
165
- inBlockComment = true;
166
- current += ch;
167
- continue;
168
- }
169
- if (ch === "'") {
170
- inSingle = true;
171
- current += ch;
172
- continue;
173
- }
174
- if (ch === '"') {
175
- inDouble = true;
176
- current += ch;
177
- continue;
178
- }
179
- if (ch === ";") {
180
- if (current.trim().length > 0) {
181
- statements.push(current.trim());
182
- }
183
- current = "";
184
- continue;
185
- }
186
- current += ch;
187
- }
188
- if (current.trim().length > 0) {
189
- statements.push(current.trim());
190
- }
191
- return statements.length > 0 ? statements : [sql];
192
- }
193
121
  async function executeWriteStatements(db, sql) {
194
122
  const statements = splitStatements(sql);
195
123
  let changes = 0;
@@ -210,35 +138,61 @@ async function executeWriteStatements(db, sql) {
210
138
  return { rows: [], rowCount: changes };
211
139
  }
212
140
  const sqliteClients = new WeakMap();
141
+ function sqliteOptionsKey(options) {
142
+ return JSON.stringify([
143
+ options?.busyTimeout ?? SQLITE_DEFAULT_BUSY_TIMEOUT_MS,
144
+ options?.wal ?? true,
145
+ options?.unsafeAllowRegex ?? false,
146
+ ]);
147
+ }
213
148
  export function sqliteClient(db, options) {
149
+ const optionsKey = sqliteOptionsKey(options);
214
150
  const cached = sqliteClients.get(db);
215
151
  if (cached) {
216
- return cached;
152
+ // Keep the single wrapper per handle (one FIFO mutex serializes the
153
+ // shared connection), but honor changed PRAGMA options by re-applying
154
+ // them instead of silently ignoring them.
155
+ if (cached.optionsKey !== optionsKey) {
156
+ applySqlitePragmas(db, options);
157
+ cached.optionsKey = optionsKey;
158
+ }
159
+ return cached.client;
217
160
  }
218
161
  const client = createSqliteClient(db, options);
219
- sqliteClients.set(db, client);
162
+ sqliteClients.set(db, { client, optionsKey });
220
163
  return client;
221
164
  }
222
- function sqliteRegexpMatch(pattern, value, flags) {
165
+ function sqliteRegexpMatch(pattern, value, flags, unsafeAllowRegex) {
223
166
  if (pattern == null || value == null)
224
167
  return 0;
225
- return new RegExp(String(pattern), flags).test(String(value)) ? 1 : 0;
168
+ const source = String(pattern);
169
+ // SQLite calls this per row on the shared connection's thread; an
170
+ // exponential-backtracking pattern would freeze the whole process, so
171
+ // reject the nested-quantifier shape before compiling.
172
+ if (!unsafeAllowRegex && hasCatastrophicBacktracking(source)) {
173
+ throw new Error(catastrophicRegexMessage(source));
174
+ }
175
+ return new RegExp(source, flags).test(String(value)) ? 1 : 0;
226
176
  }
227
- function registerSqliteRegexpFunctions(db) {
177
+ function registerSqliteRegexpFunctions(db, options) {
228
178
  if (typeof db.function !== "function")
229
179
  return;
230
- db.function("regexp", (pattern, value) => sqliteRegexpMatch(pattern, value, ""));
231
- db.function("regexp_i", (pattern, value) => sqliteRegexpMatch(pattern, value, "i"));
180
+ const unsafeAllowRegex = options?.unsafeAllowRegex === true;
181
+ db.function("regexp", (pattern, value) => sqliteRegexpMatch(pattern, value, "", unsafeAllowRegex));
182
+ db.function("regexp_i", (pattern, value) => sqliteRegexpMatch(pattern, value, "i", unsafeAllowRegex));
232
183
  }
233
184
  function applySqlitePragmas(db, options) {
234
185
  db.exec("PRAGMA foreign_keys = ON");
235
- registerSqliteRegexpFunctions(db);
236
- if (options?.busyTimeout !== false) {
237
- const ms = typeof options?.busyTimeout === "number"
186
+ registerSqliteRegexpFunctions(db, options);
187
+ // Always set busy_timeout (false → 0, the engine default) rather than
188
+ // skipping, so re-applying options to an already-wrapped connection is
189
+ // faithful instead of leaving a stale value from a prior wrap.
190
+ const busyTimeoutMs = options?.busyTimeout === false
191
+ ? 0
192
+ : typeof options?.busyTimeout === "number"
238
193
  ? Math.max(0, Math.trunc(options.busyTimeout))
239
194
  : SQLITE_DEFAULT_BUSY_TIMEOUT_MS;
240
- db.exec(`PRAGMA busy_timeout = ${ms}`);
241
- }
195
+ db.exec(`PRAGMA busy_timeout = ${busyTimeoutMs}`);
242
196
  if (options?.wal !== false) {
243
197
  try {
244
198
  db.exec("PRAGMA journal_mode = WAL");