@memberjunction/db-auto-doc 6.2.0-edge.4 → 6.2.0-edge.6

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 (183) hide show
  1. package/README.md +105 -0
  2. package/dist/api/DBAutoDocAPI.d.ts +2 -0
  3. package/dist/api/DBAutoDocAPI.d.ts.map +1 -1
  4. package/dist/api/DBAutoDocAPI.js +2 -1
  5. package/dist/api/DBAutoDocAPI.js.map +1 -1
  6. package/dist/commands/analyze.d.ts +1 -0
  7. package/dist/commands/analyze.d.ts.map +1 -1
  8. package/dist/commands/analyze.js +6 -0
  9. package/dist/commands/analyze.js.map +1 -1
  10. package/dist/commands/export.d.ts +28 -19
  11. package/dist/commands/export.d.ts.map +1 -1
  12. package/dist/commands/export.js +91 -12
  13. package/dist/commands/export.js.map +1 -1
  14. package/dist/core/AnalysisEngine.d.ts +39 -6
  15. package/dist/core/AnalysisEngine.d.ts.map +1 -1
  16. package/dist/core/AnalysisEngine.js +144 -50
  17. package/dist/core/AnalysisEngine.js.map +1 -1
  18. package/dist/core/AnalysisOrchestrator.d.ts +20 -1
  19. package/dist/core/AnalysisOrchestrator.d.ts.map +1 -1
  20. package/dist/core/AnalysisOrchestrator.js +144 -28
  21. package/dist/core/AnalysisOrchestrator.js.map +1 -1
  22. package/dist/core/PKProposalGate.d.ts +22 -0
  23. package/dist/core/PKProposalGate.d.ts.map +1 -0
  24. package/dist/core/PKProposalGate.js +52 -0
  25. package/dist/core/PKProposalGate.js.map +1 -0
  26. package/dist/database/Database.d.ts +8 -0
  27. package/dist/database/Database.d.ts.map +1 -1
  28. package/dist/database/Database.js +23 -1
  29. package/dist/database/Database.js.map +1 -1
  30. package/dist/discovery/ColumnNormalizer.d.ts +31 -0
  31. package/dist/discovery/ColumnNormalizer.d.ts.map +1 -1
  32. package/dist/discovery/ColumnNormalizer.js +68 -2
  33. package/dist/discovery/ColumnNormalizer.js.map +1 -1
  34. package/dist/discovery/Composer.d.ts +33 -2
  35. package/dist/discovery/Composer.d.ts.map +1 -1
  36. package/dist/discovery/Composer.js +126 -5
  37. package/dist/discovery/Composer.js.map +1 -1
  38. package/dist/discovery/DiscoveryEngine.d.ts +3 -0
  39. package/dist/discovery/DiscoveryEngine.d.ts.map +1 -1
  40. package/dist/discovery/DiscoveryEngine.js +1 -1
  41. package/dist/discovery/DiscoveryEngine.js.map +1 -1
  42. package/dist/discovery/EmbeddingProvider.d.ts +6 -1
  43. package/dist/discovery/EmbeddingProvider.d.ts.map +1 -1
  44. package/dist/discovery/EmbeddingProvider.js +11 -1
  45. package/dist/discovery/EmbeddingProvider.js.map +1 -1
  46. package/dist/discovery/EnumCandidateGate.d.ts +19 -0
  47. package/dist/discovery/EnumCandidateGate.d.ts.map +1 -1
  48. package/dist/discovery/EnumCandidateGate.js +47 -5
  49. package/dist/discovery/EnumCandidateGate.js.map +1 -1
  50. package/dist/discovery/FKGraphWalker.d.ts +35 -0
  51. package/dist/discovery/FKGraphWalker.d.ts.map +1 -1
  52. package/dist/discovery/FKGraphWalker.js +113 -12
  53. package/dist/discovery/FKGraphWalker.js.map +1 -1
  54. package/dist/discovery/IndexKeyEvidence.d.ts +36 -0
  55. package/dist/discovery/IndexKeyEvidence.d.ts.map +1 -0
  56. package/dist/discovery/IndexKeyEvidence.js +42 -0
  57. package/dist/discovery/IndexKeyEvidence.js.map +1 -0
  58. package/dist/discovery/JoinProbe.d.ts +148 -0
  59. package/dist/discovery/JoinProbe.d.ts.map +1 -0
  60. package/dist/discovery/JoinProbe.js +233 -0
  61. package/dist/discovery/JoinProbe.js.map +1 -0
  62. package/dist/discovery/LLMDiscoveryValidator.d.ts +10 -1
  63. package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -1
  64. package/dist/discovery/LLMDiscoveryValidator.js +44 -12
  65. package/dist/discovery/LLMDiscoveryValidator.js.map +1 -1
  66. package/dist/discovery/LLMSanityChecker.d.ts.map +1 -1
  67. package/dist/discovery/LLMSanityChecker.js +10 -1
  68. package/dist/discovery/LLMSanityChecker.js.map +1 -1
  69. package/dist/discovery/OrganicKeyDetector.d.ts +29 -1
  70. package/dist/discovery/OrganicKeyDetector.d.ts.map +1 -1
  71. package/dist/discovery/OrganicKeyDetector.js +34 -5
  72. package/dist/discovery/OrganicKeyDetector.js.map +1 -1
  73. package/dist/discovery/OrganicKeyTranslator.d.ts +24 -5
  74. package/dist/discovery/OrganicKeyTranslator.d.ts.map +1 -1
  75. package/dist/discovery/OrganicKeyTranslator.js +32 -14
  76. package/dist/discovery/OrganicKeyTranslator.js.map +1 -1
  77. package/dist/discovery/PKDetector.d.ts +9 -0
  78. package/dist/discovery/PKDetector.d.ts.map +1 -1
  79. package/dist/discovery/PKDetector.js +86 -8
  80. package/dist/discovery/PKDetector.js.map +1 -1
  81. package/dist/discovery/SemanticPhase.d.ts +25 -0
  82. package/dist/discovery/SemanticPhase.d.ts.map +1 -1
  83. package/dist/discovery/SemanticPhase.js +55 -11
  84. package/dist/discovery/SemanticPhase.js.map +1 -1
  85. package/dist/discovery/StructuralPhase.d.ts +27 -5
  86. package/dist/discovery/StructuralPhase.d.ts.map +1 -1
  87. package/dist/discovery/StructuralPhase.js +42 -9
  88. package/dist/discovery/StructuralPhase.js.map +1 -1
  89. package/dist/discovery/TransitiveBridgeDetector.d.ts +5 -1
  90. package/dist/discovery/TransitiveBridgeDetector.d.ts.map +1 -1
  91. package/dist/discovery/TransitiveBridgeDetector.js +25 -3
  92. package/dist/discovery/TransitiveBridgeDetector.js.map +1 -1
  93. package/dist/discovery/embedding-provider-default.d.ts +25 -0
  94. package/dist/discovery/embedding-provider-default.d.ts.map +1 -0
  95. package/dist/discovery/embedding-provider-default.js +47 -0
  96. package/dist/discovery/embedding-provider-default.js.map +1 -0
  97. package/dist/drivers/BaseAutoDocDriver.d.ts +63 -0
  98. package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -1
  99. package/dist/drivers/BaseAutoDocDriver.js +3 -5
  100. package/dist/drivers/BaseAutoDocDriver.js.map +1 -1
  101. package/dist/drivers/MySQLDriver.d.ts +21 -1
  102. package/dist/drivers/MySQLDriver.d.ts.map +1 -1
  103. package/dist/drivers/MySQLDriver.js +64 -0
  104. package/dist/drivers/MySQLDriver.js.map +1 -1
  105. package/dist/drivers/PostgreSQLDriver.d.ts +43 -2
  106. package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -1
  107. package/dist/drivers/PostgreSQLDriver.js +132 -19
  108. package/dist/drivers/PostgreSQLDriver.js.map +1 -1
  109. package/dist/drivers/SQLServerDriver.d.ts +28 -1
  110. package/dist/drivers/SQLServerDriver.d.ts.map +1 -1
  111. package/dist/drivers/SQLServerDriver.js +108 -1
  112. package/dist/drivers/SQLServerDriver.js.map +1 -1
  113. package/dist/drivers/probeErrors.d.ts +30 -0
  114. package/dist/drivers/probeErrors.d.ts.map +1 -0
  115. package/dist/drivers/probeErrors.js +94 -0
  116. package/dist/drivers/probeErrors.js.map +1 -0
  117. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts +34 -18
  118. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts.map +1 -1
  119. package/dist/generators/AdditionalSchemaInfoGenerator.js +130 -8
  120. package/dist/generators/AdditionalSchemaInfoGenerator.js.map +1 -1
  121. package/dist/generators/ErdClusterGenerator.d.ts +44 -0
  122. package/dist/generators/ErdClusterGenerator.d.ts.map +1 -0
  123. package/dist/generators/ErdClusterGenerator.js +216 -0
  124. package/dist/generators/ErdClusterGenerator.js.map +1 -0
  125. package/dist/generators/ErdClusterer.d.ts +130 -0
  126. package/dist/generators/ErdClusterer.d.ts.map +1 -0
  127. package/dist/generators/ErdClusterer.js +308 -0
  128. package/dist/generators/ErdClusterer.js.map +1 -0
  129. package/dist/generators/HTMLGenerator.d.ts +6 -0
  130. package/dist/generators/HTMLGenerator.d.ts.map +1 -1
  131. package/dist/generators/HTMLGenerator.js +41 -6
  132. package/dist/generators/HTMLGenerator.js.map +1 -1
  133. package/dist/generators/MermaidGenerator.d.ts +3 -0
  134. package/dist/generators/MermaidGenerator.d.ts.map +1 -1
  135. package/dist/generators/MermaidGenerator.js +4 -0
  136. package/dist/generators/MermaidGenerator.js.map +1 -1
  137. package/dist/generators/index.d.ts +2 -0
  138. package/dist/generators/index.d.ts.map +1 -1
  139. package/dist/generators/index.js +2 -0
  140. package/dist/generators/index.js.map +1 -1
  141. package/dist/prompts/PromptEngine.d.ts.map +1 -1
  142. package/dist/prompts/PromptEngine.js +10 -1
  143. package/dist/prompts/PromptEngine.js.map +1 -1
  144. package/dist/types/analysis.d.ts +2 -0
  145. package/dist/types/analysis.d.ts.map +1 -1
  146. package/dist/types/config.d.ts +128 -4
  147. package/dist/types/config.d.ts.map +1 -1
  148. package/dist/types/config.js +7 -1
  149. package/dist/types/config.js.map +1 -1
  150. package/dist/types/discovery.d.ts +41 -0
  151. package/dist/types/discovery.d.ts.map +1 -1
  152. package/dist/types/state.d.ts +29 -0
  153. package/dist/types/state.d.ts.map +1 -1
  154. package/dist/utils/call-deadline.d.ts +43 -0
  155. package/dist/utils/call-deadline.d.ts.map +1 -0
  156. package/dist/utils/call-deadline.js +81 -0
  157. package/dist/utils/call-deadline.js.map +1 -0
  158. package/dist/utils/config-loader.d.ts +5 -0
  159. package/dist/utils/config-loader.d.ts.map +1 -1
  160. package/dist/utils/config-loader.js +37 -0
  161. package/dist/utils/config-loader.js.map +1 -1
  162. package/dist/utils/index-hints.d.ts +43 -0
  163. package/dist/utils/index-hints.d.ts.map +1 -0
  164. package/dist/utils/index-hints.js +80 -0
  165. package/dist/utils/index-hints.js.map +1 -0
  166. package/dist/utils/index.d.ts +2 -0
  167. package/dist/utils/index.d.ts.map +1 -1
  168. package/dist/utils/index.js +2 -0
  169. package/dist/utils/index.js.map +1 -1
  170. package/dist/utils/llm-factory.d.ts +1 -0
  171. package/dist/utils/llm-factory.d.ts.map +1 -1
  172. package/dist/utils/llm-factory.js +6 -1
  173. package/dist/utils/llm-factory.js.map +1 -1
  174. package/dist/utils/seed-context.d.ts +23 -0
  175. package/dist/utils/seed-context.d.ts.map +1 -0
  176. package/dist/utils/seed-context.js +38 -0
  177. package/dist/utils/seed-context.js.map +1 -0
  178. package/package.json +5 -5
  179. package/prompts/fk-pruning-holistic.md +7 -0
  180. package/prompts/fk-pruning-table.md +20 -1
  181. package/prompts/pk-pruning-holistic.md +7 -0
  182. package/prompts/pk-pruning-table.md +17 -0
  183. package/prompts/table-analysis.md +11 -0
