@memberjunction/codegen-lib 6.1.0-edge.2 → 6.1.0-edge.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.
Files changed (133) hide show
  1. package/LICENSE +180 -4
  2. package/README.md +89 -43
  3. package/dist/Angular/angular-codegen.d.ts +0 -8
  4. package/dist/Angular/angular-codegen.d.ts.map +1 -1
  5. package/dist/Angular/angular-codegen.js +32 -22
  6. package/dist/Angular/angular-codegen.js.map +1 -1
  7. package/dist/Angular/entity-data-grid-related-entity-component.js +2 -2
  8. package/dist/Angular/entity-data-grid-related-entity-component.js.map +1 -1
  9. package/dist/Angular/related-entity-components.d.ts +1 -1
  10. package/dist/Angular/related-entity-components.js +1 -1
  11. package/dist/Config/config.d.ts +118 -1
  12. package/dist/Config/config.d.ts.map +1 -1
  13. package/dist/Config/config.js +202 -8
  14. package/dist/Config/config.js.map +1 -1
  15. package/dist/Database/__tests__/exclude-schema-permissions.test.d.ts +2 -0
  16. package/dist/Database/__tests__/exclude-schema-permissions.test.d.ts.map +1 -0
  17. package/dist/Database/__tests__/exclude-schema-permissions.test.js +32 -0
  18. package/dist/Database/__tests__/exclude-schema-permissions.test.js.map +1 -0
  19. package/dist/Database/codeGenDatabaseProvider.d.ts +178 -2
  20. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  21. package/dist/Database/codeGenDatabaseProvider.js +175 -10
  22. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  23. package/dist/Database/heal-schema-params.d.ts +33 -0
  24. package/dist/Database/heal-schema-params.d.ts.map +1 -0
  25. package/dist/Database/heal-schema-params.js +51 -0
  26. package/dist/Database/heal-schema-params.js.map +1 -0
  27. package/dist/Database/manage-metadata.d.ts +301 -2
  28. package/dist/Database/manage-metadata.d.ts.map +1 -1
  29. package/dist/Database/manage-metadata.js +1242 -96
  30. package/dist/Database/manage-metadata.js.map +1 -1
  31. package/dist/Database/materializationAnalysis.d.ts +241 -0
  32. package/dist/Database/materializationAnalysis.d.ts.map +1 -0
  33. package/dist/Database/materializationAnalysis.js +415 -0
  34. package/dist/Database/materializationAnalysis.js.map +1 -0
  35. package/dist/Database/materializationBroadRender.d.ts +67 -0
  36. package/dist/Database/materializationBroadRender.d.ts.map +1 -0
  37. package/dist/Database/materializationBroadRender.js +104 -0
  38. package/dist/Database/materializationBroadRender.js.map +1 -0
  39. package/dist/Database/materializationDrift.d.ts +59 -0
  40. package/dist/Database/materializationDrift.d.ts.map +1 -0
  41. package/dist/Database/materializationDrift.js +85 -0
  42. package/dist/Database/materializationDrift.js.map +1 -0
  43. package/dist/Database/materializationParamClassifier.d.ts +92 -0
  44. package/dist/Database/materializationParamClassifier.d.ts.map +1 -0
  45. package/dist/Database/materializationParamClassifier.js +224 -0
  46. package/dist/Database/materializationParamClassifier.js.map +1 -0
  47. package/dist/Database/materializationParamVerifier.d.ts +71 -0
  48. package/dist/Database/materializationParamVerifier.d.ts.map +1 -0
  49. package/dist/Database/materializationParamVerifier.js +302 -0
  50. package/dist/Database/materializationParamVerifier.js.map +1 -0
  51. package/dist/Database/materializationSqlAst.d.ts +78 -0
  52. package/dist/Database/materializationSqlAst.d.ts.map +1 -0
  53. package/dist/Database/materializationSqlAst.js +142 -0
  54. package/dist/Database/materializationSqlAst.js.map +1 -0
  55. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +93 -56
  56. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  57. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +399 -247
  58. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  59. package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.d.ts +2 -0
  60. package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.d.ts.map +1 -0
  61. package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.js +119 -0
  62. package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.js.map +1 -0
  63. package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.d.ts +2 -0
  64. package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.d.ts.map +1 -0
  65. package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.js +155 -0
  66. package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.js.map +1 -0
  67. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.d.ts +2 -0
  68. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.d.ts.map +1 -0
  69. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.js +110 -0
  70. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.js.map +1 -0
  71. package/dist/Database/providers/postgresql/metadataSupportObjects.js +78 -10
  72. package/dist/Database/providers/postgresql/metadataSupportObjects.js.map +1 -1
  73. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +72 -1
  74. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  75. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +322 -0
  76. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  77. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.d.ts +2 -0
  78. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.d.ts.map +1 -0
  79. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js +547 -0
  80. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js.map +1 -0
  81. package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.d.ts +2 -0
  82. package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.d.ts.map +1 -0
  83. package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.js +721 -0
  84. package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.js.map +1 -0
  85. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.d.ts +2 -0
  86. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.d.ts.map +1 -0
  87. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.js +78 -0
  88. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.js.map +1 -0
  89. package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.d.ts +2 -0
  90. package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.d.ts.map +1 -0
  91. package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.js +155 -0
  92. package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.js.map +1 -0
  93. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.d.ts +2 -0
  94. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.d.ts.map +1 -0
  95. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.js +195 -0
  96. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.js.map +1 -0
  97. package/dist/Database/schema-filters.d.ts +23 -0
  98. package/dist/Database/schema-filters.d.ts.map +1 -0
  99. package/dist/Database/schema-filters.js +42 -0
  100. package/dist/Database/schema-filters.js.map +1 -0
  101. package/dist/Database/schema-scope.d.ts.map +1 -1
  102. package/dist/Database/schema-scope.js +4 -0
  103. package/dist/Database/schema-scope.js.map +1 -1
  104. package/dist/Database/sql_codegen.d.ts +39 -5
  105. package/dist/Database/sql_codegen.d.ts.map +1 -1
  106. package/dist/Database/sql_codegen.js +176 -67
  107. package/dist/Database/sql_codegen.js.map +1 -1
  108. package/dist/EntityNameScanner/EntityNameScanner.d.ts.map +1 -1
  109. package/dist/EntityNameScanner/EntityNameScanner.js +33 -2
  110. package/dist/EntityNameScanner/EntityNameScanner.js.map +1 -1
  111. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts +8 -4
  112. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
  113. package/dist/Manifest/GenerateClassRegistrationsManifest.js +63 -20
  114. package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
  115. package/dist/Misc/action_subclasses_codegen.d.ts.map +1 -1
  116. package/dist/Misc/action_subclasses_codegen.js +4 -4
  117. package/dist/Misc/action_subclasses_codegen.js.map +1 -1
  118. package/dist/Misc/entity_subclasses_codegen.d.ts +61 -0
  119. package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
  120. package/dist/Misc/entity_subclasses_codegen.js +437 -158
  121. package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
  122. package/dist/Misc/graphql_server_codegen.d.ts +4 -58
  123. package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
  124. package/dist/Misc/graphql_server_codegen.js +22 -236
  125. package/dist/Misc/graphql_server_codegen.js.map +1 -1
  126. package/dist/Misc/sql_logging.d.ts +25 -0
  127. package/dist/Misc/sql_logging.d.ts.map +1 -1
  128. package/dist/Misc/sql_logging.js +51 -8
  129. package/dist/Misc/sql_logging.js.map +1 -1
  130. package/dist/Misc/system_integrity.d.ts.map +1 -1
  131. package/dist/Misc/system_integrity.js +5 -0
  132. package/dist/Misc/system_integrity.js.map +1 -1
  133. package/package.json +30 -30
