dbgraph 0.1.3 → 0.1.4

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb.js","sourceRoot":"","sources":["../../src/introspect/mongodb.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAQH,iCAA0C;AAC1C,6CAAyC;AAEzC,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAEhF,IAAI,WAAgB,CAAC;AACrB,IAAI,CAAC;IACH,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAAC,MAAM,CAAC;IACP,iEAAiE;AACnE,CAAC;AAED,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAa,mBAAoB,SAAQ,uBAAgB;IACvD,YAAY,MAA0B;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,MAAM,KAAK,GAAW,EAAE,CAAC;QAEzB,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;aACtB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAEpC,0EAA0E;YAE1E,0EAA0E;YAC1E,wDAAwD;YACxD,0EAA0E;YAC1E,MAAM,cAAc,GAAG,MAAM,EAAE;iBAC5B,eAAe,CACd,EAAE,EACF,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,CACjD;iBACA,OAAO,EAAE,CAAC;YAEb,uDAAuD;YACvD,wCAAwC;YACxC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CACvC,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7B,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAClE,CAAC;YACF,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAEnE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBACzD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC;YACtE,CAAC;YAED,0EAA0E;YAC1E,mCAAmC;YACnC,0EAA0E;YAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAC9B,QAAQ,EACR,MAAM,EACN,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EACf,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAC5B,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEvB,0EAA0E;YAC1E,6BAA6B;YAC7B,0EAA0E;YAC1E,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAC;gBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAE3C,wDAAwD;gBACxD,IAAI,OAAO,GAAU,EAAE,CAAC;gBACxB,IAAI,QAA4B,CAAC;gBACjC,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CACT,wBAAwB,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CACnD,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC;oBACH,iDAAiD;oBACjD,qDAAqD;oBACrD,QAAQ,GAAG,MAAM,SAAS,CAAC,sBAAsB,EAAE,CAAC;gBACtD,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CACT,+BAA+B,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CAC1D,CAAC;gBACJ,CAAC;gBAED,uDAAuD;gBACvD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;gBACxC,MAAM,gBAAgB,GACpB,SAAS,IAAI,SAAS,CAAC,WAAW;oBAChC,CAAC,CAAC;wBACE,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3F,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzF;oBACH,CAAC,CAAC,SAAS,CAAC;gBAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAC5B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN;oBACE,QAAQ,EAAE;wBACR,aAAa,EAAE,QAAQ;wBACvB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,UAAU;4BAC9G,CAAC,CAAC;gCACE,iBAAiB,EAAE;oCACjB,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oCAC3E,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oCACrE,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oCAClE,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oCACtE,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iCAC1E;6BACF;4BACH,CAAC,CAAC,EAAE,CAAC;qBACR;iBACF,CACF,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEzD,qBAAqB;gBACrB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC1B,MAAM,OAAO,GAAW,GAAG,CAAC,IAAI,CAAC;oBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAEnD,uCAAuC;oBACvC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAU,CAAC;oBACxD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACxE,MAAM,OAAO,GACX,SAAS,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;oBAEpE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAC3B,OAAO,EACP,OAAO,EACP,OAAO,EACP,MAAM,EACN;wBACE,QAAQ,EAAE;4BACR,GAAG,EAAE,GAAG,CAAC,GAAG;4BACZ,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK;4BAC3B,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;4BAC/B,SAAS,EAAE,OAAO;4BAClB,uBAAuB,EACrB,GAAG,CAAC,uBAAuB,IAAI,SAAS;4BAC1C,GAAG,EAAE,GAAG,CAAC,kBAAkB,IAAI,SAAS;4BACxC,SAAS,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;yBACjD;qBACF,CACF,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtD,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,0EAA0E;YAC1E,mBAAmB;YACnB,0EAA0E;YAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAC;gBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;gBAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAC5B,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN;oBACE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9D,QAAQ,EAAE;wBACR,MAAM,EAAE,WAAW,CAAC,MAAM;qBAC3B;iBACF,CACF,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;gBAAS,CAAC;YACT,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC;QAED,OAAO;YACL,KAAK;YACL,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,MAAM;SACP,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,kBAAkB;IAClB,8EAA8E;IAE9E;;OAEG;IACK,iBAAiB;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,qCAAqC;gBACrC,cAAc,IAAI,CAAC,MAAM,CAAC,KAAK,4CAA4C,CAC5E,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACK,QAAQ;QACd,MAAM,IAAI,GAAG,IAAA,sBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;QAEvC,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,OAAO,aAAa,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QACxH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,aAAa,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QACnF,CAAC;QACD,OAAO,aAAa,IAAI,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE;YACtC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK;YAC7B,2BAA2B,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,KAAK;YAC7D,gBAAgB,EAAE,MAAM;YACxB,wBAAwB,EAAE,MAAM;SACjC,CAAC,CAAC;IACL,CAAC;CACF;AAxRD,kDAwRC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * MSSQL Introspector
3
+ *
4
+ * Extracts schemas, tables, columns, primary keys, foreign keys,
5
+ * indexes, and views from a Microsoft SQL Server database using
6
+ * INFORMATION_SCHEMA and sys catalog views.
7
+ *
8
+ * Connection: uses `connection.ts` which wraps the `mssql` package.
9
+ * The driver import is guarded so a missing `mssql` is reported at
10
+ * connect() time, not at module load time.
11
+ *
12
+ * MSSQL-specific metadata extracted:
13
+ * - Identity columns (via COLUMNPROPERTY)
14
+ * - Index metadata from sys.indexes / sys.index_columns / sys.columns
15
+ * - Schema-based organization (like PostgreSQL, unlike MySQL)
16
+ */
17
+ import { IntrospectResult, DbConnectionConfig } from '../types';
18
+ import { BaseIntrospector } from './base';
19
+ export declare class MSSQLIntrospector extends BaseIntrospector {
20
+ constructor(config: DbConnectionConfig);
21
+ /**
22
+ * Full schema introspection pipeline.
23
+ *
24
+ * 1. Connect to the MSSQL database
25
+ * 2. Query schemas and filter by config.schemas if provided
26
+ * 3. Query all structural metadata in parallel
27
+ * 4. Build Node[] + Edge[]
28
+ * 5. Close connection and return the result
29
+ */
30
+ extractAll(): Promise<IntrospectResult>;
31
+ /**
32
+ * Query: non-system schemas.
33
+ */
34
+ private querySchemas;
35
+ /**
36
+ * Query: tables and views (BASE TABLE or VIEW).
37
+ */
38
+ private queryTables;
39
+ /**
40
+ * Query: columns with identity detection via COLUMNPROPERTY.
41
+ */
42
+ private queryColumns;
43
+ /**
44
+ * Query: columns that are part of a PRIMARY KEY constraint.
45
+ */
46
+ private queryPrimaryKeys;
47
+ /**
48
+ * Query: foreign key columns + referenced table/column + referential actions.
49
+ *
50
+ * Uses the standard INFORMATION_SCHEMA 4-table join:
51
+ * TABLE_CONSTRAINTS + KEY_COLUMN_USAGE + CONSTRAINT_COLUMN_USAGE + REFERENTIAL_CONSTRAINTS
52
+ */
53
+ private queryForeignKeys;
54
+ /**
55
+ * Query: index columns from sys.indexes / sys.index_columns / sys.columns.
56
+ *
57
+ * MSSQL does NOT expose index metadata in INFORMATION_SCHEMA, so we query
58
+ * the sys catalog views instead. Returns one row per (index × column),
59
+ * grouped later in the build step.
60
+ */
61
+ private queryIndexes;
62
+ /**
63
+ * Query: view definitions.
64
+ */
65
+ private queryViews;
66
+ }
67
+ //# sourceMappingURL=mssql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mssql.d.ts","sourceRoot":"","sources":["../../src/introspect/mssql.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAKnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAuE1C,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,MAAM,EAAE,kBAAkB;IAItC;;;;;;;;OAQG;IACG,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAyP7C;;OAEG;YACW,YAAY;IAU1B;;OAEG;YACW,WAAW;IAkBzB;;OAEG;YACW,YAAY;IAyB1B;;OAEG;YACW,gBAAgB;IAyB9B;;;;;OAKG;YACW,gBAAgB;IAoC9B;;;;;;OAMG;YACW,YAAY;IAyB1B;;OAEG;YACW,UAAU;CAgBzB"}
@@ -0,0 +1,399 @@
1
+ "use strict";
2
+ /**
3
+ * MSSQL Introspector
4
+ *
5
+ * Extracts schemas, tables, columns, primary keys, foreign keys,
6
+ * indexes, and views from a Microsoft SQL Server database using
7
+ * INFORMATION_SCHEMA and sys catalog views.
8
+ *
9
+ * Connection: uses `connection.ts` which wraps the `mssql` package.
10
+ * The driver import is guarded so a missing `mssql` is reported at
11
+ * connect() time, not at module load time.
12
+ *
13
+ * MSSQL-specific metadata extracted:
14
+ * - Identity columns (via COLUMNPROPERTY)
15
+ * - Index metadata from sys.indexes / sys.index_columns / sys.columns
16
+ * - Schema-based organization (like PostgreSQL, unlike MySQL)
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.MSSQLIntrospector = void 0;
20
+ const base_1 = require("./base");
21
+ const connection_1 = require("./connection");
22
+ const utils_1 = require("../utils");
23
+ // =============================================================================
24
+ // MSSQLIntrospector
25
+ // =============================================================================
26
+ class MSSQLIntrospector extends base_1.BaseIntrospector {
27
+ constructor(config) {
28
+ super(config);
29
+ }
30
+ /**
31
+ * Full schema introspection pipeline.
32
+ *
33
+ * 1. Connect to the MSSQL database
34
+ * 2. Query schemas and filter by config.schemas if provided
35
+ * 3. Query all structural metadata in parallel
36
+ * 4. Build Node[] + Edge[]
37
+ * 5. Close connection and return the result
38
+ */
39
+ async extractAll() {
40
+ const startTime = Date.now();
41
+ const errors = [];
42
+ const nodes = [];
43
+ const edges = [];
44
+ let conn;
45
+ try {
46
+ conn = await (0, connection_1.createConnection)(this.config);
47
+ }
48
+ catch (err) {
49
+ return {
50
+ nodes: [],
51
+ edges: [],
52
+ durationMs: Date.now() - startTime,
53
+ errors: [err.message],
54
+ };
55
+ }
56
+ try {
57
+ // ----- 1. Determine which schemas to introspect -----
58
+ // schemas: undefined → no filter (all schemas)
59
+ // schemas: ["*"] → explicit "all schemas" (no filter)
60
+ // schemas: ["public"] → filter specific schemas
61
+ // schemas: [] → introspect nothing
62
+ const hasFilter = this.config.schemas !== undefined && !this.config.schemas.includes('*');
63
+ const schemaFilter = new Set(this.config.schemas ?? []);
64
+ const schemas = await this.querySchemas(conn);
65
+ // Apply user-configured schema filter
66
+ const targetSchemas = hasFilter
67
+ ? schemas.filter((r) => schemaFilter.has(r.schema_name))
68
+ : schemas;
69
+ if (targetSchemas.length === 0) {
70
+ errors.push(hasFilter
71
+ ? (this.config.schemas.length > 0
72
+ ? `No matching schemas found. Filter: ${this.config.schemas.join(', ')}`
73
+ : 'No schemas to introspect (schemas: [])')
74
+ : 'No non-system schemas found');
75
+ return { nodes, edges, durationMs: Date.now() - startTime, errors };
76
+ }
77
+ const schemaNames = targetSchemas.map((r) => r.schema_name);
78
+ // ----- 2. Fetch all raw metadata in parallel -----
79
+ const [tables, columns, pks, fks, indexes, views] = await Promise.all([
80
+ this.queryTables(conn, schemaNames),
81
+ this.queryColumns(conn, schemaNames),
82
+ this.queryPrimaryKeys(conn, schemaNames),
83
+ this.queryForeignKeys(conn, schemaNames),
84
+ this.queryIndexes(conn, schemaNames),
85
+ this.queryViews(conn, schemaNames),
86
+ ]);
87
+ // ----- 3. Build schema nodes -----
88
+ const schemaNodeById = new Map(); // key = schema name
89
+ for (const s of targetSchemas) {
90
+ const qual = this.qn(s.schema_name);
91
+ const fp = this.schemaFilePath(s.schema_name);
92
+ const node = this.makeNode('schema', s.schema_name, qual, fp);
93
+ nodes.push(node);
94
+ schemaNodeById.set(s.schema_name, node);
95
+ }
96
+ // ----- 4. Build table nodes + contains edges (schema → table) -----
97
+ const tableNodeByKey = new Map(); // key = schema.table
98
+ for (const t of tables) {
99
+ const schemaNode = schemaNodeById.get(t.schema_name);
100
+ if (!schemaNode)
101
+ continue;
102
+ const key = this.tableKey(t.schema_name, t.table_name);
103
+ const kind = t.table_type === 'VIEW' ? 'view' : 'table';
104
+ const qual = this.qn(t.schema_name, t.table_name);
105
+ const fp = this.schemaFilePath(t.schema_name);
106
+ const node = this.makeNode(kind, t.table_name, qual, fp);
107
+ nodes.push(node);
108
+ tableNodeByKey.set(key, node);
109
+ edges.push(this.containEdge(schemaNode.id, node.id));
110
+ }
111
+ // ----- 5. Build column nodes + contains edges (table → column) -----
112
+ const columnNodeByKey = new Map(); // key = schema.table.column
113
+ for (const c of columns) {
114
+ const tableKey = this.tableKey(c.schema_name, c.table_name);
115
+ const tableNode = tableNodeByKey.get(tableKey);
116
+ if (!tableNode)
117
+ continue;
118
+ const colKey = this.columnKey(c.schema_name, c.table_name, c.column_name);
119
+ const qual = this.qn(c.schema_name, c.table_name, c.column_name);
120
+ const fp = this.schemaFilePath(c.schema_name);
121
+ const node = this.makeNode('column', c.column_name, qual, fp, {
122
+ startLine: c.ordinal_position ?? 0,
123
+ metadata: {
124
+ dataType: c.data_type,
125
+ isNullable: c.is_nullable === 'YES',
126
+ defaultValue: c.column_default ?? null,
127
+ maxLength: c.character_maximum_length ?? null,
128
+ numericPrecision: c.numeric_precision ?? null,
129
+ numericScale: c.numeric_scale ?? null,
130
+ isIdentity: c.is_identity === 1,
131
+ },
132
+ });
133
+ nodes.push(node);
134
+ columnNodeByKey.set(colKey, node);
135
+ edges.push(this.containEdge(tableNode.id, node.id));
136
+ }
137
+ // ----- 6. Primary key edges (table → column) -----
138
+ for (const pk of pks) {
139
+ const colKey = this.columnKey(pk.schema_name, pk.table_name, pk.column_name);
140
+ const colNode = columnNodeByKey.get(colKey);
141
+ const tableKey = this.tableKey(pk.schema_name, pk.table_name);
142
+ const tableNode = tableNodeByKey.get(tableKey);
143
+ if (colNode && tableNode) {
144
+ edges.push(this.makeEdge(tableNode.id, colNode.id, 'primary_key', {
145
+ constraintName: pk.constraint_name,
146
+ }));
147
+ }
148
+ }
149
+ // ----- 7. Foreign key references edges (column → referenced column) -----
150
+ for (const fk of fks) {
151
+ const fromKey = this.columnKey(fk.schema_name, fk.table_name, fk.column_name);
152
+ const toKey = this.columnKey(fk.ref_table_schema, fk.ref_table_name, fk.ref_column_name);
153
+ const fromNode = columnNodeByKey.get(fromKey);
154
+ const toNode = columnNodeByKey.get(toKey);
155
+ if (fromNode && toNode) {
156
+ edges.push(this.makeEdge(fromNode.id, toNode.id, 'references', {
157
+ constraintName: fk.constraint_name,
158
+ onUpdate: fk.update_rule,
159
+ onDelete: fk.delete_rule,
160
+ }));
161
+ }
162
+ else if (fromNode) {
163
+ // Cross-schema FK reference — emit unresolved edge
164
+ edges.push(this.makeEdge(fromNode.id, (0, utils_1.hashString)(`${fk.ref_table_schema}.${fk.ref_table_name}.${fk.ref_column_name}`), 'references', {
165
+ constraintName: fk.constraint_name,
166
+ onUpdate: fk.update_rule,
167
+ onDelete: fk.delete_rule,
168
+ refTableSchema: fk.ref_table_schema,
169
+ refTableName: fk.ref_table_name,
170
+ refColumn: fk.ref_column_name,
171
+ unresolved: true,
172
+ }));
173
+ }
174
+ }
175
+ // ----- 8. Index nodes + indexed_by edges -----
176
+ // Group index rows to collect column lists (one row per index × column)
177
+ const indexGroups = new Map();
178
+ for (const idx of indexes) {
179
+ const indexKey = `${idx.schema_name}.${idx.table_name}.${idx.index_name}`;
180
+ if (!indexGroups.has(indexKey)) {
181
+ indexGroups.set(indexKey, {
182
+ schema: idx.schema_name,
183
+ table: idx.table_name,
184
+ indexName: idx.index_name,
185
+ isUnique: idx.is_unique,
186
+ isPrimaryKey: idx.is_primary_key,
187
+ columns: [],
188
+ });
189
+ }
190
+ indexGroups.get(indexKey).columns.push(idx.column_name);
191
+ }
192
+ for (const [, grp] of indexGroups) {
193
+ const tableKey = this.tableKey(grp.schema, grp.table);
194
+ const tableNode = tableNodeByKey.get(tableKey);
195
+ if (!tableNode)
196
+ continue;
197
+ if (grp.isPrimaryKey)
198
+ continue; // PK already handled via primary_key edges
199
+ const qual = this.qn(grp.schema, grp.table, grp.indexName);
200
+ const fp = this.schemaFilePath(grp.schema);
201
+ const node = this.makeNode('index', grp.indexName, qual, fp, {
202
+ metadata: {
203
+ unique: grp.isUnique,
204
+ columns: grp.columns,
205
+ },
206
+ });
207
+ nodes.push(node);
208
+ edges.push(this.containEdge(tableNode.id, node.id));
209
+ edges.push(this.makeEdge(tableNode.id, node.id, 'indexed_by'));
210
+ }
211
+ // ----- 9. Attach view definitions as signatures -----
212
+ const viewDefMap = new Map();
213
+ for (const v of views) {
214
+ const key = this.tableKey(v.schema_name, v.table_name);
215
+ if (v.view_definition)
216
+ viewDefMap.set(key, v.view_definition);
217
+ }
218
+ for (const node of nodes) {
219
+ if (node.kind !== 'view')
220
+ continue;
221
+ // qualifiedName = alias.schema.viewname → extract last two parts
222
+ const parts = node.qualifiedName.split('.');
223
+ if (parts.length < 3)
224
+ continue;
225
+ const schema = parts[parts.length - 2];
226
+ const viewName = parts[parts.length - 1];
227
+ const def = viewDefMap.get(this.tableKey(schema, viewName));
228
+ if (def)
229
+ node.signature = def;
230
+ }
231
+ }
232
+ catch (err) {
233
+ errors.push(`Introspection error: ${err.message}`);
234
+ }
235
+ finally {
236
+ await conn.close();
237
+ }
238
+ return {
239
+ nodes,
240
+ edges,
241
+ durationMs: Date.now() - startTime,
242
+ errors,
243
+ };
244
+ }
245
+ // ===========================================================================
246
+ // Query Methods
247
+ //
248
+ // MSSQL INFORMATION_SCHEMA uses UPPERCASE column names.
249
+ // Each query fetches ALL data and then JS-filters by schemaNames to avoid
250
+ // parameter-binding complexities with the mssql driver.
251
+ // ===========================================================================
252
+ /**
253
+ * Query: non-system schemas.
254
+ */
255
+ async querySchemas(conn) {
256
+ return (await conn.query(`SELECT SCHEMA_NAME AS schema_name
257
+ FROM INFORMATION_SCHEMA.SCHEMATA
258
+ WHERE SCHEMA_NAME NOT IN ('sys', 'INFORMATION_SCHEMA', 'guest')
259
+ AND SCHEMA_NAME NOT LIKE 'db_%'
260
+ ORDER BY SCHEMA_NAME`));
261
+ }
262
+ /**
263
+ * Query: tables and views (BASE TABLE or VIEW).
264
+ */
265
+ async queryTables(conn, schemaNames) {
266
+ if (schemaNames.length === 0)
267
+ return [];
268
+ const placeholders = schemaNames.map(() => '?').join(',');
269
+ return (await conn.query(`SELECT TABLE_SCHEMA AS schema_name,
270
+ TABLE_NAME AS table_name,
271
+ TABLE_TYPE AS table_type
272
+ FROM INFORMATION_SCHEMA.TABLES
273
+ WHERE TABLE_TYPE IN ('BASE TABLE', 'VIEW')
274
+ AND TABLE_SCHEMA IN (${placeholders})
275
+ ORDER BY TABLE_NAME`, schemaNames));
276
+ }
277
+ /**
278
+ * Query: columns with identity detection via COLUMNPROPERTY.
279
+ */
280
+ async queryColumns(conn, schemaNames) {
281
+ if (schemaNames.length === 0)
282
+ return [];
283
+ const placeholders = schemaNames.map(() => '?').join(',');
284
+ return (await conn.query(`SELECT c.TABLE_SCHEMA AS schema_name,
285
+ c.TABLE_NAME AS table_name,
286
+ c.COLUMN_NAME AS column_name,
287
+ c.DATA_TYPE AS data_type,
288
+ c.IS_NULLABLE AS is_nullable,
289
+ c.COLUMN_DEFAULT AS column_default,
290
+ c.CHARACTER_MAXIMUM_LENGTH AS character_maximum_length,
291
+ c.NUMERIC_PRECISION AS numeric_precision,
292
+ c.NUMERIC_SCALE AS numeric_scale,
293
+ c.ORDINAL_POSITION AS ordinal_position,
294
+ COLUMNPROPERTY(OBJECT_ID(QUOTENAME(c.TABLE_SCHEMA) + '.' + QUOTENAME(c.TABLE_NAME)), c.COLUMN_NAME, 'IsIdentity') AS is_identity
295
+ FROM INFORMATION_SCHEMA.COLUMNS c
296
+ WHERE c.TABLE_SCHEMA IN (${placeholders})
297
+ ORDER BY c.TABLE_NAME, c.ORDINAL_POSITION`, schemaNames));
298
+ }
299
+ /**
300
+ * Query: columns that are part of a PRIMARY KEY constraint.
301
+ */
302
+ async queryPrimaryKeys(conn, schemaNames) {
303
+ if (schemaNames.length === 0)
304
+ return [];
305
+ const placeholders = schemaNames.map(() => '?').join(',');
306
+ return (await conn.query(`SELECT tc.TABLE_SCHEMA AS schema_name,
307
+ tc.TABLE_NAME AS table_name,
308
+ tc.CONSTRAINT_NAME AS constraint_name,
309
+ kcu.COLUMN_NAME AS column_name
310
+ FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
311
+ JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu
312
+ ON tc.CONSTRAINT_CATALOG = kcu.CONSTRAINT_CATALOG
313
+ AND tc.CONSTRAINT_SCHEMA = kcu.CONSTRAINT_SCHEMA
314
+ AND tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME
315
+ AND tc.TABLE_SCHEMA = kcu.TABLE_SCHEMA
316
+ AND tc.TABLE_NAME = kcu.TABLE_NAME
317
+ WHERE tc.CONSTRAINT_TYPE = 'PRIMARY KEY'
318
+ AND tc.TABLE_SCHEMA IN (${placeholders})
319
+ ORDER BY tc.TABLE_NAME, kcu.ORDINAL_POSITION`, schemaNames));
320
+ }
321
+ /**
322
+ * Query: foreign key columns + referenced table/column + referential actions.
323
+ *
324
+ * Uses the standard INFORMATION_SCHEMA 4-table join:
325
+ * TABLE_CONSTRAINTS + KEY_COLUMN_USAGE + CONSTRAINT_COLUMN_USAGE + REFERENTIAL_CONSTRAINTS
326
+ */
327
+ async queryForeignKeys(conn, schemaNames) {
328
+ if (schemaNames.length === 0)
329
+ return [];
330
+ const placeholders = schemaNames.map(() => '?').join(',');
331
+ return (await conn.query(`SELECT tc.TABLE_SCHEMA AS schema_name,
332
+ tc.TABLE_NAME AS table_name,
333
+ tc.CONSTRAINT_NAME AS constraint_name,
334
+ kcu.COLUMN_NAME AS column_name,
335
+ ccu.TABLE_SCHEMA AS ref_table_schema,
336
+ ccu.TABLE_NAME AS ref_table_name,
337
+ ccu.COLUMN_NAME AS ref_column_name,
338
+ rc.UPDATE_RULE AS update_rule,
339
+ rc.DELETE_RULE AS delete_rule
340
+ FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
341
+ JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu
342
+ ON tc.CONSTRAINT_CATALOG = kcu.CONSTRAINT_CATALOG
343
+ AND tc.CONSTRAINT_SCHEMA = kcu.CONSTRAINT_SCHEMA
344
+ AND tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME
345
+ JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu
346
+ ON ccu.CONSTRAINT_CATALOG = tc.CONSTRAINT_CATALOG
347
+ AND ccu.CONSTRAINT_SCHEMA = tc.CONSTRAINT_SCHEMA
348
+ AND ccu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME
349
+ JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc
350
+ ON rc.CONSTRAINT_CATALOG = tc.CONSTRAINT_CATALOG
351
+ AND rc.CONSTRAINT_SCHEMA = tc.CONSTRAINT_SCHEMA
352
+ AND rc.CONSTRAINT_NAME = tc.CONSTRAINT_NAME
353
+ WHERE tc.CONSTRAINT_TYPE = 'FOREIGN KEY'
354
+ AND tc.TABLE_SCHEMA IN (${placeholders})
355
+ ORDER BY tc.TABLE_NAME, tc.CONSTRAINT_NAME, kcu.ORDINAL_POSITION`, schemaNames));
356
+ }
357
+ /**
358
+ * Query: index columns from sys.indexes / sys.index_columns / sys.columns.
359
+ *
360
+ * MSSQL does NOT expose index metadata in INFORMATION_SCHEMA, so we query
361
+ * the sys catalog views instead. Returns one row per (index × column),
362
+ * grouped later in the build step.
363
+ */
364
+ async queryIndexes(conn, schemaNames) {
365
+ if (schemaNames.length === 0)
366
+ return [];
367
+ const placeholders = schemaNames.map(() => '?').join(',');
368
+ return (await conn.query(`SELECT s.name AS schema_name,
369
+ t.name AS table_name,
370
+ i.name AS index_name,
371
+ i.is_unique AS is_unique,
372
+ i.is_primary_key AS is_primary_key,
373
+ c.name AS column_name,
374
+ ic.key_ordinal AS ordinal_position
375
+ FROM sys.indexes i
376
+ JOIN sys.tables t ON i.object_id = t.object_id
377
+ JOIN sys.schemas s ON t.schema_id = s.schema_id
378
+ JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
379
+ JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = ic.column_id
380
+ WHERE s.name IN (${placeholders})
381
+ ORDER BY t.name, i.name, ic.key_ordinal`, schemaNames));
382
+ }
383
+ /**
384
+ * Query: view definitions.
385
+ */
386
+ async queryViews(conn, schemaNames) {
387
+ if (schemaNames.length === 0)
388
+ return [];
389
+ const placeholders = schemaNames.map(() => '?').join(',');
390
+ return (await conn.query(`SELECT v.TABLE_SCHEMA AS schema_name,
391
+ v.TABLE_NAME AS table_name,
392
+ v.VIEW_DEFINITION AS view_definition
393
+ FROM INFORMATION_SCHEMA.VIEWS v
394
+ WHERE v.TABLE_SCHEMA IN (${placeholders})
395
+ ORDER BY v.TABLE_NAME`, schemaNames));
396
+ }
397
+ }
398
+ exports.MSSQLIntrospector = MSSQLIntrospector;
399
+ //# sourceMappingURL=mssql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mssql.js","sourceRoot":"","sources":["../../src/introspect/mssql.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/introspect/postgres.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAKnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAuE1C,qBAAa,oBAAqB,SAAQ,gBAAgB;gBAC5C,MAAM,EAAE,kBAAkB;IAItC;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAwO7C;;OAEG;YACW,YAAY;IAW1B;;;OAGG;YACW,WAAW;IAqBzB;;OAEG;YACW,YAAY;IA8B1B;;OAEG;YACW,gBAAgB;IAsB9B;;OAEG;YACW,gBAAgB;IAmC9B;;OAEG;YACW,YAAY;IAiB1B;;OAEG;YACW,UAAU;CAezB"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/introspect/postgres.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAKnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAuE1C,qBAAa,oBAAqB,SAAQ,gBAAgB;gBAC5C,MAAM,EAAE,kBAAkB;IAItC;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA8O7C;;OAEG;YACW,YAAY;IAW1B;;;OAGG;YACW,WAAW;IAqBzB;;OAEG;YACW,YAAY;IA8B1B;;OAEG;YACW,gBAAgB;IAsB9B;;OAEG;YACW,gBAAgB;IAmC9B;;OAEG;YACW,YAAY;IAiB1B;;OAEG;YACW,UAAU;CAezB"}