@@ -14,6 +14,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
14
14
  import { Pool } from 'pg';
15
15
  import { RegisterClass } from '@memberjunction/global';
16
16
  import { BaseAutoDocDriver } from './BaseAutoDocDriver.js';
17
+ import { DescribeProbeFailure, ExtractSqlState } from './probeErrors.js';
17
18
  import { POSTGRESQL_INDEX_QUERY, MapPostgreSQLIndexRows } from './IndexCatalog.js';
18
19
  /**
19
20
  * PostgreSQL driver implementation
@@ -411,23 +412,34 @@ let PostgreSQLDriver = class PostgreSQLDriver extends BaseAutoDocDriver {
411
412
  `;
412
413
  }
413
414
  async getForeignKeys(schemaName, tableName) {
415
+ // Read pg_constraint and pair each source column with its referenced column by position
416
+ // (conkey[i] -> confkey[i]). information_schema cannot do this: constraint_column_usage does not
417
+ // say which referenced column pairs with which source column, so joining it to key_column_usage
418
+ // turns an N-column composite key into N x N pairs. Its table_schema is also the referenced
419
+ // table's schema, so joining it on the source schema dropped every cross-schema foreign key.
420
+ // A foreign key into a partitioned table also has an internal clone (conparentid <> 0) aimed at
421
+ // each partition, which would read as extra FKs; those are skipped. A partition of a referencing
422
+ // partitioned table keeps its inherited FK, which is also a clone but targets the parent table.
414
423
  const query = `
415
424
  SELECT
416
- kcu.column_name,
417
- ccu.table_schema as referenced_schema,
418
- ccu.table_name as referenced_table,
419
- ccu.column_name as referenced_column,
420
- tc.constraint_name
421
- FROM information_schema.table_constraints tc
422
- JOIN information_schema.key_column_usage kcu
423
- ON tc.constraint_name = kcu.constraint_name
424
- AND tc.table_schema = kcu.table_schema
425
- JOIN information_schema.constraint_column_usage ccu
426
- ON ccu.constraint_name = tc.constraint_name
427
- AND ccu.table_schema = tc.table_schema
428
- WHERE tc.constraint_type = 'FOREIGN KEY'
429
- AND tc.table_schema = $1
430
- AND tc.table_name = $2
425
+ a.attname AS column_name,
426
+ rn.nspname AS referenced_schema,
427
+ rc.relname AS referenced_table,
428
+ ra.attname AS referenced_column,
429
+ con.conname AS constraint_name
430
+ FROM pg_catalog.pg_constraint con
431
+ JOIN pg_catalog.pg_class c ON c.oid = con.conrelid
432
+ JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
433
+ JOIN pg_catalog.pg_class rc ON rc.oid = con.confrelid
434
+ JOIN pg_catalog.pg_namespace rn ON rn.oid = rc.relnamespace
435
+ CROSS JOIN LATERAL UNNEST(con.conkey, con.confkey) WITH ORDINALITY AS cols(attnum, ref_attnum, position)
436
+ JOIN pg_catalog.pg_attribute a ON a.attrelid = con.conrelid AND a.attnum = cols.attnum
437
+ JOIN pg_catalog.pg_attribute ra ON ra.attrelid = con.confrelid AND ra.attnum = cols.ref_attnum
438
+ WHERE con.contype = 'f'
439
+ AND (con.conparentid = 0 OR NOT rc.relispartition)
440
+ AND n.nspname = $1
441
+ AND c.relname = $2
442
+ ORDER BY con.conname, cols.position
431
443
  `;
432
444
  const result = await this.executeQuery(query, 3, [schemaName, tableName]);
433
445
  if (!result.success || !result.data) {
@@ -616,7 +628,15 @@ let PostgreSQLDriver = class PostgreSQLDriver extends BaseAutoDocDriver {
616
628
  };
617
629
  }
618
630
  /**
619
- * Test value overlap between source and target columns
631
+ * Test value overlap between source and target columns.
632
+ *
633
+ * The sample is a plain `DISTINCT … LIMIT`, like the SQL Server driver's `DISTINCT TOP n`.
634
+ * `ORDER BY RANDOM()` on a `SELECT DISTINCT` is not valid PostgreSQL (the sort expression is not
635
+ * in the select list), and randomising in an outer query would sort every distinct value before
636
+ * the LIMIT applies, once per FK candidate. The sample is biased by physical order, which is
637
+ * acceptable for a containment question: do these values exist in the parent at all.
638
+ * Both sides are compared as text so a key stored as text can be checked against a uuid (or other
639
+ * typed) column, which `text = uuid` would otherwise refuse.
620
640
  */