@@ -130,6 +130,61 @@ FROM
130
130
  [${entity.SchemaName}].[${entity.BaseTable}] AS ${alias}${context.parentJoins ? '\n' + context.parentJoins : ''}${context.relatedFieldsJoins ? '\n' + context.relatedFieldsJoins : ''}${context.rootJoins}
131
131
  ${whereClause}GO`;
132
132
  }
133
+ // ─── MATERIALIZATION ─────────────────────────────────────────────────
134
+ /**
135
+ * SQL Server materialized-table DDL. The create is **conditional** (only if the table
136
+ * is absent) so a migration-provided `materialized_<Name>` table with bespoke indexing
137
+ * is detected and reused rather than clobbered (plan §12). Emits the single-column
138
+ * surrogate PRIMARY KEY, which is itself the required unique index.
139
+ *
140
+ * Returns a single GO-free batch: it is executed directly via `LogSQLAndExecute`
141
+ * (`ds.query`, which doesn't split on `GO`), and the caller passes
142
+ * `includeBatchSeparator: true` so the migration *file* still gets a `GO` after it.
143
+ */
144
+ generateMaterializedTableSQL(schema, tableName, columns) {
145
+ // Escape the closing bracket in every interpolated identifier (`]`→`]]`) so a column name from an
146
+ // untrusted source (e.g. an external entity's remote field names) can't break out of its quoting — the
147
+ // same hardening the refresh path applies via escId. SQLType is metadata-controlled (not an identifier).
148
+ const esc = (n) => n.replace(/\]/g, ']]');
149
+ const colLines = columns.map((c) => ` [${esc(c.Name)}] ${c.SQLType} ${c.Nullable ? 'NULL' : 'NOT NULL'}`);
150
+ const pkCols = columns.filter((c) => c.IsPrimaryKey).map((c) => c.Name);
151
+ const pkClause = pkCols.length
152
+ ? `,\n CONSTRAINT [PK_${esc(tableName)}] PRIMARY KEY (${pkCols.map((n) => `[${esc(n)}]`).join(', ')})`
153
+ : '';
154
+ return `IF OBJECT_ID('[${esc(schema)}].[${esc(tableName)}]', 'U') IS NULL
155
+ BEGIN
156
+ CREATE TABLE [${esc(schema)}].[${esc(tableName)}] (
157
+ ${colLines.join(',\n')}${pkClause}
158
+ );
159
+ END`;
160
+ }
161
+ /**
162
+ * SQL Server wrapper-view DDL — the stable read contract over the materialized table.
163
+ * Uses `CREATE OR ALTER VIEW` (SQL Server 2016 SP1+) so the same statement both creates
164
+ * the view and atomically repoints it at a freshly-built table during refresh (plan §11.2).
165
+ *
166
+ * Returns a single GO-free batch (executed via `ds.query`); the caller adds the file
167
+ * batch separator. `CREATE OR ALTER VIEW` is valid as the sole statement in its batch.
168
+ */
169
+ generateMaterializedWrapperViewSQL(schema, viewName, tableName) {
170
+ const esc = (n) => n.replace(/\]/g, ']]');
171
+ return `CREATE OR ALTER VIEW [${esc(schema)}].[${esc(viewName)}]
172
+ AS
173
+ SELECT * FROM [${esc(schema)}].[${esc(tableName)}];`;
174
+ }
175
+ /** SQL Server synthetic surrogate key: an auto-incrementing IDENTITY column. */
176
+ getMaterializedSurrogateColumnType() {
177
+ return 'int IDENTITY(1,1)';
178
+ }
179
+ /**
180
+ * SQL Server KEYED surrogate key type: the combined-key SHA2_256 hash the refresh writes is a
181
+ * fixed 64-char lowercase-hex string (`CONVERT(varchar(64), HASHBYTES('SHA2_256', …), 2)`), so
182
+ * the minted entity's PK column is typed to MATCH the post-refresh physical column exactly —
183
+ * avoiding the int-vs-hash divergence between CodeGen metadata and the rebuilt table.
184
+ */
185
+ getMaterializedHashSurrogateColumnType() {
186
+ return 'varchar(64)';
187
+ }
133
188
  // ─── CRUD ROUTINES ───────────────────────────────────────────────────
134
189
  /**
135
190
  * Generates the `spCreate` stored procedure for a SQL Server entity. Handles three
@@ -486,6 +541,34 @@ IF NOT EXISTS (
486
541
  AND object_id = OBJECT_ID('[${entity.SchemaName}].[${entity.BaseTable}]')
487
542
  )
488
543
  CREATE INDEX ${indexName} ON [${entity.SchemaName}].[${entity.BaseTable}] ([${f.Name}]);`;
