@toiroakr/lines-db 0.9.0 → 0.9.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @toiroakr/lines-db
2
2
 
3
+ ## 0.9.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 4ca2664: fix: validate circular foreign key constraints via deferred validation
8
+
9
+ Previously, when two tables had bidirectional foreign keys (e.g., `_User` → `User` and `User` → `_User`), one direction's FK validation was always skipped due to circular dependency detection. Now, circular dependency FKs are validated in a second pass after all tables have been loaded, using SQL queries instead of SQLite FK constraints.
10
+
3
11
  ## 0.9.0
4
12
 
5
13
  ### Minor Changes
package/bin/cli.js CHANGED
@@ -433,13 +433,20 @@ var LinesDB = class LinesDB {
433
433
  const loadedTables = /* @__PURE__ */ new Set();
434
434
  const loadingTables = /* @__PURE__ */ new Set();
435
435
  const attemptedTables = /* @__PURE__ */ new Set();
436
+ const allDeferredForeignKeys = [];
436
437
  for (const tableNameToLoad of tablesToLoad) if (!attemptedTables.has(tableNameToLoad)) {
437
438
  const tableTransform = tableNameToLoad === tableName ? transform : void 0;
438
- const { errors, warnings, rowCounts: tableRowCounts } = await this.loadTableWithDependencies(tableNameToLoad, loadedTables, loadingTables, attemptedTables, detailedValidate, tableTransform);
439
+ const { errors, warnings, rowCounts: tableRowCounts, deferredForeignKeys } = await this.loadTableWithDependencies(tableNameToLoad, loadedTables, loadingTables, attemptedTables, detailedValidate, tableTransform);
439
440
  allErrors.push(...errors);
440
441
  allWarnings.push(...warnings);
442
+ allDeferredForeignKeys.push(...deferredForeignKeys);
441
443
  for (const [k, v] of tableRowCounts) allRowCounts.set(k, v);
442
444
  }
445
+ if (detailedValidate && allDeferredForeignKeys.length > 0) for (const { tableName: tName, foreignKey: fk, filePath } of allDeferredForeignKeys) {
446
+ if (!loadedTables.has(fk.references.table)) continue;
447
+ const deferredErrors = this.validateDeferredForeignKey(tName, fk, filePath);
448
+ allErrors.push(...deferredErrors);
449
+ }
443
450
  const tableResults = tablesToLoad.map((name) => {
444
451
  const tableErrors = allErrors.filter((e) => e.tableName === name);
445
452
  const tableWarnings = allWarnings.filter((w) => w.includes(`'${name}'`));
@@ -465,10 +472,12 @@ var LinesDB = class LinesDB {
465
472
  const errors = [];
466
473
  const warnings = [];
467
474
  const rowCounts = /* @__PURE__ */ new Map();
475
+ const deferredForeignKeys = [];
468
476
  if (attemptedTables.has(tableName)) return {
469
477
  errors,
470
478
  warnings,
471
- rowCounts
479
+ rowCounts,
480
+ deferredForeignKeys
472
481
  };
473
482
  attemptedTables.add(tableName);
474
483
  if (loadingTables.has(tableName)) throw new Error(`Circular dependency detected for table '${tableName}'`);
@@ -492,23 +501,35 @@ var LinesDB = class LinesDB {
492
501
  const depResult = await this.loadTableWithDependencies(referencedTable, loadedTables, loadingTables, attemptedTables, detailedValidate, void 0);
493
502
  errors.push(...depResult.errors);
494
503
  warnings.push(...depResult.warnings);
504
+ deferredForeignKeys.push(...depResult.deferredForeignKeys);
495
505
  for (const [k, v] of depResult.rowCounts) rowCounts.set(k, v);
496
506
  } else throw new Error(`Foreign key reference to non-existent table '${referencedTable}' in table '${tableName}'`);
497
507
  }
498
508
  const failedDependencies = /* @__PURE__ */ new Set();
509
+ const circularDependencies = /* @__PURE__ */ new Set();
499
510
  if (foreignKeys && foreignKeys.length > 0) {
500
511
  for (const fk of foreignKeys) {
501
512
  const referencedTable = fk.references.table;
502
513
  if (referencedTable === tableName) continue;
503
- if (attemptedTables.has(referencedTable) && !loadedTables.has(referencedTable)) failedDependencies.add(referencedTable);
514
+ if (attemptedTables.has(referencedTable) && !loadedTables.has(referencedTable)) if (loadingTables.has(referencedTable)) circularDependencies.add(referencedTable);
515
+ else failedDependencies.add(referencedTable);
504
516
  }
505
517
  if (failedDependencies.size > 0) for (const dep of failedDependencies) warnings.push(`Skipping foreign key validation for table '${tableName}': referenced table '${dep}' has validation errors`);
506
518
  }
507
- const { loaded, rowCount, errors: loadErrors } = await this.loadTable(tableName, tableConfig, detailedValidate, transform, failedDependencies);
519
+ const allSkippedDependencies = new Set([...failedDependencies, ...circularDependencies]);
520
+ const { loaded, rowCount, errors: loadErrors } = await this.loadTable(tableName, tableConfig, detailedValidate, transform, allSkippedDependencies);
508
521
  errors.push(...loadErrors);
509
522
  rowCounts.set(tableName, rowCount);
510
- if (loaded) loadedTables.add(tableName);
511
- else {
523
+ if (loaded) {
524
+ loadedTables.add(tableName);
525
+ if (foreignKeys && circularDependencies.size > 0) {
526
+ for (const fk of foreignKeys) if (circularDependencies.has(fk.references.table)) deferredForeignKeys.push({
527
+ tableName,
528
+ foreignKey: fk,
529
+ filePath: tableConfig.jsonlPath
530
+ });
531
+ }
532
+ } else {
512
533
  warnings.push(`Table '${tableName}' was not loaded (no data or skipped)`);
513
534
  this.tables.delete(tableName);
514
535
  }
@@ -518,7 +539,8 @@ var LinesDB = class LinesDB {
518
539
  return {
519
540
  errors,
520
541
  warnings,
521
- rowCounts
542
+ rowCounts,
543
+ deferredForeignKeys
522
544
  };
523
545
  }
524
546
  /**
@@ -764,6 +786,34 @@ var LinesDB = class LinesDB {
764
786
  };
765
787
  }
766
788
  /**
789
+ * Validate a deferred foreign key constraint after all tables have been loaded.
790
+ * Used for circular dependency FK validation.
791
+ */
792
+ validateDeferredForeignKey(tableName, fk, filePath) {
793
+ const errors = [];
794
+ const quotedTable = this.quoteTableName(tableName);
795
+ const quotedColumn = this.quoteIdentifier(fk.column);
796
+ const quotedRefTable = this.quoteTableName(fk.references.table);
797
+ const sql = `SELECT rowid - 1 as idx, ${quotedColumn} as val FROM ${quotedTable} WHERE ${quotedColumn} IS NOT NULL AND ${quotedColumn} NOT IN (SELECT ${this.quoteIdentifier(fk.references.column)} FROM ${quotedRefTable})`;
798
+ try {
799
+ const rows = this.query(sql);
800
+ for (const row of rows) errors.push({
801
+ file: filePath,
802
+ tableName,
803
+ rowIndex: row.idx,
804
+ issues: [],
805
+ type: "foreignKey",
806
+ foreignKeyError: {
807
+ column: fk.column,
808
+ value: row.val,
809
+ referencedTable: fk.references.table,
810
+ referencedColumn: fk.references.column
811
+ }
812
+ });
813
+ } catch (_) {}
814
+ return errors;
815
+ }
816
+ /**
767
817
  * Execute a raw SQL query
768
818
  */
769
819
  query(sql, params = []) {
package/dist/index.cjs CHANGED
@@ -408,13 +408,20 @@ var LinesDB = class LinesDB {
408
408
  const loadedTables = /* @__PURE__ */ new Set();
409
409
  const loadingTables = /* @__PURE__ */ new Set();
410
410
  const attemptedTables = /* @__PURE__ */ new Set();
411
+ const allDeferredForeignKeys = [];
411
412
  for (const tableNameToLoad of tablesToLoad) if (!attemptedTables.has(tableNameToLoad)) {
412
413
  const tableTransform = tableNameToLoad === tableName ? transform : void 0;
413
- const { errors, warnings, rowCounts: tableRowCounts } = await this.loadTableWithDependencies(tableNameToLoad, loadedTables, loadingTables, attemptedTables, detailedValidate, tableTransform);
414
+ const { errors, warnings, rowCounts: tableRowCounts, deferredForeignKeys } = await this.loadTableWithDependencies(tableNameToLoad, loadedTables, loadingTables, attemptedTables, detailedValidate, tableTransform);
414
415
  allErrors.push(...errors);
415
416
  allWarnings.push(...warnings);
417
+ allDeferredForeignKeys.push(...deferredForeignKeys);
416
418
  for (const [k, v] of tableRowCounts) allRowCounts.set(k, v);
417
419
  }
420
+ if (detailedValidate && allDeferredForeignKeys.length > 0) for (const { tableName: tName, foreignKey: fk, filePath } of allDeferredForeignKeys) {
421
+ if (!loadedTables.has(fk.references.table)) continue;
422
+ const deferredErrors = this.validateDeferredForeignKey(tName, fk, filePath);
423
+ allErrors.push(...deferredErrors);
424
+ }
418
425
  const tableResults = tablesToLoad.map((name) => {
419
426
  const tableErrors = allErrors.filter((e) => e.tableName === name);
420
427
  const tableWarnings = allWarnings.filter((w) => w.includes(`'${name}'`));
@@ -440,10 +447,12 @@ var LinesDB = class LinesDB {
440
447
  const errors = [];
441
448
  const warnings = [];
442
449
  const rowCounts = /* @__PURE__ */ new Map();
450
+ const deferredForeignKeys = [];
443
451
  if (attemptedTables.has(tableName)) return {
444
452
  errors,
445
453
  warnings,
446
- rowCounts
454
+ rowCounts,
455
+ deferredForeignKeys
447
456
  };
448
457
  attemptedTables.add(tableName);
449
458
  if (loadingTables.has(tableName)) throw new Error(`Circular dependency detected for table '${tableName}'`);
@@ -467,23 +476,35 @@ var LinesDB = class LinesDB {
467
476
  const depResult = await this.loadTableWithDependencies(referencedTable, loadedTables, loadingTables, attemptedTables, detailedValidate, void 0);
468
477
  errors.push(...depResult.errors);
469
478
  warnings.push(...depResult.warnings);
479
+ deferredForeignKeys.push(...depResult.deferredForeignKeys);
470
480
  for (const [k, v] of depResult.rowCounts) rowCounts.set(k, v);
471
481
  } else throw new Error(`Foreign key reference to non-existent table '${referencedTable}' in table '${tableName}'`);
472
482
  }
473
483
  const failedDependencies = /* @__PURE__ */ new Set();
484
+ const circularDependencies = /* @__PURE__ */ new Set();
474
485
  if (foreignKeys && foreignKeys.length > 0) {
475
486
  for (const fk of foreignKeys) {
476
487
  const referencedTable = fk.references.table;
477
488
  if (referencedTable === tableName) continue;
478
- if (attemptedTables.has(referencedTable) && !loadedTables.has(referencedTable)) failedDependencies.add(referencedTable);
489
+ if (attemptedTables.has(referencedTable) && !loadedTables.has(referencedTable)) if (loadingTables.has(referencedTable)) circularDependencies.add(referencedTable);
490
+ else failedDependencies.add(referencedTable);
479
491
  }
480
492
  if (failedDependencies.size > 0) for (const dep of failedDependencies) warnings.push(`Skipping foreign key validation for table '${tableName}': referenced table '${dep}' has validation errors`);
481
493
  }
482
- const { loaded, rowCount, errors: loadErrors } = await this.loadTable(tableName, tableConfig, detailedValidate, transform, failedDependencies);
494
+ const allSkippedDependencies = new Set([...failedDependencies, ...circularDependencies]);
495
+ const { loaded, rowCount, errors: loadErrors } = await this.loadTable(tableName, tableConfig, detailedValidate, transform, allSkippedDependencies);
483
496
  errors.push(...loadErrors);
484
497
  rowCounts.set(tableName, rowCount);
485
- if (loaded) loadedTables.add(tableName);
486
- else {
498
+ if (loaded) {
499
+ loadedTables.add(tableName);
500
+ if (foreignKeys && circularDependencies.size > 0) {
501
+ for (const fk of foreignKeys) if (circularDependencies.has(fk.references.table)) deferredForeignKeys.push({
502
+ tableName,
503
+ foreignKey: fk,
504
+ filePath: tableConfig.jsonlPath
505
+ });
506
+ }
507
+ } else {
487
508
  warnings.push(`Table '${tableName}' was not loaded (no data or skipped)`);
488
509
  this.tables.delete(tableName);
489
510
  }
@@ -493,7 +514,8 @@ var LinesDB = class LinesDB {
493
514
  return {
494
515
  errors,
495
516
  warnings,
496
- rowCounts
517
+ rowCounts,
518
+ deferredForeignKeys
497
519
  };
498
520
  }
499
521
  /**
@@ -739,6 +761,34 @@ var LinesDB = class LinesDB {
739
761
  };
740
762
  }
741
763
  /**
764
+ * Validate a deferred foreign key constraint after all tables have been loaded.
765
+ * Used for circular dependency FK validation.
766
+ */
767
+ validateDeferredForeignKey(tableName, fk, filePath) {
768
+ const errors = [];
769
+ const quotedTable = this.quoteTableName(tableName);
770
+ const quotedColumn = this.quoteIdentifier(fk.column);
771
+ const quotedRefTable = this.quoteTableName(fk.references.table);
772
+ const sql = `SELECT rowid - 1 as idx, ${quotedColumn} as val FROM ${quotedTable} WHERE ${quotedColumn} IS NOT NULL AND ${quotedColumn} NOT IN (SELECT ${this.quoteIdentifier(fk.references.column)} FROM ${quotedRefTable})`;
773
+ try {
774
+ const rows = this.query(sql);
775
+ for (const row of rows) errors.push({
776
+ file: filePath,
777
+ tableName,
778
+ rowIndex: row.idx,
779
+ issues: [],
780
+ type: "foreignKey",
781
+ foreignKeyError: {
782
+ column: fk.column,
783
+ value: row.val,
784
+ referencedTable: fk.references.table,
785
+ referencedColumn: fk.references.column
786
+ }
787
+ });
788
+ } catch (_) {}
789
+ return errors;
790
+ }
791
+ /**
742
792
  * Execute a raw SQL query
743
793
  */
744
794
  query(sql, params = []) {
package/dist/index.d.cts CHANGED
@@ -169,6 +169,11 @@ declare class LinesDB<Tables extends TableDefs> {
169
169
  * Analyze constraint error and extract detailed information
170
170
  */
171
171
  private analyzeConstraintError;
172
+ /**
173
+ * Validate a deferred foreign key constraint after all tables have been loaded.
174
+ * Used for circular dependency FK validation.
175
+ */
176
+ private validateDeferredForeignKey;
172
177
  /**
173
178
  * Execute a raw SQL query
174
179
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/sqlite-adapter.ts","../src/types.ts","../src/database.ts","../src/jsonl-reader.ts","../src/jsonl-writer.ts","../src/schema-loader.ts","../src/directory-scanner.ts","../src/schema.ts","../src/type-generator.ts","../src/jsonl-migration.ts","../src/schema-extensions.ts","../src/error-formatter.ts","../src/runtime.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/sqlite-adapter.ts","../src/types.ts","../src/database.ts","../src/jsonl-reader.ts","../src/jsonl-writer.ts","../src/schema-loader.ts","../src/directory-scanner.ts","../src/schema.ts","../src/type-generator.ts","../src/jsonl-migration.ts","../src/schema-extensions.ts","../src/error-formatter.ts","../src/runtime.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -169,6 +169,11 @@ declare class LinesDB<Tables extends TableDefs> {
169
169
  * Analyze constraint error and extract detailed information
170
170
  */
171
171
  private analyzeConstraintError;
172
+ /**
173
+ * Validate a deferred foreign key constraint after all tables have been loaded.
174
+ * Used for circular dependency FK validation.
175
+ */
176
+ private validateDeferredForeignKey;
172
177
  /**
173
178
  * Execute a raw SQL query
174
179
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/sqlite-adapter.ts","../src/types.ts","../src/database.ts","../src/jsonl-reader.ts","../src/jsonl-writer.ts","../src/schema-loader.ts","../src/directory-scanner.ts","../src/schema.ts","../src/type-generator.ts","../src/jsonl-migration.ts","../src/schema-extensions.ts","../src/error-formatter.ts","../src/runtime.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/sqlite-adapter.ts","../src/types.ts","../src/database.ts","../src/jsonl-reader.ts","../src/jsonl-writer.ts","../src/schema-loader.ts","../src/directory-scanner.ts","../src/schema.ts","../src/type-generator.ts","../src/jsonl-migration.ts","../src/schema-extensions.ts","../src/error-formatter.ts","../src/runtime.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -386,13 +386,20 @@ var LinesDB = class LinesDB {
386
386
  const loadedTables = /* @__PURE__ */ new Set();
387
387
  const loadingTables = /* @__PURE__ */ new Set();
388
388
  const attemptedTables = /* @__PURE__ */ new Set();
389
+ const allDeferredForeignKeys = [];
389
390
  for (const tableNameToLoad of tablesToLoad) if (!attemptedTables.has(tableNameToLoad)) {
390
391
  const tableTransform = tableNameToLoad === tableName ? transform : void 0;
391
- const { errors, warnings, rowCounts: tableRowCounts } = await this.loadTableWithDependencies(tableNameToLoad, loadedTables, loadingTables, attemptedTables, detailedValidate, tableTransform);
392
+ const { errors, warnings, rowCounts: tableRowCounts, deferredForeignKeys } = await this.loadTableWithDependencies(tableNameToLoad, loadedTables, loadingTables, attemptedTables, detailedValidate, tableTransform);
392
393
  allErrors.push(...errors);
393
394
  allWarnings.push(...warnings);
395
+ allDeferredForeignKeys.push(...deferredForeignKeys);
394
396
  for (const [k, v] of tableRowCounts) allRowCounts.set(k, v);
395
397
  }
398
+ if (detailedValidate && allDeferredForeignKeys.length > 0) for (const { tableName: tName, foreignKey: fk, filePath } of allDeferredForeignKeys) {
399
+ if (!loadedTables.has(fk.references.table)) continue;
400
+ const deferredErrors = this.validateDeferredForeignKey(tName, fk, filePath);
401
+ allErrors.push(...deferredErrors);
402
+ }
396
403
  const tableResults = tablesToLoad.map((name) => {
397
404
  const tableErrors = allErrors.filter((e) => e.tableName === name);
398
405
  const tableWarnings = allWarnings.filter((w) => w.includes(`'${name}'`));
@@ -418,10 +425,12 @@ var LinesDB = class LinesDB {
418
425
  const errors = [];
419
426
  const warnings = [];
420
427
  const rowCounts = /* @__PURE__ */ new Map();
428
+ const deferredForeignKeys = [];
421
429
  if (attemptedTables.has(tableName)) return {
422
430
  errors,
423
431
  warnings,
424
- rowCounts
432
+ rowCounts,
433
+ deferredForeignKeys
425
434
  };
426
435
  attemptedTables.add(tableName);
427
436
  if (loadingTables.has(tableName)) throw new Error(`Circular dependency detected for table '${tableName}'`);
@@ -445,23 +454,35 @@ var LinesDB = class LinesDB {
445
454
  const depResult = await this.loadTableWithDependencies(referencedTable, loadedTables, loadingTables, attemptedTables, detailedValidate, void 0);
446
455
  errors.push(...depResult.errors);
447
456
  warnings.push(...depResult.warnings);
457
+ deferredForeignKeys.push(...depResult.deferredForeignKeys);
448
458
  for (const [k, v] of depResult.rowCounts) rowCounts.set(k, v);
449
459
  } else throw new Error(`Foreign key reference to non-existent table '${referencedTable}' in table '${tableName}'`);
450
460
  }
451
461
  const failedDependencies = /* @__PURE__ */ new Set();
462
+ const circularDependencies = /* @__PURE__ */ new Set();
452
463
  if (foreignKeys && foreignKeys.length > 0) {
453
464
  for (const fk of foreignKeys) {
454
465
  const referencedTable = fk.references.table;
455
466
  if (referencedTable === tableName) continue;
456
- if (attemptedTables.has(referencedTable) && !loadedTables.has(referencedTable)) failedDependencies.add(referencedTable);
467
+ if (attemptedTables.has(referencedTable) && !loadedTables.has(referencedTable)) if (loadingTables.has(referencedTable)) circularDependencies.add(referencedTable);
468
+ else failedDependencies.add(referencedTable);
457
469
  }
458
470
  if (failedDependencies.size > 0) for (const dep of failedDependencies) warnings.push(`Skipping foreign key validation for table '${tableName}': referenced table '${dep}' has validation errors`);
459
471
  }
460
- const { loaded, rowCount, errors: loadErrors } = await this.loadTable(tableName, tableConfig, detailedValidate, transform, failedDependencies);
472
+ const allSkippedDependencies = new Set([...failedDependencies, ...circularDependencies]);
473
+ const { loaded, rowCount, errors: loadErrors } = await this.loadTable(tableName, tableConfig, detailedValidate, transform, allSkippedDependencies);
461
474
  errors.push(...loadErrors);
462
475
  rowCounts.set(tableName, rowCount);
463
- if (loaded) loadedTables.add(tableName);
464
- else {
476
+ if (loaded) {
477
+ loadedTables.add(tableName);
478
+ if (foreignKeys && circularDependencies.size > 0) {
479
+ for (const fk of foreignKeys) if (circularDependencies.has(fk.references.table)) deferredForeignKeys.push({
480
+ tableName,
481
+ foreignKey: fk,
482
+ filePath: tableConfig.jsonlPath
483
+ });
484
+ }
485
+ } else {
465
486
  warnings.push(`Table '${tableName}' was not loaded (no data or skipped)`);
466
487
  this.tables.delete(tableName);
467
488
  }
@@ -471,7 +492,8 @@ var LinesDB = class LinesDB {
471
492
  return {
472
493
  errors,
473
494
  warnings,
474
- rowCounts
495
+ rowCounts,
496
+ deferredForeignKeys
475
497
  };
476
498
  }
477
499
  /**
@@ -717,6 +739,34 @@ var LinesDB = class LinesDB {
717
739
  };
718
740
  }
719
741
  /**
742
+ * Validate a deferred foreign key constraint after all tables have been loaded.
743
+ * Used for circular dependency FK validation.
744
+ */
745
+ validateDeferredForeignKey(tableName, fk, filePath) {
746
+ const errors = [];
747
+ const quotedTable = this.quoteTableName(tableName);
748
+ const quotedColumn = this.quoteIdentifier(fk.column);
749
+ const quotedRefTable = this.quoteTableName(fk.references.table);
750
+ const sql = `SELECT rowid - 1 as idx, ${quotedColumn} as val FROM ${quotedTable} WHERE ${quotedColumn} IS NOT NULL AND ${quotedColumn} NOT IN (SELECT ${this.quoteIdentifier(fk.references.column)} FROM ${quotedRefTable})`;
751
+ try {
752
+ const rows = this.query(sql);
753
+ for (const row of rows) errors.push({
754
+ file: filePath,
755
+ tableName,
756
+ rowIndex: row.idx,
757
+ issues: [],
758
+ type: "foreignKey",
759
+ foreignKeyError: {
760
+ column: fk.column,
761
+ value: row.val,
762
+ referencedTable: fk.references.table,
763
+ referencedColumn: fk.references.column
764
+ }
765
+ });
766
+ } catch (_) {}
767
+ return errors;
768
+ }
769
+ /**
720
770
  * Execute a raw SQL query
721
771
  */
722
772
  query(sql, params = []) {