621
641
  async testValueOverlap(sourceTable, sourceColumn, targetTable, targetColumn, sampleSize) {
622
642
  try {
@@ -624,14 +644,13 @@ let PostgreSQLDriver = class PostgreSQLDriver extends BaseAutoDocDriver {
624
644
  const [targetSchema, targetTableName] = this.parseTableIdentifier(targetTable);
625
645
  const query = `
626
646
  WITH source_sample AS (
627
- SELECT DISTINCT ${this.escapeIdentifier(sourceColumn)} as value
647
+ SELECT DISTINCT ${this.escapeIdentifier(sourceColumn)}::text as value
628
648
  FROM ${this.escapeIdentifier(sourceSchema)}.${this.escapeIdentifier(sourceTableName)}
629
649
  WHERE ${this.escapeIdentifier(sourceColumn)} IS NOT NULL
630
- ORDER BY RANDOM()
631
650
  LIMIT ${sampleSize}
632
651
  ),
633
652
  target_values AS (
634
- SELECT DISTINCT ${this.escapeIdentifier(targetColumn)} as value
653
+ SELECT DISTINCT ${this.escapeIdentifier(targetColumn)}::text as value
635
654
  FROM ${this.escapeIdentifier(targetSchema)}.${this.escapeIdentifier(targetTableName)}
636
655
  WHERE ${this.escapeIdentifier(targetColumn)} IS NOT NULL
637
656
  )
@@ -643,6 +662,9 @@ let PostgreSQLDriver = class PostgreSQLDriver extends BaseAutoDocDriver {
643
662
  `;
644
663
  const result = await this.executeQuery(query);
645
664
  if (!result.success || !result.data || result.data.length === 0) {
665
+ // A failed probe is reported as 0% overlap, which the FK detector treats as a rejection.
666
+ // Say so, so a query failure is not mistaken for a measured absence of overlap.
667
+ console.warn(`[PostgreSQLDriver] Value overlap check failed for ${sourceTable}.${sourceColumn} -> ${targetTable}.${targetColumn}: ${result.errorMessage ?? 'no result'}`);
646
668
  return 0;
647
669
  }
648
670
  const row = result.data[0];
@@ -654,9 +676,100 @@ let PostgreSQLDriver = class PostgreSQLDriver extends BaseAutoDocDriver {
654
676
  return matchingCount / totalSource;
655
677
  }
656
678
  catch (error) {
679
+ console.warn(`[PostgreSQLDriver] Value overlap check failed for ${sourceTable}.${sourceColumn} -> ${targetTable}.${targetColumn}: ${error.message}`);
657
680
  return 0;
658
681
  }
659
682
  }
683
+ /**
684
+ * Probe whether a candidate key's child values exist in the parent column.
685
+ *
686
+ * Returns two integers and nothing else. Three PostgreSQL specifics:
687
+ *
688
+ * - **Compared as text.** `child = parent` raises `42883 operator does not
689
+ * exist: text = uuid` for the single most common soft-key shape — a connector
690
+ * storing another system's uuid in a varchar column. `testValueOverlap`
691
+ * swallows that as 0% overlap, so the strongest real cross-schema key in a
692
+ * tenant is reported as a refutation. Casting both sides to text makes the
693
+ * comparison possible, which is what lets that key be *found*. It does not
694
+ * weaken refutation: a product-namespaced `'AA:1000000'` still does not equal
695
+ * a bare `'1000000'`.
696
+ * - **No `ORDER BY RANDOM()`** — see {@link testValueOverlap}.
697
+ * - **`statement_timeout`** is set on a dedicated client and reset in `finally`,
698
+ * so a slow probe is abandoned server-side instead of stalling the run, and
699
+ * the setting never leaks back into the pool.
700
+ *
701
+ * Each side is normalized as the key will be at match time (see {@link probeValueExpression}).
702
+ * PostgreSQL compares text case-sensitively, so without this an email key normalized with
703
+ * `LowerCaseTrim` measures 0% whenever one side stores mixed case.
704
+ */
705
+ async ProbeJoinContainment(child, parent, sampleSize, timeoutMs, normalization = { Child: 'ExactMatch', Parent: 'ExactMatch' }) {
706
+ let client = null;
707
+ try {
708
+ if (!this.pool) {
709
+ await this.connect();
710
+ }
711
+ if (!this.pool) {
712
+ return { Ok: false, Reason: 'no PostgreSQL connection pool available' };
713
+ }
714
+ client = await this.pool.connect();
715
+ const childCol = this.escapeIdentifier(child.Column);
716
+ const parentCol = this.escapeIdentifier(parent.Column);
717
+ const query = `
718
+ WITH child_sample AS (
719
+ SELECT DISTINCT ${this.probeValueExpression(childCol, normalization.Child)} AS v
720
+ FROM ${this.escapeIdentifier(child.Schema)}.${this.escapeIdentifier(child.Table)}
721
+ WHERE ${childCol} IS NOT NULL
722
+ LIMIT ${Math.max(1, Math.floor(sampleSize))}
723
+ ),
724
+ parent_values AS (
725
+ SELECT DISTINCT ${this.probeValueExpression(parentCol, normalization.Parent)} AS v
726
+ FROM ${this.escapeIdentifier(parent.Schema)}.${this.escapeIdentifier(parent.Table)}
727
+ WHERE ${parentCol} IS NOT NULL
728
+ )
729
+ SELECT COUNT(*)::bigint AS sampled_values,
730
+ COUNT(p.v)::bigint AS matched_values
731
+ FROM child_sample c
732
+ LEFT JOIN parent_values p ON c.v = p.v
733
+ `;
734
+ await client.query(`SET statement_timeout = ${Math.max(1, Math.floor(timeoutMs))}`);
735
+ const result = await client.query(query);
736
+ const row = result.rows[0];
737
+ if (!row) {
738
+ return { Ok: false, Reason: 'probe returned no rows' };
739
+ }
740
+ return {
741
+ Ok: true,
742
+ SampledValues: Number(row.sampled_values),
743
+ MatchedValues: Number(row.matched_values)
744
+ };
745
+ }
746
+ catch (error) {
747
+ return { Ok: false, Reason: DescribeProbeFailure(error), Code: ExtractSqlState(error) };
748
+ }
749
+ finally {
750
+ if (client) {
751
+ try {
752
+ await client.query('RESET statement_timeout');
753
+ }
754
+ catch {
755
+ // The client is being discarded anyway; a failed RESET must not mask the probe result.
756
+ }
757
+ client.release();
758
+ }
759
+ }
760
+ }
761
+ /** A probe side's value as text, with the key's match-time normalization applied. */
762
+ probeValueExpression(column, normalization) {
763
+ const asText = `${column}::text`;
764
+ switch (normalization) {
765
+ case 'LowerCaseTrim':
766
+ return `lower(btrim(${asText}))`;
767
+ case 'Trim':
768
+ return `btrim(${asText})`;
769
+ case 'ExactMatch':
770
+ return asText;
771
+ }
772
+ }
660
773
  /**
661
774
  * Check if combination of columns is unique
662
775
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PostgreSQLDriver.js","sourceRoot":"","sources":["../../src/drivers/PostgreSQLDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgreSQLDriver.js","sourceRoot":"","sources":["../../src/drivers/PostgreSQLDriver.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * SQL Server implementation of the BaseAutoDocDriver
3
3
  * Uses mssql driver for database connectivity
4
4
  */
5
- import { BaseAutoDocDriver } from './BaseAutoDocDriver.js';
5
+ import { BaseAutoDocDriver, DriverProbeOutcome, ProbeNormalizationPair } from './BaseAutoDocDriver.js';
6
6
  import { AutoDocSchema, AutoDocTable, AutoDocColumn, AutoDocConnectionConfig, AutoDocQueryResult, AutoDocConnectionTestResult, AutoDocSchemaFilter, AutoDocTableFilter, AutoDocColumnStatistics, AutoDocExistingDescription, AutoDocIndex } from '../types/driver.js';
7
7
  /**
8
8
  * SQL Server driver implementation
@@ -53,6 +53,33 @@ export declare class SQLServerDriver extends BaseAutoDocDriver {
53
53
  * Test value overlap between source and target columns
54
54
  */
55
55
  testValueOverlap(sourceTable: string, sourceColumn: string, targetTable: string, targetColumn: string, sampleSize: number): Promise<number>;
56
+ /**
57
+ * Probe whether a candidate key's child values exist in the parent column.
58
+ *
59
+ * Returns two integers and nothing else. Both sides are cast to `NVARCHAR(4000)`
60
+ * so the comparison works across the type pairs soft keys actually use (a
61
+ * `uniqueidentifier` parent against a `varchar` child, an `int` parent against a
62
+ * `nvarchar` child) instead of relying on SQL Server's implicit conversion, which
63
+ * differs from PostgreSQL's and would make the same schema probe differently on
64
+ * the two engines. `LOCK_TIMEOUT` plus a query-level `OPTION (MAXDOP 1)` keep one
65
+ * probe from becoming the run's dominant cost.
66
+ *
67
+ * Each side is normalized as the key will be at match time (see {@link probeValueExpression}).
68
+ */
69
+ ProbeJoinContainment(child: {
70
+ Schema: string;
71
+ Table: string;
72
+ Column: string;
73
+ }, parent: {
74
+ Schema: string;
75
+ Table: string;
76
+ Column: string;
77
+ }, sampleSize: number, timeoutMs: number, normalization?: ProbeNormalizationPair): Promise<DriverProbeOutcome>;
78
+ /**
79
+ * A probe side's value as `NVARCHAR(4000)`, with the key's match-time normalization applied.
80
+ * `LTRIM(RTRIM())` rather than `TRIM()`, which needs SQL Server 2017.
81
+ */
82
+ private probeValueExpression;
56
83
  /**
57
84
  * Check if combination of columns is unique
58
85
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SQLServerDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/SQLServerDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLServerDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/SQLServerDriver.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,31 @@ var __metadata = (this && this.__metadata) || function (k, v) {
14
14
  import sql from 'mssql';
15
15
  import { RegisterClass } from '@memberjunction/global';
16
16
  import { BaseAutoDocDriver } from './BaseAutoDocDriver.js';
17
+ import { DescribeProbeFailure, ExtractSqlState } from './probeErrors.js';
17
18
  import { BuildSQLServerIndexQuery, MapSQLServerIndexRows } from './IndexCatalog.js';
19
+ /** Sentinel returned by {@link withDeadline} when the wait elapsed. */
20
+ const TIMED_OUT = Symbol('probe-timed-out');
21
+ /**
22
+ * Resolve `p`, or {@link TIMED_OUT} if it has not settled within `ms`.
23
+ *
24
+ * Bounds the CALLER's wait, not the server's work — the statement keeps running. Used
25
+ * only where the driver offers no statement-level timeout.
26
+ */
27
+ async function withDeadline(p, ms) {
28
+ let timer;
29
+ try {
30
+ return await Promise.race([
31
+ p,
32
+ new Promise((resolve) => {
33
+ timer = setTimeout(() => resolve(TIMED_OUT), ms);
34
+ })
35
+ ]);
36
+ }
37
+ finally {
38
+ if (timer)
39
+ clearTimeout(timer);
40
+ }
41
+ }
18
42
  /**
19
43
  * SQL Server driver implementation
20
44
  * Registered with MJGlobal for factory instantiation
@@ -209,7 +233,8 @@ let SQLServerDriver = class SQLServerDriver extends BaseAutoDocDriver {
209
233
  isForeignKey: row.is_foreign_key,
210
234
  checkConstraint: row.check_constraint || undefined,
211
235
  defaultValue: row.default_value || undefined,
212
- maxLength: row.max_length > 0 ? row.max_length : undefined,
236
+ // sys.columns.max_length is in bytes (-1 for max); nchar/nvarchar store two bytes per character.
237
+ maxLength: row.max_length > 0 ? (/^n(var)?char$/i.test(row.data_type) ? row.max_length / 2 : row.max_length) : undefined,
213
238
  precision: row.precision > 0 ? row.precision : undefined,
214
239
  scale: row.scale > 0 ? row.scale : undefined
215
240
  }));
@@ -607,6 +632,88 @@ let SQLServerDriver = class SQLServerDriver extends BaseAutoDocDriver {
607
632
  return 0;
608
633
  }
609
634
  }
635
+ /**
636
+ * Probe whether a candidate key's child values exist in the parent column.
637
+ *
638
+ * Returns two integers and nothing else. Both sides are cast to `NVARCHAR(4000)`
639
+ * so the comparison works across the type pairs soft keys actually use (a
640
+ * `uniqueidentifier` parent against a `varchar` child, an `int` parent against a
641
+ * `nvarchar` child) instead of relying on SQL Server's implicit conversion, which
642
+ * differs from PostgreSQL's and would make the same schema probe differently on
643
+ * the two engines. `LOCK_TIMEOUT` plus a query-level `OPTION (MAXDOP 1)` keep one
644
+ * probe from becoming the run's dominant cost.
645
+ *
646
+ * Each side is normalized as the key will be at match time (see {@link probeValueExpression}).
647
+ */
648
+ async ProbeJoinContainment(child, parent, sampleSize, timeoutMs, normalization = { Child: 'ExactMatch', Parent: 'ExactMatch' }) {
649
+ try {
650
+ if (!this.pool) {
651
+ await this.connect();
652
+ }
653
+ if (!this.pool) {
654
+ return { Ok: false, Reason: 'no SQL Server connection pool available' };
655
+ }
656
+ const childCol = this.escapeIdentifier(child.Column);
657
+ const parentCol = this.escapeIdentifier(parent.Column);
658
+ const query = `
659
+ SET LOCK_TIMEOUT ${Math.max(1, Math.floor(timeoutMs))};
660
+ WITH ChildSample AS (
661
+ SELECT DISTINCT TOP ${Math.max(1, Math.floor(sampleSize))}
662
+ ${this.probeValueExpression(childCol, normalization.Child)} AS v
663
+ FROM ${this.escapeIdentifier(child.Schema)}.${this.escapeIdentifier(child.Table)}
664
+ WHERE ${childCol} IS NOT NULL
665
+ ),
666
+ ParentValues AS (
667
+ SELECT DISTINCT ${this.probeValueExpression(parentCol, normalization.Parent)} AS v
668
+ FROM ${this.escapeIdentifier(parent.Schema)}.${this.escapeIdentifier(parent.Table)}
669
+ WHERE ${parentCol} IS NOT NULL
670
+ )
671
+ SELECT COUNT(*) AS sampled_values,
672
+ COUNT(p.v) AS matched_values
673
+ FROM ChildSample c
674
+ LEFT JOIN ParentValues p ON c.v = p.v
675
+ OPTION (MAXDOP 1)
676
+ `;
677
+ // `mssql` exposes no per-request statement timeout (only a pool-level
678
+ // `requestTimeout`), so the wait is bounded client-side. Note the difference from
679
+ // the PostgreSQL driver, where `statement_timeout` aborts the query server-side:
680
+ // here a probe that overruns stops being waited on, but the statement continues
681
+ // on the server until it finishes. `SET LOCK_TIMEOUT` above caps the common case
682
+ // — blocking on someone else's lock — which is the one worth bounding.
683
+ const bound = Math.max(1, Math.floor(timeoutMs));
684
+ const result = await withDeadline(this.pool.request().query(query), bound);
685
+ if (result === TIMED_OUT) {
686
+ return { Ok: false, Reason: 'probe exceeded its timeout' };
687
+ }
688
+ const row = result.recordset && result.recordset.length > 0 ? result.recordset[0] : undefined;
689
+ if (!row) {
690
+ return { Ok: false, Reason: 'probe returned no rows' };
691
+ }
692
+ return {
693
+ Ok: true,
694
+ SampledValues: Number(row.sampled_values),
695
+ MatchedValues: Number(row.matched_values)
696
+ };
697
+ }
698
+ catch (error) {
699
+ return { Ok: false, Reason: DescribeProbeFailure(error), Code: ExtractSqlState(error) };
700
+ }
701
+ }
702
+ /**
703
+ * A probe side's value as `NVARCHAR(4000)`, with the key's match-time normalization applied.
704
+ * `LTRIM(RTRIM())` rather than `TRIM()`, which needs SQL Server 2017.
705
+ */
706
+ probeValueExpression(column, normalization) {
707
+ const asText = `CAST(${column} AS NVARCHAR(4000))`;
708
+ switch (normalization) {
709
+ case 'LowerCaseTrim':
710
+ return `LOWER(LTRIM(RTRIM(${asText})))`;
711
+ case 'Trim':
712
+ return `LTRIM(RTRIM(${asText}))`;
713
+ case 'ExactMatch':
714
+ return asText;
715
+ }
716
+ }
610
717
  /**
611
718
  * Check if combination of columns is unique
612
719
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SQLServerDriver.js","sourceRoot":"","sources":["../../src/drivers/SQLServerDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLServerDriver.js","sourceRoot":"","sources":["../../src/drivers/SQLServerDriver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Probe failure classification.
3
+ *
4
+ * A probe's failure reason is persisted into `additionalSchemaInfo` next to the key
5
+ * it explains, so it leaves the database and lands in a file a human reads. Database
6
+ * error messages routinely quote the offending value — PostgreSQL's
7
+ * `invalid input syntax for type uuid: "0f3c-not-a-uuid"`, SQL Server's
8
+ * `Conversion failed when converting the varchar value 'AA:1000000'` — which would
9
+ * smuggle customer data into the output of a component whose contract is counts only.
10
+ *
11
+ * So a raw driver error is never persisted. It is classified into one of a fixed set
12
+ * of reasons, and anything that could be a value is stripped from whatever tail is
13
+ * kept. {@link SanitizeErrorText} is the belt to the classifier's braces.
14
+ */
15
+ /**
16
+ * Remove anything from a message that could be a data value: single- or double-quoted
17
+ * runs, backticked runs, bracketed runs, and any long unbroken token. What survives is
18
+ * prose.
19
+ */
20
+ export declare function SanitizeErrorText(text: string): string;
21
+ /**
22
+ * Classify a driver error into a fixed, value-free reason.
23
+ *
24
+ * Unrecognised errors fall back to a sanitised, length-capped tail so a novel failure
25
+ * is still debuggable, but it goes through {@link SanitizeErrorText} first.
26
+ */
27
+ export declare function DescribeProbeFailure(error: unknown): string;
28
+ /** Pull a provider error code (PostgreSQL SQLSTATE, MySQL errno, SQL Server number) if present. */
29
+ export declare function ExtractSqlState(error: unknown): string | undefined;
30
+ //# sourceMappingURL=probeErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probeErrors.d.ts","sourceRoot":"","sources":["../../src/drivers/probeErrors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAyBH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWtD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQ3D;AAED,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOlE"}