@memberjunction/codegen-lib 5.31.0 → 5.33.0
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/README.md +24 -0
- package/dist/Config/config.d.ts +19 -8
- package/dist/Config/config.d.ts.map +1 -1
- package/dist/Config/config.js +18 -8
- package/dist/Config/config.js.map +1 -1
- package/dist/Config/db-connection.d.ts.map +1 -1
- package/dist/Config/db-connection.js +8 -3
- package/dist/Config/db-connection.js.map +1 -1
- package/dist/Database/codeGenDatabaseProvider.d.ts +53 -0
- package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
- package/dist/Database/codeGenDatabaseProvider.js +66 -7
- package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
- package/dist/Database/manage-metadata.d.ts +81 -4
- package/dist/Database/manage-metadata.d.ts.map +1 -1
- package/dist/Database/manage-metadata.js +245 -22
- package/dist/Database/manage-metadata.js.map +1 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +131 -20
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +640 -53
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
- package/dist/Database/providers/postgresql/viewFallback.d.ts +14 -0
- package/dist/Database/providers/postgresql/viewFallback.d.ts.map +1 -1
- package/dist/Database/providers/postgresql/viewFallback.js +107 -13
- package/dist/Database/providers/postgresql/viewFallback.js.map +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +5 -2
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +26 -7
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
- package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js +40 -9
- package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js.map +1 -1
- package/dist/Database/sql.d.ts +8 -0
- package/dist/Database/sql.d.ts.map +1 -1
- package/dist/Database/sql.js +18 -14
- package/dist/Database/sql.js.map +1 -1
- package/dist/Database/sql_codegen.d.ts +18 -5
- package/dist/Database/sql_codegen.d.ts.map +1 -1
- package/dist/Database/sql_codegen.js +83 -48
- package/dist/Database/sql_codegen.js.map +1 -1
- package/dist/Misc/action_subclasses_codegen.js +1 -1
- package/dist/Misc/action_subclasses_codegen.js.map +1 -1
- package/dist/Misc/createNewUser.d.ts.map +1 -1
- package/dist/Misc/createNewUser.js +14 -3
- package/dist/Misc/createNewUser.js.map +1 -1
- package/dist/Misc/graphql_server_codegen.d.ts +11 -0
- package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
- package/dist/Misc/graphql_server_codegen.js +27 -40
- package/dist/Misc/graphql_server_codegen.js.map +1 -1
- package/dist/Misc/sql_logging.d.ts.map +1 -1
- package/dist/Misc/sql_logging.js +16 -2
- package/dist/Misc/sql_logging.js.map +1 -1
- package/dist/Misc/system_integrity.js +3 -3
- package/dist/Misc/system_integrity.js.map +1 -1
- package/dist/Misc/temp_batch_file.js +2 -2
- package/dist/Misc/temp_batch_file.js.map +1 -1
- package/dist/runCodeGen.d.ts +1 -1
- package/dist/runCodeGen.d.ts.map +1 -1
- package/dist/runCodeGen.js +51 -6
- package/dist/runCodeGen.js.map +1 -1
- package/package.json +19 -18
|
@@ -5,6 +5,10 @@ import { DatabasePlatform, SQLDialect } from '@memberjunction/sql-dialect';
|
|
|
5
5
|
* PostgreSQL implementation of the CodeGen database provider.
|
|
6
6
|
* Generates PostgreSQL-native DDL for views, CRUD functions, triggers, indexes,
|
|
7
7
|
* full-text search, permissions, and other database objects.
|
|
8
|
+
*
|
|
9
|
+
* Registered with `MJGlobal.ClassFactory` against the canonical `'postgresql'`
|
|
10
|
+
* platform key — `SQLCodeGenBase` resolves this provider via
|
|
11
|
+
* `ClassFactory.CreateInstance(CodeGenDatabaseProvider, configInfo.dbPlatform)`.
|
|
8
12
|
*/
|
|
9
13
|
export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
|
|
10
14
|
/** @inheritdoc */
|
|
@@ -18,25 +22,43 @@ export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
|
|
|
18
22
|
*/
|
|
19
23
|
generateDropGuard(objectType: 'VIEW' | 'PROCEDURE' | 'FUNCTION' | 'TRIGGER', schema: string, name: string): string;
|
|
20
24
|
/**
|
|
21
|
-
* Generates a PostgreSQL
|
|
25
|
+
* Generates a PostgreSQL view-regeneration block for an entity's base view.
|
|
26
|
+
*
|
|
22
27
|
* Includes all base table columns, parent/related field joins, and root field lateral
|
|
23
28
|
* joins. Applies a soft-delete `WHERE` filter when the entity uses soft deletes.
|
|
24
29
|
*
|
|
25
|
-
* **
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
+
* **Two-path emission (try-then-fallback).** The output wraps `CREATE OR REPLACE VIEW`
|
|
31
|
+
* in a `DO $$ ... EXCEPTION WHEN invalid_table_definition THEN DROP VIEW ... CASCADE;
|
|
32
|
+
* EXECUTE vsql; END $$` block. Why:
|
|
33
|
+
*
|
|
34
|
+
* - Happy path: `CREATE OR REPLACE VIEW` succeeds (new column list is a prefix of
|
|
35
|
+
* the existing one plus optional trailing additions). Zero destruction. No
|
|
36
|
+
* dependent views, functions, triggers, or grants are touched.
|
|
37
|
+
*
|
|
38
|
+
* - Sad path: PG raises SQLSTATE `42P16 invalid_table_definition` for any column
|
|
39
|
+
* rename / reorder / type change / removal. The exception handler runs
|
|
40
|
+
* `DROP VIEW ... CASCADE` and re-executes the CREATE. Dependent codegen-managed
|
|
41
|
+
* functions (spCreate/spUpdate/spDelete returning `SETOF vwFoo`) and dependent
|
|
42
|
+
* views are CASCADE-dropped — they are regenerated later in the same codegen
|
|
43
|
+
* output stream, so by the end of the run all dependents are restored to the new
|
|
44
|
+
* shape. GRANTs on the view itself are also lost on the CASCADE; codegen always
|
|
45
|
+
* re-emits permissions immediately after the view, so they come back too.
|
|
46
|
+
*
|
|
47
|
+
* The runtime-apply path also calls this, so the live DB applies the same DO block.
|
|
48
|
+
* `executeWithFallback` (the runtime helper) becomes a no-op for these statements
|
|
49
|
+
* because the DO block handles 42P16 internally — but it still runs as a safety net
|
|
50
|
+
* for any other failure modes.
|
|
30
51
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
52
|
+
* **What this DOES NOT preserve on the sad path:** non-codegen-managed dependent
|
|
53
|
+
* objects (e.g. a hand-written sproc against this view that codegen doesn't know
|
|
54
|
+
* about). Those would be CASCADE-dropped and not restored. MJ codegen-generated
|
|
55
|
+
* sprocs cover all standard CRUD pathways; bespoke sprocs against base views are
|
|
56
|
+
* extremely rare in practice. If a project does have them, they need to be re-applied
|
|
57
|
+
* after a 42P16 fallback fires.
|
|
58
|
+
*
|
|
59
|
+
* This pattern matches the v5.30.x fix migration `V202604282300` — which used the
|
|
60
|
+
* same DO/EXCEPTION construct to recreate `vwEntityPermissions` after the unquoted
|
|
61
|
+
* RoleName alias bug — proving the pattern is production-tested.
|
|
40
62
|
*
|
|
41
63
|
* Permissions are handled separately by sql_codegen.ts via generateViewPermissions().
|
|
42
64
|
*/
|
|
@@ -50,6 +72,53 @@ export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
|
|
|
50
72
|
* via `pg_proc` is the only way to drop without knowing the exact prior signature.
|
|
51
73
|
*/
|
|
52
74
|
private generateDropAllOverloadsBlock;
|
|
75
|
+
/**
|
|
76
|
+
* Returns true when this entity should emit JSON-arg sprocs (single `JSONB`
|
|
77
|
+
* parameter, key-presence semantics) for the given CRUD verb instead of the
|
|
78
|
+
* default typed-arg shape. Driven by PostgreSQL's hard 100-arg `FUNC_MAX_ARGS`
|
|
79
|
+
* ceiling — once a typed-arg sproc would project past `POSTGRESQL_PROCEDURE_PARAM_LIMIT`,
|
|
80
|
+
* we switch to JSON-arg.
|
|
81
|
+
*
|
|
82
|
+
* Calls the same `useJsonArgShape` predicate used by the runtime so codegen
|
|
83
|
+
* emit and runtime invocation cannot disagree (see `crudSprocFieldRules`
|
|
84
|
+
* in `@memberjunction/generic-database-provider`).
|
|
85
|
+
*/
|
|
86
|
+
private shouldUseJsonArgShape;
|
|
87
|
+
/**
|
|
88
|
+
* Returns the per-column JSON cast expression for the JSON-arg sproc body,
|
|
89
|
+
* e.g. `(p_data->>'PromptID')::UUID` or `(p_data->>'Status')` for plain text.
|
|
90
|
+
* The mapping mirrors `mapSQLType` but as JSON-extraction casts; types that
|
|
91
|
+
* don't need a cast (TEXT/VARCHAR) emit just the bare extraction. Binary
|
|
92
|
+
* (BYTEA) decodes from base64 string. JSON-typed columns use `->` (not
|
|
93
|
+
* `->>`) to keep the JSONB structure intact.
|
|
94
|
+
*/
|
|
95
|
+
private renderJsonExtractAndCast;
|
|
96
|
+
/**
|
|
97
|
+
* Generates the SET clause body for a JSON-arg UPDATE sproc — one `CASE WHEN
|
|
98
|
+
* p_data ? 'Field' THEN <cast> ELSE "Field" END` per writable column, plus
|
|
99
|
+
* the audit-timestamp assignment.
|
|
100
|
+
*/
|
|
101
|
+
private renderJsonArgUpdateSetClause;
|
|
102
|
+
/**
|
|
103
|
+
* Generates the JSON-arg variant of `spUpdate*` for wide entities. Single
|
|
104
|
+
* `p_data JSONB` parameter; per-column `CASE WHEN p_data ? 'Field' THEN
|
|
105
|
+
* <cast> ELSE "Field" END` body. Key-absent leaves the column unchanged;
|
|
106
|
+
* key=null clears it; key=value sets it. Identity column (`ID`) is required
|
|
107
|
+
* in the payload; all other columns are optional.
|
|
108
|
+
*/
|
|
109
|
+
private generateCRUDUpdateJsonArg;
|
|
110
|
+
/**
|
|
111
|
+
* Generates the JSON-arg variant of `spCreate*` for wide entities. Single
|
|
112
|
+
* `p_data JSONB` parameter; uses `EXECUTE format(...)` to build the INSERT
|
|
113
|
+
* dynamically based on which keys are present in `p_data` so absent keys
|
|
114
|
+
* fall back to column DEFAULT (matching the typed-arg sproc's default-
|
|
115
|
+
* substitution behavior). Returns the newly created row from the base view.
|
|
116
|
+
*
|
|
117
|
+
* Single-UUID-PK entities auto-generate the PK if `p_data` doesn't include
|
|
118
|
+
* one (matching `gen_random_uuid()` default). Composite-PK entities require
|
|
119
|
+
* caller-supplied PKs.
|
|
120
|
+
*/
|
|
121
|
+
private generateCRUDCreateJsonArg;
|
|
53
122
|
/**
|
|
54
123
|
* Generates a PostgreSQL `CREATE OR REPLACE FUNCTION` for inserting a new record.
|
|
55
124
|
* The function accepts typed parameters for each writable field, performs an `INSERT`
|
|
@@ -60,6 +129,11 @@ export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
|
|
|
60
129
|
*
|
|
61
130
|
* Prepends a DROP-all-overloads block (see `generateDropAllOverloadsBlock`) so
|
|
62
131
|
* adding/removing a column doesn't trigger PG's overload-ambiguity error.
|
|
132
|
+
*
|
|
133
|
+
* Wide entities (where `useJsonArgShape` returns true) emit a JSON-arg variant
|
|
134
|
+
* via `generateCRUDCreateJsonArg` — single `p_data JSONB` parameter, dynamic
|
|
135
|
+
* INSERT built from keys present in the payload. Same semantics; different
|
|
136
|
+
* wire shape needed because of PostgreSQL's 100-arg function ceiling.
|
|
63
137
|
*/
|
|
64
138
|
generateCRUDCreate(entity: EntityInfo): string;
|
|
65
139
|
/**
|
|
@@ -116,6 +190,20 @@ export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
|
|
|
116
190
|
* root record's primary key value.
|
|
117
191
|
*/
|
|
118
192
|
generateRootIDFunction(entity: EntityInfo, field: EntityFieldInfo): string;
|
|
193
|
+
/**
|
|
194
|
+
* Produces the canonical name for the recursive root-finder helper function
|
|
195
|
+
* generated for self-referencing fields. The function definition and the
|
|
196
|
+
* view's LATERAL-JOIN reference must agree on this name (caller side calls
|
|
197
|
+
* via `generateRootFieldJoin`, definition via `generateRootIDFunction`).
|
|
198
|
+
*
|
|
199
|
+
* Note: this intentionally does NOT match the baseline-shipped PascalCase
|
|
200
|
+
* `fn{Table}{Field}_GetRootID` form, because the baseline returns
|
|
201
|
+
* `TABLE("RootID" type)` and the view callers expect a scalar — using the
|
|
202
|
+
* baseline name would clash with `cannot change return type of existing
|
|
203
|
+
* function`. The snake_case scalar form is codegen's own naming space and
|
|
204
|
+
* is consistent with how downstream views are emitted.
|
|
205
|
+
*/
|
|
206
|
+
private getRootIDFunctionName;
|
|
119
207
|
/** @inheritdoc */
|
|
120
208
|
generateRootFieldSelect(_entity: EntityInfo, field: EntityFieldInfo, alias: string): string;
|
|
121
209
|
/**
|
|
@@ -187,11 +275,34 @@ export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
|
|
|
187
275
|
/** @inheritdoc */
|
|
188
276
|
generateAllEntitiesSQLFileHeader(): string;
|
|
189
277
|
/**
|
|
190
|
-
*
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
278
|
+
* Renders a column DEFAULT expression for embedding in a generated SQL
|
|
279
|
+
* statement. Handles three cases:
|
|
280
|
+
*
|
|
281
|
+
* 1. **SS-style function defaults** — `NEWID()` → `gen_random_uuid()`,
|
|
282
|
+
* `GETUTCDATE()` → `NOW() AT TIME ZONE 'UTC'`, etc. Mapped via the
|
|
283
|
+
* `functionMap` table.
|
|
284
|
+
*
|
|
285
|
+
* 2. **PG typed-literal defaults** — values like `'Pending'::character
|
|
286
|
+
* varying`, `'-1'::integer`, `'F51358F3-...'::uuid`, `'{}'::jsonb`
|
|
287
|
+
* that PG returns from `information_schema.columns.column_default`.
|
|
288
|
+
* These are already fully-formed PG expressions; pass through
|
|
289
|
+
* verbatim. PG handles them natively in every context this method's
|
|
290
|
+
* output appears (INSERT VALUES, COALESCE inside INSERT/UPDATE,
|
|
291
|
+
* CASE-WHEN inside the clear-companion pattern).
|
|
292
|
+
*
|
|
293
|
+
* The type name after `::` may be a single identifier OR multiple
|
|
294
|
+
* words separated by spaces (`character varying`, `double precision`,
|
|
295
|
+
* `time with time zone`, etc.). Without correctly matching multi-word
|
|
296
|
+
* types, stripping the outer quotes and re-wrapping would produce
|
|
297
|
+
* `'''Pending''::character varying'` — a string literal whose value
|
|
298
|
+
* contains the cast syntax — and INSERTs would fail with "value too
|
|
299
|
+
* long for type character varying(N)".
|
|
300
|
+
*
|
|
301
|
+
* 3. **Plain string defaults** — strip outer parens / quotes, then
|
|
302
|
+
* optionally re-apply single-quote wrap (with `'` → `''` escaping)
|
|
303
|
+
* based on the `needsQuotes` flag.
|
|
304
|
+
*
|
|
305
|
+
* Returns `'NULL'` for empty or whitespace-only input.
|
|
195
306
|
*/
|
|
196
307
|
formatDefaultValue(defaultValue: string, needsQuotes: boolean): string;
|
|
197
308
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgreSQLCodeGenProvider.d.ts","sourceRoot":"","sources":["../../../../src/Database/providers/postgresql/PostgreSQLCodeGenProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAwB,MAAM,sBAAsB,CAAC;AAEzF,OAAO,EACH,uBAAuB,EACvB,QAAQ,EACR,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAqB,gBAAgB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"PostgreSQLCodeGenProvider.d.ts","sourceRoot":"","sources":["../../../../src/Database/providers/postgresql/PostgreSQLCodeGenProvider.ts"],"names":[],"mappings":"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"}
|