@crvouga/sqlite-mem 1.5.0 → 1.7.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.
@@ -818,6 +818,11 @@ const TAIL: CatalogSection[] = [
818
818
  ["win-01", "window frame fuzz", F],
819
819
  ["up-01", "UPSERT fuzz", F],
820
820
  ["date-01", "date modifier fuzz", F],
821
+ ["trig-01", "BEFORE/AFTER trigger + RAISE fuzz", F],
822
+ ["genc-01", "STORED/VIRTUAL generated column fuzz", F],
823
+ ["notin-01", "NOT IN / IN NULL + scalar cardinality fuzz", F],
824
+ ["cnt-01", "changes/total_changes/last_insert_rowid fuzz", F],
825
+ ["fkedge-01", "FK SET NULL/DEFAULT/MATCH edge fuzz", F],
821
826
  ["tlp-01", "ternary logic partitioning metamorphic", F],
822
827
  ["norec-01", "NoREC metamorphic rewrite", F],
823
828
  ["robust-01", "SqliteError-only / timeout / SQLM bit-flip", F],
@@ -269,6 +269,7 @@ export interface UpdateStmt {
269
269
  export interface DeleteStmt {
270
270
  type: "delete";
271
271
  with: WithClause | null;
272
+ or: "replace" | "ignore" | "abort" | "rollback" | "fail" | null;
272
273
  table: string;
273
274
  alias: string | null;
274
275
  where: Expr | null;
@@ -316,6 +317,7 @@ export type ColumnConstraint = {
316
317
  columns: string[] | null;
317
318
  onDelete: FkAction | null;
318
319
  onUpdate: FkAction | null;
320
+ match: FkMatch;
319
321
  deferrable: boolean;
320
322
  initiallyDeferred: boolean;
321
323
  } | {
@@ -343,6 +345,7 @@ export type TableConstraint = {
343
345
  refColumns: string[] | null;
344
346
  onDelete: FkAction | null;
345
347
  onUpdate: FkAction | null;
348
+ match: FkMatch;
346
349
  name: string | null;
347
350
  deferrable: boolean;
348
351
  initiallyDeferred: boolean;
@@ -356,6 +359,8 @@ export interface IndexedColumn {
356
359
  }
357
360
  export type ConflictAction = "ROLLBACK" | "ABORT" | "FAIL" | "IGNORE" | "REPLACE";
358
361
  export type FkAction = "SET NULL" | "SET DEFAULT" | "CASCADE" | "RESTRICT" | "NO ACTION";
362
+ /** SQLite MATCH clause; FULL rejects partial-NULL composite keys. PARTIAL is accepted as SIMPLE. */
363
+ export type FkMatch = "SIMPLE" | "FULL" | "PARTIAL";
359
364
  export interface DropTableStmt {
360
365
  type: "drop_table";
361
366
  ifExists: boolean;