544
+ }
545
+ softPrimaryKeyIndexPrefix() {
546
+ return 'IDX_AUTO_MJ_SOFTPK_';
547
+ }
548
+ /**
549
+ * SQL Server refuses `NVARCHAR(MAX)` (and the other LOB types) as an index KEY column
550
+ * outright, regardless of the data it holds. `Length === -1` is how MJ spells MAX.
551
+ *
552
+ * Note the trap this closes: a source schema that declares a key column with no explicit
553
+ * length maps to `NVARCHAR(MAX)`, and the index then vanishes without complaint. The base
554
+ * class turns that into a comment in the generated file naming the offending columns,
555
+ * rather than an empty one.
556
+ */
557
+ isIndexableKeyColumn(f) {
558
+ return f.Length !== -1;
559
+ }
560
+ formatCompositeIndexStatement(entity, fields, indexName) {
561
+ const cols = fields.map(f => `[${f.Name}]`).join(', ');
562
+ return `-- Index for the soft primary key (${fields.map(f => f.Name).join(', ')}) in table ${entity.BaseTable}.
563
+ -- The key is metadata-only — no PRIMARY KEY constraint — so without this the per-record
564
+ -- existence check on the create path scans the whole table.
565
+ IF NOT EXISTS (
566
+ SELECT 1
567
+ FROM sys.indexes
568
+ WHERE name = '${indexName}'
569
+ AND object_id = OBJECT_ID('[${entity.SchemaName}].[${entity.BaseTable}]')
570
+ )
571
+ CREATE INDEX ${indexName} ON [${entity.SchemaName}].[${entity.BaseTable}] (${cols});`;
489
572
  }
