@memberjunction/codegen-lib 6.1.4 → 6.2.0-edge.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/dist/Angular/angular-codegen.d.ts +6 -0
- package/dist/Angular/angular-codegen.d.ts.map +1 -1
- package/dist/Angular/angular-codegen.js +26 -14
- package/dist/Angular/angular-codegen.js.map +1 -1
- package/dist/Config/config.d.ts +45 -2
- package/dist/Config/config.d.ts.map +1 -1
- package/dist/Config/config.js +116 -39
- package/dist/Config/config.js.map +1 -1
- package/dist/Config/db-connection.d.ts +4 -0
- package/dist/Config/db-connection.d.ts.map +1 -1
- package/dist/Config/db-connection.js +11 -3
- package/dist/Config/db-connection.js.map +1 -1
- package/dist/Config/pg-connection.d.ts +2 -0
- package/dist/Config/pg-connection.d.ts.map +1 -1
- package/dist/Config/pg-connection.js +5 -1
- package/dist/Config/pg-connection.js.map +1 -1
- package/dist/Config/schema-output.d.ts +8 -0
- package/dist/Config/schema-output.d.ts.map +1 -1
- package/dist/Config/schema-output.js +19 -7
- package/dist/Config/schema-output.js.map +1 -1
- package/dist/Database/__tests__/exclude-schema-permissions.test.js +3 -3
- package/dist/Database/codeGenDatabaseProvider.d.ts +40 -1
- package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
- package/dist/Database/codeGenDatabaseProvider.js +65 -7
- package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
- package/dist/Database/dbSchema.d.ts +4 -0
- package/dist/Database/dbSchema.d.ts.map +1 -1
- package/dist/Database/dbSchema.js +17 -9
- package/dist/Database/dbSchema.js.map +1 -1
- package/dist/Database/entity-field-change-tracking.d.ts +4 -0
- package/dist/Database/entity-field-change-tracking.d.ts.map +1 -1
- package/dist/Database/entity-field-change-tracking.js +12 -4
- package/dist/Database/entity-field-change-tracking.js.map +1 -1
- package/dist/Database/exclude-tables.d.ts +2 -0
- package/dist/Database/exclude-tables.d.ts.map +1 -1
- package/dist/Database/exclude-tables.js +5 -1
- package/dist/Database/exclude-tables.js.map +1 -1
- package/dist/Database/field-metadata-lock.d.ts +8 -6
- package/dist/Database/field-metadata-lock.d.ts.map +1 -1
- package/dist/Database/field-metadata-lock.js +29 -25
- package/dist/Database/field-metadata-lock.js.map +1 -1
- package/dist/Database/heal-schema-params.d.ts +14 -2
- package/dist/Database/heal-schema-params.d.ts.map +1 -1
- package/dist/Database/heal-schema-params.js +21 -5
- package/dist/Database/heal-schema-params.js.map +1 -1
- package/dist/Database/manage-metadata.d.ts +227 -4
- package/dist/Database/manage-metadata.d.ts.map +1 -1
- package/dist/Database/manage-metadata.js +883 -384
- package/dist/Database/manage-metadata.js.map +1 -1
- package/dist/Database/materializationAnalysis.d.ts +61 -2
- package/dist/Database/materializationAnalysis.d.ts.map +1 -1
- package/dist/Database/materializationAnalysis.js +43 -23
- package/dist/Database/materializationAnalysis.js.map +1 -1
- package/dist/Database/materializationBroadRender.d.ts +5 -3
- package/dist/Database/materializationBroadRender.d.ts.map +1 -1
- package/dist/Database/materializationBroadRender.js +17 -13
- package/dist/Database/materializationBroadRender.js.map +1 -1
- package/dist/Database/materializationDrift.d.ts +2 -0
- package/dist/Database/materializationDrift.d.ts.map +1 -1
- package/dist/Database/materializationDrift.js +5 -1
- package/dist/Database/materializationDrift.js.map +1 -1
- package/dist/Database/materializationParamClassifier.d.ts +17 -2
- package/dist/Database/materializationParamClassifier.d.ts.map +1 -1
- package/dist/Database/materializationParamClassifier.js +22 -10
- package/dist/Database/materializationParamClassifier.js.map +1 -1
- package/dist/Database/materializationParamVerifier.d.ts +2 -0
- package/dist/Database/materializationParamVerifier.d.ts.map +1 -1
- package/dist/Database/materializationParamVerifier.js +18 -14
- package/dist/Database/materializationParamVerifier.js.map +1 -1
- package/dist/Database/materializationSqlAst.d.ts +19 -1
- package/dist/Database/materializationSqlAst.d.ts.map +1 -1
- package/dist/Database/materializationSqlAst.js +53 -17
- package/dist/Database/materializationSqlAst.js.map +1 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +18 -0
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +76 -30
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
- package/dist/Database/providers/postgresql/metadataSupportObjects.d.ts +2 -0
- package/dist/Database/providers/postgresql/metadataSupportObjects.d.ts.map +1 -1
- package/dist/Database/providers/postgresql/metadataSupportObjects.js +5 -1
- package/dist/Database/providers/postgresql/metadataSupportObjects.js.map +1 -1
- package/dist/Database/providers/postgresql/viewDependencyCapture.d.ts +10 -0
- package/dist/Database/providers/postgresql/viewDependencyCapture.d.ts.map +1 -1
- package/dist/Database/providers/postgresql/viewDependencyCapture.js +25 -5
- package/dist/Database/providers/postgresql/viewDependencyCapture.js.map +1 -1
- package/dist/Database/providers/postgresql/viewFallback.d.ts +11 -7
- package/dist/Database/providers/postgresql/viewFallback.d.ts.map +1 -1
- package/dist/Database/providers/postgresql/viewFallback.js +18 -12
- package/dist/Database/providers/postgresql/viewFallback.js.map +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +9 -0
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +27 -13
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
- package/dist/Database/reconcileFieldLevelSecurity.d.ts +2 -0
- package/dist/Database/reconcileFieldLevelSecurity.d.ts.map +1 -1
- package/dist/Database/reconcileFieldLevelSecurity.js +5 -1
- package/dist/Database/reconcileFieldLevelSecurity.js.map +1 -1
- package/dist/Database/reorder-columns.d.ts +2 -0
- package/dist/Database/reorder-columns.d.ts.map +1 -1
- package/dist/Database/reorder-columns.js +5 -1
- package/dist/Database/reorder-columns.js.map +1 -1
- package/dist/Database/schema-filters.d.ts +6 -0
- package/dist/Database/schema-filters.d.ts.map +1 -1
- package/dist/Database/schema-filters.js +17 -5
- package/dist/Database/schema-filters.js.map +1 -1
- package/dist/Database/schema-scope.d.ts +4 -0
- package/dist/Database/schema-scope.d.ts.map +1 -1
- package/dist/Database/schema-scope.js +13 -5
- package/dist/Database/schema-scope.js.map +1 -1
- package/dist/Database/search-guardrails.d.ts +52 -0
- package/dist/Database/search-guardrails.d.ts.map +1 -1
- package/dist/Database/search-guardrails.js +77 -18
- package/dist/Database/search-guardrails.js.map +1 -1
- package/dist/Database/sql.d.ts +20 -0
- package/dist/Database/sql.d.ts.map +1 -1
- package/dist/Database/sql.js +72 -32
- package/dist/Database/sql.js.map +1 -1
- package/dist/Database/sql_codegen.d.ts +92 -0
- package/dist/Database/sql_codegen.d.ts.map +1 -1
- package/dist/Database/sql_codegen.js +197 -113
- package/dist/Database/sql_codegen.js.map +1 -1
- package/dist/EntityNameScanner/EntityNameScanner.d.ts +16 -0
- package/dist/EntityNameScanner/EntityNameScanner.d.ts.map +1 -1
- package/dist/EntityNameScanner/EntityNameScanner.js +47 -15
- package/dist/EntityNameScanner/EntityNameScanner.js.map +1 -1
- package/dist/EntityNameScanner/HtmlEntityNameScanner.d.ts +6 -0
- package/dist/EntityNameScanner/HtmlEntityNameScanner.d.ts.map +1 -1
- package/dist/EntityNameScanner/HtmlEntityNameScanner.js +19 -7
- package/dist/EntityNameScanner/HtmlEntityNameScanner.js.map +1 -1
- package/dist/EntityNameScanner/MetadataNameScanner.d.ts +6 -0
- package/dist/EntityNameScanner/MetadataNameScanner.d.ts.map +1 -1
- package/dist/EntityNameScanner/MetadataNameScanner.js +19 -7
- package/dist/EntityNameScanner/MetadataNameScanner.js.map +1 -1
- package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts +6 -0
- package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
- package/dist/Manifest/GenerateClassRegistrationsManifest.js +16 -4
- package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
- package/dist/Misc/action_subclasses_codegen.d.ts +4 -0
- package/dist/Misc/action_subclasses_codegen.d.ts.map +1 -1
- package/dist/Misc/action_subclasses_codegen.js +11 -3
- package/dist/Misc/action_subclasses_codegen.js.map +1 -1
- package/dist/Misc/advanced_generation.d.ts +48 -2
- package/dist/Misc/advanced_generation.d.ts.map +1 -1
- package/dist/Misc/advanced_generation.js +53 -15
- package/dist/Misc/advanced_generation.js.map +1 -1
- package/dist/Misc/codegen-reporter.d.ts +53 -0
- package/dist/Misc/codegen-reporter.d.ts.map +1 -1
- package/dist/Misc/codegen-reporter.js +106 -22
- package/dist/Misc/codegen-reporter.js.map +1 -1
- package/dist/Misc/createNewUser.d.ts +6 -0
- package/dist/Misc/createNewUser.d.ts.map +1 -1
- package/dist/Misc/createNewUser.js +5 -1
- package/dist/Misc/createNewUser.js.map +1 -1
- package/dist/Misc/entity_subclasses_codegen.d.ts +8 -0
- package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
- package/dist/Misc/entity_subclasses_codegen.js +52 -36
- package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
- package/dist/Misc/externalTypeMapping.d.ts +2 -0
- package/dist/Misc/externalTypeMapping.d.ts.map +1 -1
- package/dist/Misc/externalTypeMapping.js +5 -1
- package/dist/Misc/externalTypeMapping.js.map +1 -1
- package/dist/Misc/file-write.d.ts +2 -0
- package/dist/Misc/file-write.d.ts.map +1 -1
- package/dist/Misc/file-write.js +5 -1
- package/dist/Misc/file-write.js.map +1 -1
- package/dist/Misc/graphql_server_codegen.d.ts +14 -0
- package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
- package/dist/Misc/graphql_server_codegen.js +51 -27
- package/dist/Misc/graphql_server_codegen.js.map +1 -1
- package/dist/Misc/remote_operations_codegen.d.ts +12 -0
- package/dist/Misc/remote_operations_codegen.d.ts.map +1 -1
- package/dist/Misc/remote_operations_codegen.js +21 -5
- package/dist/Misc/remote_operations_codegen.js.map +1 -1
- package/dist/Misc/runCommand.d.ts +6 -0
- package/dist/Misc/runCommand.d.ts.map +1 -1
- package/dist/Misc/runCommand.js +16 -4
- package/dist/Misc/runCommand.js.map +1 -1
- package/dist/Misc/schema-emit.d.ts +28 -0
- package/dist/Misc/schema-emit.d.ts.map +1 -1
- package/dist/Misc/schema-emit.js +75 -23
- package/dist/Misc/schema-emit.js.map +1 -1
- package/dist/Misc/sql_logging.d.ts +44 -11
- package/dist/Misc/sql_logging.d.ts.map +1 -1
- package/dist/Misc/sql_logging.js +132 -51
- package/dist/Misc/sql_logging.js.map +1 -1
- package/dist/Misc/sql_text.d.ts +22 -0
- package/dist/Misc/sql_text.d.ts.map +1 -0
- package/dist/Misc/sql_text.js +46 -0
- package/dist/Misc/sql_text.js.map +1 -0
- package/dist/Misc/status_logging.d.ts +36 -0
- package/dist/Misc/status_logging.d.ts.map +1 -1
- package/dist/Misc/status_logging.js +95 -23
- package/dist/Misc/status_logging.js.map +1 -1
- package/dist/Misc/system_integrity.js +4 -4
- package/dist/Misc/system_integrity.js.map +1 -1
- package/dist/Misc/temp_batch_file.d.ts +12 -0
- package/dist/Misc/temp_batch_file.d.ts.map +1 -1
- package/dist/Misc/temp_batch_file.js +35 -11
- package/dist/Misc/temp_batch_file.js.map +1 -1
- package/dist/Misc/util.d.ts +33 -0
- package/dist/Misc/util.d.ts.map +1 -1
- package/dist/Misc/util.js +53 -13
- package/dist/Misc/util.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/plugins/index.d.ts +11 -1
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +9 -1
- package/dist/plugins/index.js.map +1 -1
- package/dist/runCodeGen.d.ts +6 -0
- package/dist/runCodeGen.d.ts.map +1 -1
- package/dist/runCodeGen.js +150 -138
- package/dist/runCodeGen.js.map +1 -1
- package/package.json +29 -29
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* Resolves `(schema, name)` to a `pg_class.oid`. Returns null if the target
|
|
23
23
|
* doesn't exist — callers can treat that as "nothing to capture".
|
|
24
24
|
*/
|
|
25
|
-
export async function
|
|
25
|
+
export async function ResolveViewOid(db, schema, name) {
|
|
26
26
|
const res = await db.query(`SELECT c.oid::int AS oid
|
|
27
27
|
FROM pg_class c
|
|
28
28
|
JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
@@ -34,6 +34,10 @@ export async function resolveViewOid(db, schema, name) {
|
|
|
34
34
|
return null;
|
|
35
35
|
return res.rows[0].oid;
|
|
36
36
|
}
|
|
37
|
+
/** @deprecated Use {@link ResolveViewOid}. */
|
|
38
|
+
export async function resolveViewOid(db, schema, name) {
|
|
39
|
+
return ResolveViewOid(db, schema, name);
|
|
40
|
+
}
|
|
37
41
|
// ─── Dependent views ─────────────────────────────────────────────────────
|
|
38
42
|
/**
|
|
39
43
|
* Walks the dependency graph for views/materialized views that depend on the
|
|
@@ -44,7 +48,7 @@ export async function resolveViewOid(db, schema, name) {
|
|
|
44
48
|
* Ordered shallowest-first so a caller restoring dependents can replay the
|
|
45
49
|
* array in order without needing a separate topological sort.
|
|
46
50
|
*/
|
|
47
|
-
export async function
|
|
51
|
+
export async function CaptureDependentViews(db, targetOid) {
|
|
48
52
|
const res = await db.query(`WITH RECURSIVE deps AS (
|
|
49
53
|
SELECT c.oid, c.relname AS name, n.nspname AS schema,
|
|
50
54
|
c.relkind::text AS relkind, 1 AS depth
|
|
@@ -80,6 +84,10 @@ export async function captureDependentViews(db, targetOid) {
|
|
|
80
84
|
definition: r.definition,
|
|
81
85
|
}));
|
|
82
86
|
}
|
|
87
|
+
/** @deprecated Use {@link CaptureDependentViews}. */
|
|
88
|
+
export async function captureDependentViews(db, targetOid) {
|
|
89
|
+
return CaptureDependentViews(db, targetOid);
|
|
90
|
+
}
|
|
83
91
|
// ─── Dependent functions ─────────────────────────────────────────────────
|
|
84
92
|
/**
|
|
85
93
|
* Functions that reference the target view's rowtype — most commonly a
|
|
@@ -91,7 +99,7 @@ export async function captureDependentViews(db, targetOid) {
|
|
|
91
99
|
* (pg_class.reltype), rather than to the view itself — function -> type is the
|
|
92
100
|
* actual dependency PG records.
|
|
93
101
|
*/
|
|
94
|
-
export async function
|
|
102
|
+
export async function CaptureDependentFunctions(db, targetOid) {
|
|
95
103
|
const res = await db.query(`SELECT p.proname AS name,
|
|
96
104
|
n.nspname AS schema,
|
|
97
105
|
pg_catalog.pg_get_function_identity_arguments(p.oid) AS arg_types,
|
|
@@ -111,13 +119,17 @@ export async function captureDependentFunctions(db, targetOid) {
|
|
|
111
119
|
definition: r.definition,
|
|
112
120
|
}));
|
|
113
121
|
}
|
|
122
|
+
/** @deprecated Use {@link CaptureDependentFunctions}. */
|
|
123
|
+
export async function captureDependentFunctions(db, targetOid) {
|
|
124
|
+
return CaptureDependentFunctions(db, targetOid);
|
|
125
|
+
}
|
|
114
126
|
// ─── Permissions ─────────────────────────────────────────────────────────
|
|
115
127
|
/**
|
|
116
128
|
* Captures every non-owner grant on the target view. The owner always has full
|
|
117
129
|
* privileges implicitly and those show up in `relacl` too — we filter them out
|
|
118
130
|
* since `ALTER VIEW ... OWNER TO` already conveys them after the recreate.
|
|
119
131
|
*/
|
|
120
|
-
export async function
|
|
132
|
+
export async function CaptureGrants(db, schema, name) {
|
|
121
133
|
// information_schema gives us a clean per-grant row view. We query by
|
|
122
134
|
// table_schema + table_name rather than oid because information_schema
|
|
123
135
|
// deliberately doesn't expose oid — name-based lookup is the supported path.
|
|
@@ -143,13 +155,17 @@ export async function captureGrants(db, schema, name) {
|
|
|
143
155
|
withGrantOption: r.is_grantable === 'YES',
|
|
144
156
|
}));
|
|
145
157
|
}
|
|
158
|
+
/** @deprecated Use {@link CaptureGrants}. */
|
|
159
|
+
export async function captureGrants(db, schema, name) {
|
|
160
|
+
return CaptureGrants(db, schema, name);
|
|
161
|
+
}
|
|
146
162
|
// ─── Comment + owner ─────────────────────────────────────────────────────
|
|
147
163
|
/**
|
|
148
164
|
* Reads the COMMENT ON VIEW text and owner role name for the target. Both
|
|
149
165
|
* need replay after a DROP + CREATE, since CREATE VIEW sets the owner to
|
|
150
166
|
* the connected role and doesn't inherit comments.
|
|
151
167
|
*/
|
|
152
|
-
export async function
|
|
168
|
+
export async function CaptureMetadata(db, targetOid) {
|
|
153
169
|
const res = await db.query(`SELECT pg_catalog.pg_get_userbyid(c.relowner) AS owner,
|
|
154
170
|
(
|
|
155
171
|
SELECT description
|
|
@@ -167,4 +183,8 @@ export async function captureMetadata(db, targetOid) {
|
|
|
167
183
|
comment: res.rows[0].comment ?? null,
|
|
168
184
|
};
|
|
169
185
|
}
|
|
186
|
+
/** @deprecated Use {@link CaptureMetadata}. */
|
|
187
|
+
export async function captureMetadata(db, targetOid) {
|
|
188
|
+
return CaptureMetadata(db, targetOid);
|
|
189
|
+
}
|
|
170
190
|
//# sourceMappingURL=viewDependencyCapture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewDependencyCapture.js","sourceRoot":"","sources":["../../../../src/Database/providers/postgresql/viewDependencyCapture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"viewDependencyCapture.js","sourceRoot":"","sources":["../../../../src/Database/providers/postgresql/viewDependencyCapture.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,19 +39,21 @@ export declare class ViewFallbackRestoreError extends Error {
|
|
|
39
39
|
name?: string;
|
|
40
40
|
sql?: string;
|
|
41
41
|
};
|
|
42
|
-
constructor(phase: 'restore-view' | 'restore-function' | 'restore-grant' | 'restore-comment' | 'restore-owner',
|
|
42
|
+
constructor(phase: 'restore-view' | 'restore-function' | 'restore-grant' | 'restore-comment' | 'restore-owner', // case-violation-ok-legacy-back-compat: object literals are assigned to this class, so an accessor stub changes what they must supply
|
|
43
|
+
target: {
|
|
43
44
|
schema?: string;
|
|
44
45
|
name?: string;
|
|
45
46
|
sql?: string;
|
|
46
|
-
},
|
|
47
|
+
}, // case-violation-ok-legacy-back-compat: object literals are assigned to this class, so an accessor stub changes what they must supply
|
|
48
|
+
cause: unknown);
|
|
47
49
|
}
|
|
48
50
|
export interface ExecuteWithFallbackOptions {
|
|
49
51
|
/** A connected pg Client (not a pool) — we issue BEGIN/COMMIT on this. */
|
|
50
|
-
|
|
52
|
+
Client: PGQueryable;
|
|
51
53
|
schema: string;
|
|
52
|
-
|
|
54
|
+
ViewName: string;
|
|
53
55
|
/** The exact `CREATE OR REPLACE VIEW ...` SQL the generator produced. */
|
|
54
|
-
|
|
56
|
+
CreateOrReplaceSQL: string;
|
|
55
57
|
/**
|
|
56
58
|
* Optional — set of view names in `schema.name` form that CodeGen will
|
|
57
59
|
* regenerate later in the same run. Dependents in this set are skipped
|
|
@@ -62,7 +64,7 @@ export interface ExecuteWithFallbackOptions {
|
|
|
62
64
|
* Names are compared case-sensitively because PG identifiers are stored
|
|
63
65
|
* as-written when quoted.
|
|
64
66
|
*/
|
|
65
|
-
|
|
67
|
+
WillRegenerate?: Set<string>;
|
|
66
68
|
/**
|
|
67
69
|
* Optional — the qualified base table this view selects from
|
|
68
70
|
* (e.g. `__mj."RecordChange"`). Used to materialize a stub view first
|
|
@@ -76,7 +78,7 @@ export interface ExecuteWithFallbackOptions {
|
|
|
76
78
|
* CREATE OR REPLACE — which now succeeds because the self-reference
|
|
77
79
|
* can resolve to the stub.
|
|
78
80
|
*/
|
|
79
|
-
|
|
81
|
+
BaseTableQualified?: string;
|
|
80
82
|
}
|
|
81
83
|
/**
|
|
82
84
|
* Attempt CREATE OR REPLACE VIEW; on 42P16, perform the full capture + drop +
|
|
@@ -85,5 +87,7 @@ export interface ExecuteWithFallbackOptions {
|
|
|
85
87
|
* Caller must pass a connected pg Client. Concurrent usage of the same client
|
|
86
88
|
* from other code is not allowed — this function manages transaction state.
|
|
87
89
|
*/
|
|
90
|
+
export declare function ExecuteWithFallback(opts: ExecuteWithFallbackOptions): Promise<void>;
|
|
91
|
+
/** @deprecated Use {@link ExecuteWithFallback}. */
|
|
88
92
|
export declare function executeWithFallback(opts: ExecuteWithFallbackOptions): Promise<void>;
|
|
89
93
|
//# sourceMappingURL=viewFallback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewFallback.d.ts","sourceRoot":"","sources":["../../../../src/Database/providers/postgresql/viewFallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EACH,KAAK,WAAW,EAUnB,MAAM,yBAAyB,CAAC;AAIjC;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;aAE3B,KAAK,EAAE,cAAc,GAAG,kBAAkB,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe;aAClG,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;gBADxD,KAAK,EAAE,cAAc,GAAG,kBAAkB,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"viewFallback.d.ts","sourceRoot":"","sources":["../../../../src/Database/providers/postgresql/viewFallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EACH,KAAK,WAAW,EAUnB,MAAM,yBAAyB,CAAC;AAIjC;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;aAE3B,KAAK,EAAE,cAAc,GAAG,kBAAkB,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe;aAClG,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;gBADxD,KAAK,EAAE,cAAc,GAAG,kBAAkB,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,EAAG,sIAAsI;IAC3O,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAG,sIAAsI;IACjN,KAAK,EAAE,OAAO;CAMrB;AAED,MAAM,WAAW,0BAA0B;IACvC,0EAA0E;IAC1E,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoGzF;AAED,mDAAmD;AACnD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF"}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* `PostgreSQLCodeGenProvider.generateBaseView`. Wiring this into the
|
|
27
27
|
* per-entity regeneration loop is a separate commit.
|
|
28
28
|
*/
|
|
29
|
-
import {
|
|
29
|
+
import { ResolveViewOid, CaptureDependentViews, CaptureDependentFunctions, CaptureGrants, CaptureMetadata, } from './viewDependencyCapture.js';
|
|
30
30
|
const SQLSTATE_INVALID_TABLE_DEFINITION = '42P16';
|
|
31
31
|
/**
|
|
32
32
|
* An error thrown from the restore phase. Tagged so callers can distinguish
|
|
@@ -34,7 +34,9 @@ const SQLSTATE_INVALID_TABLE_DEFINITION = '42P16';
|
|
|
34
34
|
* column shape) from an original-CREATE regression.
|
|
35
35
|
*/
|
|
36
36
|
export class ViewFallbackRestoreError extends Error {
|
|
37
|
-
constructor(phase,
|
|
37
|
+
constructor(phase, // case-violation-ok-legacy-back-compat: object literals are assigned to this class, so an accessor stub changes what they must supply
|
|
38
|
+
target, // case-violation-ok-legacy-back-compat: object literals are assigned to this class, so an accessor stub changes what they must supply
|
|
39
|
+
cause) {
|
|
38
40
|
const causeMsg = cause instanceof Error ? cause.message : String(cause);
|
|
39
41
|
super(`Fallback ${phase} failed for ${target.schema ?? ''}.${target.name ?? ''}: ${causeMsg}`);
|
|
40
42
|
this.phase = phase;
|
|
@@ -49,9 +51,9 @@ export class ViewFallbackRestoreError extends Error {
|
|
|
49
51
|
* Caller must pass a connected pg Client. Concurrent usage of the same client
|
|
50
52
|
* from other code is not allowed — this function manages transaction state.
|
|
51
53
|
*/
|
|
52
|
-
export async function
|
|
53
|
-
const { client, schema, viewName, createOrReplaceSQL, baseTableQualified } = opts;
|
|
54
|
-
const willRegenerate = opts.
|
|
54
|
+
export async function ExecuteWithFallback(opts) {
|
|
55
|
+
const { Client: client, schema, ViewName: viewName, CreateOrReplaceSQL: createOrReplaceSQL, BaseTableQualified: baseTableQualified } = opts;
|
|
56
|
+
const willRegenerate = opts.WillRegenerate ?? new Set();
|
|
55
57
|
// First attempt: happy-path CREATE OR REPLACE. If this succeeds there's
|
|
56
58
|
// nothing to capture or restore.
|
|
57
59
|
try {
|
|
@@ -90,13 +92,13 @@ export async function executeWithFallback(opts) {
|
|
|
90
92
|
// restore rolls back to the pre-drop state.
|
|
91
93
|
await client.query('BEGIN');
|
|
92
94
|
try {
|
|
93
|
-
const oid = await
|
|
95
|
+
const oid = await ResolveViewOid(client, schema, viewName);
|
|
94
96
|
// If the view doesn't exist, 42P16 would never have been raised — so
|
|
95
97
|
// this should be impossible, but fail loudly if it happens.
|
|
96
98
|
if (oid === null) {
|
|
97
99
|
throw new Error(`Cannot fall back — view ${schema}.${viewName} resolved to no oid after 42P16.`);
|
|
98
100
|
}
|
|
99
|
-
const dependents = await
|
|
101
|
+
const dependents = await CaptureDependentViews(client, oid);
|
|
100
102
|
// Capture functions transitively. A DROP VIEW ... CASCADE on the
|
|
101
103
|
// target removes BOTH directly-dependent functions (those whose
|
|
102
104
|
// RETURNS SETOF references the target's rowtype) AND functions that
|
|
@@ -106,10 +108,10 @@ export async function executeWithFallback(opts) {
|
|
|
106
108
|
// through the cascade chain — surfacing as "Post-CodeGen CRUD
|
|
107
109
|
// validation FAILED: missing create routine spCreateX" and forcing
|
|
108
110
|
// a second codegen pass to converge.
|
|
109
|
-
const directFunctions = await
|
|
111
|
+
const directFunctions = await CaptureDependentFunctions(client, oid);
|
|
110
112
|
const transitiveFnLists = await Promise.all(dependents.map(async (dep) => {
|
|
111
|
-
const depOid = await
|
|
112
|
-
return depOid !== null ?
|
|
113
|
+
const depOid = await ResolveViewOid(client, dep.schema, dep.name);
|
|
114
|
+
return depOid !== null ? CaptureDependentFunctions(client, depOid) : [];
|
|
113
115
|
}));
|
|
114
116
|
// De-duplicate by schema+name — direct + transitive lists can overlap
|
|
115
117
|
// when the same function depends on both target and a dependent view.
|
|
@@ -121,8 +123,8 @@ export async function executeWithFallback(opts) {
|
|
|
121
123
|
seen.add(key);
|
|
122
124
|
return true;
|
|
123
125
|
});
|
|
124
|
-
const grants = await
|
|
125
|
-
const metadata = await
|
|
126
|
+
const grants = await CaptureGrants(client, schema, viewName);
|
|
127
|
+
const metadata = await CaptureMetadata(client, oid);
|
|
126
128
|
const qualified = quoteQualified(schema, viewName);
|
|
127
129
|
await client.query(`DROP VIEW IF EXISTS ${qualified} CASCADE`);
|
|
128
130
|
await client.query(createOrReplaceSQL);
|
|
@@ -134,6 +136,10 @@ export async function executeWithFallback(opts) {
|
|
|
134
136
|
throw err;
|
|
135
137
|
}
|
|
136
138
|
}
|
|
139
|
+
/** @deprecated Use {@link ExecuteWithFallback}. */
|
|
140
|
+
export async function executeWithFallback(opts) {
|
|
141
|
+
return ExecuteWithFallback(opts);
|
|
142
|
+
}
|
|
137
143
|
// ─── Restore ─────────────────────────────────────────────────────────────
|
|
138
144
|
async function restoreDependents(client, targetSchema, targetName, dependents, dependentFunctions, grants, metadata, willRegenerate) {
|
|
139
145
|
// 1. Dependent views/matviews in shallowest-first order. The capture query
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewFallback.js","sourceRoot":"","sources":["../../../../src/Database/providers/postgresql/viewFallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAEH,cAAc,EACd,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,eAAe,GAKlB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,iCAAiC,GAAG,OAAO,CAAC;AAElD;;;;GAIG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAC/C,YACoB,KAAkG,
|
|
1
|
+
{"version":3,"file":"viewFallback.js","sourceRoot":"","sources":["../../../../src/Database/providers/postgresql/viewFallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,15 @@ export declare class SQLServerCodeGenProvider extends CodeGenDatabaseProvider {
|
|
|
64
64
|
* batch separator. `CREATE OR ALTER VIEW` is valid as the sole statement in its batch.
|
|
65
65
|
*/
|
|
66
66
|
generateMaterializedWrapperViewSQL(schema: string, viewName: string, tableName: string): string;
|
|
67
|
+
/**
|
|
68
|
+
* SQL Server create-or-replace for a config-declared view. `CREATE OR ALTER VIEW`
|
|
69
|
+
* (SQL Server 2016 SP1+) replaces the definition in place whatever its column shape, so
|
|
70
|
+
* a changed body needs no drop and existing grants survive.
|
|
71
|
+
*
|
|
72
|
+
* Returns a single GO-free batch (executed via `ds.query`); the caller adds the file
|
|
73
|
+
* batch separator. `CREATE OR ALTER VIEW` must be the sole statement in its batch.
|
|
74
|
+
*/
|
|
75
|
+
generateCreateOrReplaceViewSQL(schema: string, viewName: string, selectSQL: string): string;
|
|
67
76
|
/** SQL Server synthetic surrogate key: an auto-incrementing IDENTITY column. */
|
|
68
77
|
getMaterializedSurrogateColumnType(): string;
|
|
69
78
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLServerCodeGenProvider.d.ts","sourceRoot":"","sources":["../../../../src/Database/providers/sqlserver/SQLServerCodeGenProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SQLServerCodeGenProvider.d.ts","sourceRoot":"","sources":["../../../../src/Database/providers/sqlserver/SQLServerCodeGenProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,10 @@ import { EntityInfo, CodeNameFromString, ResolveStartupMode } from '@memberjunct
|
|
|
8
8
|
import { CodeGenDatabaseProvider, } from '../../codeGenDatabaseProvider.js';
|
|
9
9
|
import { SQLServerDialect } from '@memberjunction/sql-dialect';
|
|
10
10
|
import { ordinalCompare, RegisterClass } from '@memberjunction/global';
|
|
11
|
-
import {
|
|
12
|
-
import { configInfo, dbDatabase,
|
|
13
|
-
import { MSSQLConnection,
|
|
14
|
-
import { logError, logStatus,
|
|
11
|
+
import { SortBySequenceAndCreatedAt } from '../../../Misc/util.js';
|
|
12
|
+
import { configInfo, dbDatabase, MjCoreSchema } from '../../../Config/config.js';
|
|
13
|
+
import { MSSQLConnection, GetSqlConfig } from '../../../Config/db-connection.js';
|
|
14
|
+
import { logError, logStatus, LogWarning, StartSpinner, SucceedSpinner } from '../../../Misc/status_logging.js';
|
|
15
15
|
import { SQLServerProviderConfigData, setupSQLServerClient } from '@memberjunction/sqlserver-dataprovider';
|
|
16
16
|
import { UserCache } from '@memberjunction/generic-database-provider';
|
|
17
17
|
import { SQLServerCodeGenConnection } from './SQLServerCodeGenConnection.js';
|
|
@@ -62,9 +62,9 @@ let SQLServerCodeGenProvider = class SQLServerCodeGenProvider extends CodeGenDat
|
|
|
62
62
|
* mean touching the orchestrator.
|
|
63
63
|
*/
|
|
64
64
|
async SetupDataSource() {
|
|
65
|
-
|
|
65
|
+
StartSpinner('Initializing database connection...');
|
|
66
66
|
const pool = await MSSQLConnection();
|
|
67
|
-
const config = new SQLServerProviderConfigData(pool,
|
|
67
|
+
const config = new SQLServerProviderConfigData(pool, MjCoreSchema());
|
|
68
68
|
// CodeGen is a short-lived process ⇒ 'task' entry-point default: skip engine
|
|
69
69
|
// pre-warm; MJ_STARTUP_MODE or mj.config.cjs startup.mode can override
|
|
70
70
|
const startupMode = ResolveStartupMode({ configValue: configInfo.startup?.mode, defaultMode: 'task' });
|
|
@@ -74,7 +74,7 @@ let SQLServerCodeGenProvider = class SQLServerCodeGenProvider extends CodeGenDat
|
|
|
74
74
|
// MSSQLConnection() above. The non-null assertion is safe because the
|
|
75
75
|
// call to MSSQLConnection on the line above is what guarantees the
|
|
76
76
|
// accessor has a value to return.
|
|
77
|
-
const cfg =
|
|
77
|
+
const cfg = GetSqlConfig();
|
|
78
78
|
let connectionInfo = cfg.server;
|
|
79
79
|
if (cfg.port)
|
|
80
80
|
connectionInfo += ':' + cfg.port;
|
|
@@ -84,7 +84,7 @@ let SQLServerCodeGenProvider = class SQLServerCodeGenProvider extends CodeGenDat
|
|
|
84
84
|
await UserCache.Instance.Refresh(provider);
|
|
85
85
|
const userMatch = UserCache.Users.find((u) => u?.Type?.trim().toLowerCase() === 'owner');
|
|
86
86
|
const currentUser = userMatch ?? UserCache.Users[0];
|
|
87
|
-
|
|
87
|
+
SucceedSpinner('SQL Server connection initialized: ' + connectionInfo);
|
|
88
88
|
return { provider, connection: conn, currentUser, connectionInfo };
|
|
89
89
|
}
|
|
90
90
|
// ─── DROP GUARDS ─────────────────────────────────────────────────────
|
|
@@ -183,6 +183,20 @@ END`;
|
|
|
183
183
|
return `CREATE OR ALTER VIEW [${esc(schema)}].[${esc(viewName)}]
|
|
184
184
|
AS
|
|
185
185
|
SELECT * FROM [${esc(schema)}].[${esc(tableName)}];`;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* SQL Server create-or-replace for a config-declared view. `CREATE OR ALTER VIEW`
|
|
189
|
+
* (SQL Server 2016 SP1+) replaces the definition in place whatever its column shape, so
|
|
190
|
+
* a changed body needs no drop and existing grants survive.
|
|
191
|
+
*
|
|
192
|
+
* Returns a single GO-free batch (executed via `ds.query`); the caller adds the file
|
|
193
|
+
* batch separator. `CREATE OR ALTER VIEW` must be the sole statement in its batch.
|
|
194
|
+
*/
|
|
195
|
+
generateCreateOrReplaceViewSQL(schema, viewName, selectSQL) {
|
|
196
|
+
const esc = (n) => n.replace(/\]/g, ']]');
|
|
197
|
+
return `CREATE OR ALTER VIEW [${esc(schema)}].[${esc(viewName)}]
|
|
198
|
+
AS
|
|
199
|
+
${this.trimStatementTerminator(selectSQL)}`;
|
|
186
200
|
}
|
|
187
201
|
/** SQL Server synthetic surrogate key: an auto-incrementing IDENTITY column. */
|
|
188
202
|
getMaterializedSurrogateColumnType() {
|
|
@@ -1067,7 +1081,7 @@ GO
|
|
|
1067
1081
|
if (context.ServiceProtectedRoleSQLNames.has(sqlName.trim().toLowerCase())) {
|
|
1068
1082
|
if (!this._serviceProtectedDenySkipsWarned.has(sqlName)) {
|
|
1069
1083
|
this._serviceProtectedDenySkipsWarned.add(sqlName);
|
|
1070
|
-
|
|
1084
|
+
LogWarning(` ⚠️ SKIPPED field-security DENY to role '${sqlName}': a protected service login is a member of this role. ` +
|
|
1071
1085
|
`A column DENY here would strip the column from the service login itself (DENY beats every sibling GRANT) and break the API for all users. ` +
|
|
1072
1086
|
`Remove the service login from the role to enable DB-tier enforcement; app-tier enforcement is unaffected.`);
|
|
1073
1087
|
}
|
|
@@ -1162,7 +1176,7 @@ GO
|
|
|
1162
1176
|
const parentKey = this.resolveCascadeParentKeyField(parentEntity, fkField);
|
|
1163
1177
|
if (!parentKey) {
|
|
1164
1178
|
const warning = this.unresolvedCascadeKeyComment(parentEntity, relatedEntity, fkField);
|
|
1165
|
-
|
|
1179
|
+
LogWarning(`WARNING in ${this.getCRUDRoutineName(parentEntity, 'Delete')} generation: ${warning.trim()}`);
|
|
1166
1180
|
return '\n' + warning;
|
|
1167
1181
|
}
|
|
1168
1182
|
const whereClause = `${qi(fkField.CodeName)} = @${parentKey.CodeName}`;
|
|
@@ -1202,7 +1216,7 @@ GO
|
|
|
1202
1216
|
const parentKey = this.resolveCascadeParentKeyField(parentEntity, fkField);
|
|
1203
1217
|
if (!parentKey) {
|
|
1204
1218
|
const warning = this.unresolvedCascadeKeyComment(parentEntity, relatedEntity, fkField);
|
|
1205
|
-
|
|
1219
|
+
LogWarning(`WARNING in ${this.getCRUDRoutineName(parentEntity, 'Delete')} generation: ${warning.trim()}`);
|
|
1206
1220
|
return '\n' + warning;
|
|
1207
1221
|
}
|
|
1208
1222
|
const whereClause = `${qi(fkField.CodeName)} = @${parentKey.CodeName}`;
|
|
@@ -1256,7 +1270,7 @@ GO
|
|
|
1256
1270
|
fetchInto = pkComponents.fetchInto;
|
|
1257
1271
|
allParams = pkComponents.routineParams;
|
|
1258
1272
|
// Then, add all updateable fields with the same prefix
|
|
1259
|
-
const sortedFields =
|
|
1273
|
+
const sortedFields = SortBySequenceAndCreatedAt(entity.Fields);
|
|
1260
1274
|
for (const ef of sortedFields) {
|
|
1261
1275
|
if (!ef.IsPrimaryKey && !ef.IsVirtual && ef.AllowUpdateAPI && !ef.AutoIncrement && !ef.IsSpecialDateField) {
|
|
1262
1276
|
if (declarations !== '')
|
|
@@ -1893,7 +1907,7 @@ DROP TABLE #__mj__CodeGen__vwTableUniqueKeys;
|
|
|
1893
1907
|
}
|
|
1894
1908
|
catch (err) {
|
|
1895
1909
|
const msg = err instanceof Error ? err.message : String(err);
|
|
1896
|
-
|
|
1910
|
+
LogWarning(`[CodeGen] SQL batch warning in ${path.basename(filePath)}: ${msg.substring(0, 200)}`);
|
|
1897
1911
|
}
|
|
1898
1912
|
}
|
|
1899
1913
|
return true;
|