490
573
  // ─── FULL-TEXT SEARCH ────────────────────────────────────────────────
491
574
  /**
@@ -573,7 +656,246 @@ CREATE INDEX ${indexName} ON [${entity.SchemaName}].[${entity.BaseTable}] ([${f.
573
656
  * `fn{BaseTable}{FieldName}_GetRootID` and returns a single-column result (`RootID`),
574
657
  * designed to be consumed via `OUTER APPLY` in the entity's base view.
575
658
  */
659
+ // ─── RECURSIVE HIERARCHY FUNCTIONS ──────────────────────────────────
660
+ /**
661
+ * Generates a SQL Server inline table-valued function (ITVF) that calculates hierarchy metadata
662
+ * (RootID, Depth, Path, IsLeaf, ChildCount) for a record in a table with a self-referencing foreign key.
663
+ * The function is named `fn{BaseTable}{FieldName}_GetHierarchyMeta`.
664
+ */
665
+ generateHierarchyMetaFunction(entity, field) {
666
+ if (entity.PrimaryKeys.length !== 1) {
667
+ throw new Error(`[Hierarchy] Entity '${entity.Name}' has ${entity.PrimaryKeys.length} primary key fields. MemberJunction hierarchy TVF generation requires a single-column primary key.`);
668
+ }
669
+ const primaryKey = entity.FirstPrimaryKey.Name;
670
+ const primaryKeyType = entity.FirstPrimaryKey.SQLFullType;
671
+ const schemaName = entity.SchemaName;
672
+ const tableName = entity.BaseTable;
673
+ const fieldName = field.Name;
674
+ const functionName = `fn${entity.BaseTable}${fieldName}_GetHierarchyMeta`;
675
+ return `------------------------------------------------------------
676
+ ----- HIERARCHY METADATA FUNCTION FOR: [${tableName}].[${fieldName}]
677
+ ------------------------------------------------------------
678
+ IF OBJECT_ID('[${schemaName}].[${functionName}]', 'IF') IS NOT NULL
679
+ DROP FUNCTION [${schemaName}].[${functionName}];
680
+ GO
681
+
682
+ CREATE FUNCTION [${schemaName}].[${functionName}]
683
+ (
684
+ @RecordID ${primaryKeyType},
685
+ @ParentID ${primaryKeyType}
686
+ )
687
+ RETURNS TABLE
688
+ AS
689
+ RETURN
690
+ (
691
+ WITH CTE_Ancestors AS (
692
+ SELECT
693
+ [${primaryKey}],
694
+ [${fieldName}],
695
+ 0 AS [Depth],
696
+ CAST('/' + CAST([${primaryKey}] AS NVARCHAR(36)) + '/' AS NVARCHAR(MAX)) AS [Path]
697
+ FROM
698
+ [${schemaName}].[${tableName}]
699
+ WHERE
700
+ [${primaryKey}] = @RecordID
701
+
702
+ UNION ALL
703
+
704
+ SELECT
705
+ p.[${primaryKey}],
706
+ p.[${fieldName}],
707
+ c.[Depth] + 1 AS [Depth],
708
+ CAST('/' + CAST(p.[${primaryKey}] AS NVARCHAR(36)) + c.[Path] AS NVARCHAR(MAX)) AS [Path]
709
+ FROM
710
+ [${schemaName}].[${tableName}] p
711
+ INNER JOIN
712
+ CTE_Ancestors c ON p.[${primaryKey}] = c.[${fieldName}]
713
+ WHERE
714
+ c.[Depth] < 100
715
+ )
716
+ SELECT TOP 1
717
+ a.[${primaryKey}] AS [RootID],
718
+ (SELECT MAX([Depth]) FROM CTE_Ancestors) AS [Depth],
719
+ (SELECT TOP 1 [Path] FROM CTE_Ancestors ORDER BY [Depth] DESC) AS [Path],
720
+ CAST(CASE WHEN EXISTS (SELECT 1 FROM [${schemaName}].[${tableName}] WHERE [${fieldName}] = @RecordID) THEN 0 ELSE 1 END AS BIT) AS [IsLeaf],
721
+ (SELECT COUNT(1) FROM [${schemaName}].[${tableName}] WHERE [${fieldName}] = @RecordID) AS [ChildCount]
722
+ FROM
723
+ CTE_Ancestors a
724
+ WHERE
725
+ a.[${fieldName}] IS NULL OR @ParentID IS NULL
726
+ ORDER BY
727
+ a.[Depth] DESC
728
+ );
729
+ GO
730
+ `;
731
+ }
732
+ /**
733
+ * Generates a SQL Server inline TVF that returns all descendant records of an arbitrary root node
734
+ * with an optional maximum relative depth parameter.
735
+ * The function is named `fn{BaseTable}{FieldName}_GetDescendants`.
736
+ */
737
+ generateDescendantsFunction(entity, field) {
738
+ if (entity.PrimaryKeys.length !== 1) {
739
+ throw new Error(`[Hierarchy] Entity '${entity.Name}' has ${entity.PrimaryKeys.length} primary key fields. MemberJunction hierarchy TVF generation requires a single-column primary key.`);
740
+ }
741
+ const primaryKey = entity.FirstPrimaryKey.Name;
742
+ const primaryKeyType = entity.FirstPrimaryKey.SQLFullType;
743
+ const schemaName = entity.SchemaName;
744
+ const tableName = entity.BaseTable;
745
+ const fieldName = field.Name;
746
+ const functionName = `fn${entity.BaseTable}${fieldName}_GetDescendants`;
747
+ return `------------------------------------------------------------
748
+ ----- DESCENDANTS FUNCTION FOR: [${tableName}].[${fieldName}]
749
+ ------------------------------------------------------------
750
+ IF OBJECT_ID('[${schemaName}].[${functionName}]', 'IF') IS NOT NULL
751
+ DROP FUNCTION [${schemaName}].[${functionName}];
752
+ GO
753
+
754
+ CREATE FUNCTION [${schemaName}].[${functionName}]
755
+ (
756
+ @RootID ${primaryKeyType},
757
+ @MaxDepth INT = NULL
758
+ )
759
+ RETURNS TABLE
760
+ AS
761
+ RETURN
762
+ (
763
+ WITH CTE_Descendants AS (
764
+ SELECT
765
+ [${primaryKey}],
766
+ [${fieldName}],
767
+ 0 AS [RelativeDepth],
768
+ CAST('/' + CAST([${primaryKey}] AS NVARCHAR(36)) + '/' AS NVARCHAR(MAX)) AS [Path]
769
+ FROM
770
+ [${schemaName}].[${tableName}]
771
+ WHERE
772
+ [${primaryKey}] = @RootID
773
+
774
+ UNION ALL
775
+
776
+ SELECT
777
+ c.[${primaryKey}],
778
+ c.[${fieldName}],
779
+ p.[RelativeDepth] + 1 AS [RelativeDepth],
780
+ CAST(p.[Path] + CAST(c.[${primaryKey}] AS NVARCHAR(36)) + '/' AS NVARCHAR(MAX)) AS [Path]
781
+ FROM
782
+ [${schemaName}].[${tableName}] c
783
+ INNER JOIN
784
+ CTE_Descendants p ON c.[${fieldName}] = p.[${primaryKey}]
785
+ WHERE
786
+ (@MaxDepth IS NULL OR p.[RelativeDepth] < @MaxDepth)
787
+ AND p.[RelativeDepth] < 100
788
+ )
789
+ SELECT
790
+ d.[${primaryKey}] AS [ID],
791
+ d.[RelativeDepth] AS [Depth],
792
+ d.[Path],
793
+ CAST(CASE WHEN EXISTS (SELECT 1 FROM [${schemaName}].[${tableName}] WHERE [${fieldName}] = d.[${primaryKey}]) THEN 0 ELSE 1 END AS BIT) AS [IsLeaf],
794
+ (SELECT COUNT(1) FROM [${schemaName}].[${tableName}] WHERE [${fieldName}] = d.[${primaryKey}]) AS [ChildCount]
795
+ FROM
796
+ CTE_Descendants d
797
+ );
798
+ GO
799
+ `;
800
+ }
801
+ /**
802
+ * Generates a SQL Server inline TVF that returns all ancestors of an arbitrary node walking upward.
803
+ * The function is named `fn{BaseTable}{FieldName}_GetAncestors`.
804
+ */
805
+ generateAncestorsFunction(entity, field) {
806
+ if (entity.PrimaryKeys.length !== 1) {
807
+ throw new Error(`[Hierarchy] Entity '${entity.Name}' has ${entity.PrimaryKeys.length} primary key fields. MemberJunction hierarchy TVF generation requires a single-column primary key.`);
808
+ }
809
+ const primaryKey = entity.FirstPrimaryKey.Name;
810
+ const primaryKeyType = entity.FirstPrimaryKey.SQLFullType;
811
+ const schemaName = entity.SchemaName;
812
+ const tableName = entity.BaseTable;
813
+ const fieldName = field.Name;
814
+ const functionName = `fn${entity.BaseTable}${fieldName}_GetAncestors`;
815
+ return `------------------------------------------------------------
816
+ ----- ANCESTORS FUNCTION FOR: [${tableName}].[${fieldName}]
817
+ ------------------------------------------------------------
818
+ IF OBJECT_ID('[${schemaName}].[${functionName}]', 'IF') IS NOT NULL
819
+ DROP FUNCTION [${schemaName}].[${functionName}];
820
+ GO
821
+
822
+ CREATE FUNCTION [${schemaName}].[${functionName}]
823
+ (
824
+ @RecordID ${primaryKeyType}
825
+ )
826
+ RETURNS TABLE
827
+ AS
828
+ RETURN
829
+ (
830
+ WITH CTE_Ancestors AS (
831
+ SELECT
832
+ [${primaryKey}],
833
+ [${fieldName}],
834
+ 0 AS [LevelUp],
835
+ CAST('/' + CAST([${primaryKey}] AS NVARCHAR(36)) + '/' AS NVARCHAR(MAX)) AS [Path]
836
+ FROM
837
+ [${schemaName}].[${tableName}]
838
+ WHERE
839
+ [${primaryKey}] = @RecordID
840
+
841
+ UNION ALL
842
+
843
+ SELECT
844
+ p.[${primaryKey}],
845
+ p.[${fieldName}],
846
+ c.[LevelUp] + 1 AS [LevelUp],
847
+ CAST('/' + CAST(p.[${primaryKey}] AS NVARCHAR(36)) + c.[Path] AS NVARCHAR(MAX)) AS [Path]
848
+ FROM
849
+ [${schemaName}].[${tableName}] p
850
+ INNER JOIN
851
+ CTE_Ancestors c ON p.[${primaryKey}] = c.[${fieldName}]
852
+ WHERE
853
+ c.[LevelUp] < 100
854
+ )
855
+ SELECT
856
+ a.[${primaryKey}] AS [ID],
857
+ a.[LevelUp],
858
+ a.[Path]
859
+ FROM
860
+ CTE_Ancestors a
861
+ );
862
+ GO
863
+ `;
864
+ }
865
+ /** @inheritdoc */
866
+ generateHierarchyFieldSelect(_entity, field, alias) {
867
+ const rootFieldName = `Root${field.Name}`;
868
+ const depthFieldName = `${field.Name}Depth`;
869
+ const pathFieldName = `${field.Name}Path`;
870
+ const isLeafFieldName = `${field.Name}IsLeaf`;
871
+ const childCountFieldName = `${field.Name}ChildCount`;
872
+ return `${alias}.RootID AS [${rootFieldName}],
873
+ ${alias}.Depth AS [${depthFieldName}],
874
+ ${alias}.Path AS [${pathFieldName}],
875
+ ${alias}.IsLeaf AS [${isLeafFieldName}],
876
+ ${alias}.ChildCount AS [${childCountFieldName}]`;
877
+ }
878
+ /**
879
+ * Generates a SQL Server `OUTER APPLY` clause to join the hierarchy metadata inline TVF
880
+ * into the entity's base view.
881
+ */
882
+ generateHierarchyFieldJoin(entity, field, alias) {
883
+ const classNameFirstChar = entity.BaseTableCodeName.charAt(0).toLowerCase();
884
+ const schemaName = entity.SchemaName;
885
+ const functionName = `fn${entity.BaseTable}${field.Name}_GetHierarchyMeta`;
886
+ const primaryKey = entity.FirstPrimaryKey.Name;
887
+ return `OUTER APPLY\n [${schemaName}].[${functionName}]([${classNameFirstChar}].[${primaryKey}], [${classNameFirstChar}].[${field.Name}]) AS ${alias}`;
888
+ }
889
+ /**
890
+ * Generates a SQL Server inline table-valued function (ITVF) that calculates the top-level root
891
+ * record ID for a self-referencing foreign key hierarchy. The function is named
892
+ * `fn{BaseTable}{FieldName}_GetRootID` and returns a single-column result (`RootID`),
893
+ * designed to be consumed via `OUTER APPLY` in the entity's base view.
894
+ */
576
895
  generateRootIDFunction(entity, field) {
896
+ if (entity.PrimaryKeys.length !== 1) {
897
+ throw new Error(`[Hierarchy] Entity '${entity.Name}' has ${entity.PrimaryKeys.length} primary key fields. MemberJunction hierarchy TVF generation requires a single-column primary key.`);
898
+ }
577
899
  const primaryKey = entity.FirstPrimaryKey.Name;
578
900
  const primaryKeyType = entity.FirstPrimaryKey.SQLFullType;
579
901
  const schemaName = entity.SchemaName;
@@ -1 +1 @@
1
- {"version":3,"file":"SQLServerCodeGenProvider.js","sourceRoot":"","sources":["../../../../src/Database/providers/sqlserver/SQLServerCodeGenProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLServerCodeGenProvider.js","sourceRoot":"","sources":["../../../../src/Database/providers/sqlserver/SQLServerCodeGenProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BaseViewEmissionGoldenMaster.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseViewEmissionGoldenMaster.test.d.ts","sourceRoot":"","sources":["../../../../../src/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.ts"],"names":[],"mappings":""}