From a3821e441ab16f044878bd57ea753ef74ce9f64b Mon Sep 17 00:00:00 2001 From: Benjie Gillam Date: Fri, 6 Jun 2025 09:30:00 +0100 Subject: [PATCH 1/3] Minor tweaks --- grafast/grafast/src/engine/OperationPlan.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/grafast/grafast/src/engine/OperationPlan.ts b/grafast/grafast/src/engine/OperationPlan.ts index 307291e8be..030165d349 100644 --- a/grafast/grafast/src/engine/OperationPlan.ts +++ b/grafast/grafast/src/engine/OperationPlan.ts @@ -1729,10 +1729,12 @@ export class OperationPlan { private mutateTodos(todo: Todo) { for (const [_planningPath, batch] of todo) { + /** For polymorphicResolveType */ const polymorphicResolveTypeEntriesByPolyType = new Map< GraphQLUnionType | GraphQLInterfaceType, Array >(); + /** For polymorphicPlanObjectType */ const planFieldReturnTypeEntriesByStepByLayerPlan = new Map< LayerPlan, Map> @@ -1755,10 +1757,11 @@ export class OperationPlan { } let list = polymorphicResolveTypeEntriesByPolyType.get(polyType); if (!list) { - list = []; + list = [args]; polymorphicResolveTypeEntriesByPolyType.set(polyType, list); + } else { + list.push(args); } - list.push(args); } else if (method == this.polymorphicPlanObjectType) { const args = rawArgs as PolymorphicPlanObjectTypeDetails; const lp = args.layerPlan; From ddee15693d020f4ccb35b112ad106d0194542614 Mon Sep 17 00:00:00 2001 From: Benjie Gillam Date: Fri, 6 Jun 2025 09:31:11 +0100 Subject: [PATCH 2/3] Ability to disable partitioning --- grafast/grafast/src/engine/OperationPlan.ts | 9 ++++++++- grafast/grafast/src/engine/OperationPlanTypes.ts | 2 ++ grafast/grafast/src/interfaces.ts | 13 +++++++++++++ graphile-build/graphile-build-pg/src/index.ts | 1 + .../src/plugins/PgPolymorphismPlugin.ts | 6 ++++++ 5 files changed, 30 insertions(+), 1 deletion(-) diff --git a/grafast/grafast/src/engine/OperationPlan.ts b/grafast/grafast/src/engine/OperationPlan.ts index 030165d349..68fcd08f27 100644 --- a/grafast/grafast/src/engine/OperationPlan.ts +++ b/grafast/grafast/src/engine/OperationPlan.ts @@ -2056,6 +2056,8 @@ export class OperationPlan { locationDetails, }); detailsRecord.stepForType = stepForType; + detailsRecord.disablePartitioning = + polymorphicTypePlanner.disablePartitioning; } } @@ -2066,7 +2068,10 @@ export class OperationPlan { if (planFieldReturnTypeEntriesByStep.size <= 1) { continue; } - for (const [step, entries] of planFieldReturnTypeEntriesByStep) { + for (const [step, rawEntries] of planFieldReturnTypeEntriesByStep) { + // Only partition those that have not disabled partitioning + const entries = rawEntries.filter((e) => !e.disablePartitioning); + // We already know the planningPath lines up. // We know all `entries` resolved to the same `step`. // We know all `entries` come from the same layer plan. @@ -2505,6 +2510,7 @@ export class OperationPlan { isNonNull, resolverEmulation, stepForType, + disablePartitioning = false, } = details; if (!stepForType) { throw new Error( @@ -2557,6 +2563,7 @@ export class OperationPlan { locationDetails, isNonNull, resolverEmulation, + disablePartitioning, }); } finally { layerPlan.latestSideEffectStep = $sideEffect; diff --git a/grafast/grafast/src/engine/OperationPlanTypes.ts b/grafast/grafast/src/engine/OperationPlanTypes.ts index 084abef089..a92943985f 100644 --- a/grafast/grafast/src/engine/OperationPlanTypes.ts +++ b/grafast/grafast/src/engine/OperationPlanTypes.ts @@ -90,6 +90,7 @@ export interface PolymorphicResolveTypeDetails // Populated by mutateTodos stepForType?: ReadonlyMap; + disablePartitioning?: boolean; } export interface PolymorphicPlanObjectTypeDetails @@ -98,4 +99,5 @@ export interface PolymorphicPlanObjectTypeDetails fieldNodes: readonly FieldNode[]; locationDetails: LocationDetails; isNonNull: boolean; + disablePartitioning: boolean; } diff --git a/grafast/grafast/src/interfaces.ts b/grafast/grafast/src/interfaces.ts index 5648ee37e8..3f0f6ae47a 100644 --- a/grafast/grafast/src/interfaces.ts +++ b/grafast/grafast/src/interfaces.ts @@ -831,8 +831,21 @@ export interface AbstractTypePlanner { * the given `$specifier`, or `null` if no such type could be determined. */ $__typename: Step; + /** * If not provided, will call `t.planType($specifier)` */ planForType?(t: GraphQLObjectType): Step | null; + + /** + * If your abstract type returns a different step for each type but you still + * want these steps to exist in the same layer plan (for example, so that + * they may optimize together and/or related steps may deduplicate) then set + * this to true. Doing so could result in performance degradation due to + * having to run every subsequent step in the layer plan with filtering, so + * be sure. + * + * @experimental + */ + disablePartitioning?: boolean; } diff --git a/graphile-build/graphile-build-pg/src/index.ts b/graphile-build/graphile-build-pg/src/index.ts index 68c7df407d..d85d780298 100644 --- a/graphile-build/graphile-build-pg/src/index.ts +++ b/graphile-build/graphile-build-pg/src/index.ts @@ -89,6 +89,7 @@ declare global { interface: string; name: string; unionMember: string | string[]; + disablePartitioning: true; } interface PgSmartTagsDict { diff --git a/graphile-build/graphile-build-pg/src/plugins/PgPolymorphismPlugin.ts b/graphile-build/graphile-build-pg/src/plugins/PgPolymorphismPlugin.ts index f5080dc2b3..001878ace1 100644 --- a/graphile-build/graphile-build-pg/src/plugins/PgPolymorphismPlugin.ts +++ b/graphile-build/graphile-build-pg/src/plugins/PgPolymorphismPlugin.ts @@ -1158,6 +1158,9 @@ export const PgPolymorphismPlugin: GraphileConfig.Plugin = { ), }; } else if (polymorphism.mode === "relational") { + const disablePartitioning = Boolean( + codec.extensions?.tags?.disablePartitioning, + ); grafastExtensions = { toSpecifier: EXPORTABLE( (PgSelectSingleStep, get, object, pk, resource) => @@ -1208,6 +1211,7 @@ export const PgPolymorphismPlugin: GraphileConfig.Plugin = { planType: EXPORTABLE( ( PgSelectSingleStep, + disablePartitioning, get, lambda, pk, @@ -1282,10 +1286,12 @@ export const PgPolymorphismPlugin: GraphileConfig.Plugin = { } return $base.singleRelation(spec.relationName); }, + disablePartitioning, }; }, [ PgSelectSingleStep, + disablePartitioning, get, lambda, pk, From 97c99c81ef077085172f5fdd83d2370846a54932 Mon Sep 17 00:00:00 2001 From: Benjie Gillam Date: Fri, 6 Jun 2025 09:32:38 +0100 Subject: [PATCH 3/3] Integrate into tests --- .../src/plugins/PgPolymorphismPlugin.ts | 2 + .../__tests__/kitchen-sink-schema.sql | 1 + .../polymorphic.relay.custom_delete.mermaid | 201 +-- .../v4/polymorphic.relay.custom_delete.sql | 43 +- .../mutations/v4/polymorphic.relay.mermaid | 800 ++++++----- .../mutations/v4/polymorphic.relay.sql | 164 ++- .../relay.polyroot_with_related_poly.mermaid | 1219 +++++++++-------- ....polyroot_with_related_poly.simple.mermaid | 529 +++---- ...elay.polyroot_with_related_poly.simple.sql | 143 +- .../relay.polyroot_with_related_poly.sql | 218 +-- .../schema/v4/js-reserved.1.export.mjs | 3 +- .../polymorphic-auto-add-types.1.export.mjs | 5 +- .../schema/v4/polymorphic.1.export.mjs | 5 +- .../skipNodePlugin.polymorphic.1.export.mjs | 5 +- .../skipNodePlugin.polymorphic.1.export.mjs | 5 +- 15 files changed, 1805 insertions(+), 1538 deletions(-) diff --git a/graphile-build/graphile-build-pg/src/plugins/PgPolymorphismPlugin.ts b/graphile-build/graphile-build-pg/src/plugins/PgPolymorphismPlugin.ts index 001878ace1..ce6437bf97 100644 --- a/graphile-build/graphile-build-pg/src/plugins/PgPolymorphismPlugin.ts +++ b/graphile-build/graphile-build-pg/src/plugins/PgPolymorphismPlugin.ts @@ -1158,6 +1158,8 @@ export const PgPolymorphismPlugin: GraphileConfig.Plugin = { ), }; } else if (polymorphism.mode === "relational") { + //const typeCount = Object.keys(polymorphism.types).length; + //const disablePartitioning = typeCount < 6 const disablePartitioning = Boolean( codec.extensions?.tags?.disablePartitioning, ); diff --git a/postgraphile/postgraphile/__tests__/kitchen-sink-schema.sql b/postgraphile/postgraphile/__tests__/kitchen-sink-schema.sql index de63ba1a97..caf574b459 100644 --- a/postgraphile/postgraphile/__tests__/kitchen-sink-schema.sql +++ b/postgraphile/postgraphile/__tests__/kitchen-sink-schema.sql @@ -1500,6 +1500,7 @@ create table polymorphic.relational_checklist_items ( -- `type:type` is the default comment on table polymorphic.relational_items is $$ @interface mode:relational + @disablePartitioning @type TOPIC references:relational_topics @type POST references:relational_posts @type DIVIDER references:relational_dividers diff --git a/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.custom_delete.mermaid b/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.custom_delete.mermaid index 8381ea2994..24248b031f 100644 --- a/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.custom_delete.mermaid +++ b/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.custom_delete.mermaid @@ -8,18 +8,14 @@ graph TD classDef bucket fill:#f6f6f6,color:#000,stroke-width:2px,text-align:left subgraph "Buckets for mutations/v4/polymorphic.relay.custom_delete" - Bucket0("Bucket 0 (root)

1:
ᐳ: 7, 36, 37, 111, 115, 119, 123, 127, 137, 138, 6, 9, 38, 54, 136, 14
2: 13, 17, 21, 25, 29
ᐳ: 15, 19, 23, 27, 31, 32, 33, 34
3: PgSelect[35]
4: PgSelectRows[40]
ᐳ: 39, 41, 42, 48"):::bucket - Bucket1("Bucket 1 (mutationField)
Deps: 38, 48, 54, 138, 4, 111, 115, 119, 123, 127

1: PgSelect[44]
2: PgSelectRows[50]
ᐳ: 49, 51, 52, 53"):::bucket - Bucket2("Bucket 2 (nullableBoundary)
Deps: 138, 53, 4, 38, 111, 115, 119, 123, 127, 52

ROOT Object{1}ᐸ{result}ᐳ[53]"):::bucket - Bucket3("Bucket 3 (nullableBoundary)
Deps: 4, 38, 61, 138, 111, 115, 119, 123, 127

ROOT __ValueᐸrootValueᐳ[4]"):::bucket - Bucket4("Bucket 4 (nullableBoundary)
Deps: 38, 61, 138, 111, 115, 119, 123, 127

ROOT Connection{2}ᐸ57ᐳ[61]
1: PgSelect[63]
2: PgSelectRows[64]"):::bucket - Bucket5("Bucket 5 (listItem)
Deps: 38, 111, 115, 119, 123, 127

ROOT __Item{5}ᐸ64ᐳ[65]"):::bucket - Bucket6("Bucket 6 (polymorphic)
__typename: Lambda[70]
Deps: 70, 38, 67, 111, 115, 119, 123, 127, 69"):::bucket - Bucket7("Bucket 7 (polymorphicPartition)
|RelationalTopic
Deps: 38, 67, 111, 69
ᐳRelationalTopic

1: PgSelect[72]
2: PgSelectRows[77]
ᐳ: 76, 78, 112, 113, 114"):::bucket - Bucket8("Bucket 8 (polymorphicPartition)
|RelationalPost
Deps: 38, 67, 115, 69
ᐳRelationalPost

1: PgSelect[80]
2: PgSelectRows[85]
ᐳ: 84, 86, 116, 117, 118"):::bucket - Bucket9("Bucket 9 (polymorphicPartition)
|RelationalDivider
Deps: 38, 67, 119, 69
ᐳRelationalDivider

1: PgSelect[88]
2: PgSelectRows[93]
ᐳ: 92, 94, 120, 121, 122"):::bucket - Bucket10("Bucket 10 (polymorphicPartition)
|RelationalChecklist
Deps: 38, 67, 123, 69
ᐳRelationalChecklist

1: PgSelect[96]
2: PgSelectRows[101]
ᐳ: 100, 102, 124, 125, 126"):::bucket - Bucket11("Bucket 11 (polymorphicPartition)
|RelationalChecklistItem
Deps: 38, 67, 127, 69
ᐳRelationalChecklistItem

1: PgSelect[104]
2: PgSelectRows[109]
ᐳ: 108, 110, 128, 129, 130"):::bucket + Bucket0("Bucket 0 (root)

1:
ᐳ: 7, 36, 37, 111, 115, 119, 123, 127, 157, 158, 6, 9, 38, 54, 156, 14
2: 13, 17, 21, 25, 29
ᐳ: 15, 19, 23, 27, 31, 32, 33, 34
3: PgSelect[35]
4: PgSelectRows[40]
ᐳ: 39, 41, 42, 48"):::bucket + Bucket1("Bucket 1 (mutationField)
Deps: 38, 48, 54, 158, 4, 111, 115, 119, 123, 127

1: PgSelect[44]
2: PgSelectRows[50]
ᐳ: 49, 51, 52, 53"):::bucket + Bucket2("Bucket 2 (nullableBoundary)
Deps: 158, 53, 4, 38, 111, 115, 119, 123, 127, 52

ROOT Object{1}ᐸ{result}ᐳ[53]"):::bucket + Bucket3("Bucket 3 (nullableBoundary)
Deps: 4, 38, 61, 158, 136, 140, 144, 148, 152, 111, 115, 119, 123, 127

ROOT __ValueᐸrootValueᐳ[4]"):::bucket + Bucket4("Bucket 4 (nullableBoundary)
Deps: 38, 61, 158, 136, 140, 144, 148, 152, 111, 115, 119, 123, 127

ROOT Connection{2}ᐸ57ᐳ[61]
1: PgSelect[63]
2: PgSelectRows[64]"):::bucket + Bucket5("Bucket 5 (listItem)
Deps: 111, 115, 119, 123, 127, 63

ROOT __Item{5}ᐸ64ᐳ[65]"):::bucket + Bucket6("Bucket 6 (polymorphic)
__typename: Lambda[70]
Deps: 111, 115, 119, 123, 127, 63, 66, 70, 69

1: 137, 141, 145, 149, 153
ᐳ: 138, 139, 142, 143, 146, 147, 150, 151, 154, 155
2: 77, 85, 93, 101, 109
ᐳ: 76, 78, 84, 86, 92, 94, 100, 102, 108, 110, 112, 113, 114, 116, 117, 118, 120, 121, 122, 124, 125, 126, 128, 129, 130"):::bucket + Bucket7("Bucket 7 (polymorphicPartition)
|"):::bucket end Bucket0 --> Bucket1 Bucket1 --> Bucket2 @@ -27,7 +23,7 @@ graph TD Bucket3 --> Bucket4 Bucket4 --> Bucket5 Bucket5 --> Bucket6 - Bucket6 --> Bucket7 & Bucket8 & Bucket9 & Bucket10 & Bucket11 + Bucket6 --> Bucket7 %% plan dependencies List32{{"List[32∈0] ➊
ᐸ15,19,23,27,31ᐳ"}}:::plan @@ -37,9 +33,9 @@ graph TD Object27{{"Object[27∈0] ➊
ᐸ{match,pks}ᐳ"}}:::plan Object31{{"Object[31∈0] ➊
ᐸ{match,pks}ᐳ"}}:::plan Object15 & Object19 & Object23 & Object27 & Object31 --> List32 - __InputObject6{{"__InputObject[6∈0] ➊
More deps:
- Constantᐸundefinedᐳ[7]
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMV0='ᐳ[137]"}}:::plan + __InputObject6{{"__InputObject[6∈0] ➊
More deps:
- Constantᐸundefinedᐳ[7]
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMV0='ᐳ[157]"}}:::plan Lambda13[["Lambda[13∈0] ➊"]]:::unbatchedplan - List14{{"List[14∈0] ➊
ᐸ136ᐳ"}}:::plan + List14{{"List[14∈0] ➊
ᐸ156ᐳ"}}:::plan Lambda13 & List14 --> Object15 Lambda17[["Lambda[17∈0] ➊"]]:::unbatchedplan Lambda17 & List14 --> Object19 @@ -52,14 +48,14 @@ graph TD PgSelect35[["PgSelect[35∈0] ➊
ᐸrelational_itemsᐳ
More deps:
- Object[38]"]]:::plan Access34{{"Access[34∈0] ➊
ᐸ33.0ᐳ"}}:::plan Access34 --> PgSelect35 - Object38{{"Object[38∈0] ➊
ᐸ{pgSettings,withPgClient}ᐳ
Dependents: 8"}}:::plan + Object38{{"Object[38∈0] ➊
ᐸ{pgSettings,withPgClient}ᐳ
Dependents: 3"}}:::plan Access36{{"Access[36∈0] ➊
ᐸ2.pgSettingsᐳ"}}:::plan Access37{{"Access[37∈0] ➊
ᐸ2.withPgClientᐳ"}}:::plan Access36 & Access37 --> Object38 - Lambda9{{"Lambda[9∈0] ➊
ᐸdecodeNodeIdWithCodecsᐳ
More deps:
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMV0='ᐳ[137]"}}:::plan + Lambda9{{"Lambda[9∈0] ➊
ᐸdecodeNodeIdWithCodecsᐳ
More deps:
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMV0='ᐳ[157]"}}:::plan Lambda9 --> Lambda13 - Access136{{"Access[136∈0] ➊
ᐸ9.base64JSON.1ᐳ"}}:::plan - Access136 -->|rejectNull| List14 + Access156{{"Access[156∈0] ➊
ᐸ9.base64JSON.1ᐳ"}}:::plan + Access156 -->|rejectNull| List14 Lambda9 --> Lambda17 Lambda9 --> Lambda21 Lambda9 --> Lambda25 @@ -82,7 +78,7 @@ graph TD PgClassExpression42 -->|trapInhibited| PgFromExpression48 ApplyInput54{{"ApplyInput[54∈0] ➊"}}:::plan __InputObject6 --> ApplyInput54 - Lambda9 --> Access136 + Lambda9 --> Access156 PgSelect44[["PgSelect[44∈1] ➊
ᐸcustom_delete_relational_item(mutation)ᐳ
More deps:
- Object[38]"]]:::sideeffectplan PgFromExpression48 & ApplyInput54 --> PgSelect44 First49{{"First[49∈1] ➊"}}:::plan @@ -95,115 +91,130 @@ graph TD PgSelectSingle51 --> PgClassExpression52 Object53{{"Object[53∈1] ➊
ᐸ{result}ᐳ"}}:::plan PgClassExpression52 --> Object53 - Connection61{{"Connection[61∈2] ➊
ᐸ57ᐳ
More deps:
- Constantᐸ1ᐳ[138]"}}:::plan - PgSelect63[["PgSelect[63∈4] ➊
ᐸrelational_itemsᐳ
More deps:
- Object[38]
- Constantᐸ1ᐳ[138]"]]:::plan - Connection61 --> PgSelect63 + Connection61{{"Connection[61∈2] ➊
ᐸ57ᐳ
More deps:
- Constantᐸ1ᐳ[158]"}}:::plan + PgSelectInlineApply136["PgSelectInlineApply[136∈2] ➊"]:::plan + PgSelectInlineApply140["PgSelectInlineApply[140∈2] ➊"]:::plan + PgSelectInlineApply144["PgSelectInlineApply[144∈2] ➊"]:::plan + PgSelectInlineApply148["PgSelectInlineApply[148∈2] ➊"]:::plan + PgSelectInlineApply152["PgSelectInlineApply[152∈2] ➊"]:::plan + PgSelect63[["PgSelect[63∈4] ➊
ᐸrelational_itemsᐳ
More deps:
- Object[38]
- Constantᐸ1ᐳ[158]"]]:::plan + Connection61 & PgSelectInlineApply136 & PgSelectInlineApply140 & PgSelectInlineApply144 & PgSelectInlineApply148 & PgSelectInlineApply152 --> PgSelect63 PgSelectRows64[["PgSelectRows[64∈4] ➊"]]:::plan PgSelect63 --> PgSelectRows64 __Item65[/"__Item[65∈5]
ᐸ64ᐳ"\]:::itemplan PgSelectRows64 ==> __Item65 PgSelectSingle66{{"PgSelectSingle[66∈5]
ᐸrelational_itemsᐳ"}}:::plan __Item65 --> PgSelectSingle66 - PgClassExpression67{{"PgClassExpression[67∈5]
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle66 --> PgClassExpression67 PgClassExpression69{{"PgClassExpression[69∈5]
ᐸ__relation...s__.”type”ᐳ"}}:::plan PgSelectSingle66 --> PgClassExpression69 Lambda70{{"Lambda[70∈5]
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan PgClassExpression69 --> Lambda70 - PgSelect72[["PgSelect[72∈7]
ᐸrelational_topicsᐳ
ᐳRelationalTopic
More deps:
- Object[38]"]]:::plan - PgClassExpression67 --> PgSelect72 - List113{{"List[113∈7]^
ᐸ111,112ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[111]"}}:::plan - PgClassExpression112{{"PgClassExpression[112∈7]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan + List113{{"List[113∈6]^
ᐸ111,112ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[111]"}}:::plan + PgClassExpression112{{"PgClassExpression[112∈6]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan PgClassExpression112 --> List113 - First76{{"First[76∈7]^"}}:::plan - PgSelectRows77[["PgSelectRows[77∈7]^"]]:::plan + List117{{"List[117∈6]^
ᐸ115,116ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[115]"}}:::plan + PgClassExpression116{{"PgClassExpression[116∈6]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression116 --> List117 + List121{{"List[121∈6]^
ᐸ119,120ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[119]"}}:::plan + PgClassExpression120{{"PgClassExpression[120∈6]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan + PgClassExpression120 --> List121 + List125{{"List[125∈6]^
ᐸ123,124ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[123]"}}:::plan + PgClassExpression124{{"PgClassExpression[124∈6]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression124 --> List125 + List129{{"List[129∈6]^
ᐸ127,128ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[127]"}}:::plan + PgClassExpression128{{"PgClassExpression[128∈6]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan + PgClassExpression128 --> List129 + List138{{"List[138∈6]^
ᐸ137,66ᐳ"}}:::plan + Access137{{"Access[137∈6] ➊
ᐸ63.m.joinDetailsFor72ᐳ
ᐳRelationalTopic"}}:::plan + Access137 & PgSelectSingle66 --> List138 + List142{{"List[142∈6]^
ᐸ141,66ᐳ"}}:::plan + Access141{{"Access[141∈6] ➊
ᐸ63.m.joinDetailsFor80ᐳ
ᐳRelationalPost"}}:::plan + Access141 & PgSelectSingle66 --> List142 + List146{{"List[146∈6]^
ᐸ145,66ᐳ"}}:::plan + Access145{{"Access[145∈6] ➊
ᐸ63.m.joinDetailsFor88ᐳ
ᐳRelationalDivider"}}:::plan + Access145 & PgSelectSingle66 --> List146 + List150{{"List[150∈6]^
ᐸ149,66ᐳ"}}:::plan + Access149{{"Access[149∈6] ➊
ᐸ63.m.joinDetailsFor96ᐳ
ᐳRelationalChecklist"}}:::plan + Access149 & PgSelectSingle66 --> List150 + List154{{"List[154∈6]^
ᐸ153,66ᐳ"}}:::plan + Access153{{"Access[153∈6] ➊
ᐸ63.m.joinDetailsFor104ᐳ
ᐳRelationalChecklistItem"}}:::plan + Access153 & PgSelectSingle66 --> List154 + First76{{"First[76∈6]^"}}:::plan + PgSelectRows77[["PgSelectRows[77∈6]^"]]:::plan PgSelectRows77 --> First76 - PgSelect72 --> PgSelectRows77 - PgSelectSingle78{{"PgSelectSingle[78∈7]^
ᐸrelational_topicsᐳ"}}:::plan + Lambda139{{"Lambda[139∈6]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda139 --> PgSelectRows77 + PgSelectSingle78{{"PgSelectSingle[78∈6]^
ᐸrelational_topicsᐳ"}}:::plan First76 --> PgSelectSingle78 - PgSelectSingle78 --> PgClassExpression112 - Lambda114{{"Lambda[114∈7]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List113 --> Lambda114 - PgSelect80[["PgSelect[80∈8]
ᐸrelational_postsᐳ
ᐳRelationalPost
More deps:
- Object[38]"]]:::plan - PgClassExpression67 --> PgSelect80 - List117{{"List[117∈8]^
ᐸ115,116ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[115]"}}:::plan - PgClassExpression116{{"PgClassExpression[116∈8]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression116 --> List117 - First84{{"First[84∈8]^"}}:::plan - PgSelectRows85[["PgSelectRows[85∈8]^"]]:::plan + First84{{"First[84∈6]^"}}:::plan + PgSelectRows85[["PgSelectRows[85∈6]^"]]:::plan PgSelectRows85 --> First84 - PgSelect80 --> PgSelectRows85 - PgSelectSingle86{{"PgSelectSingle[86∈8]^
ᐸrelational_postsᐳ"}}:::plan + Lambda143{{"Lambda[143∈6]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda143 --> PgSelectRows85 + PgSelectSingle86{{"PgSelectSingle[86∈6]^
ᐸrelational_postsᐳ"}}:::plan First84 --> PgSelectSingle86 - PgSelectSingle86 --> PgClassExpression116 - Lambda118{{"Lambda[118∈8]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List117 --> Lambda118 - PgSelect88[["PgSelect[88∈9]
ᐸrelational_dividersᐳ
ᐳRelationalDivider
More deps:
- Object[38]"]]:::plan - PgClassExpression67 --> PgSelect88 - List121{{"List[121∈9]^
ᐸ119,120ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[119]"}}:::plan - PgClassExpression120{{"PgClassExpression[120∈9]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan - PgClassExpression120 --> List121 - First92{{"First[92∈9]^"}}:::plan - PgSelectRows93[["PgSelectRows[93∈9]^"]]:::plan + First92{{"First[92∈6]^"}}:::plan + PgSelectRows93[["PgSelectRows[93∈6]^"]]:::plan PgSelectRows93 --> First92 - PgSelect88 --> PgSelectRows93 - PgSelectSingle94{{"PgSelectSingle[94∈9]^
ᐸrelational_dividersᐳ"}}:::plan + Lambda147{{"Lambda[147∈6]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda147 --> PgSelectRows93 + PgSelectSingle94{{"PgSelectSingle[94∈6]^
ᐸrelational_dividersᐳ"}}:::plan First92 --> PgSelectSingle94 - PgSelectSingle94 --> PgClassExpression120 - Lambda122{{"Lambda[122∈9]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List121 --> Lambda122 - PgSelect96[["PgSelect[96∈10]
ᐸrelational_checklistsᐳ
ᐳRelationalChecklist
More deps:
- Object[38]"]]:::plan - PgClassExpression67 --> PgSelect96 - List125{{"List[125∈10]^
ᐸ123,124ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[123]"}}:::plan - PgClassExpression124{{"PgClassExpression[124∈10]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression124 --> List125 - First100{{"First[100∈10]^"}}:::plan - PgSelectRows101[["PgSelectRows[101∈10]^"]]:::plan + First100{{"First[100∈6]^"}}:::plan + PgSelectRows101[["PgSelectRows[101∈6]^"]]:::plan PgSelectRows101 --> First100 - PgSelect96 --> PgSelectRows101 - PgSelectSingle102{{"PgSelectSingle[102∈10]^
ᐸrelational_checklistsᐳ"}}:::plan + Lambda151{{"Lambda[151∈6]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda151 --> PgSelectRows101 + PgSelectSingle102{{"PgSelectSingle[102∈6]^
ᐸrelational_checklistsᐳ"}}:::plan First100 --> PgSelectSingle102 - PgSelectSingle102 --> PgClassExpression124 - Lambda126{{"Lambda[126∈10]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List125 --> Lambda126 - PgSelect104[["PgSelect[104∈11]
ᐸrelational_checklist_itemsᐳ
ᐳRelationalChecklistItem
More deps:
- Object[38]"]]:::plan - PgClassExpression67 --> PgSelect104 - List129{{"List[129∈11]^
ᐸ127,128ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[127]"}}:::plan - PgClassExpression128{{"PgClassExpression[128∈11]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan - PgClassExpression128 --> List129 - First108{{"First[108∈11]^"}}:::plan - PgSelectRows109[["PgSelectRows[109∈11]^"]]:::plan + First108{{"First[108∈6]^"}}:::plan + PgSelectRows109[["PgSelectRows[109∈6]^"]]:::plan PgSelectRows109 --> First108 - PgSelect104 --> PgSelectRows109 - PgSelectSingle110{{"PgSelectSingle[110∈11]^
ᐸrelational_checklist_itemsᐳ"}}:::plan + Lambda155{{"Lambda[155∈6]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda155 --> PgSelectRows109 + PgSelectSingle110{{"PgSelectSingle[110∈6]^
ᐸrelational_checklist_itemsᐳ"}}:::plan First108 --> PgSelectSingle110 + PgSelectSingle78 --> PgClassExpression112 + Lambda114{{"Lambda[114∈6]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List113 --> Lambda114 + PgSelectSingle86 --> PgClassExpression116 + Lambda118{{"Lambda[118∈6]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List117 --> Lambda118 + PgSelectSingle94 --> PgClassExpression120 + Lambda122{{"Lambda[122∈6]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List121 --> Lambda122 + PgSelectSingle102 --> PgClassExpression124 + Lambda126{{"Lambda[126∈6]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List125 --> Lambda126 PgSelectSingle110 --> PgClassExpression128 - Lambda130{{"Lambda[130∈11]^
ᐸbase64JSONEncodeᐳ"}}:::plan + Lambda130{{"Lambda[130∈6]^
ᐸbase64JSONEncodeᐳ"}}:::plan List129 --> Lambda130 + PgSelect63 --> Access137 + List138 --> Lambda139 + PgSelect63 --> Access141 + List142 --> Lambda143 + PgSelect63 --> Access145 + List146 --> Lambda147 + PgSelect63 --> Access149 + List150 --> Lambda151 + PgSelect63 --> Access153 + List154 --> Lambda155 %% define steps classDef bucket0 stroke:#696969 - class Bucket0,__Value2,__InputObject6,Lambda9,Lambda13,List14,Object15,Lambda17,Object19,Lambda21,Object23,Lambda25,Object27,Lambda29,Object31,List32,Lambda33,Access34,PgSelect35,Access36,Access37,Object38,First39,PgSelectRows40,PgSelectSingle41,PgClassExpression42,PgFromExpression48,ApplyInput54,Access136 bucket0 + class Bucket0,__Value2,__InputObject6,Lambda9,Lambda13,List14,Object15,Lambda17,Object19,Lambda21,Object23,Lambda25,Object27,Lambda29,Object31,List32,Lambda33,Access34,PgSelect35,Access36,Access37,Object38,First39,PgSelectRows40,PgSelectSingle41,PgClassExpression42,PgFromExpression48,ApplyInput54,Access156 bucket0 classDef bucket1 stroke:#00bfff class Bucket1,PgSelect44,First49,PgSelectRows50,PgSelectSingle51,PgClassExpression52,Object53 bucket1 classDef bucket2 stroke:#7f007f - class Bucket2,Connection61 bucket2 + class Bucket2,Connection61,PgSelectInlineApply136,PgSelectInlineApply140,PgSelectInlineApply144,PgSelectInlineApply148,PgSelectInlineApply152 bucket2 classDef bucket3 stroke:#ffa500 class Bucket3 bucket3 classDef bucket4 stroke:#0000ff class Bucket4,PgSelect63,PgSelectRows64 bucket4 classDef bucket5 stroke:#7fff00 - class Bucket5,__Item65,PgSelectSingle66,PgClassExpression67,PgClassExpression69,Lambda70 bucket5 + class Bucket5,__Item65,PgSelectSingle66,PgClassExpression69,Lambda70 bucket5 classDef bucket6 stroke:#ff1493 - class Bucket6 bucket6 + class Bucket6,First76,PgSelectRows77,PgSelectSingle78,First84,PgSelectRows85,PgSelectSingle86,First92,PgSelectRows93,PgSelectSingle94,First100,PgSelectRows101,PgSelectSingle102,First108,PgSelectRows109,PgSelectSingle110,PgClassExpression112,List113,Lambda114,PgClassExpression116,List117,Lambda118,PgClassExpression120,List121,Lambda122,PgClassExpression124,List125,Lambda126,PgClassExpression128,List129,Lambda130,Access137,List138,Lambda139,Access141,List142,Lambda143,Access145,List146,Lambda147,Access149,List150,Lambda151,Access153,List154,Lambda155 bucket6 classDef bucket7 stroke:#808000 - class Bucket7,PgSelect72,First76,PgSelectRows77,PgSelectSingle78,PgClassExpression112,List113,Lambda114 bucket7 - classDef bucket8 stroke:#dda0dd - class Bucket8,PgSelect80,First84,PgSelectRows85,PgSelectSingle86,PgClassExpression116,List117,Lambda118 bucket8 - classDef bucket9 stroke:#ff0000 - class Bucket9,PgSelect88,First92,PgSelectRows93,PgSelectSingle94,PgClassExpression120,List121,Lambda122 bucket9 - classDef bucket10 stroke:#ffff00 - class Bucket10,PgSelect96,First100,PgSelectRows101,PgSelectSingle102,PgClassExpression124,List125,Lambda126 bucket10 - classDef bucket11 stroke:#00ffff - class Bucket11,PgSelect104,First108,PgSelectRows109,PgSelectSingle110,PgClassExpression128,List129,Lambda130 bucket11 + class Bucket7 bucket7 diff --git a/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.custom_delete.sql b/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.custom_delete.sql index 0103fe2a4d..e636fa44fd 100644 --- a/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.custom_delete.sql +++ b/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.custom_delete.sql @@ -11,15 +11,38 @@ select from "polymorphic"."custom_delete_relational_item"($1::"polymorphic"."relational_items") as __custom_delete_relational_item__(v); select - __relational_items__."id"::text as "0", - __relational_items__."type"::text as "1" + __relational_items__."type"::text as "0", + __relational_items__."id"::text as "1", + __relational_topics__."topic_item_id"::text as "2", + __relational_posts__."post_item_id"::text as "3", + __relational_dividers__."divider_item_id"::text as "4", + __relational_checklists__."checklist_item_id"::text as "5", + __relational_checklist_items__."checklist_item_item_id"::text as "6" from "polymorphic"."relational_items" as __relational_items__ +left outer join "polymorphic"."relational_topics" as __relational_topics__ +on ( +/* WHERE becoming ON */ ( + __relational_topics__."topic_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_posts" as __relational_posts__ +on ( +/* WHERE becoming ON */ ( + __relational_posts__."post_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_dividers" as __relational_dividers__ +on ( +/* WHERE becoming ON */ ( + __relational_dividers__."divider_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklists" as __relational_checklists__ +on ( +/* WHERE becoming ON */ ( + __relational_checklists__."checklist_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklist_items" as __relational_checklist_items__ +on ( +/* WHERE becoming ON */ ( + __relational_checklist_items__."checklist_item_item_id" = __relational_items__."id" +)) order by __relational_items__."id" asc -limit 1; - -select - __relational_topics__."topic_item_id"::text as "0" -from "polymorphic"."relational_topics" as __relational_topics__ -where ( - __relational_topics__."topic_item_id" = $1::"int4" -); \ No newline at end of file +limit 1; \ No newline at end of file diff --git a/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.mermaid b/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.mermaid index 6f2119e2d0..155a54e62f 100644 --- a/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.mermaid +++ b/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.mermaid @@ -17,38 +17,22 @@ graph TD Bucket6("Bucket 6 (nullableBoundary)
Deps: 24, 19, 48, 22, 313, 317, 321, 325, 329

ROOT Object{2}ᐸ{result}ᐳ[24]"):::bucket Bucket7("Bucket 7 (nullableBoundary)
Deps: 34, 29, 54, 32, 348, 352, 356, 360, 364

ROOT Object{3}ᐸ{result}ᐳ[34]"):::bucket Bucket8("Bucket 8 (nullableBoundary)
Deps: 42, 37, 59, 40, 348, 352, 356, 360, 364

ROOT Object{4}ᐸ{result}ᐳ[42]"):::bucket - Bucket9("Bucket 9 (nullableBoundary)
Deps: 11, 43, 14, 313, 317, 321, 325, 329

ROOT PgInsertSingle{1}ᐸrelational_item_relations()ᐳ[11]
1:
ᐳ: 45, 44, 46, 47, 65, 97
2: PgSelect[66], PgSelect[98]
3: PgSelectRows[71], PgSelectRows[101]
ᐳ: 70, 72, 100, 102, 121, 123, 124, 217, 219, 220"):::bucket - Bucket10("Bucket 10 (nullableBoundary)
Deps: 19, 48, 22, 313, 317, 321, 325, 329

ROOT PgInsertSingle{2}ᐸrelational_item_relation_composite_pks()ᐳ[19]
1:
ᐳ: 50, 49, 51, 52, 53
2: PgSelect[74], PgSelect[104]
3: PgSelectRows[79], PgSelectRows[107]
ᐳ: 78, 80, 106, 108, 165, 167, 168, 261, 263, 264"):::bucket + Bucket9("Bucket 9 (nullableBoundary)
Deps: 11, 43, 14, 483, 487, 491, 495, 499, 503, 507, 511, 515, 519, 313, 317, 321, 325, 329

ROOT PgInsertSingle{1}ᐸrelational_item_relations()ᐳ[11]
1:
ᐳ: 45, 44, 46, 47, 65, 97
2: PgSelect[66], PgSelect[98]
3: PgSelectRows[71], PgSelectRows[101]
ᐳ: 70, 72, 100, 102, 123, 124, 219, 220"):::bucket + Bucket10("Bucket 10 (nullableBoundary)
Deps: 19, 48, 22, 543, 547, 551, 555, 559, 523, 527, 531, 535, 539, 313, 317, 321, 325, 329

ROOT PgInsertSingle{2}ᐸrelational_item_relation_composite_pks()ᐳ[19]
1:
ᐳ: 50, 49, 51, 52, 53
2: PgSelect[74], PgSelect[104]
3: PgSelectRows[79], PgSelectRows[107]
ᐳ: 78, 80, 106, 108, 167, 168, 263, 264"):::bucket Bucket11("Bucket 11 (nullableBoundary)
Deps: 29, 54, 32, 348, 352, 356, 360, 364

ROOT PgInsertSingle{3}ᐸsingle_table_item_relations()ᐳ[29]
1:
ᐳ: 56, 55, 57, 58, 81, 109
2: PgSelect[82], PgSelect[110]
3: PgSelectRows[87], PgSelectRows[113]
ᐳ: 86, 88, 112, 114, 209, 211, 212, 305, 307, 308"):::bucket Bucket12("Bucket 12 (nullableBoundary)
Deps: 37, 59, 40, 348, 352, 356, 360, 364

ROOT PgInsertSingle{4}ᐸsingle_table_item_relation_composite_pks()ᐳ[37]
1:
ᐳ: 61, 60, 62, 63, 64
2: PgSelect[90], PgSelect[116]
3: PgSelectRows[95], PgSelectRows[119]
ᐳ: 94, 96, 118, 120, 213, 215, 216, 309, 311, 312"):::bucket - Bucket13("Bucket 13 (polymorphic)
__typename: Lambda[124]
Deps: 124, 14, 121, 313, 317, 321, 325, 329, 123"):::bucket - Bucket14("Bucket 14 (polymorphic)
__typename: Lambda[168]
Deps: 168, 22, 165, 313, 317, 321, 325, 329, 167"):::bucket + Bucket13("Bucket 13 (polymorphic)
__typename: Lambda[124]
Deps: 313, 317, 321, 325, 329, 66, 72, 124, 123

1: 484, 488, 492, 496, 500
ᐳ: 485, 486, 489, 490, 493, 494, 497, 498, 501, 502
2: 131, 139, 147, 155, 163
ᐳ: 130, 132, 138, 140, 146, 148, 154, 156, 162, 164, 314, 315, 316, 318, 319, 320, 322, 323, 324, 326, 327, 328, 330, 331, 332"):::bucket + Bucket14("Bucket 14 (polymorphic)
__typename: Lambda[168]
Deps: 313, 317, 321, 325, 329, 74, 80, 168, 167

1: 544, 548, 552, 556, 560
ᐳ: 545, 546, 549, 550, 553, 554, 557, 558, 561, 562
2: 175, 183, 191, 199, 207
ᐳ: 174, 176, 182, 184, 190, 192, 198, 200, 206, 208, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347"):::bucket Bucket15("Bucket 15 (polymorphic)
__typename: Lambda[212]
Deps: 348, 209, 352, 356, 360, 364, 212, 88, 211"):::bucket Bucket16("Bucket 16 (polymorphic)
__typename: Lambda[216]
Deps: 348, 213, 352, 356, 360, 364, 216, 96, 215"):::bucket - Bucket17("Bucket 17 (polymorphic)
__typename: Lambda[220]
Deps: 220, 14, 217, 313, 317, 321, 325, 329, 219"):::bucket - Bucket18("Bucket 18 (polymorphic)
__typename: Lambda[264]
Deps: 264, 22, 261, 313, 317, 321, 325, 329, 263"):::bucket + Bucket17("Bucket 17 (polymorphic)
__typename: Lambda[220]
Deps: 313, 317, 321, 325, 329, 98, 102, 220, 219

1: 504, 508, 512, 516, 520
ᐳ: 505, 506, 509, 510, 513, 514, 517, 518, 521, 522
2: 227, 235, 243, 251, 259
ᐳ: 226, 228, 234, 236, 242, 244, 250, 252, 258, 260, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397"):::bucket + Bucket18("Bucket 18 (polymorphic)
__typename: Lambda[264]
Deps: 313, 317, 321, 325, 329, 104, 108, 264, 263

1: 524, 528, 532, 536, 540
ᐳ: 525, 526, 529, 530, 533, 534, 537, 538, 541, 542
2: 271, 279, 287, 295, 303
ᐳ: 270, 272, 278, 280, 286, 288, 294, 296, 302, 304, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412"):::bucket Bucket19("Bucket 19 (polymorphic)
__typename: Lambda[308]
Deps: 348, 305, 352, 356, 360, 364, 308, 114, 307"):::bucket Bucket20("Bucket 20 (polymorphic)
__typename: Lambda[312]
Deps: 348, 309, 352, 356, 360, 364, 312, 120, 311"):::bucket - Bucket21("Bucket 21 (polymorphicPartition)
|RelationalTopic
Deps: 14, 121, 313, 123
ᐳRelationalTopic

1: PgSelect[126]
2: PgSelectRows[131]
ᐳ: 130, 132, 314, 315, 316"):::bucket - Bucket22("Bucket 22 (polymorphicPartition)
|RelationalPost
Deps: 14, 121, 317, 123
ᐳRelationalPost

1: PgSelect[134]
2: PgSelectRows[139]
ᐳ: 138, 140, 318, 319, 320"):::bucket - Bucket23("Bucket 23 (polymorphicPartition)
|RelationalDivider
Deps: 14, 121, 321, 123
ᐳRelationalDivider

1: PgSelect[142]
2: PgSelectRows[147]
ᐳ: 146, 148, 322, 323, 324"):::bucket - Bucket24("Bucket 24 (polymorphicPartition)
|RelationalChecklist
Deps: 14, 121, 325, 123
ᐳRelationalChecklist

1: PgSelect[150]
2: PgSelectRows[155]
ᐳ: 154, 156, 326, 327, 328"):::bucket - Bucket25("Bucket 25 (polymorphicPartition)
|RelationalChecklistItem
Deps: 14, 121, 329, 123
ᐳRelationalChecklistItem

1: PgSelect[158]
2: PgSelectRows[163]
ᐳ: 162, 164, 330, 331, 332"):::bucket - Bucket26("Bucket 26 (polymorphicPartition)
|RelationalTopic
Deps: 22, 165, 313, 167
ᐳRelationalTopic

1: PgSelect[170]
2: PgSelectRows[175]
ᐳ: 174, 176, 333, 334, 335"):::bucket - Bucket27("Bucket 27 (polymorphicPartition)
|RelationalPost
Deps: 22, 165, 317, 167
ᐳRelationalPost

1: PgSelect[178]
2: PgSelectRows[183]
ᐳ: 182, 184, 336, 337, 338"):::bucket - Bucket28("Bucket 28 (polymorphicPartition)
|RelationalDivider
Deps: 22, 165, 321, 167
ᐳRelationalDivider

1: PgSelect[186]
2: PgSelectRows[191]
ᐳ: 190, 192, 339, 340, 341"):::bucket - Bucket29("Bucket 29 (polymorphicPartition)
|RelationalChecklist
Deps: 22, 165, 325, 167
ᐳRelationalChecklist

1: PgSelect[194]
2: PgSelectRows[199]
ᐳ: 198, 200, 342, 343, 344"):::bucket - Bucket30("Bucket 30 (polymorphicPartition)
|RelationalChecklistItem
Deps: 22, 165, 329, 167
ᐳRelationalChecklistItem

1: PgSelect[202]
2: PgSelectRows[207]
ᐳ: 206, 208, 345, 346, 347"):::bucket - Bucket31("Bucket 31 (polymorphicPartition)
|RelationalTopic
Deps: 14, 217, 313, 219
ᐳRelationalTopic

1: PgSelect[222]
2: PgSelectRows[227]
ᐳ: 226, 228, 383, 384, 385"):::bucket - Bucket32("Bucket 32 (polymorphicPartition)
|RelationalPost
Deps: 14, 217, 317, 219
ᐳRelationalPost

1: PgSelect[230]
2: PgSelectRows[235]
ᐳ: 234, 236, 386, 387, 388"):::bucket - Bucket33("Bucket 33 (polymorphicPartition)
|RelationalDivider
Deps: 14, 217, 321, 219
ᐳRelationalDivider

1: PgSelect[238]
2: PgSelectRows[243]
ᐳ: 242, 244, 389, 390, 391"):::bucket - Bucket34("Bucket 34 (polymorphicPartition)
|RelationalChecklist
Deps: 14, 217, 325, 219
ᐳRelationalChecklist

1: PgSelect[246]
2: PgSelectRows[251]
ᐳ: 250, 252, 392, 393, 394"):::bucket - Bucket35("Bucket 35 (polymorphicPartition)
|RelationalChecklistItem
Deps: 14, 217, 329, 219
ᐳRelationalChecklistItem

1: PgSelect[254]
2: PgSelectRows[259]
ᐳ: 258, 260, 395, 396, 397"):::bucket - Bucket36("Bucket 36 (polymorphicPartition)
|RelationalTopic
Deps: 22, 261, 313, 263
ᐳRelationalTopic

1: PgSelect[266]
2: PgSelectRows[271]
ᐳ: 270, 272, 398, 399, 400"):::bucket - Bucket37("Bucket 37 (polymorphicPartition)
|RelationalPost
Deps: 22, 261, 317, 263
ᐳRelationalPost

1: PgSelect[274]
2: PgSelectRows[279]
ᐳ: 278, 280, 401, 402, 403"):::bucket - Bucket38("Bucket 38 (polymorphicPartition)
|RelationalDivider
Deps: 22, 261, 321, 263
ᐳRelationalDivider

1: PgSelect[282]
2: PgSelectRows[287]
ᐳ: 286, 288, 404, 405, 406"):::bucket - Bucket39("Bucket 39 (polymorphicPartition)
|RelationalChecklist
Deps: 22, 261, 325, 263
ᐳRelationalChecklist

1: PgSelect[290]
2: PgSelectRows[295]
ᐳ: 294, 296, 407, 408, 409"):::bucket - Bucket40("Bucket 40 (polymorphicPartition)
|RelationalChecklistItem
Deps: 22, 261, 329, 263
ᐳRelationalChecklistItem

1: PgSelect[298]
2: PgSelectRows[303]
ᐳ: 302, 304, 410, 411, 412"):::bucket + Bucket21("Bucket 21 (polymorphicPartition)
|"):::bucket + Bucket22("Bucket 22 (polymorphicPartition)
|"):::bucket + Bucket23("Bucket 23 (polymorphicPartition)
|"):::bucket + Bucket24("Bucket 24 (polymorphicPartition)
|"):::bucket end Bucket0 --> Bucket1 & Bucket2 & Bucket3 & Bucket4 Bucket1 --> Bucket5 @@ -63,27 +47,27 @@ graph TD Bucket10 --> Bucket14 & Bucket18 Bucket11 --> Bucket15 & Bucket19 Bucket12 --> Bucket16 & Bucket20 - Bucket13 --> Bucket21 & Bucket22 & Bucket23 & Bucket24 & Bucket25 - Bucket14 --> Bucket26 & Bucket27 & Bucket28 & Bucket29 & Bucket30 - Bucket17 --> Bucket31 & Bucket32 & Bucket33 & Bucket34 & Bucket35 - Bucket18 --> Bucket36 & Bucket37 & Bucket38 & Bucket39 & Bucket40 + Bucket13 --> Bucket21 + Bucket14 --> Bucket22 + Bucket17 --> Bucket23 + Bucket18 --> Bucket24 %% plan dependencies - __InputObject8{{"__InputObject[8∈0] ➊
More deps:
- Constantᐸundefinedᐳ[7]
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMV0='ᐳ[483]
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMl0='ᐳ[484]"}}:::plan - __InputObject26{{"__InputObject[26∈0] ➊
More deps:
- Constantᐸundefinedᐳ[7]
- Constantᐸ'WyJTaW5nbGVUYWJsZVRvcGljIiwxXQ=='ᐳ[485]
- Constantᐸ'WyJTaW5nbGVUYWJsZVRvcGljIiwyXQ=='ᐳ[486]"}}:::plan + __InputObject8{{"__InputObject[8∈0] ➊
More deps:
- Constantᐸundefinedᐳ[7]
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMV0='ᐳ[563]
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMl0='ᐳ[564]"}}:::plan + __InputObject26{{"__InputObject[26∈0] ➊
More deps:
- Constantᐸundefinedᐳ[7]
- Constantᐸ'WyJTaW5nbGVUYWJsZVRvcGljIiwxXQ=='ᐳ[565]
- Constantᐸ'WyJTaW5nbGVUYWJsZVRvcGljIiwyXQ=='ᐳ[566]"}}:::plan __InputObject6{{"__InputObject[6∈0] ➊
More deps:
- Constantᐸundefinedᐳ[7]"}}:::plan __InputObject8 --> __InputObject6 - Object14{{"Object[14∈0] ➊
ᐸ{pgSettings,withPgClient}ᐳ
Dependents: 13"}}:::plan + Object14{{"Object[14∈0] ➊
ᐸ{pgSettings,withPgClient}ᐳ
Dependents: 3"}}:::plan Access12{{"Access[12∈0] ➊
ᐸ2.pgSettingsᐳ
More deps:
- __Value[2]"}}:::plan Access13{{"Access[13∈0] ➊
ᐸ2.withPgClientᐳ
More deps:
- __Value[2]"}}:::plan Access12 & Access13 --> Object14 __InputObject17{{"__InputObject[17∈0] ➊
More deps:
- Constantᐸundefinedᐳ[7]"}}:::plan - __InputObject18{{"__InputObject[18∈0] ➊
More deps:
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMV0='ᐳ[483]
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMl0='ᐳ[484]"}}:::plan + __InputObject18{{"__InputObject[18∈0] ➊
More deps:
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMV0='ᐳ[563]
- Constantᐸ'WyJyZWxhdGlvbmFsX3RvcGljcyIsMl0='ᐳ[564]"}}:::plan __InputObject18 --> __InputObject17 __InputObject25{{"__InputObject[25∈0] ➊
More deps:
- Constantᐸundefinedᐳ[7]"}}:::plan __InputObject26 --> __InputObject25 __InputObject35{{"__InputObject[35∈0] ➊
More deps:
- Constantᐸundefinedᐳ[7]"}}:::plan - __InputObject36{{"__InputObject[36∈0] ➊
More deps:
- Constantᐸ'WyJTaW5nbGVUYWJsZVRvcGljIiwxXQ=='ᐳ[485]
- Constantᐸ'WyJTaW5nbGVUYWJsZVRvcGljIiwyXQ=='ᐳ[486]"}}:::plan + __InputObject36{{"__InputObject[36∈0] ➊
More deps:
- Constantᐸ'WyJTaW5nbGVUYWJsZVRvcGljIiwxXQ=='ᐳ[565]
- Constantᐸ'WyJTaW5nbGVUYWJsZVRvcGljIiwyXQ=='ᐳ[566]"}}:::plan __InputObject36 --> __InputObject35 ApplyInput15{{"ApplyInput[15∈0] ➊"}}:::plan __InputObject6 --> ApplyInput15 @@ -122,15 +106,35 @@ graph TD Access38 & Access39 --> Object40 Object42{{"Object[42∈4] ➊
ᐸ{result}ᐳ"}}:::plan PgInsertSingle37 --> Object42 - List46{{"List[46∈9] ➊
ᐸ43,44ᐳ
More deps:
- Constantᐸ'relational_item_relations'ᐳ[43]"}}:::plan - PgClassExpression44{{"PgClassExpression[44∈9] ➊
ᐸ__relation...ons__.”id”ᐳ"}}:::plan - PgClassExpression44 --> List46 + PgSelectInlineApply483["PgSelectInlineApply[483∈5] ➊"]:::plan + PgSelectInlineApply487["PgSelectInlineApply[487∈5] ➊"]:::plan + PgSelectInlineApply491["PgSelectInlineApply[491∈5] ➊"]:::plan + PgSelectInlineApply495["PgSelectInlineApply[495∈5] ➊"]:::plan + PgSelectInlineApply499["PgSelectInlineApply[499∈5] ➊"]:::plan + PgSelectInlineApply503["PgSelectInlineApply[503∈5] ➊"]:::plan + PgSelectInlineApply507["PgSelectInlineApply[507∈5] ➊"]:::plan + PgSelectInlineApply511["PgSelectInlineApply[511∈5] ➊"]:::plan + PgSelectInlineApply515["PgSelectInlineApply[515∈5] ➊"]:::plan + PgSelectInlineApply519["PgSelectInlineApply[519∈5] ➊"]:::plan + PgSelectInlineApply523["PgSelectInlineApply[523∈6] ➊"]:::plan + PgSelectInlineApply527["PgSelectInlineApply[527∈6] ➊"]:::plan + PgSelectInlineApply531["PgSelectInlineApply[531∈6] ➊"]:::plan + PgSelectInlineApply535["PgSelectInlineApply[535∈6] ➊"]:::plan + PgSelectInlineApply539["PgSelectInlineApply[539∈6] ➊"]:::plan + PgSelectInlineApply543["PgSelectInlineApply[543∈6] ➊"]:::plan + PgSelectInlineApply547["PgSelectInlineApply[547∈6] ➊"]:::plan + PgSelectInlineApply551["PgSelectInlineApply[551∈6] ➊"]:::plan + PgSelectInlineApply555["PgSelectInlineApply[555∈6] ➊"]:::plan + PgSelectInlineApply559["PgSelectInlineApply[559∈6] ➊"]:::plan PgSelect66[["PgSelect[66∈9] ➊
ᐸrelational_itemsᐳ
More deps:
- Object[14]"]]:::plan PgClassExpression65{{"PgClassExpression[65∈9] ➊
ᐸ__relation...”child_id”ᐳ"}}:::plan - PgClassExpression65 --> PgSelect66 + PgClassExpression65 & PgSelectInlineApply483 & PgSelectInlineApply487 & PgSelectInlineApply491 & PgSelectInlineApply495 & PgSelectInlineApply499 --> PgSelect66 PgSelect98[["PgSelect[98∈9] ➊
ᐸrelational_itemsᐳ
More deps:
- Object[14]"]]:::plan PgClassExpression97{{"PgClassExpression[97∈9] ➊
ᐸ__relation...parent_id”ᐳ"}}:::plan - PgClassExpression97 --> PgSelect98 + PgClassExpression97 & PgSelectInlineApply503 & PgSelectInlineApply507 & PgSelectInlineApply511 & PgSelectInlineApply515 & PgSelectInlineApply519 --> PgSelect98 + List46{{"List[46∈9] ➊
ᐸ43,44ᐳ
More deps:
- Constantᐸ'relational_item_relations'ᐳ[43]"}}:::plan + PgClassExpression44{{"PgClassExpression[44∈9] ➊
ᐸ__relation...ons__.”id”ᐳ"}}:::plan + PgClassExpression44 --> List46 Access45{{"Access[45∈9] ➊
ᐸ11.tᐳ"}}:::plan Access45 --> PgClassExpression44 PgInsertSingle11 --> Access45 @@ -150,26 +154,22 @@ graph TD PgSelect98 --> PgSelectRows101 PgSelectSingle102{{"PgSelectSingle[102∈9] ➊
ᐸrelational_itemsᐳ"}}:::plan First100 --> PgSelectSingle102 - PgClassExpression121{{"PgClassExpression[121∈9] ➊
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle72 --> PgClassExpression121 PgClassExpression123{{"PgClassExpression[123∈9] ➊
ᐸ__relation...s__.”type”ᐳ"}}:::plan PgSelectSingle72 --> PgClassExpression123 Lambda124{{"Lambda[124∈9] ➊
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan PgClassExpression123 --> Lambda124 - PgClassExpression217{{"PgClassExpression[217∈9] ➊
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle102 --> PgClassExpression217 PgClassExpression219{{"PgClassExpression[219∈9] ➊
ᐸ__relation...s__.”type”ᐳ"}}:::plan PgSelectSingle102 --> PgClassExpression219 Lambda220{{"Lambda[220∈9] ➊
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan PgClassExpression219 --> Lambda220 - List52{{"List[52∈10] ➊
ᐸ48,49,51ᐳ
More deps:
- Constantᐸ'relational_item_relation_composite_pks'ᐳ[48]"}}:::plan - PgClassExpression49{{"PgClassExpression[49∈10] ➊
ᐸ__relation...parent_id”ᐳ"}}:::plan - PgClassExpression51{{"PgClassExpression[51∈10] ➊
ᐸ__relation...”child_id”ᐳ"}}:::plan - PgClassExpression49 & PgClassExpression51 --> List52 PgSelect74[["PgSelect[74∈10] ➊
ᐸrelational_itemsᐳ"]]:::plan - Object22 & PgClassExpression51 --> PgSelect74 + PgClassExpression51{{"PgClassExpression[51∈10] ➊
ᐸ__relation...”child_id”ᐳ"}}:::plan + Object22 & PgClassExpression51 & PgSelectInlineApply543 & PgSelectInlineApply547 & PgSelectInlineApply551 & PgSelectInlineApply555 & PgSelectInlineApply559 --> PgSelect74 PgSelect104[["PgSelect[104∈10] ➊
ᐸrelational_itemsᐳ"]]:::plan - Object22 & PgClassExpression49 --> PgSelect104 + PgClassExpression49{{"PgClassExpression[49∈10] ➊
ᐸ__relation...parent_id”ᐳ"}}:::plan + Object22 & PgClassExpression49 & PgSelectInlineApply523 & PgSelectInlineApply527 & PgSelectInlineApply531 & PgSelectInlineApply535 & PgSelectInlineApply539 --> PgSelect104 + List52{{"List[52∈10] ➊
ᐸ48,49,51ᐳ
More deps:
- Constantᐸ'relational_item_relation_composite_pks'ᐳ[48]"}}:::plan + PgClassExpression49 & PgClassExpression51 --> List52 Access50{{"Access[50∈10] ➊
ᐸ19.tᐳ"}}:::plan Access50 --> PgClassExpression49 PgInsertSingle19 --> Access50 @@ -188,14 +188,10 @@ graph TD PgSelect104 --> PgSelectRows107 PgSelectSingle108{{"PgSelectSingle[108∈10] ➊
ᐸrelational_itemsᐳ"}}:::plan First106 --> PgSelectSingle108 - PgClassExpression165{{"PgClassExpression[165∈10] ➊
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle80 --> PgClassExpression165 PgClassExpression167{{"PgClassExpression[167∈10] ➊
ᐸ__relation...s__.”type”ᐳ"}}:::plan PgSelectSingle80 --> PgClassExpression167 Lambda168{{"Lambda[168∈10] ➊
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan PgClassExpression167 --> Lambda168 - PgClassExpression261{{"PgClassExpression[261∈10] ➊
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle108 --> PgClassExpression261 PgClassExpression263{{"PgClassExpression[263∈10] ➊
ᐸ__relation...s__.”type”ᐳ"}}:::plan PgSelectSingle108 --> PgClassExpression263 Lambda264{{"Lambda[264∈10] ➊
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan @@ -278,6 +274,186 @@ graph TD PgSelectSingle120 --> PgClassExpression311 Lambda312{{"Lambda[312∈12] ➊
ᐸSingleTableItem_typeNameFromTypeᐳ"}}:::plan PgClassExpression311 --> Lambda312 + List315{{"List[315∈13] ➊^
ᐸ313,314ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[313]"}}:::plan + PgClassExpression314{{"PgClassExpression[314∈13] ➊^
ᐸ__relation...c_item_id”ᐳ"}}:::plan + PgClassExpression314 --> List315 + List319{{"List[319∈13] ➊^
ᐸ317,318ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[317]"}}:::plan + PgClassExpression318{{"PgClassExpression[318∈13] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression318 --> List319 + List323{{"List[323∈13] ➊^
ᐸ321,322ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[321]"}}:::plan + PgClassExpression322{{"PgClassExpression[322∈13] ➊^
ᐸ__relation...r_item_id”ᐳ"}}:::plan + PgClassExpression322 --> List323 + List327{{"List[327∈13] ➊^
ᐸ325,326ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[325]"}}:::plan + PgClassExpression326{{"PgClassExpression[326∈13] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression326 --> List327 + List331{{"List[331∈13] ➊^
ᐸ329,330ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[329]"}}:::plan + PgClassExpression330{{"PgClassExpression[330∈13] ➊^
ᐸ__relation...m_item_id”ᐳ"}}:::plan + PgClassExpression330 --> List331 + List485{{"List[485∈13] ➊^
ᐸ484,72ᐳ"}}:::plan + Access484{{"Access[484∈13] ➊
ᐸ66.m.joinDetailsFor126ᐳ
ᐳRelationalTopic"}}:::plan + Access484 & PgSelectSingle72 --> List485 + List489{{"List[489∈13] ➊^
ᐸ488,72ᐳ"}}:::plan + Access488{{"Access[488∈13] ➊
ᐸ66.m.joinDetailsFor134ᐳ
ᐳRelationalPost"}}:::plan + Access488 & PgSelectSingle72 --> List489 + List493{{"List[493∈13] ➊^
ᐸ492,72ᐳ"}}:::plan + Access492{{"Access[492∈13] ➊
ᐸ66.m.joinDetailsFor142ᐳ
ᐳRelationalDivider"}}:::plan + Access492 & PgSelectSingle72 --> List493 + List497{{"List[497∈13] ➊^
ᐸ496,72ᐳ"}}:::plan + Access496{{"Access[496∈13] ➊
ᐸ66.m.joinDetailsFor150ᐳ
ᐳRelationalChecklist"}}:::plan + Access496 & PgSelectSingle72 --> List497 + List501{{"List[501∈13] ➊^
ᐸ500,72ᐳ"}}:::plan + Access500{{"Access[500∈13] ➊
ᐸ66.m.joinDetailsFor158ᐳ
ᐳRelationalChecklistItem"}}:::plan + Access500 & PgSelectSingle72 --> List501 + First130{{"First[130∈13] ➊^"}}:::plan + PgSelectRows131[["PgSelectRows[131∈13] ➊^"]]:::plan + PgSelectRows131 --> First130 + Lambda486{{"Lambda[486∈13] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda486 --> PgSelectRows131 + PgSelectSingle132{{"PgSelectSingle[132∈13] ➊^
ᐸrelational_topicsᐳ"}}:::plan + First130 --> PgSelectSingle132 + First138{{"First[138∈13] ➊^"}}:::plan + PgSelectRows139[["PgSelectRows[139∈13] ➊^"]]:::plan + PgSelectRows139 --> First138 + Lambda490{{"Lambda[490∈13] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda490 --> PgSelectRows139 + PgSelectSingle140{{"PgSelectSingle[140∈13] ➊^
ᐸrelational_postsᐳ"}}:::plan + First138 --> PgSelectSingle140 + First146{{"First[146∈13] ➊^"}}:::plan + PgSelectRows147[["PgSelectRows[147∈13] ➊^"]]:::plan + PgSelectRows147 --> First146 + Lambda494{{"Lambda[494∈13] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda494 --> PgSelectRows147 + PgSelectSingle148{{"PgSelectSingle[148∈13] ➊^
ᐸrelational_dividersᐳ"}}:::plan + First146 --> PgSelectSingle148 + First154{{"First[154∈13] ➊^"}}:::plan + PgSelectRows155[["PgSelectRows[155∈13] ➊^"]]:::plan + PgSelectRows155 --> First154 + Lambda498{{"Lambda[498∈13] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda498 --> PgSelectRows155 + PgSelectSingle156{{"PgSelectSingle[156∈13] ➊^
ᐸrelational_checklistsᐳ"}}:::plan + First154 --> PgSelectSingle156 + First162{{"First[162∈13] ➊^"}}:::plan + PgSelectRows163[["PgSelectRows[163∈13] ➊^"]]:::plan + PgSelectRows163 --> First162 + Lambda502{{"Lambda[502∈13] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda502 --> PgSelectRows163 + PgSelectSingle164{{"PgSelectSingle[164∈13] ➊^
ᐸrelational_checklist_itemsᐳ"}}:::plan + First162 --> PgSelectSingle164 + PgSelectSingle132 --> PgClassExpression314 + Lambda316{{"Lambda[316∈13] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List315 --> Lambda316 + PgSelectSingle140 --> PgClassExpression318 + Lambda320{{"Lambda[320∈13] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List319 --> Lambda320 + PgSelectSingle148 --> PgClassExpression322 + Lambda324{{"Lambda[324∈13] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List323 --> Lambda324 + PgSelectSingle156 --> PgClassExpression326 + Lambda328{{"Lambda[328∈13] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List327 --> Lambda328 + PgSelectSingle164 --> PgClassExpression330 + Lambda332{{"Lambda[332∈13] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List331 --> Lambda332 + PgSelect66 --> Access484 + List485 --> Lambda486 + PgSelect66 --> Access488 + List489 --> Lambda490 + PgSelect66 --> Access492 + List493 --> Lambda494 + PgSelect66 --> Access496 + List497 --> Lambda498 + PgSelect66 --> Access500 + List501 --> Lambda502 + List334{{"List[334∈14] ➊^
ᐸ313,333ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[313]"}}:::plan + PgClassExpression333{{"PgClassExpression[333∈14] ➊^
ᐸ__relation...c_item_id”ᐳ"}}:::plan + PgClassExpression333 --> List334 + List337{{"List[337∈14] ➊^
ᐸ317,336ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[317]"}}:::plan + PgClassExpression336{{"PgClassExpression[336∈14] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression336 --> List337 + List340{{"List[340∈14] ➊^
ᐸ321,339ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[321]"}}:::plan + PgClassExpression339{{"PgClassExpression[339∈14] ➊^
ᐸ__relation...r_item_id”ᐳ"}}:::plan + PgClassExpression339 --> List340 + List343{{"List[343∈14] ➊^
ᐸ325,342ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[325]"}}:::plan + PgClassExpression342{{"PgClassExpression[342∈14] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression342 --> List343 + List346{{"List[346∈14] ➊^
ᐸ329,345ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[329]"}}:::plan + PgClassExpression345{{"PgClassExpression[345∈14] ➊^
ᐸ__relation...m_item_id”ᐳ"}}:::plan + PgClassExpression345 --> List346 + List545{{"List[545∈14] ➊^
ᐸ544,80ᐳ"}}:::plan + Access544{{"Access[544∈14] ➊
ᐸ74.m.joinDetailsFor170ᐳ
ᐳRelationalTopic"}}:::plan + Access544 & PgSelectSingle80 --> List545 + List549{{"List[549∈14] ➊^
ᐸ548,80ᐳ"}}:::plan + Access548{{"Access[548∈14] ➊
ᐸ74.m.joinDetailsFor178ᐳ
ᐳRelationalPost"}}:::plan + Access548 & PgSelectSingle80 --> List549 + List553{{"List[553∈14] ➊^
ᐸ552,80ᐳ"}}:::plan + Access552{{"Access[552∈14] ➊
ᐸ74.m.joinDetailsFor186ᐳ
ᐳRelationalDivider"}}:::plan + Access552 & PgSelectSingle80 --> List553 + List557{{"List[557∈14] ➊^
ᐸ556,80ᐳ"}}:::plan + Access556{{"Access[556∈14] ➊
ᐸ74.m.joinDetailsFor194ᐳ
ᐳRelationalChecklist"}}:::plan + Access556 & PgSelectSingle80 --> List557 + List561{{"List[561∈14] ➊^
ᐸ560,80ᐳ"}}:::plan + Access560{{"Access[560∈14] ➊
ᐸ74.m.joinDetailsFor202ᐳ
ᐳRelationalChecklistItem"}}:::plan + Access560 & PgSelectSingle80 --> List561 + First174{{"First[174∈14] ➊^"}}:::plan + PgSelectRows175[["PgSelectRows[175∈14] ➊^"]]:::plan + PgSelectRows175 --> First174 + Lambda546{{"Lambda[546∈14] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda546 --> PgSelectRows175 + PgSelectSingle176{{"PgSelectSingle[176∈14] ➊^
ᐸrelational_topicsᐳ"}}:::plan + First174 --> PgSelectSingle176 + First182{{"First[182∈14] ➊^"}}:::plan + PgSelectRows183[["PgSelectRows[183∈14] ➊^"]]:::plan + PgSelectRows183 --> First182 + Lambda550{{"Lambda[550∈14] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda550 --> PgSelectRows183 + PgSelectSingle184{{"PgSelectSingle[184∈14] ➊^
ᐸrelational_postsᐳ"}}:::plan + First182 --> PgSelectSingle184 + First190{{"First[190∈14] ➊^"}}:::plan + PgSelectRows191[["PgSelectRows[191∈14] ➊^"]]:::plan + PgSelectRows191 --> First190 + Lambda554{{"Lambda[554∈14] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda554 --> PgSelectRows191 + PgSelectSingle192{{"PgSelectSingle[192∈14] ➊^
ᐸrelational_dividersᐳ"}}:::plan + First190 --> PgSelectSingle192 + First198{{"First[198∈14] ➊^"}}:::plan + PgSelectRows199[["PgSelectRows[199∈14] ➊^"]]:::plan + PgSelectRows199 --> First198 + Lambda558{{"Lambda[558∈14] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda558 --> PgSelectRows199 + PgSelectSingle200{{"PgSelectSingle[200∈14] ➊^
ᐸrelational_checklistsᐳ"}}:::plan + First198 --> PgSelectSingle200 + First206{{"First[206∈14] ➊^"}}:::plan + PgSelectRows207[["PgSelectRows[207∈14] ➊^"]]:::plan + PgSelectRows207 --> First206 + Lambda562{{"Lambda[562∈14] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda562 --> PgSelectRows207 + PgSelectSingle208{{"PgSelectSingle[208∈14] ➊^
ᐸrelational_checklist_itemsᐳ"}}:::plan + First206 --> PgSelectSingle208 + PgSelectSingle176 --> PgClassExpression333 + Lambda335{{"Lambda[335∈14] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List334 --> Lambda335 + PgSelectSingle184 --> PgClassExpression336 + Lambda338{{"Lambda[338∈14] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List337 --> Lambda338 + PgSelectSingle192 --> PgClassExpression339 + Lambda341{{"Lambda[341∈14] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List340 --> Lambda341 + PgSelectSingle200 --> PgClassExpression342 + Lambda344{{"Lambda[344∈14] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List343 --> Lambda344 + PgSelectSingle208 --> PgClassExpression345 + Lambda347{{"Lambda[347∈14] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List346 --> Lambda347 + PgSelect74 --> Access544 + List545 --> Lambda546 + PgSelect74 --> Access548 + List549 --> Lambda550 + PgSelect74 --> Access552 + List553 --> Lambda554 + PgSelect74 --> Access556 + List557 --> Lambda558 + PgSelect74 --> Access560 + List561 --> Lambda562 List350{{"List[350∈15] ➊
ᐸ348,209ᐳ
ᐳSingleTableTopic
More deps:
- Constantᐸ'SingleTableTopic'ᐳ[348]"}}:::plan PgClassExpression209 --> List350 List354{{"List[354∈15] ➊
ᐸ352,209ᐳ
ᐳSingleTablePost
More deps:
- Constantᐸ'SingleTablePost'ᐳ[352]"}}:::plan @@ -318,6 +494,186 @@ graph TD List378 --> Lambda379 Lambda382{{"Lambda[382∈16] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan List381 --> Lambda382 + List384{{"List[384∈17] ➊^
ᐸ313,383ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[313]"}}:::plan + PgClassExpression383{{"PgClassExpression[383∈17] ➊^
ᐸ__relation...c_item_id”ᐳ"}}:::plan + PgClassExpression383 --> List384 + List387{{"List[387∈17] ➊^
ᐸ317,386ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[317]"}}:::plan + PgClassExpression386{{"PgClassExpression[386∈17] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression386 --> List387 + List390{{"List[390∈17] ➊^
ᐸ321,389ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[321]"}}:::plan + PgClassExpression389{{"PgClassExpression[389∈17] ➊^
ᐸ__relation...r_item_id”ᐳ"}}:::plan + PgClassExpression389 --> List390 + List393{{"List[393∈17] ➊^
ᐸ325,392ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[325]"}}:::plan + PgClassExpression392{{"PgClassExpression[392∈17] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression392 --> List393 + List396{{"List[396∈17] ➊^
ᐸ329,395ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[329]"}}:::plan + PgClassExpression395{{"PgClassExpression[395∈17] ➊^
ᐸ__relation...m_item_id”ᐳ"}}:::plan + PgClassExpression395 --> List396 + List505{{"List[505∈17] ➊^
ᐸ504,102ᐳ"}}:::plan + Access504{{"Access[504∈17] ➊
ᐸ98.m.joinDetailsFor222ᐳ
ᐳRelationalTopic"}}:::plan + Access504 & PgSelectSingle102 --> List505 + List509{{"List[509∈17] ➊^
ᐸ508,102ᐳ"}}:::plan + Access508{{"Access[508∈17] ➊
ᐸ98.m.joinDetailsFor230ᐳ
ᐳRelationalPost"}}:::plan + Access508 & PgSelectSingle102 --> List509 + List513{{"List[513∈17] ➊^
ᐸ512,102ᐳ"}}:::plan + Access512{{"Access[512∈17] ➊
ᐸ98.m.joinDetailsFor238ᐳ
ᐳRelationalDivider"}}:::plan + Access512 & PgSelectSingle102 --> List513 + List517{{"List[517∈17] ➊^
ᐸ516,102ᐳ"}}:::plan + Access516{{"Access[516∈17] ➊
ᐸ98.m.joinDetailsFor246ᐳ
ᐳRelationalChecklist"}}:::plan + Access516 & PgSelectSingle102 --> List517 + List521{{"List[521∈17] ➊^
ᐸ520,102ᐳ"}}:::plan + Access520{{"Access[520∈17] ➊
ᐸ98.m.joinDetailsFor254ᐳ
ᐳRelationalChecklistItem"}}:::plan + Access520 & PgSelectSingle102 --> List521 + First226{{"First[226∈17] ➊^"}}:::plan + PgSelectRows227[["PgSelectRows[227∈17] ➊^"]]:::plan + PgSelectRows227 --> First226 + Lambda506{{"Lambda[506∈17] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda506 --> PgSelectRows227 + PgSelectSingle228{{"PgSelectSingle[228∈17] ➊^
ᐸrelational_topicsᐳ"}}:::plan + First226 --> PgSelectSingle228 + First234{{"First[234∈17] ➊^"}}:::plan + PgSelectRows235[["PgSelectRows[235∈17] ➊^"]]:::plan + PgSelectRows235 --> First234 + Lambda510{{"Lambda[510∈17] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda510 --> PgSelectRows235 + PgSelectSingle236{{"PgSelectSingle[236∈17] ➊^
ᐸrelational_postsᐳ"}}:::plan + First234 --> PgSelectSingle236 + First242{{"First[242∈17] ➊^"}}:::plan + PgSelectRows243[["PgSelectRows[243∈17] ➊^"]]:::plan + PgSelectRows243 --> First242 + Lambda514{{"Lambda[514∈17] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda514 --> PgSelectRows243 + PgSelectSingle244{{"PgSelectSingle[244∈17] ➊^
ᐸrelational_dividersᐳ"}}:::plan + First242 --> PgSelectSingle244 + First250{{"First[250∈17] ➊^"}}:::plan + PgSelectRows251[["PgSelectRows[251∈17] ➊^"]]:::plan + PgSelectRows251 --> First250 + Lambda518{{"Lambda[518∈17] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda518 --> PgSelectRows251 + PgSelectSingle252{{"PgSelectSingle[252∈17] ➊^
ᐸrelational_checklistsᐳ"}}:::plan + First250 --> PgSelectSingle252 + First258{{"First[258∈17] ➊^"}}:::plan + PgSelectRows259[["PgSelectRows[259∈17] ➊^"]]:::plan + PgSelectRows259 --> First258 + Lambda522{{"Lambda[522∈17] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda522 --> PgSelectRows259 + PgSelectSingle260{{"PgSelectSingle[260∈17] ➊^
ᐸrelational_checklist_itemsᐳ"}}:::plan + First258 --> PgSelectSingle260 + PgSelectSingle228 --> PgClassExpression383 + Lambda385{{"Lambda[385∈17] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List384 --> Lambda385 + PgSelectSingle236 --> PgClassExpression386 + Lambda388{{"Lambda[388∈17] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List387 --> Lambda388 + PgSelectSingle244 --> PgClassExpression389 + Lambda391{{"Lambda[391∈17] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List390 --> Lambda391 + PgSelectSingle252 --> PgClassExpression392 + Lambda394{{"Lambda[394∈17] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List393 --> Lambda394 + PgSelectSingle260 --> PgClassExpression395 + Lambda397{{"Lambda[397∈17] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List396 --> Lambda397 + PgSelect98 --> Access504 + List505 --> Lambda506 + PgSelect98 --> Access508 + List509 --> Lambda510 + PgSelect98 --> Access512 + List513 --> Lambda514 + PgSelect98 --> Access516 + List517 --> Lambda518 + PgSelect98 --> Access520 + List521 --> Lambda522 + List399{{"List[399∈18] ➊^
ᐸ313,398ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[313]"}}:::plan + PgClassExpression398{{"PgClassExpression[398∈18] ➊^
ᐸ__relation...c_item_id”ᐳ"}}:::plan + PgClassExpression398 --> List399 + List402{{"List[402∈18] ➊^
ᐸ317,401ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[317]"}}:::plan + PgClassExpression401{{"PgClassExpression[401∈18] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression401 --> List402 + List405{{"List[405∈18] ➊^
ᐸ321,404ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[321]"}}:::plan + PgClassExpression404{{"PgClassExpression[404∈18] ➊^
ᐸ__relation...r_item_id”ᐳ"}}:::plan + PgClassExpression404 --> List405 + List408{{"List[408∈18] ➊^
ᐸ325,407ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[325]"}}:::plan + PgClassExpression407{{"PgClassExpression[407∈18] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression407 --> List408 + List411{{"List[411∈18] ➊^
ᐸ329,410ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[329]"}}:::plan + PgClassExpression410{{"PgClassExpression[410∈18] ➊^
ᐸ__relation...m_item_id”ᐳ"}}:::plan + PgClassExpression410 --> List411 + List525{{"List[525∈18] ➊^
ᐸ524,108ᐳ"}}:::plan + Access524{{"Access[524∈18] ➊
ᐸ104.m.joinDetailsFor266ᐳ
ᐳRelationalTopic"}}:::plan + Access524 & PgSelectSingle108 --> List525 + List529{{"List[529∈18] ➊^
ᐸ528,108ᐳ"}}:::plan + Access528{{"Access[528∈18] ➊
ᐸ104.m.joinDetailsFor274ᐳ
ᐳRelationalPost"}}:::plan + Access528 & PgSelectSingle108 --> List529 + List533{{"List[533∈18] ➊^
ᐸ532,108ᐳ"}}:::plan + Access532{{"Access[532∈18] ➊
ᐸ104.m.joinDetailsFor282ᐳ
ᐳRelationalDivider"}}:::plan + Access532 & PgSelectSingle108 --> List533 + List537{{"List[537∈18] ➊^
ᐸ536,108ᐳ"}}:::plan + Access536{{"Access[536∈18] ➊
ᐸ104.m.joinDetailsFor290ᐳ
ᐳRelationalChecklist"}}:::plan + Access536 & PgSelectSingle108 --> List537 + List541{{"List[541∈18] ➊^
ᐸ540,108ᐳ"}}:::plan + Access540{{"Access[540∈18] ➊
ᐸ104.m.joinDetailsFor298ᐳ
ᐳRelationalChecklistItem"}}:::plan + Access540 & PgSelectSingle108 --> List541 + First270{{"First[270∈18] ➊^"}}:::plan + PgSelectRows271[["PgSelectRows[271∈18] ➊^"]]:::plan + PgSelectRows271 --> First270 + Lambda526{{"Lambda[526∈18] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda526 --> PgSelectRows271 + PgSelectSingle272{{"PgSelectSingle[272∈18] ➊^
ᐸrelational_topicsᐳ"}}:::plan + First270 --> PgSelectSingle272 + First278{{"First[278∈18] ➊^"}}:::plan + PgSelectRows279[["PgSelectRows[279∈18] ➊^"]]:::plan + PgSelectRows279 --> First278 + Lambda530{{"Lambda[530∈18] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda530 --> PgSelectRows279 + PgSelectSingle280{{"PgSelectSingle[280∈18] ➊^
ᐸrelational_postsᐳ"}}:::plan + First278 --> PgSelectSingle280 + First286{{"First[286∈18] ➊^"}}:::plan + PgSelectRows287[["PgSelectRows[287∈18] ➊^"]]:::plan + PgSelectRows287 --> First286 + Lambda534{{"Lambda[534∈18] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda534 --> PgSelectRows287 + PgSelectSingle288{{"PgSelectSingle[288∈18] ➊^
ᐸrelational_dividersᐳ"}}:::plan + First286 --> PgSelectSingle288 + First294{{"First[294∈18] ➊^"}}:::plan + PgSelectRows295[["PgSelectRows[295∈18] ➊^"]]:::plan + PgSelectRows295 --> First294 + Lambda538{{"Lambda[538∈18] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda538 --> PgSelectRows295 + PgSelectSingle296{{"PgSelectSingle[296∈18] ➊^
ᐸrelational_checklistsᐳ"}}:::plan + First294 --> PgSelectSingle296 + First302{{"First[302∈18] ➊^"}}:::plan + PgSelectRows303[["PgSelectRows[303∈18] ➊^"]]:::plan + PgSelectRows303 --> First302 + Lambda542{{"Lambda[542∈18] ➊^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda542 --> PgSelectRows303 + PgSelectSingle304{{"PgSelectSingle[304∈18] ➊^
ᐸrelational_checklist_itemsᐳ"}}:::plan + First302 --> PgSelectSingle304 + PgSelectSingle272 --> PgClassExpression398 + Lambda400{{"Lambda[400∈18] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List399 --> Lambda400 + PgSelectSingle280 --> PgClassExpression401 + Lambda403{{"Lambda[403∈18] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List402 --> Lambda403 + PgSelectSingle288 --> PgClassExpression404 + Lambda406{{"Lambda[406∈18] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List405 --> Lambda406 + PgSelectSingle296 --> PgClassExpression407 + Lambda409{{"Lambda[409∈18] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List408 --> Lambda409 + PgSelectSingle304 --> PgClassExpression410 + Lambda412{{"Lambda[412∈18] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan + List411 --> Lambda412 + PgSelect104 --> Access524 + List525 --> Lambda526 + PgSelect104 --> Access528 + List529 --> Lambda530 + PgSelect104 --> Access532 + List533 --> Lambda534 + PgSelect104 --> Access536 + List537 --> Lambda538 + PgSelect104 --> Access540 + List541 --> Lambda542 List414{{"List[414∈19] ➊
ᐸ348,305ᐳ
ᐳSingleTableTopic
More deps:
- Constantᐸ'SingleTableTopic'ᐳ[348]"}}:::plan PgClassExpression305 --> List414 List417{{"List[417∈19] ➊
ᐸ352,305ᐳ
ᐳSingleTablePost
More deps:
- Constantᐸ'SingleTablePost'ᐳ[352]"}}:::plan @@ -358,286 +714,6 @@ graph TD List438 --> Lambda439 Lambda442{{"Lambda[442∈20] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan List441 --> Lambda442 - PgSelect126[["PgSelect[126∈21] ➊
ᐸrelational_topicsᐳ
ᐳRelationalTopic
More deps:
- Object[14]"]]:::plan - PgClassExpression121 --> PgSelect126 - List315{{"List[315∈21] ➊^
ᐸ313,314ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[313]"}}:::plan - PgClassExpression314{{"PgClassExpression[314∈21] ➊^
ᐸ__relation...c_item_id”ᐳ"}}:::plan - PgClassExpression314 --> List315 - First130{{"First[130∈21] ➊^"}}:::plan - PgSelectRows131[["PgSelectRows[131∈21] ➊^"]]:::plan - PgSelectRows131 --> First130 - PgSelect126 --> PgSelectRows131 - PgSelectSingle132{{"PgSelectSingle[132∈21] ➊^
ᐸrelational_topicsᐳ"}}:::plan - First130 --> PgSelectSingle132 - PgSelectSingle132 --> PgClassExpression314 - Lambda316{{"Lambda[316∈21] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List315 --> Lambda316 - PgSelect134[["PgSelect[134∈22] ➊
ᐸrelational_postsᐳ
ᐳRelationalPost
More deps:
- Object[14]"]]:::plan - PgClassExpression121 --> PgSelect134 - List319{{"List[319∈22] ➊^
ᐸ317,318ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[317]"}}:::plan - PgClassExpression318{{"PgClassExpression[318∈22] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression318 --> List319 - First138{{"First[138∈22] ➊^"}}:::plan - PgSelectRows139[["PgSelectRows[139∈22] ➊^"]]:::plan - PgSelectRows139 --> First138 - PgSelect134 --> PgSelectRows139 - PgSelectSingle140{{"PgSelectSingle[140∈22] ➊^
ᐸrelational_postsᐳ"}}:::plan - First138 --> PgSelectSingle140 - PgSelectSingle140 --> PgClassExpression318 - Lambda320{{"Lambda[320∈22] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List319 --> Lambda320 - PgSelect142[["PgSelect[142∈23] ➊
ᐸrelational_dividersᐳ
ᐳRelationalDivider
More deps:
- Object[14]"]]:::plan - PgClassExpression121 --> PgSelect142 - List323{{"List[323∈23] ➊^
ᐸ321,322ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[321]"}}:::plan - PgClassExpression322{{"PgClassExpression[322∈23] ➊^
ᐸ__relation...r_item_id”ᐳ"}}:::plan - PgClassExpression322 --> List323 - First146{{"First[146∈23] ➊^"}}:::plan - PgSelectRows147[["PgSelectRows[147∈23] ➊^"]]:::plan - PgSelectRows147 --> First146 - PgSelect142 --> PgSelectRows147 - PgSelectSingle148{{"PgSelectSingle[148∈23] ➊^
ᐸrelational_dividersᐳ"}}:::plan - First146 --> PgSelectSingle148 - PgSelectSingle148 --> PgClassExpression322 - Lambda324{{"Lambda[324∈23] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List323 --> Lambda324 - PgSelect150[["PgSelect[150∈24] ➊
ᐸrelational_checklistsᐳ
ᐳRelationalChecklist
More deps:
- Object[14]"]]:::plan - PgClassExpression121 --> PgSelect150 - List327{{"List[327∈24] ➊^
ᐸ325,326ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[325]"}}:::plan - PgClassExpression326{{"PgClassExpression[326∈24] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression326 --> List327 - First154{{"First[154∈24] ➊^"}}:::plan - PgSelectRows155[["PgSelectRows[155∈24] ➊^"]]:::plan - PgSelectRows155 --> First154 - PgSelect150 --> PgSelectRows155 - PgSelectSingle156{{"PgSelectSingle[156∈24] ➊^
ᐸrelational_checklistsᐳ"}}:::plan - First154 --> PgSelectSingle156 - PgSelectSingle156 --> PgClassExpression326 - Lambda328{{"Lambda[328∈24] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List327 --> Lambda328 - PgSelect158[["PgSelect[158∈25] ➊
ᐸrelational_checklist_itemsᐳ
ᐳRelationalChecklistItem
More deps:
- Object[14]"]]:::plan - PgClassExpression121 --> PgSelect158 - List331{{"List[331∈25] ➊^
ᐸ329,330ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[329]"}}:::plan - PgClassExpression330{{"PgClassExpression[330∈25] ➊^
ᐸ__relation...m_item_id”ᐳ"}}:::plan - PgClassExpression330 --> List331 - First162{{"First[162∈25] ➊^"}}:::plan - PgSelectRows163[["PgSelectRows[163∈25] ➊^"]]:::plan - PgSelectRows163 --> First162 - PgSelect158 --> PgSelectRows163 - PgSelectSingle164{{"PgSelectSingle[164∈25] ➊^
ᐸrelational_checklist_itemsᐳ"}}:::plan - First162 --> PgSelectSingle164 - PgSelectSingle164 --> PgClassExpression330 - Lambda332{{"Lambda[332∈25] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List331 --> Lambda332 - PgSelect170[["PgSelect[170∈26] ➊
ᐸrelational_topicsᐳ
ᐳRelationalTopic"]]:::plan - Object22 & PgClassExpression165 --> PgSelect170 - List334{{"List[334∈26] ➊^
ᐸ313,333ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[313]"}}:::plan - PgClassExpression333{{"PgClassExpression[333∈26] ➊^
ᐸ__relation...c_item_id”ᐳ"}}:::plan - PgClassExpression333 --> List334 - First174{{"First[174∈26] ➊^"}}:::plan - PgSelectRows175[["PgSelectRows[175∈26] ➊^"]]:::plan - PgSelectRows175 --> First174 - PgSelect170 --> PgSelectRows175 - PgSelectSingle176{{"PgSelectSingle[176∈26] ➊^
ᐸrelational_topicsᐳ"}}:::plan - First174 --> PgSelectSingle176 - PgSelectSingle176 --> PgClassExpression333 - Lambda335{{"Lambda[335∈26] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List334 --> Lambda335 - PgSelect178[["PgSelect[178∈27] ➊
ᐸrelational_postsᐳ
ᐳRelationalPost"]]:::plan - Object22 & PgClassExpression165 --> PgSelect178 - List337{{"List[337∈27] ➊^
ᐸ317,336ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[317]"}}:::plan - PgClassExpression336{{"PgClassExpression[336∈27] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression336 --> List337 - First182{{"First[182∈27] ➊^"}}:::plan - PgSelectRows183[["PgSelectRows[183∈27] ➊^"]]:::plan - PgSelectRows183 --> First182 - PgSelect178 --> PgSelectRows183 - PgSelectSingle184{{"PgSelectSingle[184∈27] ➊^
ᐸrelational_postsᐳ"}}:::plan - First182 --> PgSelectSingle184 - PgSelectSingle184 --> PgClassExpression336 - Lambda338{{"Lambda[338∈27] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List337 --> Lambda338 - PgSelect186[["PgSelect[186∈28] ➊
ᐸrelational_dividersᐳ
ᐳRelationalDivider"]]:::plan - Object22 & PgClassExpression165 --> PgSelect186 - List340{{"List[340∈28] ➊^
ᐸ321,339ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[321]"}}:::plan - PgClassExpression339{{"PgClassExpression[339∈28] ➊^
ᐸ__relation...r_item_id”ᐳ"}}:::plan - PgClassExpression339 --> List340 - First190{{"First[190∈28] ➊^"}}:::plan - PgSelectRows191[["PgSelectRows[191∈28] ➊^"]]:::plan - PgSelectRows191 --> First190 - PgSelect186 --> PgSelectRows191 - PgSelectSingle192{{"PgSelectSingle[192∈28] ➊^
ᐸrelational_dividersᐳ"}}:::plan - First190 --> PgSelectSingle192 - PgSelectSingle192 --> PgClassExpression339 - Lambda341{{"Lambda[341∈28] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List340 --> Lambda341 - PgSelect194[["PgSelect[194∈29] ➊
ᐸrelational_checklistsᐳ
ᐳRelationalChecklist"]]:::plan - Object22 & PgClassExpression165 --> PgSelect194 - List343{{"List[343∈29] ➊^
ᐸ325,342ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[325]"}}:::plan - PgClassExpression342{{"PgClassExpression[342∈29] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression342 --> List343 - First198{{"First[198∈29] ➊^"}}:::plan - PgSelectRows199[["PgSelectRows[199∈29] ➊^"]]:::plan - PgSelectRows199 --> First198 - PgSelect194 --> PgSelectRows199 - PgSelectSingle200{{"PgSelectSingle[200∈29] ➊^
ᐸrelational_checklistsᐳ"}}:::plan - First198 --> PgSelectSingle200 - PgSelectSingle200 --> PgClassExpression342 - Lambda344{{"Lambda[344∈29] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List343 --> Lambda344 - PgSelect202[["PgSelect[202∈30] ➊
ᐸrelational_checklist_itemsᐳ
ᐳRelationalChecklistItem"]]:::plan - Object22 & PgClassExpression165 --> PgSelect202 - List346{{"List[346∈30] ➊^
ᐸ329,345ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[329]"}}:::plan - PgClassExpression345{{"PgClassExpression[345∈30] ➊^
ᐸ__relation...m_item_id”ᐳ"}}:::plan - PgClassExpression345 --> List346 - First206{{"First[206∈30] ➊^"}}:::plan - PgSelectRows207[["PgSelectRows[207∈30] ➊^"]]:::plan - PgSelectRows207 --> First206 - PgSelect202 --> PgSelectRows207 - PgSelectSingle208{{"PgSelectSingle[208∈30] ➊^
ᐸrelational_checklist_itemsᐳ"}}:::plan - First206 --> PgSelectSingle208 - PgSelectSingle208 --> PgClassExpression345 - Lambda347{{"Lambda[347∈30] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List346 --> Lambda347 - PgSelect222[["PgSelect[222∈31] ➊
ᐸrelational_topicsᐳ
ᐳRelationalTopic
More deps:
- Object[14]"]]:::plan - PgClassExpression217 --> PgSelect222 - List384{{"List[384∈31] ➊^
ᐸ313,383ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[313]"}}:::plan - PgClassExpression383{{"PgClassExpression[383∈31] ➊^
ᐸ__relation...c_item_id”ᐳ"}}:::plan - PgClassExpression383 --> List384 - First226{{"First[226∈31] ➊^"}}:::plan - PgSelectRows227[["PgSelectRows[227∈31] ➊^"]]:::plan - PgSelectRows227 --> First226 - PgSelect222 --> PgSelectRows227 - PgSelectSingle228{{"PgSelectSingle[228∈31] ➊^
ᐸrelational_topicsᐳ"}}:::plan - First226 --> PgSelectSingle228 - PgSelectSingle228 --> PgClassExpression383 - Lambda385{{"Lambda[385∈31] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List384 --> Lambda385 - PgSelect230[["PgSelect[230∈32] ➊
ᐸrelational_postsᐳ
ᐳRelationalPost
More deps:
- Object[14]"]]:::plan - PgClassExpression217 --> PgSelect230 - List387{{"List[387∈32] ➊^
ᐸ317,386ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[317]"}}:::plan - PgClassExpression386{{"PgClassExpression[386∈32] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression386 --> List387 - First234{{"First[234∈32] ➊^"}}:::plan - PgSelectRows235[["PgSelectRows[235∈32] ➊^"]]:::plan - PgSelectRows235 --> First234 - PgSelect230 --> PgSelectRows235 - PgSelectSingle236{{"PgSelectSingle[236∈32] ➊^
ᐸrelational_postsᐳ"}}:::plan - First234 --> PgSelectSingle236 - PgSelectSingle236 --> PgClassExpression386 - Lambda388{{"Lambda[388∈32] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List387 --> Lambda388 - PgSelect238[["PgSelect[238∈33] ➊
ᐸrelational_dividersᐳ
ᐳRelationalDivider
More deps:
- Object[14]"]]:::plan - PgClassExpression217 --> PgSelect238 - List390{{"List[390∈33] ➊^
ᐸ321,389ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[321]"}}:::plan - PgClassExpression389{{"PgClassExpression[389∈33] ➊^
ᐸ__relation...r_item_id”ᐳ"}}:::plan - PgClassExpression389 --> List390 - First242{{"First[242∈33] ➊^"}}:::plan - PgSelectRows243[["PgSelectRows[243∈33] ➊^"]]:::plan - PgSelectRows243 --> First242 - PgSelect238 --> PgSelectRows243 - PgSelectSingle244{{"PgSelectSingle[244∈33] ➊^
ᐸrelational_dividersᐳ"}}:::plan - First242 --> PgSelectSingle244 - PgSelectSingle244 --> PgClassExpression389 - Lambda391{{"Lambda[391∈33] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List390 --> Lambda391 - PgSelect246[["PgSelect[246∈34] ➊
ᐸrelational_checklistsᐳ
ᐳRelationalChecklist
More deps:
- Object[14]"]]:::plan - PgClassExpression217 --> PgSelect246 - List393{{"List[393∈34] ➊^
ᐸ325,392ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[325]"}}:::plan - PgClassExpression392{{"PgClassExpression[392∈34] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression392 --> List393 - First250{{"First[250∈34] ➊^"}}:::plan - PgSelectRows251[["PgSelectRows[251∈34] ➊^"]]:::plan - PgSelectRows251 --> First250 - PgSelect246 --> PgSelectRows251 - PgSelectSingle252{{"PgSelectSingle[252∈34] ➊^
ᐸrelational_checklistsᐳ"}}:::plan - First250 --> PgSelectSingle252 - PgSelectSingle252 --> PgClassExpression392 - Lambda394{{"Lambda[394∈34] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List393 --> Lambda394 - PgSelect254[["PgSelect[254∈35] ➊
ᐸrelational_checklist_itemsᐳ
ᐳRelationalChecklistItem
More deps:
- Object[14]"]]:::plan - PgClassExpression217 --> PgSelect254 - List396{{"List[396∈35] ➊^
ᐸ329,395ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[329]"}}:::plan - PgClassExpression395{{"PgClassExpression[395∈35] ➊^
ᐸ__relation...m_item_id”ᐳ"}}:::plan - PgClassExpression395 --> List396 - First258{{"First[258∈35] ➊^"}}:::plan - PgSelectRows259[["PgSelectRows[259∈35] ➊^"]]:::plan - PgSelectRows259 --> First258 - PgSelect254 --> PgSelectRows259 - PgSelectSingle260{{"PgSelectSingle[260∈35] ➊^
ᐸrelational_checklist_itemsᐳ"}}:::plan - First258 --> PgSelectSingle260 - PgSelectSingle260 --> PgClassExpression395 - Lambda397{{"Lambda[397∈35] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List396 --> Lambda397 - PgSelect266[["PgSelect[266∈36] ➊
ᐸrelational_topicsᐳ
ᐳRelationalTopic"]]:::plan - Object22 & PgClassExpression261 --> PgSelect266 - List399{{"List[399∈36] ➊^
ᐸ313,398ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[313]"}}:::plan - PgClassExpression398{{"PgClassExpression[398∈36] ➊^
ᐸ__relation...c_item_id”ᐳ"}}:::plan - PgClassExpression398 --> List399 - First270{{"First[270∈36] ➊^"}}:::plan - PgSelectRows271[["PgSelectRows[271∈36] ➊^"]]:::plan - PgSelectRows271 --> First270 - PgSelect266 --> PgSelectRows271 - PgSelectSingle272{{"PgSelectSingle[272∈36] ➊^
ᐸrelational_topicsᐳ"}}:::plan - First270 --> PgSelectSingle272 - PgSelectSingle272 --> PgClassExpression398 - Lambda400{{"Lambda[400∈36] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List399 --> Lambda400 - PgSelect274[["PgSelect[274∈37] ➊
ᐸrelational_postsᐳ
ᐳRelationalPost"]]:::plan - Object22 & PgClassExpression261 --> PgSelect274 - List402{{"List[402∈37] ➊^
ᐸ317,401ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[317]"}}:::plan - PgClassExpression401{{"PgClassExpression[401∈37] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression401 --> List402 - First278{{"First[278∈37] ➊^"}}:::plan - PgSelectRows279[["PgSelectRows[279∈37] ➊^"]]:::plan - PgSelectRows279 --> First278 - PgSelect274 --> PgSelectRows279 - PgSelectSingle280{{"PgSelectSingle[280∈37] ➊^
ᐸrelational_postsᐳ"}}:::plan - First278 --> PgSelectSingle280 - PgSelectSingle280 --> PgClassExpression401 - Lambda403{{"Lambda[403∈37] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List402 --> Lambda403 - PgSelect282[["PgSelect[282∈38] ➊
ᐸrelational_dividersᐳ
ᐳRelationalDivider"]]:::plan - Object22 & PgClassExpression261 --> PgSelect282 - List405{{"List[405∈38] ➊^
ᐸ321,404ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[321]"}}:::plan - PgClassExpression404{{"PgClassExpression[404∈38] ➊^
ᐸ__relation...r_item_id”ᐳ"}}:::plan - PgClassExpression404 --> List405 - First286{{"First[286∈38] ➊^"}}:::plan - PgSelectRows287[["PgSelectRows[287∈38] ➊^"]]:::plan - PgSelectRows287 --> First286 - PgSelect282 --> PgSelectRows287 - PgSelectSingle288{{"PgSelectSingle[288∈38] ➊^
ᐸrelational_dividersᐳ"}}:::plan - First286 --> PgSelectSingle288 - PgSelectSingle288 --> PgClassExpression404 - Lambda406{{"Lambda[406∈38] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List405 --> Lambda406 - PgSelect290[["PgSelect[290∈39] ➊
ᐸrelational_checklistsᐳ
ᐳRelationalChecklist"]]:::plan - Object22 & PgClassExpression261 --> PgSelect290 - List408{{"List[408∈39] ➊^
ᐸ325,407ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[325]"}}:::plan - PgClassExpression407{{"PgClassExpression[407∈39] ➊^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression407 --> List408 - First294{{"First[294∈39] ➊^"}}:::plan - PgSelectRows295[["PgSelectRows[295∈39] ➊^"]]:::plan - PgSelectRows295 --> First294 - PgSelect290 --> PgSelectRows295 - PgSelectSingle296{{"PgSelectSingle[296∈39] ➊^
ᐸrelational_checklistsᐳ"}}:::plan - First294 --> PgSelectSingle296 - PgSelectSingle296 --> PgClassExpression407 - Lambda409{{"Lambda[409∈39] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List408 --> Lambda409 - PgSelect298[["PgSelect[298∈40] ➊
ᐸrelational_checklist_itemsᐳ
ᐳRelationalChecklistItem"]]:::plan - Object22 & PgClassExpression261 --> PgSelect298 - List411{{"List[411∈40] ➊^
ᐸ329,410ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[329]"}}:::plan - PgClassExpression410{{"PgClassExpression[410∈40] ➊^
ᐸ__relation...m_item_id”ᐳ"}}:::plan - PgClassExpression410 --> List411 - First302{{"First[302∈40] ➊^"}}:::plan - PgSelectRows303[["PgSelectRows[303∈40] ➊^"]]:::plan - PgSelectRows303 --> First302 - PgSelect298 --> PgSelectRows303 - PgSelectSingle304{{"PgSelectSingle[304∈40] ➊^
ᐸrelational_checklist_itemsᐳ"}}:::plan - First302 --> PgSelectSingle304 - PgSelectSingle304 --> PgClassExpression410 - Lambda412{{"Lambda[412∈40] ➊^
ᐸbase64JSONEncodeᐳ"}}:::plan - List411 --> Lambda412 %% define steps classDef bucket0 stroke:#696969 @@ -651,75 +727,43 @@ graph TD classDef bucket4 stroke:#0000ff class Bucket4,PgInsertSingle37,Access38,Access39,Object40,Object42 bucket4 classDef bucket5 stroke:#7fff00 - class Bucket5 bucket5 + class Bucket5,PgSelectInlineApply483,PgSelectInlineApply487,PgSelectInlineApply491,PgSelectInlineApply495,PgSelectInlineApply499,PgSelectInlineApply503,PgSelectInlineApply507,PgSelectInlineApply511,PgSelectInlineApply515,PgSelectInlineApply519 bucket5 classDef bucket6 stroke:#ff1493 - class Bucket6 bucket6 + class Bucket6,PgSelectInlineApply523,PgSelectInlineApply527,PgSelectInlineApply531,PgSelectInlineApply535,PgSelectInlineApply539,PgSelectInlineApply543,PgSelectInlineApply547,PgSelectInlineApply551,PgSelectInlineApply555,PgSelectInlineApply559 bucket6 classDef bucket7 stroke:#808000 class Bucket7 bucket7 classDef bucket8 stroke:#dda0dd class Bucket8 bucket8 classDef bucket9 stroke:#ff0000 - class Bucket9,PgClassExpression44,Access45,List46,Lambda47,PgClassExpression65,PgSelect66,First70,PgSelectRows71,PgSelectSingle72,PgClassExpression97,PgSelect98,First100,PgSelectRows101,PgSelectSingle102,PgClassExpression121,PgClassExpression123,Lambda124,PgClassExpression217,PgClassExpression219,Lambda220 bucket9 + class Bucket9,PgClassExpression44,Access45,List46,Lambda47,PgClassExpression65,PgSelect66,First70,PgSelectRows71,PgSelectSingle72,PgClassExpression97,PgSelect98,First100,PgSelectRows101,PgSelectSingle102,PgClassExpression123,Lambda124,PgClassExpression219,Lambda220 bucket9 classDef bucket10 stroke:#ffff00 - class Bucket10,PgClassExpression49,Access50,PgClassExpression51,List52,Lambda53,PgSelect74,First78,PgSelectRows79,PgSelectSingle80,PgSelect104,First106,PgSelectRows107,PgSelectSingle108,PgClassExpression165,PgClassExpression167,Lambda168,PgClassExpression261,PgClassExpression263,Lambda264 bucket10 + class Bucket10,PgClassExpression49,Access50,PgClassExpression51,List52,Lambda53,PgSelect74,First78,PgSelectRows79,PgSelectSingle80,PgSelect104,First106,PgSelectRows107,PgSelectSingle108,PgClassExpression167,Lambda168,PgClassExpression263,Lambda264 bucket10 classDef bucket11 stroke:#00ffff class Bucket11,PgClassExpression55,Access56,List57,Lambda58,PgClassExpression81,PgSelect82,First86,PgSelectRows87,PgSelectSingle88,PgClassExpression109,PgSelect110,First112,PgSelectRows113,PgSelectSingle114,PgClassExpression209,PgClassExpression211,Lambda212,PgClassExpression305,PgClassExpression307,Lambda308 bucket11 classDef bucket12 stroke:#4169e1 class Bucket12,PgClassExpression60,Access61,PgClassExpression62,List63,Lambda64,PgSelect90,First94,PgSelectRows95,PgSelectSingle96,PgSelect116,First118,PgSelectRows119,PgSelectSingle120,PgClassExpression213,PgClassExpression215,Lambda216,PgClassExpression309,PgClassExpression311,Lambda312 bucket12 classDef bucket13 stroke:#3cb371 - class Bucket13 bucket13 + class Bucket13,First130,PgSelectRows131,PgSelectSingle132,First138,PgSelectRows139,PgSelectSingle140,First146,PgSelectRows147,PgSelectSingle148,First154,PgSelectRows155,PgSelectSingle156,First162,PgSelectRows163,PgSelectSingle164,PgClassExpression314,List315,Lambda316,PgClassExpression318,List319,Lambda320,PgClassExpression322,List323,Lambda324,PgClassExpression326,List327,Lambda328,PgClassExpression330,List331,Lambda332,Access484,List485,Lambda486,Access488,List489,Lambda490,Access492,List493,Lambda494,Access496,List497,Lambda498,Access500,List501,Lambda502 bucket13 classDef bucket14 stroke:#a52a2a - class Bucket14 bucket14 + class Bucket14,First174,PgSelectRows175,PgSelectSingle176,First182,PgSelectRows183,PgSelectSingle184,First190,PgSelectRows191,PgSelectSingle192,First198,PgSelectRows199,PgSelectSingle200,First206,PgSelectRows207,PgSelectSingle208,PgClassExpression333,List334,Lambda335,PgClassExpression336,List337,Lambda338,PgClassExpression339,List340,Lambda341,PgClassExpression342,List343,Lambda344,PgClassExpression345,List346,Lambda347,Access544,List545,Lambda546,Access548,List549,Lambda550,Access552,List553,Lambda554,Access556,List557,Lambda558,Access560,List561,Lambda562 bucket14 classDef bucket15 stroke:#ff00ff class Bucket15,List350,Lambda351,List354,Lambda355,List358,Lambda359,List362,Lambda363,List366,Lambda367 bucket15 classDef bucket16 stroke:#f5deb3 class Bucket16,List369,Lambda370,List372,Lambda373,List375,Lambda376,List378,Lambda379,List381,Lambda382 bucket16 classDef bucket17 stroke:#696969 - class Bucket17 bucket17 + class Bucket17,First226,PgSelectRows227,PgSelectSingle228,First234,PgSelectRows235,PgSelectSingle236,First242,PgSelectRows243,PgSelectSingle244,First250,PgSelectRows251,PgSelectSingle252,First258,PgSelectRows259,PgSelectSingle260,PgClassExpression383,List384,Lambda385,PgClassExpression386,List387,Lambda388,PgClassExpression389,List390,Lambda391,PgClassExpression392,List393,Lambda394,PgClassExpression395,List396,Lambda397,Access504,List505,Lambda506,Access508,List509,Lambda510,Access512,List513,Lambda514,Access516,List517,Lambda518,Access520,List521,Lambda522 bucket17 classDef bucket18 stroke:#00bfff - class Bucket18 bucket18 + class Bucket18,First270,PgSelectRows271,PgSelectSingle272,First278,PgSelectRows279,PgSelectSingle280,First286,PgSelectRows287,PgSelectSingle288,First294,PgSelectRows295,PgSelectSingle296,First302,PgSelectRows303,PgSelectSingle304,PgClassExpression398,List399,Lambda400,PgClassExpression401,List402,Lambda403,PgClassExpression404,List405,Lambda406,PgClassExpression407,List408,Lambda409,PgClassExpression410,List411,Lambda412,Access524,List525,Lambda526,Access528,List529,Lambda530,Access532,List533,Lambda534,Access536,List537,Lambda538,Access540,List541,Lambda542 bucket18 classDef bucket19 stroke:#7f007f class Bucket19,List414,Lambda415,List417,Lambda418,List420,Lambda421,List423,Lambda424,List426,Lambda427 bucket19 classDef bucket20 stroke:#ffa500 class Bucket20,List429,Lambda430,List432,Lambda433,List435,Lambda436,List438,Lambda439,List441,Lambda442 bucket20 classDef bucket21 stroke:#0000ff - class Bucket21,PgSelect126,First130,PgSelectRows131,PgSelectSingle132,PgClassExpression314,List315,Lambda316 bucket21 + class Bucket21 bucket21 classDef bucket22 stroke:#7fff00 - class Bucket22,PgSelect134,First138,PgSelectRows139,PgSelectSingle140,PgClassExpression318,List319,Lambda320 bucket22 + class Bucket22 bucket22 classDef bucket23 stroke:#ff1493 - class Bucket23,PgSelect142,First146,PgSelectRows147,PgSelectSingle148,PgClassExpression322,List323,Lambda324 bucket23 + class Bucket23 bucket23 classDef bucket24 stroke:#808000 - class Bucket24,PgSelect150,First154,PgSelectRows155,PgSelectSingle156,PgClassExpression326,List327,Lambda328 bucket24 - classDef bucket25 stroke:#dda0dd - class Bucket25,PgSelect158,First162,PgSelectRows163,PgSelectSingle164,PgClassExpression330,List331,Lambda332 bucket25 - classDef bucket26 stroke:#ff0000 - class Bucket26,PgSelect170,First174,PgSelectRows175,PgSelectSingle176,PgClassExpression333,List334,Lambda335 bucket26 - classDef bucket27 stroke:#ffff00 - class Bucket27,PgSelect178,First182,PgSelectRows183,PgSelectSingle184,PgClassExpression336,List337,Lambda338 bucket27 - classDef bucket28 stroke:#00ffff - class Bucket28,PgSelect186,First190,PgSelectRows191,PgSelectSingle192,PgClassExpression339,List340,Lambda341 bucket28 - classDef bucket29 stroke:#4169e1 - class Bucket29,PgSelect194,First198,PgSelectRows199,PgSelectSingle200,PgClassExpression342,List343,Lambda344 bucket29 - classDef bucket30 stroke:#3cb371 - class Bucket30,PgSelect202,First206,PgSelectRows207,PgSelectSingle208,PgClassExpression345,List346,Lambda347 bucket30 - classDef bucket31 stroke:#a52a2a - class Bucket31,PgSelect222,First226,PgSelectRows227,PgSelectSingle228,PgClassExpression383,List384,Lambda385 bucket31 - classDef bucket32 stroke:#ff00ff - class Bucket32,PgSelect230,First234,PgSelectRows235,PgSelectSingle236,PgClassExpression386,List387,Lambda388 bucket32 - classDef bucket33 stroke:#f5deb3 - class Bucket33,PgSelect238,First242,PgSelectRows243,PgSelectSingle244,PgClassExpression389,List390,Lambda391 bucket33 - classDef bucket34 stroke:#696969 - class Bucket34,PgSelect246,First250,PgSelectRows251,PgSelectSingle252,PgClassExpression392,List393,Lambda394 bucket34 - classDef bucket35 stroke:#00bfff - class Bucket35,PgSelect254,First258,PgSelectRows259,PgSelectSingle260,PgClassExpression395,List396,Lambda397 bucket35 - classDef bucket36 stroke:#7f007f - class Bucket36,PgSelect266,First270,PgSelectRows271,PgSelectSingle272,PgClassExpression398,List399,Lambda400 bucket36 - classDef bucket37 stroke:#ffa500 - class Bucket37,PgSelect274,First278,PgSelectRows279,PgSelectSingle280,PgClassExpression401,List402,Lambda403 bucket37 - classDef bucket38 stroke:#0000ff - class Bucket38,PgSelect282,First286,PgSelectRows287,PgSelectSingle288,PgClassExpression404,List405,Lambda406 bucket38 - classDef bucket39 stroke:#7fff00 - class Bucket39,PgSelect290,First294,PgSelectRows295,PgSelectSingle296,PgClassExpression407,List408,Lambda409 bucket39 - classDef bucket40 stroke:#ff1493 - class Bucket40,PgSelect298,First302,PgSelectRows303,PgSelectSingle304,PgClassExpression410,List411,Lambda412 bucket40 + class Bucket24 bucket24 diff --git a/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.sql b/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.sql index 1be469cf56..d468078579 100644 --- a/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.sql +++ b/postgraphile/postgraphile/__tests__/mutations/v4/polymorphic.relay.sql @@ -4,69 +4,161 @@ insert into "polymorphic"."relational_item_relations" as __relational_item_relat __relational_item_relations__."parent_id"::text as "2"; select - __relational_items__."id"::text as "0", - __relational_items__."type"::text as "1" + __relational_items__."type"::text as "0", + __relational_items__."id"::text as "1", + __relational_topics__."topic_item_id"::text as "2", + __relational_posts__."post_item_id"::text as "3", + __relational_dividers__."divider_item_id"::text as "4", + __relational_checklists__."checklist_item_id"::text as "5", + __relational_checklist_items__."checklist_item_item_id"::text as "6" from "polymorphic"."relational_items" as __relational_items__ +left outer join "polymorphic"."relational_topics" as __relational_topics__ +on ( +/* WHERE becoming ON */ ( + __relational_topics__."topic_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_posts" as __relational_posts__ +on ( +/* WHERE becoming ON */ ( + __relational_posts__."post_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_dividers" as __relational_dividers__ +on ( +/* WHERE becoming ON */ ( + __relational_dividers__."divider_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklists" as __relational_checklists__ +on ( +/* WHERE becoming ON */ ( + __relational_checklists__."checklist_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklist_items" as __relational_checklist_items__ +on ( +/* WHERE becoming ON */ ( + __relational_checklist_items__."checklist_item_item_id" = __relational_items__."id" +)) where ( __relational_items__."id" = $1::"int4" ); select - __relational_items__."id"::text as "0", - __relational_items__."type"::text as "1" + __relational_items__."type"::text as "0", + __relational_items__."id"::text as "1", + __relational_topics__."topic_item_id"::text as "2", + __relational_posts__."post_item_id"::text as "3", + __relational_dividers__."divider_item_id"::text as "4", + __relational_checklists__."checklist_item_id"::text as "5", + __relational_checklist_items__."checklist_item_item_id"::text as "6" from "polymorphic"."relational_items" as __relational_items__ +left outer join "polymorphic"."relational_topics" as __relational_topics__ +on ( +/* WHERE becoming ON */ ( + __relational_topics__."topic_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_posts" as __relational_posts__ +on ( +/* WHERE becoming ON */ ( + __relational_posts__."post_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_dividers" as __relational_dividers__ +on ( +/* WHERE becoming ON */ ( + __relational_dividers__."divider_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklists" as __relational_checklists__ +on ( +/* WHERE becoming ON */ ( + __relational_checklists__."checklist_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklist_items" as __relational_checklist_items__ +on ( +/* WHERE becoming ON */ ( + __relational_checklist_items__."checklist_item_item_id" = __relational_items__."id" +)) where ( __relational_items__."id" = $1::"int4" ); -select - __relational_topics__."topic_item_id"::text as "0" -from "polymorphic"."relational_topics" as __relational_topics__ -where ( - __relational_topics__."topic_item_id" = $1::"int4" -); - -select - __relational_topics__."topic_item_id"::text as "0" -from "polymorphic"."relational_topics" as __relational_topics__ -where ( - __relational_topics__."topic_item_id" = $1::"int4" -); - insert into "polymorphic"."relational_item_relation_composite_pks" as __relational_item_relation_composite_pks__ ("child_id", "parent_id") values ($1::"int4", $2::"int4") returning __relational_item_relation_composite_pks__."parent_id"::text as "0", __relational_item_relation_composite_pks__."child_id"::text as "1"; select - __relational_items__."id"::text as "0", - __relational_items__."type"::text as "1" + __relational_items__."type"::text as "0", + __relational_items__."id"::text as "1", + __relational_topics__."topic_item_id"::text as "2", + __relational_posts__."post_item_id"::text as "3", + __relational_dividers__."divider_item_id"::text as "4", + __relational_checklists__."checklist_item_id"::text as "5", + __relational_checklist_items__."checklist_item_item_id"::text as "6" from "polymorphic"."relational_items" as __relational_items__ +left outer join "polymorphic"."relational_topics" as __relational_topics__ +on ( +/* WHERE becoming ON */ ( + __relational_topics__."topic_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_posts" as __relational_posts__ +on ( +/* WHERE becoming ON */ ( + __relational_posts__."post_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_dividers" as __relational_dividers__ +on ( +/* WHERE becoming ON */ ( + __relational_dividers__."divider_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklists" as __relational_checklists__ +on ( +/* WHERE becoming ON */ ( + __relational_checklists__."checklist_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklist_items" as __relational_checklist_items__ +on ( +/* WHERE becoming ON */ ( + __relational_checklist_items__."checklist_item_item_id" = __relational_items__."id" +)) where ( __relational_items__."id" = $1::"int4" ); select - __relational_items__."id"::text as "0", - __relational_items__."type"::text as "1" + __relational_items__."type"::text as "0", + __relational_items__."id"::text as "1", + __relational_topics__."topic_item_id"::text as "2", + __relational_posts__."post_item_id"::text as "3", + __relational_dividers__."divider_item_id"::text as "4", + __relational_checklists__."checklist_item_id"::text as "5", + __relational_checklist_items__."checklist_item_item_id"::text as "6" from "polymorphic"."relational_items" as __relational_items__ +left outer join "polymorphic"."relational_topics" as __relational_topics__ +on ( +/* WHERE becoming ON */ ( + __relational_topics__."topic_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_posts" as __relational_posts__ +on ( +/* WHERE becoming ON */ ( + __relational_posts__."post_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_dividers" as __relational_dividers__ +on ( +/* WHERE becoming ON */ ( + __relational_dividers__."divider_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklists" as __relational_checklists__ +on ( +/* WHERE becoming ON */ ( + __relational_checklists__."checklist_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklist_items" as __relational_checklist_items__ +on ( +/* WHERE becoming ON */ ( + __relational_checklist_items__."checklist_item_item_id" = __relational_items__."id" +)) where ( __relational_items__."id" = $1::"int4" ); -select - __relational_topics__."topic_item_id"::text as "0" -from "polymorphic"."relational_topics" as __relational_topics__ -where ( - __relational_topics__."topic_item_id" = $1::"int4" -); - -select - __relational_topics__."topic_item_id"::text as "0" -from "polymorphic"."relational_topics" as __relational_topics__ -where ( - __relational_topics__."topic_item_id" = $1::"int4" -); - insert into "polymorphic"."single_table_item_relations" as __single_table_item_relations__ ("child_id", "parent_id") values ($1::"int4", $2::"int4") returning __single_table_item_relations__."id"::text as "0", __single_table_item_relations__."child_id"::text as "1", diff --git a/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.mermaid b/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.mermaid index 3650891cef..2ee94356bf 100644 --- a/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.mermaid +++ b/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.mermaid @@ -8,46 +8,30 @@ graph TD classDef bucket fill:#f6f6f6,color:#000,stroke-width:2px,text-align:left subgraph "Buckets for queries/polymorphic/relay.polyroot_with_related_poly" - Bucket0("Bucket 0 (root)"):::bucket - Bucket1("Bucket 1 (nullableBoundary)
Deps: 11, 12, 541, 135, 139, 143, 147, 151

ROOT Connectionᐸ8ᐳ[12]
1: PgSelect[35]
ᐳ: Access[542]
2: PgSelectRows[39]"):::bucket - Bucket2("Bucket 2 (nullableBoundary)
Deps: 11, 17, 155, 159, 163, 167, 171

ROOT Connectionᐸ15ᐳ[17]
1: PgSelect[36]
2: PgSelectRows[40]"):::bucket - Bucket3("Bucket 3 (nullableBoundary)
Deps: 11, 25, 24, 545, 549, 99, 135, 139, 143, 147, 151

ROOT Connectionᐸ22ᐳ[24]
1: PgSelect[37]
ᐳ: Access[546], Access[550]
2: PgSelectRows[41]"):::bucket - Bucket4("Bucket 4 (nullableBoundary)
Deps: 11, 33, 32, 553, 557, 103, 155, 159, 163, 167, 171

ROOT Connectionᐸ30ᐳ[32]
1: PgSelect[38]
ᐳ: Access[554], Access[558]
2: PgSelectRows[42]"):::bucket - Bucket5("Bucket 5 (listItem)
Deps: 542, 135, 139, 143, 147, 151

ROOT __Item{5}ᐸ39ᐳ[43]
1:
ᐳ: 44, 51, 53, 54, 543, 544
2: PgSelectRows[191]
ᐳ: 190, 192, 356, 358, 359"):::bucket - Bucket6("Bucket 6 (listItem)
Deps: 11, 155, 159, 163, 167, 171

ROOT __Item{6}ᐸ40ᐳ[45]"):::bucket - Bucket7("Bucket 7 (listItem)
Deps: 99, 546, 550, 135, 139, 143, 147, 151

ROOT __Item{7}ᐸ41ᐳ[47]"):::bucket - Bucket8("Bucket 8 (listItem)
Deps: 103, 554, 558, 11, 155, 159, 163, 167, 171

ROOT __Item{8}ᐸ42ᐳ[49]"):::bucket - Bucket9("Bucket 9 (nullableBoundary)
Deps: 48, 99, 546, 550, 135, 139, 143, 147, 151

ROOT PgSelectSingle{7}ᐸsingle_table_item_relationsᐳ[48]
1:
ᐳ: 100, 547, 551, 101, 102, 548, 552
2: PgSelectRows[113], PgSelectRows[127]
ᐳ: 112, 114, 126, 128, 260, 262, 263, 308, 310, 311"):::bucket - Bucket10("Bucket 10 (nullableBoundary)
Deps: 50, 103, 554, 558, 11, 155, 159, 163, 167, 171

ROOT PgSelectSingle{8}ᐸrelational_item_relationsᐳ[50]
1:
ᐳ: 104, 555, 559, 105, 106, 556, 560
2: PgSelectRows[121], PgSelectRows[133]
ᐳ: 120, 122, 132, 134, 264, 266, 267, 312, 314, 315"):::bucket - Bucket11("Bucket 11 (polymorphic)
__typename: Lambda[54]
Deps: 135, 51, 139, 143, 147, 151, 54, 356, 359, 44, 53, 192, 358"):::bucket - Bucket12("Bucket 12 (polymorphic)
__typename: Lambda[58]
Deps: 58, 11, 55, 155, 159, 163, 167, 171, 57"):::bucket - Bucket13("Bucket 13 (polymorphicPartition)
|RelationalTopic
Deps: 11, 55, 155, 159, 163, 167, 171, 57
ᐳRelationalTopic

1: PgSelect[60]
2: PgSelectRows[65]
ᐳ: 64, 66, 156, 157, 158
3: PgSelect[225]
4: PgSelectRows[230]
ᐳ: 229, 231, 360, 361"):::bucket - Bucket14("Bucket 14 (polymorphicPartition)
|RelationalPost
Deps: 11, 55, 159, 155, 163, 167, 171, 57
ᐳRelationalPost

1: PgSelect[68]
2: PgSelectRows[73]
ᐳ: 72, 74, 160, 161, 162
3: PgSelect[232]
4: PgSelectRows[237]
ᐳ: 236, 238, 362, 363"):::bucket - Bucket15("Bucket 15 (polymorphicPartition)
|RelationalDivider
Deps: 11, 55, 163, 155, 159, 167, 171, 57
ᐳRelationalDivider

1: PgSelect[76]
2: PgSelectRows[81]
ᐳ: 80, 82, 164, 165, 166
3: PgSelect[239]
4: PgSelectRows[244]
ᐳ: 243, 245, 364, 365"):::bucket - Bucket16("Bucket 16 (polymorphicPartition)
|RelationalChecklist
Deps: 11, 55, 167, 155, 159, 163, 171, 57
ᐳRelationalChecklist

1: PgSelect[84]
2: PgSelectRows[89]
ᐳ: 88, 90, 168, 169, 170
3: PgSelect[246]
4: PgSelectRows[251]
ᐳ: 250, 252, 366, 367"):::bucket - Bucket17("Bucket 17 (polymorphicPartition)
|RelationalChecklistItem
Deps: 11, 55, 171, 155, 159, 163, 167, 57
ᐳRelationalChecklistItem

1: PgSelect[92]
2: PgSelectRows[97]
ᐳ: 96, 98, 172, 173, 174
3: PgSelect[253]
4: PgSelectRows[258]
ᐳ: 257, 259, 368, 369"):::bucket - Bucket18("Bucket 18 (polymorphic)
__typename: Lambda[263]
Deps: 135, 260, 139, 143, 147, 151, 263, 114, 262"):::bucket - Bucket19("Bucket 19 (polymorphic)
__typename: Lambda[267]
Deps: 267, 11, 264, 155, 159, 163, 167, 171, 266"):::bucket - Bucket20("Bucket 20 (polymorphic)
__typename: Lambda[311]
Deps: 135, 308, 139, 143, 147, 151, 311, 128, 310"):::bucket - Bucket21("Bucket 21 (polymorphic)
__typename: Lambda[315]
Deps: 315, 11, 312, 155, 159, 163, 167, 171, 314"):::bucket - Bucket22("Bucket 22 (polymorphicPartition)
|RelationalTopic
Deps: 11, 264, 155, 266
ᐳRelationalTopic

1: PgSelect[269]
2: PgSelectRows[274]
ᐳ: 273, 275, 436, 437, 438"):::bucket - Bucket23("Bucket 23 (polymorphicPartition)
|RelationalPost
Deps: 11, 264, 159, 266
ᐳRelationalPost

1: PgSelect[277]
2: PgSelectRows[282]
ᐳ: 281, 283, 439, 440, 441"):::bucket - Bucket24("Bucket 24 (polymorphicPartition)
|RelationalDivider
Deps: 11, 264, 163, 266
ᐳRelationalDivider

1: PgSelect[285]
2: PgSelectRows[290]
ᐳ: 289, 291, 442, 443, 444"):::bucket - Bucket25("Bucket 25 (polymorphicPartition)
|RelationalChecklist
Deps: 11, 264, 167, 266
ᐳRelationalChecklist

1: PgSelect[293]
2: PgSelectRows[298]
ᐳ: 297, 299, 445, 446, 447"):::bucket - Bucket26("Bucket 26 (polymorphicPartition)
|RelationalChecklistItem
Deps: 11, 264, 171, 266
ᐳRelationalChecklistItem

1: PgSelect[301]
2: PgSelectRows[306]
ᐳ: 305, 307, 448, 449, 450"):::bucket - Bucket27("Bucket 27 (polymorphicPartition)
|RelationalTopic
Deps: 11, 312, 155, 314
ᐳRelationalTopic

1: PgSelect[317]
2: PgSelectRows[322]
ᐳ: 321, 323, 466, 467, 468"):::bucket - Bucket28("Bucket 28 (polymorphicPartition)
|RelationalPost
Deps: 11, 312, 159, 314
ᐳRelationalPost

1: PgSelect[325]
2: PgSelectRows[330]
ᐳ: 329, 331, 469, 470, 471"):::bucket - Bucket29("Bucket 29 (polymorphicPartition)
|RelationalDivider
Deps: 11, 312, 163, 314
ᐳRelationalDivider

1: PgSelect[333]
2: PgSelectRows[338]
ᐳ: 337, 339, 472, 473, 474"):::bucket - Bucket30("Bucket 30 (polymorphicPartition)
|RelationalChecklist
Deps: 11, 312, 167, 314
ᐳRelationalChecklist

1: PgSelect[341]
2: PgSelectRows[346]
ᐳ: 345, 347, 475, 476, 477"):::bucket - Bucket31("Bucket 31 (polymorphicPartition)
|RelationalChecklistItem
Deps: 11, 312, 171, 314
ᐳRelationalChecklistItem

1: PgSelect[349]
2: PgSelectRows[354]
ᐳ: 353, 355, 478, 479, 480"):::bucket - Bucket32("Bucket 32 (polymorphic)
__typename: Lambda[359]
Deps: 135, 356, 139, 143, 147, 151, 359, 192, 358"):::bucket - Bucket33("Bucket 33 (combined)
Deps: 11, 155, 159, 163, 167, 171

1:
ᐳ: Access[371]
2: PgSelect[372]
3: PgSelectRows[377]
ᐳ: 376, 378, 379, 380, 381"):::bucket - Bucket34("Bucket 34 (polymorphic)
__typename: Lambda[380]
Deps: 380, 11, 381, 155, 159, 163, 167, 171, 379"):::bucket - Bucket35("Bucket 35 (polymorphicPartition)
|RelationalTopic
Deps: 11, 381, 155, 379
(5) ...ᐳRelationalTopic

1: PgSelect[382]
2: PgSelectRows[387]
ᐳ: 386, 388, 516, 517, 518"):::bucket - Bucket36("Bucket 36 (polymorphicPartition)
|RelationalPost
Deps: 11, 381, 159, 379
(5) ...ᐳRelationalPost

1: PgSelect[390]
2: PgSelectRows[395]
ᐳ: 394, 396, 519, 520, 521"):::bucket - Bucket37("Bucket 37 (polymorphicPartition)
|RelationalDivider
Deps: 11, 381, 163, 379
(5) ...ᐳRelationalDivider

1: PgSelect[398]
2: PgSelectRows[403]
ᐳ: 402, 404, 522, 523, 524"):::bucket - Bucket38("Bucket 38 (polymorphicPartition)
|RelationalChecklist
Deps: 11, 381, 167, 379
(5) ...ᐳRelationalChecklist

1: PgSelect[406]
2: PgSelectRows[411]
ᐳ: 410, 412, 525, 526, 527"):::bucket - Bucket39("Bucket 39 (polymorphicPartition)
|RelationalChecklistItem
Deps: 11, 381, 171, 379
(5) ...ᐳRelationalChecklistItem

1: PgSelect[414]
2: PgSelectRows[419]
ᐳ: 418, 420, 528, 529, 530"):::bucket + Bucket0("Bucket 0 (root)

1: 531, 535, 539, 543, 547, 551, 555, 559, 563, 567, 571, 575, 579, 587, 591, 595, 599, 603
ᐳ: 6, 9, 10, 12, 17, 24, 32, 99, 103, 135, 139, 143, 147, 151, 155, 159, 163, 167, 171, 631, 632, 11, 19, 25, 27, 33
2: 583, 607"):::bucket + Bucket1("Bucket 1 (nullableBoundary)
Deps: 11, 12, 531, 135, 139, 143, 147, 151

ROOT Connectionᐸ8ᐳ[12]
1: PgSelect[35]
ᐳ: Access[532]
2: PgSelectRows[39]"):::bucket + Bucket2("Bucket 2 (nullableBoundary)
Deps: 11, 17, 535, 539, 543, 547, 551, 155, 159, 163, 167, 171

ROOT Connectionᐸ15ᐳ[17]
1: PgSelect[36]
2: PgSelectRows[40]"):::bucket + Bucket3("Bucket 3 (nullableBoundary)
Deps: 11, 25, 24, 555, 559, 99, 135, 139, 143, 147, 151

ROOT Connectionᐸ22ᐳ[24]
1: PgSelect[37]
ᐳ: Access[556], Access[560]
2: PgSelectRows[41]"):::bucket + Bucket4("Bucket 4 (nullableBoundary)
Deps: 11, 33, 32, 583, 607, 103, 155, 159, 163, 167, 171

ROOT Connectionᐸ30ᐳ[32]
1: PgSelect[38]
ᐳ: Access[584], Access[608]
2: PgSelectRows[42]"):::bucket + Bucket5("Bucket 5 (listItem)
Deps: 532, 135, 139, 143, 147, 151

ROOT __Item{5}ᐸ39ᐳ[43]
1:
ᐳ: 44, 51, 53, 54, 533, 534
2: PgSelectRows[191]
ᐳ: 190, 192, 346, 348, 349"):::bucket + Bucket6("Bucket 6 (listItem)
Deps: 155, 159, 163, 167, 171, 11, 36

ROOT __Item{6}ᐸ40ᐳ[45]"):::bucket + Bucket7("Bucket 7 (listItem)
Deps: 99, 556, 560, 135, 139, 143, 147, 151

ROOT __Item{7}ᐸ41ᐳ[47]"):::bucket + Bucket8("Bucket 8 (listItem)
Deps: 103, 584, 608, 155, 159, 163, 167, 171

ROOT __Item{8}ᐸ42ᐳ[49]"):::bucket + Bucket9("Bucket 9 (nullableBoundary)
Deps: 48, 99, 556, 560, 135, 139, 143, 147, 151

ROOT PgSelectSingle{7}ᐸsingle_table_item_relationsᐳ[48]
1:
ᐳ: 100, 557, 561, 101, 102, 558, 562
2: PgSelectRows[113], PgSelectRows[127]
ᐳ: 112, 114, 126, 128, 250, 252, 253, 298, 300, 301"):::bucket + Bucket10("Bucket 10 (nullableBoundary)
Deps: 50, 103, 584, 608, 155, 159, 163, 167, 171

ROOT PgSelectSingle{8}ᐸrelational_item_relationsᐳ[50]
1:
ᐳ: 104, 585, 609, 105, 106, 586, 610
2: PgSelectRows[121], PgSelectRows[133]
ᐳ: 120, 122, 132, 134, 256, 257, 304, 305"):::bucket + Bucket11("Bucket 11 (polymorphic)
__typename: Lambda[54]
Deps: 135, 51, 139, 143, 147, 151, 54, 346, 349, 44, 53, 192, 348"):::bucket + Bucket12("Bucket 12 (polymorphic)
__typename: Lambda[58]
Deps: 155, 159, 163, 167, 171, 11, 36, 46, 58, 57

1: 536, 540, 544, 548, 552
ᐳ: 537, 538, 541, 542, 545, 546, 549, 550, 553, 554
2: 65, 73, 81, 89, 97
ᐳ: 64, 66, 72, 74, 80, 82, 88, 90, 96, 98, 156, 157, 158, 160, 161, 162, 164, 165, 166, 168, 169, 170, 172, 173, 174
3: 225, 230, 235, 240, 245
4: 228, 233, 238, 243, 248
ᐳ: 227, 229, 232, 234, 237, 239, 242, 244, 247, 249, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359"):::bucket + Bucket13("Bucket 13 (polymorphicPartition)
|"):::bucket + Bucket14("Bucket 14 (polymorphic)
__typename: Lambda[253]
Deps: 135, 250, 139, 143, 147, 151, 253, 114, 252"):::bucket + Bucket15("Bucket 15 (polymorphic)
__typename: Lambda[257]
Deps: 155, 159, 163, 167, 171, 586, 122, 257, 256

1:
ᐳ: 564, 568, 572, 576, 580, 565, 566, 569, 570, 573, 574, 577, 578, 581, 582
2: 264, 272, 280, 288, 296
ᐳ: 263, 265, 271, 273, 279, 281, 287, 289, 295, 297, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440"):::bucket + Bucket16("Bucket 16 (polymorphic)
__typename: Lambda[301]
Deps: 135, 298, 139, 143, 147, 151, 301, 128, 300"):::bucket + Bucket17("Bucket 17 (polymorphic)
__typename: Lambda[305]
Deps: 155, 159, 163, 167, 171, 610, 134, 305, 304

1:
ᐳ: 588, 592, 596, 600, 604, 589, 590, 593, 594, 597, 598, 601, 602, 605, 606
2: 312, 320, 328, 336, 344
ᐳ: 311, 313, 319, 321, 327, 329, 335, 337, 343, 345, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470"):::bucket + Bucket18("Bucket 18 (polymorphicPartition)
|"):::bucket + Bucket19("Bucket 19 (polymorphicPartition)
|"):::bucket + Bucket20("Bucket 20 (polymorphic)
__typename: Lambda[349]
Deps: 135, 346, 139, 143, 147, 151, 349, 192, 348"):::bucket + Bucket21("Bucket 21 (combined)
Deps: 11, 155, 159, 163, 167, 171

1: 611, 615, 619, 623, 627
ᐳ: Access[361]
2: PgSelect[362]
3: PgSelectRows[367]
ᐳ: 366, 368, 369, 370"):::bucket + Bucket22("Bucket 22 (polymorphic)
__typename: Lambda[370]
Deps: 155, 159, 163, 167, 171, 362, 368, 370, 369

1:
ᐳ: 612, 616, 620, 624, 628, 613, 614, 617, 618, 621, 622, 625, 626, 629, 630
2: 377, 385, 393, 401, 409
ᐳ: 376, 378, 384, 386, 392, 394, 400, 402, 408, 410, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520"):::bucket + Bucket23("Bucket 23 (polymorphicPartition)
|"):::bucket end Bucket0 --> Bucket1 & Bucket2 & Bucket3 & Bucket4 Bucket1 --> Bucket5 @@ -58,27 +42,36 @@ graph TD Bucket6 --> Bucket12 Bucket7 --> Bucket9 Bucket8 --> Bucket10 - Bucket9 --> Bucket18 & Bucket20 - Bucket10 --> Bucket19 & Bucket21 - Bucket11 --> Bucket32 - Bucket12 --> Bucket13 & Bucket14 & Bucket15 & Bucket16 & Bucket17 - Bucket13 --> Bucket33 - Bucket14 --> Bucket33 - Bucket15 --> Bucket33 - Bucket16 --> Bucket33 - Bucket17 --> Bucket33 - Bucket19 --> Bucket22 & Bucket23 & Bucket24 & Bucket25 & Bucket26 - Bucket21 --> Bucket27 & Bucket28 & Bucket29 & Bucket30 & Bucket31 - Bucket33 --> Bucket34 - Bucket34 --> Bucket35 & Bucket36 & Bucket37 & Bucket38 & Bucket39 + Bucket9 --> Bucket14 & Bucket16 + Bucket10 --> Bucket15 & Bucket17 + Bucket11 --> Bucket20 + Bucket12 --> Bucket13 & Bucket21 + Bucket15 --> Bucket18 + Bucket17 --> Bucket19 + Bucket21 --> Bucket22 + Bucket22 --> Bucket23 %% plan dependencies - Object11{{"Object[11∈0] ➊
ᐸ{pgSettings,withPgClient}ᐳ
Dependents: 30"}}:::plan + PgSelectInlineApply583["PgSelectInlineApply[583∈0] ➊"]:::plan + PgSelectInlineApply563["PgSelectInlineApply[563∈0] ➊"]:::plan + PgSelectInlineApply567["PgSelectInlineApply[567∈0] ➊"]:::plan + PgSelectInlineApply571["PgSelectInlineApply[571∈0] ➊"]:::plan + PgSelectInlineApply575["PgSelectInlineApply[575∈0] ➊"]:::plan + PgSelectInlineApply579["PgSelectInlineApply[579∈0] ➊"]:::plan + PgSelectInlineApply563 & PgSelectInlineApply567 & PgSelectInlineApply571 & PgSelectInlineApply575 & PgSelectInlineApply579 --> PgSelectInlineApply583 + PgSelectInlineApply607["PgSelectInlineApply[607∈0] ➊"]:::plan + PgSelectInlineApply587["PgSelectInlineApply[587∈0] ➊"]:::plan + PgSelectInlineApply591["PgSelectInlineApply[591∈0] ➊"]:::plan + PgSelectInlineApply595["PgSelectInlineApply[595∈0] ➊"]:::plan + PgSelectInlineApply599["PgSelectInlineApply[599∈0] ➊"]:::plan + PgSelectInlineApply603["PgSelectInlineApply[603∈0] ➊"]:::plan + PgSelectInlineApply587 & PgSelectInlineApply591 & PgSelectInlineApply595 & PgSelectInlineApply599 & PgSelectInlineApply603 --> PgSelectInlineApply607 + Object11{{"Object[11∈0] ➊
ᐸ{pgSettings,withPgClient}ᐳ
Dependents: 10"}}:::plan Access9{{"Access[9∈0] ➊
ᐸ2.pgSettingsᐳ"}}:::plan Access10{{"Access[10∈0] ➊
ᐸ2.withPgClientᐳ"}}:::plan Access9 & Access10 --> Object11 - __InputObject19{{"__InputObject[19∈0] ➊
More deps:
- Constantᐸ'WyJTaW5nbGVUYWJsZURpdmlkZXIiLDNd'ᐳ[561]
- Constantᐸundefinedᐳ[6]"}}:::plan - __InputObject27{{"__InputObject[27∈0] ➊
More deps:
- Constantᐸ'WyJyZWxhdGlvbmFsX2NoZWNrbGlzdF9pdGVtcyIsMjFd'ᐳ[562]
- Constantᐸundefinedᐳ[6]"}}:::plan + __InputObject19{{"__InputObject[19∈0] ➊
More deps:
- Constantᐸ'WyJTaW5nbGVUYWJsZURpdmlkZXIiLDNd'ᐳ[631]
- Constantᐸundefinedᐳ[6]"}}:::plan + __InputObject27{{"__InputObject[27∈0] ➊
More deps:
- Constantᐸ'WyJyZWxhdGlvbmFsX2NoZWNrbGlzdF9pdGVtcyIsMjFd'ᐳ[632]
- Constantᐸundefinedᐳ[6]"}}:::plan __Value2["__Value[2∈0] ➊
ᐸcontextᐳ"]:::plan __Value2 --> Access9 __Value2 --> Access10 @@ -90,40 +83,43 @@ graph TD Connection17{{"Connection[17∈0] ➊
ᐸ15ᐳ"}}:::plan Connection24{{"Connection[24∈0] ➊
ᐸ22ᐳ"}}:::plan Connection32{{"Connection[32∈0] ➊
ᐸ30ᐳ"}}:::plan - PgSelectInlineApply541["PgSelectInlineApply[541∈0] ➊"]:::plan - PgSelectInlineApply545["PgSelectInlineApply[545∈0] ➊"]:::plan - PgSelectInlineApply549["PgSelectInlineApply[549∈0] ➊"]:::plan - PgSelectInlineApply553["PgSelectInlineApply[553∈0] ➊"]:::plan - PgSelectInlineApply557["PgSelectInlineApply[557∈0] ➊"]:::plan + PgSelectInlineApply531["PgSelectInlineApply[531∈0] ➊"]:::plan + PgSelectInlineApply535["PgSelectInlineApply[535∈0] ➊"]:::plan + PgSelectInlineApply539["PgSelectInlineApply[539∈0] ➊"]:::plan + PgSelectInlineApply543["PgSelectInlineApply[543∈0] ➊"]:::plan + PgSelectInlineApply547["PgSelectInlineApply[547∈0] ➊"]:::plan + PgSelectInlineApply551["PgSelectInlineApply[551∈0] ➊"]:::plan + PgSelectInlineApply555["PgSelectInlineApply[555∈0] ➊"]:::plan + PgSelectInlineApply559["PgSelectInlineApply[559∈0] ➊"]:::plan PgSelect35[["PgSelect[35∈1] ➊
ᐸsingle_table_itemsᐳ
More deps:
- Object[11]"]]:::plan - Connection12 & PgSelectInlineApply541 --> PgSelect35 + Connection12 & PgSelectInlineApply531 --> PgSelect35 PgSelectRows39[["PgSelectRows[39∈1] ➊"]]:::plan PgSelect35 --> PgSelectRows39 - Access542{{"Access[542∈1] ➊
ᐸ35.m.joinDetailsFor186ᐳ"}}:::plan - PgSelect35 --> Access542 + Access532{{"Access[532∈1] ➊
ᐸ35.m.joinDetailsFor186ᐳ"}}:::plan + PgSelect35 --> Access532 PgSelect36[["PgSelect[36∈2] ➊
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - Connection17 --> PgSelect36 + Connection17 & PgSelectInlineApply535 & PgSelectInlineApply539 & PgSelectInlineApply543 & PgSelectInlineApply547 & PgSelectInlineApply551 --> PgSelect36 PgSelectRows40[["PgSelectRows[40∈2] ➊"]]:::plan PgSelect36 --> PgSelectRows40 PgSelect37[["PgSelect[37∈3] ➊
ᐸsingle_table_item_relationsᐳ
More deps:
- Object[11]"]]:::plan - ApplyInput25 & Connection24 & PgSelectInlineApply545 & PgSelectInlineApply549 --> PgSelect37 + ApplyInput25 & Connection24 & PgSelectInlineApply555 & PgSelectInlineApply559 --> PgSelect37 PgSelectRows41[["PgSelectRows[41∈3] ➊"]]:::plan PgSelect37 --> PgSelectRows41 - Access546{{"Access[546∈3] ➊
ᐸ37.m.joinDetailsFor108ᐳ"}}:::plan - PgSelect37 --> Access546 - Access550{{"Access[550∈3] ➊
ᐸ37.m.joinDetailsFor124ᐳ"}}:::plan - PgSelect37 --> Access550 + Access556{{"Access[556∈3] ➊
ᐸ37.m.joinDetailsFor108ᐳ"}}:::plan + PgSelect37 --> Access556 + Access560{{"Access[560∈3] ➊
ᐸ37.m.joinDetailsFor124ᐳ"}}:::plan + PgSelect37 --> Access560 PgSelect38[["PgSelect[38∈4] ➊
ᐸrelational_item_relationsᐳ
More deps:
- Object[11]"]]:::plan - ApplyInput33 & Connection32 & PgSelectInlineApply553 & PgSelectInlineApply557 --> PgSelect38 + ApplyInput33 & Connection32 & PgSelectInlineApply583 & PgSelectInlineApply607 --> PgSelect38 PgSelectRows42[["PgSelectRows[42∈4] ➊"]]:::plan PgSelect38 --> PgSelectRows42 - Access554{{"Access[554∈4] ➊
ᐸ38.m.joinDetailsFor116ᐳ"}}:::plan - PgSelect38 --> Access554 - Access558{{"Access[558∈4] ➊
ᐸ38.m.joinDetailsFor130ᐳ"}}:::plan - PgSelect38 --> Access558 - List543{{"List[543∈5]
ᐸ542,44ᐳ"}}:::plan + Access584{{"Access[584∈4] ➊
ᐸ38.m.joinDetailsFor116ᐳ"}}:::plan + PgSelect38 --> Access584 + Access608{{"Access[608∈4] ➊
ᐸ38.m.joinDetailsFor130ᐳ"}}:::plan + PgSelect38 --> Access608 + List533{{"List[533∈5]
ᐸ532,44ᐳ"}}:::plan PgSelectSingle44{{"PgSelectSingle[44∈5]
ᐸsingle_table_itemsᐳ"}}:::plan - Access542 & PgSelectSingle44 --> List543 + Access532 & PgSelectSingle44 --> List533 __Item43[/"__Item[43∈5]
ᐸ39ᐳ"\]:::itemplan PgSelectRows39 ==> __Item43 __Item43 --> PgSelectSingle44 @@ -136,23 +132,21 @@ graph TD First190{{"First[190∈5]"}}:::plan PgSelectRows191[["PgSelectRows[191∈5]"]]:::plan PgSelectRows191 --> First190 - Lambda544{{"Lambda[544∈5]
ᐸpgInlineViaJoinTransformᐳ"}}:::plan - Lambda544 --> PgSelectRows191 + Lambda534{{"Lambda[534∈5]
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda534 --> PgSelectRows191 PgSelectSingle192{{"PgSelectSingle[192∈5]
ᐸsingle_table_itemsᐳ"}}:::plan First190 --> PgSelectSingle192 - PgClassExpression356{{"PgClassExpression[356∈5]
ᐸ__single_t...ems__.”id”ᐳ"}}:::plan - PgSelectSingle192 --> PgClassExpression356 - PgClassExpression358{{"PgClassExpression[358∈5]
ᐸ__single_t...s__.”type”ᐳ"}}:::plan - PgSelectSingle192 --> PgClassExpression358 - Lambda359{{"Lambda[359∈5]
ᐸSingleTableItem_typeNameFromTypeᐳ"}}:::plan - PgClassExpression358 --> Lambda359 - List543 --> Lambda544 + PgClassExpression346{{"PgClassExpression[346∈5]
ᐸ__single_t...ems__.”id”ᐳ"}}:::plan + PgSelectSingle192 --> PgClassExpression346 + PgClassExpression348{{"PgClassExpression[348∈5]
ᐸ__single_t...s__.”type”ᐳ"}}:::plan + PgSelectSingle192 --> PgClassExpression348 + Lambda349{{"Lambda[349∈5]
ᐸSingleTableItem_typeNameFromTypeᐳ"}}:::plan + PgClassExpression348 --> Lambda349 + List533 --> Lambda534 __Item45[/"__Item[45∈6]
ᐸ40ᐳ"\]:::itemplan PgSelectRows40 ==> __Item45 PgSelectSingle46{{"PgSelectSingle[46∈6]
ᐸrelational_itemsᐳ"}}:::plan __Item45 --> PgSelectSingle46 - PgClassExpression55{{"PgClassExpression[55∈6]
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle46 --> PgClassExpression55 PgClassExpression57{{"PgClassExpression[57∈6]
ᐸ__relation...s__.”type”ᐳ"}}:::plan PgSelectSingle46 --> PgClassExpression57 Lambda58{{"Lambda[58∈6]
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan @@ -168,79 +162,75 @@ graph TD List101{{"List[101∈9]
ᐸ99,100ᐳ
More deps:
- Constantᐸ'single_table_item_relations'ᐳ[99]"}}:::plan PgClassExpression100{{"PgClassExpression[100∈9]
ᐸ__single_t...ons__.”id”ᐳ"}}:::plan PgClassExpression100 --> List101 - List547{{"List[547∈9]
ᐸ546,48ᐳ"}}:::plan - Access546 & PgSelectSingle48 --> List547 - List551{{"List[551∈9]
ᐸ550,48ᐳ"}}:::plan - Access550 & PgSelectSingle48 --> List551 + List557{{"List[557∈9]
ᐸ556,48ᐳ"}}:::plan + Access556 & PgSelectSingle48 --> List557 + List561{{"List[561∈9]
ᐸ560,48ᐳ"}}:::plan + Access560 & PgSelectSingle48 --> List561 PgSelectSingle48 --> PgClassExpression100 Lambda102{{"Lambda[102∈9]
ᐸbase64JSONEncodeᐳ"}}:::plan List101 --> Lambda102 First112{{"First[112∈9]"}}:::plan PgSelectRows113[["PgSelectRows[113∈9]"]]:::plan PgSelectRows113 --> First112 - Lambda548{{"Lambda[548∈9]
ᐸpgInlineViaJoinTransformᐳ"}}:::plan - Lambda548 --> PgSelectRows113 + Lambda558{{"Lambda[558∈9]
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda558 --> PgSelectRows113 PgSelectSingle114{{"PgSelectSingle[114∈9]
ᐸsingle_table_itemsᐳ"}}:::plan First112 --> PgSelectSingle114 First126{{"First[126∈9]"}}:::plan PgSelectRows127[["PgSelectRows[127∈9]"]]:::plan PgSelectRows127 --> First126 - Lambda552{{"Lambda[552∈9]
ᐸpgInlineViaJoinTransformᐳ"}}:::plan - Lambda552 --> PgSelectRows127 + Lambda562{{"Lambda[562∈9]
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda562 --> PgSelectRows127 PgSelectSingle128{{"PgSelectSingle[128∈9]
ᐸsingle_table_itemsᐳ"}}:::plan First126 --> PgSelectSingle128 - PgClassExpression260{{"PgClassExpression[260∈9]
ᐸ__single_t...ems__.”id”ᐳ"}}:::plan - PgSelectSingle114 --> PgClassExpression260 - PgClassExpression262{{"PgClassExpression[262∈9]
ᐸ__single_t...s__.”type”ᐳ"}}:::plan - PgSelectSingle114 --> PgClassExpression262 - Lambda263{{"Lambda[263∈9]
ᐸSingleTableItem_typeNameFromTypeᐳ"}}:::plan - PgClassExpression262 --> Lambda263 - PgClassExpression308{{"PgClassExpression[308∈9]
ᐸ__single_t...ems__.”id”ᐳ"}}:::plan - PgSelectSingle128 --> PgClassExpression308 - PgClassExpression310{{"PgClassExpression[310∈9]
ᐸ__single_t...s__.”type”ᐳ"}}:::plan - PgSelectSingle128 --> PgClassExpression310 - Lambda311{{"Lambda[311∈9]
ᐸSingleTableItem_typeNameFromTypeᐳ"}}:::plan - PgClassExpression310 --> Lambda311 - List547 --> Lambda548 - List551 --> Lambda552 + PgClassExpression250{{"PgClassExpression[250∈9]
ᐸ__single_t...ems__.”id”ᐳ"}}:::plan + PgSelectSingle114 --> PgClassExpression250 + PgClassExpression252{{"PgClassExpression[252∈9]
ᐸ__single_t...s__.”type”ᐳ"}}:::plan + PgSelectSingle114 --> PgClassExpression252 + Lambda253{{"Lambda[253∈9]
ᐸSingleTableItem_typeNameFromTypeᐳ"}}:::plan + PgClassExpression252 --> Lambda253 + PgClassExpression298{{"PgClassExpression[298∈9]
ᐸ__single_t...ems__.”id”ᐳ"}}:::plan + PgSelectSingle128 --> PgClassExpression298 + PgClassExpression300{{"PgClassExpression[300∈9]
ᐸ__single_t...s__.”type”ᐳ"}}:::plan + PgSelectSingle128 --> PgClassExpression300 + Lambda301{{"Lambda[301∈9]
ᐸSingleTableItem_typeNameFromTypeᐳ"}}:::plan + PgClassExpression300 --> Lambda301 + List557 --> Lambda558 + List561 --> Lambda562 List105{{"List[105∈10]
ᐸ103,104ᐳ
More deps:
- Constantᐸ'relational_item_relations'ᐳ[103]"}}:::plan PgClassExpression104{{"PgClassExpression[104∈10]
ᐸ__relation...ons__.”id”ᐳ"}}:::plan PgClassExpression104 --> List105 - List555{{"List[555∈10]
ᐸ554,50ᐳ"}}:::plan - Access554 & PgSelectSingle50 --> List555 - List559{{"List[559∈10]
ᐸ558,50ᐳ"}}:::plan - Access558 & PgSelectSingle50 --> List559 + List585{{"List[585∈10]
ᐸ584,50ᐳ"}}:::plan + Access584 & PgSelectSingle50 --> List585 + List609{{"List[609∈10]
ᐸ608,50ᐳ"}}:::plan + Access608 & PgSelectSingle50 --> List609 PgSelectSingle50 --> PgClassExpression104 Lambda106{{"Lambda[106∈10]
ᐸbase64JSONEncodeᐳ"}}:::plan List105 --> Lambda106 First120{{"First[120∈10]"}}:::plan PgSelectRows121[["PgSelectRows[121∈10]"]]:::plan PgSelectRows121 --> First120 - Lambda556{{"Lambda[556∈10]
ᐸpgInlineViaJoinTransformᐳ"}}:::plan - Lambda556 --> PgSelectRows121 + Lambda586{{"Lambda[586∈10]
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda586 --> PgSelectRows121 PgSelectSingle122{{"PgSelectSingle[122∈10]
ᐸrelational_itemsᐳ"}}:::plan First120 --> PgSelectSingle122 First132{{"First[132∈10]"}}:::plan PgSelectRows133[["PgSelectRows[133∈10]"]]:::plan PgSelectRows133 --> First132 - Lambda560{{"Lambda[560∈10]
ᐸpgInlineViaJoinTransformᐳ"}}:::plan - Lambda560 --> PgSelectRows133 + Lambda610{{"Lambda[610∈10]
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda610 --> PgSelectRows133 PgSelectSingle134{{"PgSelectSingle[134∈10]
ᐸrelational_itemsᐳ"}}:::plan First132 --> PgSelectSingle134 - PgClassExpression264{{"PgClassExpression[264∈10]
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle122 --> PgClassExpression264 - PgClassExpression266{{"PgClassExpression[266∈10]
ᐸ__relation...s__.”type”ᐳ"}}:::plan - PgSelectSingle122 --> PgClassExpression266 - Lambda267{{"Lambda[267∈10]
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan - PgClassExpression266 --> Lambda267 - PgClassExpression312{{"PgClassExpression[312∈10]
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle134 --> PgClassExpression312 - PgClassExpression314{{"PgClassExpression[314∈10]
ᐸ__relation...s__.”type”ᐳ"}}:::plan - PgSelectSingle134 --> PgClassExpression314 - Lambda315{{"Lambda[315∈10]
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan - PgClassExpression314 --> Lambda315 - List555 --> Lambda556 - List559 --> Lambda560 + PgClassExpression256{{"PgClassExpression[256∈10]
ᐸ__relation...s__.”type”ᐳ"}}:::plan + PgSelectSingle122 --> PgClassExpression256 + Lambda257{{"Lambda[257∈10]
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan + PgClassExpression256 --> Lambda257 + PgClassExpression304{{"PgClassExpression[304∈10]
ᐸ__relation...s__.”type”ᐳ"}}:::plan + PgSelectSingle134 --> PgClassExpression304 + Lambda305{{"Lambda[305∈10]
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan + PgClassExpression304 --> Lambda305 + List585 --> Lambda586 + List609 --> Lambda610 List137{{"List[137∈11]
ᐸ135,51ᐳ
ᐳSingleTableTopic
More deps:
- Constantᐸ'SingleTableTopic'ᐳ[135]"}}:::plan PgClassExpression51 --> List137 List141{{"List[141∈11]
ᐸ139,51ᐳ
ᐳSingleTablePost
More deps:
- Constantᐸ'SingleTablePost'ᐳ[139]"}}:::plan @@ -261,508 +251,559 @@ graph TD List149 --> Lambda150 Lambda154{{"Lambda[154∈11]^
ᐸbase64JSONEncodeᐳ"}}:::plan List153 --> Lambda154 - PgSelect60[["PgSelect[60∈13]
ᐸrelational_topicsᐳ
ᐳRelationalTopic
More deps:
- Object[11]"]]:::plan - PgClassExpression55 --> PgSelect60 - List157{{"List[157∈13]^
ᐸ155,156ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[155]"}}:::plan - PgClassExpression156{{"PgClassExpression[156∈13]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan + List157{{"List[157∈12]^
ᐸ155,156ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[155]"}}:::plan + PgClassExpression156{{"PgClassExpression[156∈12]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan PgClassExpression156 --> List157 - PgSelect225[["PgSelect[225∈13]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + List161{{"List[161∈12]^
ᐸ159,160ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[159]"}}:::plan + PgClassExpression160{{"PgClassExpression[160∈12]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression160 --> List161 + List165{{"List[165∈12]^
ᐸ163,164ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[163]"}}:::plan + PgClassExpression164{{"PgClassExpression[164∈12]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan + PgClassExpression164 --> List165 + List169{{"List[169∈12]^
ᐸ167,168ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[167]"}}:::plan + PgClassExpression168{{"PgClassExpression[168∈12]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression168 --> List169 + List173{{"List[173∈12]^
ᐸ171,172ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[171]"}}:::plan + PgClassExpression172{{"PgClassExpression[172∈12]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan + PgClassExpression172 --> List173 + PgSelect225[["PgSelect[225∈12]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan PgClassExpression156 --> PgSelect225 - First64{{"First[64∈13]^"}}:::plan - PgSelectRows65[["PgSelectRows[65∈13]^"]]:::plan + PgSelect230[["PgSelect[230∈12]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + PgClassExpression160 --> PgSelect230 + PgSelect235[["PgSelect[235∈12]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + PgClassExpression164 --> PgSelect235 + PgSelect240[["PgSelect[240∈12]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + PgClassExpression168 --> PgSelect240 + PgSelect245[["PgSelect[245∈12]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + PgClassExpression172 --> PgSelect245 + List537{{"List[537∈12]^
ᐸ536,46ᐳ"}}:::plan + Access536{{"Access[536∈12] ➊
ᐸ36.m.joinDetailsFor60ᐳ
ᐳRelationalTopic"}}:::plan + Access536 & PgSelectSingle46 --> List537 + List541{{"List[541∈12]^
ᐸ540,46ᐳ"}}:::plan + Access540{{"Access[540∈12] ➊
ᐸ36.m.joinDetailsFor68ᐳ
ᐳRelationalPost"}}:::plan + Access540 & PgSelectSingle46 --> List541 + List545{{"List[545∈12]^
ᐸ544,46ᐳ"}}:::plan + Access544{{"Access[544∈12] ➊
ᐸ36.m.joinDetailsFor76ᐳ
ᐳRelationalDivider"}}:::plan + Access544 & PgSelectSingle46 --> List545 + List549{{"List[549∈12]^
ᐸ548,46ᐳ"}}:::plan + Access548{{"Access[548∈12] ➊
ᐸ36.m.joinDetailsFor84ᐳ
ᐳRelationalChecklist"}}:::plan + Access548 & PgSelectSingle46 --> List549 + List553{{"List[553∈12]^
ᐸ552,46ᐳ"}}:::plan + Access552{{"Access[552∈12] ➊
ᐸ36.m.joinDetailsFor92ᐳ
ᐳRelationalChecklistItem"}}:::plan + Access552 & PgSelectSingle46 --> List553 + First64{{"First[64∈12]^"}}:::plan + PgSelectRows65[["PgSelectRows[65∈12]^"]]:::plan PgSelectRows65 --> First64 - PgSelect60 --> PgSelectRows65 - PgSelectSingle66{{"PgSelectSingle[66∈13]^
ᐸrelational_topicsᐳ"}}:::plan + Lambda538{{"Lambda[538∈12]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda538 --> PgSelectRows65 + PgSelectSingle66{{"PgSelectSingle[66∈12]^
ᐸrelational_topicsᐳ"}}:::plan First64 --> PgSelectSingle66 - PgSelectSingle66 --> PgClassExpression156 - Lambda158{{"Lambda[158∈13]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List157 --> Lambda158 - First229{{"First[229∈13]^"}}:::plan - PgSelectRows230[["PgSelectRows[230∈13]^"]]:::plan - PgSelectRows230 --> First229 - PgSelect225 --> PgSelectRows230 - PgSelectSingle231{{"PgSelectSingle[231∈13]^
ᐸrelational_itemsᐳ"}}:::plan - First229 --> PgSelectSingle231 - PgClassExpression360{{"PgClassExpression[360∈13]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle231 --> PgClassExpression360 - Object361{{"Object[361∈13]^
ᐸ{id}ᐳ"}}:::plan - PgClassExpression360 --> Object361 - PgSelect68[["PgSelect[68∈14]
ᐸrelational_postsᐳ
ᐳRelationalPost
More deps:
- Object[11]"]]:::plan - PgClassExpression55 --> PgSelect68 - List161{{"List[161∈14]^
ᐸ159,160ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[159]"}}:::plan - PgClassExpression160{{"PgClassExpression[160∈14]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression160 --> List161 - PgSelect232[["PgSelect[232∈14]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - PgClassExpression160 --> PgSelect232 - First72{{"First[72∈14]^"}}:::plan - PgSelectRows73[["PgSelectRows[73∈14]^"]]:::plan + First72{{"First[72∈12]^"}}:::plan + PgSelectRows73[["PgSelectRows[73∈12]^"]]:::plan PgSelectRows73 --> First72 - PgSelect68 --> PgSelectRows73 - PgSelectSingle74{{"PgSelectSingle[74∈14]^
ᐸrelational_postsᐳ"}}:::plan + Lambda542{{"Lambda[542∈12]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda542 --> PgSelectRows73 + PgSelectSingle74{{"PgSelectSingle[74∈12]^
ᐸrelational_postsᐳ"}}:::plan First72 --> PgSelectSingle74 - PgSelectSingle74 --> PgClassExpression160 - Lambda162{{"Lambda[162∈14]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List161 --> Lambda162 - First236{{"First[236∈14]^"}}:::plan - PgSelectRows237[["PgSelectRows[237∈14]^"]]:::plan - PgSelectRows237 --> First236 - PgSelect232 --> PgSelectRows237 - PgSelectSingle238{{"PgSelectSingle[238∈14]^
ᐸrelational_itemsᐳ"}}:::plan - First236 --> PgSelectSingle238 - PgClassExpression362{{"PgClassExpression[362∈14]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle238 --> PgClassExpression362 - Object363{{"Object[363∈14]^
ᐸ{id}ᐳ"}}:::plan - PgClassExpression362 --> Object363 - PgSelect76[["PgSelect[76∈15]
ᐸrelational_dividersᐳ
ᐳRelationalDivider
More deps:
- Object[11]"]]:::plan - PgClassExpression55 --> PgSelect76 - List165{{"List[165∈15]^
ᐸ163,164ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[163]"}}:::plan - PgClassExpression164{{"PgClassExpression[164∈15]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan - PgClassExpression164 --> List165 - PgSelect239[["PgSelect[239∈15]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - PgClassExpression164 --> PgSelect239 - First80{{"First[80∈15]^"}}:::plan - PgSelectRows81[["PgSelectRows[81∈15]^"]]:::plan + First80{{"First[80∈12]^"}}:::plan + PgSelectRows81[["PgSelectRows[81∈12]^"]]:::plan PgSelectRows81 --> First80 - PgSelect76 --> PgSelectRows81 - PgSelectSingle82{{"PgSelectSingle[82∈15]^
ᐸrelational_dividersᐳ"}}:::plan + Lambda546{{"Lambda[546∈12]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda546 --> PgSelectRows81 + PgSelectSingle82{{"PgSelectSingle[82∈12]^
ᐸrelational_dividersᐳ"}}:::plan First80 --> PgSelectSingle82 - PgSelectSingle82 --> PgClassExpression164 - Lambda166{{"Lambda[166∈15]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List165 --> Lambda166 - First243{{"First[243∈15]^"}}:::plan - PgSelectRows244[["PgSelectRows[244∈15]^"]]:::plan - PgSelectRows244 --> First243 - PgSelect239 --> PgSelectRows244 - PgSelectSingle245{{"PgSelectSingle[245∈15]^
ᐸrelational_itemsᐳ"}}:::plan - First243 --> PgSelectSingle245 - PgClassExpression364{{"PgClassExpression[364∈15]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle245 --> PgClassExpression364 - Object365{{"Object[365∈15]^
ᐸ{id}ᐳ"}}:::plan - PgClassExpression364 --> Object365 - PgSelect84[["PgSelect[84∈16]
ᐸrelational_checklistsᐳ
ᐳRelationalChecklist
More deps:
- Object[11]"]]:::plan - PgClassExpression55 --> PgSelect84 - List169{{"List[169∈16]^
ᐸ167,168ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[167]"}}:::plan - PgClassExpression168{{"PgClassExpression[168∈16]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression168 --> List169 - PgSelect246[["PgSelect[246∈16]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - PgClassExpression168 --> PgSelect246 - First88{{"First[88∈16]^"}}:::plan - PgSelectRows89[["PgSelectRows[89∈16]^"]]:::plan + First88{{"First[88∈12]^"}}:::plan + PgSelectRows89[["PgSelectRows[89∈12]^"]]:::plan PgSelectRows89 --> First88 - PgSelect84 --> PgSelectRows89 - PgSelectSingle90{{"PgSelectSingle[90∈16]^
ᐸrelational_checklistsᐳ"}}:::plan + Lambda550{{"Lambda[550∈12]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda550 --> PgSelectRows89 + PgSelectSingle90{{"PgSelectSingle[90∈12]^
ᐸrelational_checklistsᐳ"}}:::plan First88 --> PgSelectSingle90 - PgSelectSingle90 --> PgClassExpression168 - Lambda170{{"Lambda[170∈16]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List169 --> Lambda170 - First250{{"First[250∈16]^"}}:::plan - PgSelectRows251[["PgSelectRows[251∈16]^"]]:::plan - PgSelectRows251 --> First250 - PgSelect246 --> PgSelectRows251 - PgSelectSingle252{{"PgSelectSingle[252∈16]^
ᐸrelational_itemsᐳ"}}:::plan - First250 --> PgSelectSingle252 - PgClassExpression366{{"PgClassExpression[366∈16]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle252 --> PgClassExpression366 - Object367{{"Object[367∈16]^
ᐸ{id}ᐳ"}}:::plan - PgClassExpression366 --> Object367 - PgSelect92[["PgSelect[92∈17]
ᐸrelational_checklist_itemsᐳ
ᐳRelationalChecklistItem
More deps:
- Object[11]"]]:::plan - PgClassExpression55 --> PgSelect92 - List173{{"List[173∈17]^
ᐸ171,172ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[171]"}}:::plan - PgClassExpression172{{"PgClassExpression[172∈17]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan - PgClassExpression172 --> List173 - PgSelect253[["PgSelect[253∈17]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - PgClassExpression172 --> PgSelect253 - First96{{"First[96∈17]^"}}:::plan - PgSelectRows97[["PgSelectRows[97∈17]^"]]:::plan + First96{{"First[96∈12]^"}}:::plan + PgSelectRows97[["PgSelectRows[97∈12]^"]]:::plan PgSelectRows97 --> First96 - PgSelect92 --> PgSelectRows97 - PgSelectSingle98{{"PgSelectSingle[98∈17]^
ᐸrelational_checklist_itemsᐳ"}}:::plan + Lambda554{{"Lambda[554∈12]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda554 --> PgSelectRows97 + PgSelectSingle98{{"PgSelectSingle[98∈12]^
ᐸrelational_checklist_itemsᐳ"}}:::plan First96 --> PgSelectSingle98 + PgSelectSingle66 --> PgClassExpression156 + Lambda158{{"Lambda[158∈12]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List157 --> Lambda158 + PgSelectSingle74 --> PgClassExpression160 + Lambda162{{"Lambda[162∈12]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List161 --> Lambda162 + PgSelectSingle82 --> PgClassExpression164 + Lambda166{{"Lambda[166∈12]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List165 --> Lambda166 + PgSelectSingle90 --> PgClassExpression168 + Lambda170{{"Lambda[170∈12]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List169 --> Lambda170 PgSelectSingle98 --> PgClassExpression172 - Lambda174{{"Lambda[174∈17]^
ᐸbase64JSONEncodeᐳ"}}:::plan + Lambda174{{"Lambda[174∈12]^
ᐸbase64JSONEncodeᐳ"}}:::plan List173 --> Lambda174 - First257{{"First[257∈17]^"}}:::plan - PgSelectRows258[["PgSelectRows[258∈17]^"]]:::plan - PgSelectRows258 --> First257 - PgSelect253 --> PgSelectRows258 - PgSelectSingle259{{"PgSelectSingle[259∈17]^
ᐸrelational_itemsᐳ"}}:::plan - First257 --> PgSelectSingle259 - PgClassExpression368{{"PgClassExpression[368∈17]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle259 --> PgClassExpression368 - Object369{{"Object[369∈17]^
ᐸ{id}ᐳ"}}:::plan - PgClassExpression368 --> Object369 - List422{{"List[422∈18]
ᐸ135,260ᐳ
ᐳSingleTableTopic
More deps:
- Constantᐸ'SingleTableTopic'ᐳ[135]"}}:::plan - PgClassExpression260 --> List422 - List425{{"List[425∈18]
ᐸ139,260ᐳ
ᐳSingleTablePost
More deps:
- Constantᐸ'SingleTablePost'ᐳ[139]"}}:::plan - PgClassExpression260 --> List425 - List428{{"List[428∈18]
ᐸ143,260ᐳ
ᐳSingleTableDivider
More deps:
- Constantᐸ'SingleTableDivider'ᐳ[143]"}}:::plan - PgClassExpression260 --> List428 - List431{{"List[431∈18]
ᐸ147,260ᐳ
ᐳSingleTableChecklist
More deps:
- Constantᐸ'SingleTableChecklist'ᐳ[147]"}}:::plan - PgClassExpression260 --> List431 - List434{{"List[434∈18]
ᐸ151,260ᐳ
ᐳSingleTableChecklistItem
More deps:
- Constantᐸ'SingleTableChecklistItem'ᐳ[151]"}}:::plan - PgClassExpression260 --> List434 - Lambda423{{"Lambda[423∈18]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List422 --> Lambda423 - Lambda426{{"Lambda[426∈18]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List425 --> Lambda426 - Lambda429{{"Lambda[429∈18]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List428 --> Lambda429 - Lambda432{{"Lambda[432∈18]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List431 --> Lambda432 - Lambda435{{"Lambda[435∈18]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List434 --> Lambda435 - List452{{"List[452∈20]
ᐸ135,308ᐳ
ᐳSingleTableTopic
More deps:
- Constantᐸ'SingleTableTopic'ᐳ[135]"}}:::plan - PgClassExpression308 --> List452 - List455{{"List[455∈20]
ᐸ139,308ᐳ
ᐳSingleTablePost
More deps:
- Constantᐸ'SingleTablePost'ᐳ[139]"}}:::plan - PgClassExpression308 --> List455 - List458{{"List[458∈20]
ᐸ143,308ᐳ
ᐳSingleTableDivider
More deps:
- Constantᐸ'SingleTableDivider'ᐳ[143]"}}:::plan - PgClassExpression308 --> List458 - List461{{"List[461∈20]
ᐸ147,308ᐳ
ᐳSingleTableChecklist
More deps:
- Constantᐸ'SingleTableChecklist'ᐳ[147]"}}:::plan - PgClassExpression308 --> List461 - List464{{"List[464∈20]
ᐸ151,308ᐳ
ᐳSingleTableChecklistItem
More deps:
- Constantᐸ'SingleTableChecklistItem'ᐳ[151]"}}:::plan - PgClassExpression308 --> List464 - Lambda453{{"Lambda[453∈20]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List452 --> Lambda453 - Lambda456{{"Lambda[456∈20]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List455 --> Lambda456 - Lambda459{{"Lambda[459∈20]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List458 --> Lambda459 - Lambda462{{"Lambda[462∈20]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List461 --> Lambda462 - Lambda465{{"Lambda[465∈20]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List464 --> Lambda465 - PgSelect269[["PgSelect[269∈22]
ᐸrelational_topicsᐳ
ᐳRelationalTopic
More deps:
- Object[11]"]]:::plan - PgClassExpression264 --> PgSelect269 - List437{{"List[437∈22]^
ᐸ155,436ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[155]"}}:::plan - PgClassExpression436{{"PgClassExpression[436∈22]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan - PgClassExpression436 --> List437 - First273{{"First[273∈22]^"}}:::plan - PgSelectRows274[["PgSelectRows[274∈22]^"]]:::plan - PgSelectRows274 --> First273 - PgSelect269 --> PgSelectRows274 - PgSelectSingle275{{"PgSelectSingle[275∈22]^
ᐸrelational_topicsᐳ"}}:::plan - First273 --> PgSelectSingle275 - PgSelectSingle275 --> PgClassExpression436 - Lambda438{{"Lambda[438∈22]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List437 --> Lambda438 - PgSelect277[["PgSelect[277∈23]
ᐸrelational_postsᐳ
ᐳRelationalPost
More deps:
- Object[11]"]]:::plan - PgClassExpression264 --> PgSelect277 - List440{{"List[440∈23]^
ᐸ159,439ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[159]"}}:::plan - PgClassExpression439{{"PgClassExpression[439∈23]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression439 --> List440 - First281{{"First[281∈23]^"}}:::plan - PgSelectRows282[["PgSelectRows[282∈23]^"]]:::plan - PgSelectRows282 --> First281 - PgSelect277 --> PgSelectRows282 - PgSelectSingle283{{"PgSelectSingle[283∈23]^
ᐸrelational_postsᐳ"}}:::plan - First281 --> PgSelectSingle283 - PgSelectSingle283 --> PgClassExpression439 - Lambda441{{"Lambda[441∈23]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List440 --> Lambda441 - PgSelect285[["PgSelect[285∈24]
ᐸrelational_dividersᐳ
ᐳRelationalDivider
More deps:
- Object[11]"]]:::plan - PgClassExpression264 --> PgSelect285 - List443{{"List[443∈24]^
ᐸ163,442ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[163]"}}:::plan - PgClassExpression442{{"PgClassExpression[442∈24]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan - PgClassExpression442 --> List443 - First289{{"First[289∈24]^"}}:::plan - PgSelectRows290[["PgSelectRows[290∈24]^"]]:::plan - PgSelectRows290 --> First289 - PgSelect285 --> PgSelectRows290 - PgSelectSingle291{{"PgSelectSingle[291∈24]^
ᐸrelational_dividersᐳ"}}:::plan - First289 --> PgSelectSingle291 - PgSelectSingle291 --> PgClassExpression442 - Lambda444{{"Lambda[444∈24]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List443 --> Lambda444 - PgSelect293[["PgSelect[293∈25]
ᐸrelational_checklistsᐳ
ᐳRelationalChecklist
More deps:
- Object[11]"]]:::plan - PgClassExpression264 --> PgSelect293 - List446{{"List[446∈25]^
ᐸ167,445ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[167]"}}:::plan - PgClassExpression445{{"PgClassExpression[445∈25]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression445 --> List446 - First297{{"First[297∈25]^"}}:::plan - PgSelectRows298[["PgSelectRows[298∈25]^"]]:::plan - PgSelectRows298 --> First297 - PgSelect293 --> PgSelectRows298 - PgSelectSingle299{{"PgSelectSingle[299∈25]^
ᐸrelational_checklistsᐳ"}}:::plan - First297 --> PgSelectSingle299 - PgSelectSingle299 --> PgClassExpression445 - Lambda447{{"Lambda[447∈25]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List446 --> Lambda447 - PgSelect301[["PgSelect[301∈26]
ᐸrelational_checklist_itemsᐳ
ᐳRelationalChecklistItem
More deps:
- Object[11]"]]:::plan - PgClassExpression264 --> PgSelect301 - List449{{"List[449∈26]^
ᐸ171,448ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[171]"}}:::plan - PgClassExpression448{{"PgClassExpression[448∈26]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan - PgClassExpression448 --> List449 - First305{{"First[305∈26]^"}}:::plan - PgSelectRows306[["PgSelectRows[306∈26]^"]]:::plan - PgSelectRows306 --> First305 - PgSelect301 --> PgSelectRows306 - PgSelectSingle307{{"PgSelectSingle[307∈26]^
ᐸrelational_checklist_itemsᐳ"}}:::plan - First305 --> PgSelectSingle307 - PgSelectSingle307 --> PgClassExpression448 - Lambda450{{"Lambda[450∈26]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List449 --> Lambda450 - PgSelect317[["PgSelect[317∈27]
ᐸrelational_topicsᐳ
ᐳRelationalTopic
More deps:
- Object[11]"]]:::plan - PgClassExpression312 --> PgSelect317 - List467{{"List[467∈27]^
ᐸ155,466ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[155]"}}:::plan - PgClassExpression466{{"PgClassExpression[466∈27]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan - PgClassExpression466 --> List467 - First321{{"First[321∈27]^"}}:::plan - PgSelectRows322[["PgSelectRows[322∈27]^"]]:::plan - PgSelectRows322 --> First321 - PgSelect317 --> PgSelectRows322 - PgSelectSingle323{{"PgSelectSingle[323∈27]^
ᐸrelational_topicsᐳ"}}:::plan - First321 --> PgSelectSingle323 - PgSelectSingle323 --> PgClassExpression466 - Lambda468{{"Lambda[468∈27]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List467 --> Lambda468 - PgSelect325[["PgSelect[325∈28]
ᐸrelational_postsᐳ
ᐳRelationalPost
More deps:
- Object[11]"]]:::plan - PgClassExpression312 --> PgSelect325 - List470{{"List[470∈28]^
ᐸ159,469ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[159]"}}:::plan - PgClassExpression469{{"PgClassExpression[469∈28]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression469 --> List470 - First329{{"First[329∈28]^"}}:::plan - PgSelectRows330[["PgSelectRows[330∈28]^"]]:::plan - PgSelectRows330 --> First329 - PgSelect325 --> PgSelectRows330 - PgSelectSingle331{{"PgSelectSingle[331∈28]^
ᐸrelational_postsᐳ"}}:::plan - First329 --> PgSelectSingle331 - PgSelectSingle331 --> PgClassExpression469 - Lambda471{{"Lambda[471∈28]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List470 --> Lambda471 - PgSelect333[["PgSelect[333∈29]
ᐸrelational_dividersᐳ
ᐳRelationalDivider
More deps:
- Object[11]"]]:::plan - PgClassExpression312 --> PgSelect333 - List473{{"List[473∈29]^
ᐸ163,472ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[163]"}}:::plan - PgClassExpression472{{"PgClassExpression[472∈29]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan - PgClassExpression472 --> List473 - First337{{"First[337∈29]^"}}:::plan - PgSelectRows338[["PgSelectRows[338∈29]^"]]:::plan - PgSelectRows338 --> First337 - PgSelect333 --> PgSelectRows338 - PgSelectSingle339{{"PgSelectSingle[339∈29]^
ᐸrelational_dividersᐳ"}}:::plan - First337 --> PgSelectSingle339 - PgSelectSingle339 --> PgClassExpression472 - Lambda474{{"Lambda[474∈29]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List473 --> Lambda474 - PgSelect341[["PgSelect[341∈30]
ᐸrelational_checklistsᐳ
ᐳRelationalChecklist
More deps:
- Object[11]"]]:::plan - PgClassExpression312 --> PgSelect341 - List476{{"List[476∈30]^
ᐸ167,475ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[167]"}}:::plan - PgClassExpression475{{"PgClassExpression[475∈30]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression475 --> List476 - First345{{"First[345∈30]^"}}:::plan - PgSelectRows346[["PgSelectRows[346∈30]^"]]:::plan - PgSelectRows346 --> First345 - PgSelect341 --> PgSelectRows346 - PgSelectSingle347{{"PgSelectSingle[347∈30]^
ᐸrelational_checklistsᐳ"}}:::plan - First345 --> PgSelectSingle347 - PgSelectSingle347 --> PgClassExpression475 - Lambda477{{"Lambda[477∈30]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List476 --> Lambda477 - PgSelect349[["PgSelect[349∈31]
ᐸrelational_checklist_itemsᐳ
ᐳRelationalChecklistItem
More deps:
- Object[11]"]]:::plan - PgClassExpression312 --> PgSelect349 - List479{{"List[479∈31]^
ᐸ171,478ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[171]"}}:::plan - PgClassExpression478{{"PgClassExpression[478∈31]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan - PgClassExpression478 --> List479 - First353{{"First[353∈31]^"}}:::plan - PgSelectRows354[["PgSelectRows[354∈31]^"]]:::plan - PgSelectRows354 --> First353 - PgSelect349 --> PgSelectRows354 - PgSelectSingle355{{"PgSelectSingle[355∈31]^
ᐸrelational_checklist_itemsᐳ"}}:::plan - First353 --> PgSelectSingle355 - PgSelectSingle355 --> PgClassExpression478 - Lambda480{{"Lambda[480∈31]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List479 --> Lambda480 - List502{{"List[502∈32]
ᐸ135,356ᐳ
(5) ...ᐳSingleTableTopic
More deps:
- Constantᐸ'SingleTableTopic'ᐳ[135]"}}:::plan - PgClassExpression356 --> List502 - List505{{"List[505∈32]
ᐸ139,356ᐳ
(5) ...ᐳSingleTablePost
More deps:
- Constantᐸ'SingleTablePost'ᐳ[139]"}}:::plan - PgClassExpression356 --> List505 - List508{{"List[508∈32]
ᐸ143,356ᐳ
(5) ...ᐳSingleTableDivider
More deps:
- Constantᐸ'SingleTableDivider'ᐳ[143]"}}:::plan - PgClassExpression356 --> List508 - List511{{"List[511∈32]
ᐸ147,356ᐳ
(5) ...ᐳSingleTableChecklist
More deps:
- Constantᐸ'SingleTableChecklist'ᐳ[147]"}}:::plan - PgClassExpression356 --> List511 - List514{{"List[514∈32]
ᐸ151,356ᐳ
(5) ...ᐳSingleTableChecklistItem
More deps:
- Constantᐸ'SingleTableChecklistItem'ᐳ[151]"}}:::plan - PgClassExpression356 --> List514 - Lambda503{{"Lambda[503∈32]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List502 --> Lambda503 - Lambda506{{"Lambda[506∈32]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List505 --> Lambda506 - Lambda509{{"Lambda[509∈32]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List508 --> Lambda509 - Lambda512{{"Lambda[512∈32]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List511 --> Lambda512 - Lambda515{{"Lambda[515∈32]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List514 --> Lambda515 - PgSelect372[["PgSelect[372∈33]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - Access371{{"Access[371∈33]^
ᐸ370.idᐳ"}}:::plan - Access371 --> PgSelect372 - __Value370:::plan@{shape: docs, label: "__Combined[370∈33]
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"} - __Value370 --> Access371 - First376{{"First[376∈33]^"}}:::plan - PgSelectRows377[["PgSelectRows[377∈33]^"]]:::plan + First227{{"First[227∈12]^"}}:::plan + PgSelectRows228[["PgSelectRows[228∈12]^"]]:::plan + PgSelectRows228 --> First227 + PgSelect225 --> PgSelectRows228 + PgSelectSingle229{{"PgSelectSingle[229∈12]^
ᐸrelational_itemsᐳ"}}:::plan + First227 --> PgSelectSingle229 + First232{{"First[232∈12]^"}}:::plan + PgSelectRows233[["PgSelectRows[233∈12]^"]]:::plan + PgSelectRows233 --> First232 + PgSelect230 --> PgSelectRows233 + PgSelectSingle234{{"PgSelectSingle[234∈12]^
ᐸrelational_itemsᐳ"}}:::plan + First232 --> PgSelectSingle234 + First237{{"First[237∈12]^"}}:::plan + PgSelectRows238[["PgSelectRows[238∈12]^"]]:::plan + PgSelectRows238 --> First237 + PgSelect235 --> PgSelectRows238 + PgSelectSingle239{{"PgSelectSingle[239∈12]^
ᐸrelational_itemsᐳ"}}:::plan + First237 --> PgSelectSingle239 + First242{{"First[242∈12]^"}}:::plan + PgSelectRows243[["PgSelectRows[243∈12]^"]]:::plan + PgSelectRows243 --> First242 + PgSelect240 --> PgSelectRows243 + PgSelectSingle244{{"PgSelectSingle[244∈12]^
ᐸrelational_itemsᐳ"}}:::plan + First242 --> PgSelectSingle244 + First247{{"First[247∈12]^"}}:::plan + PgSelectRows248[["PgSelectRows[248∈12]^"]]:::plan + PgSelectRows248 --> First247 + PgSelect245 --> PgSelectRows248 + PgSelectSingle249{{"PgSelectSingle[249∈12]^
ᐸrelational_itemsᐳ"}}:::plan + First247 --> PgSelectSingle249 + PgClassExpression350{{"PgClassExpression[350∈12]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan + PgSelectSingle229 --> PgClassExpression350 + Object351{{"Object[351∈12]^
ᐸ{id}ᐳ"}}:::plan + PgClassExpression350 --> Object351 + PgClassExpression352{{"PgClassExpression[352∈12]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan + PgSelectSingle234 --> PgClassExpression352 + Object353{{"Object[353∈12]^
ᐸ{id}ᐳ"}}:::plan + PgClassExpression352 --> Object353 + PgClassExpression354{{"PgClassExpression[354∈12]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan + PgSelectSingle239 --> PgClassExpression354 + Object355{{"Object[355∈12]^
ᐸ{id}ᐳ"}}:::plan + PgClassExpression354 --> Object355 + PgClassExpression356{{"PgClassExpression[356∈12]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan + PgSelectSingle244 --> PgClassExpression356 + Object357{{"Object[357∈12]^
ᐸ{id}ᐳ"}}:::plan + PgClassExpression356 --> Object357 + PgClassExpression358{{"PgClassExpression[358∈12]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan + PgSelectSingle249 --> PgClassExpression358 + Object359{{"Object[359∈12]^
ᐸ{id}ᐳ"}}:::plan + PgClassExpression358 --> Object359 + PgSelect36 --> Access536 + List537 --> Lambda538 + PgSelect36 --> Access540 + List541 --> Lambda542 + PgSelect36 --> Access544 + List545 --> Lambda546 + PgSelect36 --> Access548 + List549 --> Lambda550 + PgSelect36 --> Access552 + List553 --> Lambda554 + List412{{"List[412∈14]
ᐸ135,250ᐳ
ᐳSingleTableTopic
More deps:
- Constantᐸ'SingleTableTopic'ᐳ[135]"}}:::plan + PgClassExpression250 --> List412 + List415{{"List[415∈14]
ᐸ139,250ᐳ
ᐳSingleTablePost
More deps:
- Constantᐸ'SingleTablePost'ᐳ[139]"}}:::plan + PgClassExpression250 --> List415 + List418{{"List[418∈14]
ᐸ143,250ᐳ
ᐳSingleTableDivider
More deps:
- Constantᐸ'SingleTableDivider'ᐳ[143]"}}:::plan + PgClassExpression250 --> List418 + List421{{"List[421∈14]
ᐸ147,250ᐳ
ᐳSingleTableChecklist
More deps:
- Constantᐸ'SingleTableChecklist'ᐳ[147]"}}:::plan + PgClassExpression250 --> List421 + List424{{"List[424∈14]
ᐸ151,250ᐳ
ᐳSingleTableChecklistItem
More deps:
- Constantᐸ'SingleTableChecklistItem'ᐳ[151]"}}:::plan + PgClassExpression250 --> List424 + Lambda413{{"Lambda[413∈14]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List412 --> Lambda413 + Lambda416{{"Lambda[416∈14]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List415 --> Lambda416 + Lambda419{{"Lambda[419∈14]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List418 --> Lambda419 + Lambda422{{"Lambda[422∈14]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List421 --> Lambda422 + Lambda425{{"Lambda[425∈14]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List424 --> Lambda425 + List427{{"List[427∈15]^
ᐸ155,426ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[155]"}}:::plan + PgClassExpression426{{"PgClassExpression[426∈15]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan + PgClassExpression426 --> List427 + List430{{"List[430∈15]^
ᐸ159,429ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[159]"}}:::plan + PgClassExpression429{{"PgClassExpression[429∈15]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression429 --> List430 + List433{{"List[433∈15]^
ᐸ163,432ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[163]"}}:::plan + PgClassExpression432{{"PgClassExpression[432∈15]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan + PgClassExpression432 --> List433 + List436{{"List[436∈15]^
ᐸ167,435ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[167]"}}:::plan + PgClassExpression435{{"PgClassExpression[435∈15]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression435 --> List436 + List439{{"List[439∈15]^
ᐸ171,438ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[171]"}}:::plan + PgClassExpression438{{"PgClassExpression[438∈15]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan + PgClassExpression438 --> List439 + List565{{"List[565∈15]^
ᐸ564,122ᐳ"}}:::plan + Access564{{"Access[564∈15]
ᐸ586.m.joinDetailsFor259ᐳ
ᐳRelationalTopic"}}:::plan + Access564 & PgSelectSingle122 --> List565 + List569{{"List[569∈15]^
ᐸ568,122ᐳ"}}:::plan + Access568{{"Access[568∈15]
ᐸ586.m.joinDetailsFor267ᐳ
ᐳRelationalPost"}}:::plan + Access568 & PgSelectSingle122 --> List569 + List573{{"List[573∈15]^
ᐸ572,122ᐳ"}}:::plan + Access572{{"Access[572∈15]
ᐸ586.m.joinDetailsFor275ᐳ
ᐳRelationalDivider"}}:::plan + Access572 & PgSelectSingle122 --> List573 + List577{{"List[577∈15]^
ᐸ576,122ᐳ"}}:::plan + Access576{{"Access[576∈15]
ᐸ586.m.joinDetailsFor283ᐳ
ᐳRelationalChecklist"}}:::plan + Access576 & PgSelectSingle122 --> List577 + List581{{"List[581∈15]^
ᐸ580,122ᐳ"}}:::plan + Access580{{"Access[580∈15]
ᐸ586.m.joinDetailsFor291ᐳ
ᐳRelationalChecklistItem"}}:::plan + Access580 & PgSelectSingle122 --> List581 + First263{{"First[263∈15]^"}}:::plan + PgSelectRows264[["PgSelectRows[264∈15]^"]]:::plan + PgSelectRows264 --> First263 + Lambda566{{"Lambda[566∈15]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda566 --> PgSelectRows264 + PgSelectSingle265{{"PgSelectSingle[265∈15]^
ᐸrelational_topicsᐳ"}}:::plan + First263 --> PgSelectSingle265 + First271{{"First[271∈15]^"}}:::plan + PgSelectRows272[["PgSelectRows[272∈15]^"]]:::plan + PgSelectRows272 --> First271 + Lambda570{{"Lambda[570∈15]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda570 --> PgSelectRows272 + PgSelectSingle273{{"PgSelectSingle[273∈15]^
ᐸrelational_postsᐳ"}}:::plan + First271 --> PgSelectSingle273 + First279{{"First[279∈15]^"}}:::plan + PgSelectRows280[["PgSelectRows[280∈15]^"]]:::plan + PgSelectRows280 --> First279 + Lambda574{{"Lambda[574∈15]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda574 --> PgSelectRows280 + PgSelectSingle281{{"PgSelectSingle[281∈15]^
ᐸrelational_dividersᐳ"}}:::plan + First279 --> PgSelectSingle281 + First287{{"First[287∈15]^"}}:::plan + PgSelectRows288[["PgSelectRows[288∈15]^"]]:::plan + PgSelectRows288 --> First287 + Lambda578{{"Lambda[578∈15]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda578 --> PgSelectRows288 + PgSelectSingle289{{"PgSelectSingle[289∈15]^
ᐸrelational_checklistsᐳ"}}:::plan + First287 --> PgSelectSingle289 + First295{{"First[295∈15]^"}}:::plan + PgSelectRows296[["PgSelectRows[296∈15]^"]]:::plan + PgSelectRows296 --> First295 + Lambda582{{"Lambda[582∈15]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda582 --> PgSelectRows296 + PgSelectSingle297{{"PgSelectSingle[297∈15]^
ᐸrelational_checklist_itemsᐳ"}}:::plan + First295 --> PgSelectSingle297 + PgSelectSingle265 --> PgClassExpression426 + Lambda428{{"Lambda[428∈15]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List427 --> Lambda428 + PgSelectSingle273 --> PgClassExpression429 + Lambda431{{"Lambda[431∈15]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List430 --> Lambda431 + PgSelectSingle281 --> PgClassExpression432 + Lambda434{{"Lambda[434∈15]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List433 --> Lambda434 + PgSelectSingle289 --> PgClassExpression435 + Lambda437{{"Lambda[437∈15]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List436 --> Lambda437 + PgSelectSingle297 --> PgClassExpression438 + Lambda440{{"Lambda[440∈15]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List439 --> Lambda440 + Lambda586 --> Access564 + List565 --> Lambda566 + Lambda586 --> Access568 + List569 --> Lambda570 + Lambda586 --> Access572 + List573 --> Lambda574 + Lambda586 --> Access576 + List577 --> Lambda578 + Lambda586 --> Access580 + List581 --> Lambda582 + List442{{"List[442∈16]
ᐸ135,298ᐳ
ᐳSingleTableTopic
More deps:
- Constantᐸ'SingleTableTopic'ᐳ[135]"}}:::plan + PgClassExpression298 --> List442 + List445{{"List[445∈16]
ᐸ139,298ᐳ
ᐳSingleTablePost
More deps:
- Constantᐸ'SingleTablePost'ᐳ[139]"}}:::plan + PgClassExpression298 --> List445 + List448{{"List[448∈16]
ᐸ143,298ᐳ
ᐳSingleTableDivider
More deps:
- Constantᐸ'SingleTableDivider'ᐳ[143]"}}:::plan + PgClassExpression298 --> List448 + List451{{"List[451∈16]
ᐸ147,298ᐳ
ᐳSingleTableChecklist
More deps:
- Constantᐸ'SingleTableChecklist'ᐳ[147]"}}:::plan + PgClassExpression298 --> List451 + List454{{"List[454∈16]
ᐸ151,298ᐳ
ᐳSingleTableChecklistItem
More deps:
- Constantᐸ'SingleTableChecklistItem'ᐳ[151]"}}:::plan + PgClassExpression298 --> List454 + Lambda443{{"Lambda[443∈16]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List442 --> Lambda443 + Lambda446{{"Lambda[446∈16]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List445 --> Lambda446 + Lambda449{{"Lambda[449∈16]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List448 --> Lambda449 + Lambda452{{"Lambda[452∈16]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List451 --> Lambda452 + Lambda455{{"Lambda[455∈16]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List454 --> Lambda455 + List457{{"List[457∈17]^
ᐸ155,456ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[155]"}}:::plan + PgClassExpression456{{"PgClassExpression[456∈17]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan + PgClassExpression456 --> List457 + List460{{"List[460∈17]^
ᐸ159,459ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[159]"}}:::plan + PgClassExpression459{{"PgClassExpression[459∈17]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression459 --> List460 + List463{{"List[463∈17]^
ᐸ163,462ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[163]"}}:::plan + PgClassExpression462{{"PgClassExpression[462∈17]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan + PgClassExpression462 --> List463 + List466{{"List[466∈17]^
ᐸ167,465ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[167]"}}:::plan + PgClassExpression465{{"PgClassExpression[465∈17]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression465 --> List466 + List469{{"List[469∈17]^
ᐸ171,468ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[171]"}}:::plan + PgClassExpression468{{"PgClassExpression[468∈17]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan + PgClassExpression468 --> List469 + List589{{"List[589∈17]^
ᐸ588,134ᐳ"}}:::plan + Access588{{"Access[588∈17]
ᐸ610.m.joinDetailsFor307ᐳ
ᐳRelationalTopic"}}:::plan + Access588 & PgSelectSingle134 --> List589 + List593{{"List[593∈17]^
ᐸ592,134ᐳ"}}:::plan + Access592{{"Access[592∈17]
ᐸ610.m.joinDetailsFor315ᐳ
ᐳRelationalPost"}}:::plan + Access592 & PgSelectSingle134 --> List593 + List597{{"List[597∈17]^
ᐸ596,134ᐳ"}}:::plan + Access596{{"Access[596∈17]
ᐸ610.m.joinDetailsFor323ᐳ
ᐳRelationalDivider"}}:::plan + Access596 & PgSelectSingle134 --> List597 + List601{{"List[601∈17]^
ᐸ600,134ᐳ"}}:::plan + Access600{{"Access[600∈17]
ᐸ610.m.joinDetailsFor331ᐳ
ᐳRelationalChecklist"}}:::plan + Access600 & PgSelectSingle134 --> List601 + List605{{"List[605∈17]^
ᐸ604,134ᐳ"}}:::plan + Access604{{"Access[604∈17]
ᐸ610.m.joinDetailsFor339ᐳ
ᐳRelationalChecklistItem"}}:::plan + Access604 & PgSelectSingle134 --> List605 + First311{{"First[311∈17]^"}}:::plan + PgSelectRows312[["PgSelectRows[312∈17]^"]]:::plan + PgSelectRows312 --> First311 + Lambda590{{"Lambda[590∈17]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda590 --> PgSelectRows312 + PgSelectSingle313{{"PgSelectSingle[313∈17]^
ᐸrelational_topicsᐳ"}}:::plan + First311 --> PgSelectSingle313 + First319{{"First[319∈17]^"}}:::plan + PgSelectRows320[["PgSelectRows[320∈17]^"]]:::plan + PgSelectRows320 --> First319 + Lambda594{{"Lambda[594∈17]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda594 --> PgSelectRows320 + PgSelectSingle321{{"PgSelectSingle[321∈17]^
ᐸrelational_postsᐳ"}}:::plan + First319 --> PgSelectSingle321 + First327{{"First[327∈17]^"}}:::plan + PgSelectRows328[["PgSelectRows[328∈17]^"]]:::plan + PgSelectRows328 --> First327 + Lambda598{{"Lambda[598∈17]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda598 --> PgSelectRows328 + PgSelectSingle329{{"PgSelectSingle[329∈17]^
ᐸrelational_dividersᐳ"}}:::plan + First327 --> PgSelectSingle329 + First335{{"First[335∈17]^"}}:::plan + PgSelectRows336[["PgSelectRows[336∈17]^"]]:::plan + PgSelectRows336 --> First335 + Lambda602{{"Lambda[602∈17]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda602 --> PgSelectRows336 + PgSelectSingle337{{"PgSelectSingle[337∈17]^
ᐸrelational_checklistsᐳ"}}:::plan + First335 --> PgSelectSingle337 + First343{{"First[343∈17]^"}}:::plan + PgSelectRows344[["PgSelectRows[344∈17]^"]]:::plan + PgSelectRows344 --> First343 + Lambda606{{"Lambda[606∈17]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda606 --> PgSelectRows344 + PgSelectSingle345{{"PgSelectSingle[345∈17]^
ᐸrelational_checklist_itemsᐳ"}}:::plan + First343 --> PgSelectSingle345 + PgSelectSingle313 --> PgClassExpression456 + Lambda458{{"Lambda[458∈17]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List457 --> Lambda458 + PgSelectSingle321 --> PgClassExpression459 + Lambda461{{"Lambda[461∈17]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List460 --> Lambda461 + PgSelectSingle329 --> PgClassExpression462 + Lambda464{{"Lambda[464∈17]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List463 --> Lambda464 + PgSelectSingle337 --> PgClassExpression465 + Lambda467{{"Lambda[467∈17]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List466 --> Lambda467 + PgSelectSingle345 --> PgClassExpression468 + Lambda470{{"Lambda[470∈17]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List469 --> Lambda470 + Lambda610 --> Access588 + List589 --> Lambda590 + Lambda610 --> Access592 + List593 --> Lambda594 + Lambda610 --> Access596 + List597 --> Lambda598 + Lambda610 --> Access600 + List601 --> Lambda602 + Lambda610 --> Access604 + List605 --> Lambda606 + List492{{"List[492∈20]
ᐸ135,346ᐳ
(5) ...ᐳSingleTableTopic
More deps:
- Constantᐸ'SingleTableTopic'ᐳ[135]"}}:::plan + PgClassExpression346 --> List492 + List495{{"List[495∈20]
ᐸ139,346ᐳ
(5) ...ᐳSingleTablePost
More deps:
- Constantᐸ'SingleTablePost'ᐳ[139]"}}:::plan + PgClassExpression346 --> List495 + List498{{"List[498∈20]
ᐸ143,346ᐳ
(5) ...ᐳSingleTableDivider
More deps:
- Constantᐸ'SingleTableDivider'ᐳ[143]"}}:::plan + PgClassExpression346 --> List498 + List501{{"List[501∈20]
ᐸ147,346ᐳ
(5) ...ᐳSingleTableChecklist
More deps:
- Constantᐸ'SingleTableChecklist'ᐳ[147]"}}:::plan + PgClassExpression346 --> List501 + List504{{"List[504∈20]
ᐸ151,346ᐳ
(5) ...ᐳSingleTableChecklistItem
More deps:
- Constantᐸ'SingleTableChecklistItem'ᐳ[151]"}}:::plan + PgClassExpression346 --> List504 + Lambda493{{"Lambda[493∈20]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List492 --> Lambda493 + Lambda496{{"Lambda[496∈20]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List495 --> Lambda496 + Lambda499{{"Lambda[499∈20]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List498 --> Lambda499 + Lambda502{{"Lambda[502∈20]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List501 --> Lambda502 + Lambda505{{"Lambda[505∈20]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List504 --> Lambda505 + PgSelect362[["PgSelect[362∈21]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + Access361{{"Access[361∈21]^
ᐸ360.idᐳ"}}:::plan + PgSelectInlineApply611["PgSelectInlineApply[611∈21] ➊
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"]:::plan + PgSelectInlineApply615["PgSelectInlineApply[615∈21] ➊
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"]:::plan + PgSelectInlineApply619["PgSelectInlineApply[619∈21] ➊
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"]:::plan + PgSelectInlineApply623["PgSelectInlineApply[623∈21] ➊
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"]:::plan + PgSelectInlineApply627["PgSelectInlineApply[627∈21] ➊
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"]:::plan + Access361 & PgSelectInlineApply611 & PgSelectInlineApply615 & PgSelectInlineApply619 & PgSelectInlineApply623 & PgSelectInlineApply627 --> PgSelect362 + __Value360:::plan@{shape: docs, label: "__Combined[360∈21]
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"} + __Value360 --> Access361 + First366{{"First[366∈21]^"}}:::plan + PgSelectRows367[["PgSelectRows[367∈21]^"]]:::plan + PgSelectRows367 --> First366 + PgSelect362 --> PgSelectRows367 + PgSelectSingle368{{"PgSelectSingle[368∈21]^
ᐸrelational_itemsᐳ"}}:::plan + First366 --> PgSelectSingle368 + PgClassExpression369{{"PgClassExpression[369∈21]^
ᐸ__relation...s__.”type”ᐳ"}}:::plan + PgSelectSingle368 --> PgClassExpression369 + Lambda370{{"Lambda[370∈21]^
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan + PgClassExpression369 --> Lambda370 + List507{{"List[507∈22]^
ᐸ155,506ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[155]"}}:::plan + PgClassExpression506{{"PgClassExpression[506∈22]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan + PgClassExpression506 --> List507 + List510{{"List[510∈22]^
ᐸ159,509ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[159]"}}:::plan + PgClassExpression509{{"PgClassExpression[509∈22]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression509 --> List510 + List513{{"List[513∈22]^
ᐸ163,512ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[163]"}}:::plan + PgClassExpression512{{"PgClassExpression[512∈22]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan + PgClassExpression512 --> List513 + List516{{"List[516∈22]^
ᐸ167,515ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[167]"}}:::plan + PgClassExpression515{{"PgClassExpression[515∈22]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression515 --> List516 + List519{{"List[519∈22]^
ᐸ171,518ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[171]"}}:::plan + PgClassExpression518{{"PgClassExpression[518∈22]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan + PgClassExpression518 --> List519 + List613{{"List[613∈22]^
ᐸ612,368ᐳ"}}:::plan + Access612{{"Access[612∈22]
ᐸ362.m.joinDetailsFor372ᐳ
(5) ...ᐳRelationalTopic"}}:::plan + Access612 & PgSelectSingle368 --> List613 + List617{{"List[617∈22]^
ᐸ616,368ᐳ"}}:::plan + Access616{{"Access[616∈22]
ᐸ362.m.joinDetailsFor380ᐳ
(5) ...ᐳRelationalPost"}}:::plan + Access616 & PgSelectSingle368 --> List617 + List621{{"List[621∈22]^
ᐸ620,368ᐳ"}}:::plan + Access620{{"Access[620∈22]
ᐸ362.m.joinDetailsFor388ᐳ
(5) ...ᐳRelationalDivider"}}:::plan + Access620 & PgSelectSingle368 --> List621 + List625{{"List[625∈22]^
ᐸ624,368ᐳ"}}:::plan + Access624{{"Access[624∈22]
ᐸ362.m.joinDetailsFor396ᐳ
(5) ...ᐳRelationalChecklist"}}:::plan + Access624 & PgSelectSingle368 --> List625 + List629{{"List[629∈22]^
ᐸ628,368ᐳ"}}:::plan + Access628{{"Access[628∈22]
ᐸ362.m.joinDetailsFor404ᐳ
(5) ...ᐳRelationalChecklistItem"}}:::plan + Access628 & PgSelectSingle368 --> List629 + First376{{"First[376∈22]^"}}:::plan + PgSelectRows377[["PgSelectRows[377∈22]^"]]:::plan PgSelectRows377 --> First376 - PgSelect372 --> PgSelectRows377 - PgSelectSingle378{{"PgSelectSingle[378∈33]^
ᐸrelational_itemsᐳ"}}:::plan + Lambda614{{"Lambda[614∈22]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda614 --> PgSelectRows377 + PgSelectSingle378{{"PgSelectSingle[378∈22]^
ᐸrelational_topicsᐳ"}}:::plan First376 --> PgSelectSingle378 - PgClassExpression379{{"PgClassExpression[379∈33]^
ᐸ__relation...s__.”type”ᐳ"}}:::plan - PgSelectSingle378 --> PgClassExpression379 - Lambda380{{"Lambda[380∈33]^
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan - PgClassExpression379 --> Lambda380 - PgClassExpression381{{"PgClassExpression[381∈33]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle378 --> PgClassExpression381 - PgSelect382[["PgSelect[382∈35]
ᐸrelational_topicsᐳ
(5) ...ᐳRelationalTopic
More deps:
- Object[11]"]]:::plan - PgClassExpression381 --> PgSelect382 - List517{{"List[517∈35]^
ᐸ155,516ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[155]"}}:::plan - PgClassExpression516{{"PgClassExpression[516∈35]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan - PgClassExpression516 --> List517 - First386{{"First[386∈35]^"}}:::plan - PgSelectRows387[["PgSelectRows[387∈35]^"]]:::plan - PgSelectRows387 --> First386 - PgSelect382 --> PgSelectRows387 - PgSelectSingle388{{"PgSelectSingle[388∈35]^
ᐸrelational_topicsᐳ"}}:::plan - First386 --> PgSelectSingle388 - PgSelectSingle388 --> PgClassExpression516 - Lambda518{{"Lambda[518∈35]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List517 --> Lambda518 - PgSelect390[["PgSelect[390∈36]
ᐸrelational_postsᐳ
(5) ...ᐳRelationalPost
More deps:
- Object[11]"]]:::plan - PgClassExpression381 --> PgSelect390 - List520{{"List[520∈36]^
ᐸ159,519ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[159]"}}:::plan - PgClassExpression519{{"PgClassExpression[519∈36]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression519 --> List520 - First394{{"First[394∈36]^"}}:::plan - PgSelectRows395[["PgSelectRows[395∈36]^"]]:::plan - PgSelectRows395 --> First394 - PgSelect390 --> PgSelectRows395 - PgSelectSingle396{{"PgSelectSingle[396∈36]^
ᐸrelational_postsᐳ"}}:::plan - First394 --> PgSelectSingle396 - PgSelectSingle396 --> PgClassExpression519 - Lambda521{{"Lambda[521∈36]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List520 --> Lambda521 - PgSelect398[["PgSelect[398∈37]
ᐸrelational_dividersᐳ
(5) ...ᐳRelationalDivider
More deps:
- Object[11]"]]:::plan - PgClassExpression381 --> PgSelect398 - List523{{"List[523∈37]^
ᐸ163,522ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[163]"}}:::plan - PgClassExpression522{{"PgClassExpression[522∈37]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan - PgClassExpression522 --> List523 - First402{{"First[402∈37]^"}}:::plan - PgSelectRows403[["PgSelectRows[403∈37]^"]]:::plan - PgSelectRows403 --> First402 - PgSelect398 --> PgSelectRows403 - PgSelectSingle404{{"PgSelectSingle[404∈37]^
ᐸrelational_dividersᐳ"}}:::plan - First402 --> PgSelectSingle404 - PgSelectSingle404 --> PgClassExpression522 - Lambda524{{"Lambda[524∈37]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List523 --> Lambda524 - PgSelect406[["PgSelect[406∈38]
ᐸrelational_checklistsᐳ
(5) ...ᐳRelationalChecklist
More deps:
- Object[11]"]]:::plan - PgClassExpression381 --> PgSelect406 - List526{{"List[526∈38]^
ᐸ167,525ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[167]"}}:::plan - PgClassExpression525{{"PgClassExpression[525∈38]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression525 --> List526 - First410{{"First[410∈38]^"}}:::plan - PgSelectRows411[["PgSelectRows[411∈38]^"]]:::plan - PgSelectRows411 --> First410 - PgSelect406 --> PgSelectRows411 - PgSelectSingle412{{"PgSelectSingle[412∈38]^
ᐸrelational_checklistsᐳ"}}:::plan - First410 --> PgSelectSingle412 - PgSelectSingle412 --> PgClassExpression525 - Lambda527{{"Lambda[527∈38]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List526 --> Lambda527 - PgSelect414[["PgSelect[414∈39]
ᐸrelational_checklist_itemsᐳ
(5) ...ᐳRelationalChecklistItem
More deps:
- Object[11]"]]:::plan - PgClassExpression381 --> PgSelect414 - List529{{"List[529∈39]^
ᐸ171,528ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[171]"}}:::plan - PgClassExpression528{{"PgClassExpression[528∈39]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan - PgClassExpression528 --> List529 - First418{{"First[418∈39]^"}}:::plan - PgSelectRows419[["PgSelectRows[419∈39]^"]]:::plan - PgSelectRows419 --> First418 - PgSelect414 --> PgSelectRows419 - PgSelectSingle420{{"PgSelectSingle[420∈39]^
ᐸrelational_checklist_itemsᐳ"}}:::plan - First418 --> PgSelectSingle420 - PgSelectSingle420 --> PgClassExpression528 - Lambda530{{"Lambda[530∈39]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List529 --> Lambda530 + First384{{"First[384∈22]^"}}:::plan + PgSelectRows385[["PgSelectRows[385∈22]^"]]:::plan + PgSelectRows385 --> First384 + Lambda618{{"Lambda[618∈22]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda618 --> PgSelectRows385 + PgSelectSingle386{{"PgSelectSingle[386∈22]^
ᐸrelational_postsᐳ"}}:::plan + First384 --> PgSelectSingle386 + First392{{"First[392∈22]^"}}:::plan + PgSelectRows393[["PgSelectRows[393∈22]^"]]:::plan + PgSelectRows393 --> First392 + Lambda622{{"Lambda[622∈22]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda622 --> PgSelectRows393 + PgSelectSingle394{{"PgSelectSingle[394∈22]^
ᐸrelational_dividersᐳ"}}:::plan + First392 --> PgSelectSingle394 + First400{{"First[400∈22]^"}}:::plan + PgSelectRows401[["PgSelectRows[401∈22]^"]]:::plan + PgSelectRows401 --> First400 + Lambda626{{"Lambda[626∈22]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda626 --> PgSelectRows401 + PgSelectSingle402{{"PgSelectSingle[402∈22]^
ᐸrelational_checklistsᐳ"}}:::plan + First400 --> PgSelectSingle402 + First408{{"First[408∈22]^"}}:::plan + PgSelectRows409[["PgSelectRows[409∈22]^"]]:::plan + PgSelectRows409 --> First408 + Lambda630{{"Lambda[630∈22]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda630 --> PgSelectRows409 + PgSelectSingle410{{"PgSelectSingle[410∈22]^
ᐸrelational_checklist_itemsᐳ"}}:::plan + First408 --> PgSelectSingle410 + PgSelectSingle378 --> PgClassExpression506 + Lambda508{{"Lambda[508∈22]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List507 --> Lambda508 + PgSelectSingle386 --> PgClassExpression509 + Lambda511{{"Lambda[511∈22]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List510 --> Lambda511 + PgSelectSingle394 --> PgClassExpression512 + Lambda514{{"Lambda[514∈22]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List513 --> Lambda514 + PgSelectSingle402 --> PgClassExpression515 + Lambda517{{"Lambda[517∈22]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List516 --> Lambda517 + PgSelectSingle410 --> PgClassExpression518 + Lambda520{{"Lambda[520∈22]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List519 --> Lambda520 + PgSelect362 --> Access612 + List613 --> Lambda614 + PgSelect362 --> Access616 + List617 --> Lambda618 + PgSelect362 --> Access620 + List621 --> Lambda622 + PgSelect362 --> Access624 + List625 --> Lambda626 + PgSelect362 --> Access628 + List629 --> Lambda630 %% define steps classDef bucket0 stroke:#696969 - class Bucket0,__Value2,Access9,Access10,Object11,Connection12,Connection17,__InputObject19,Connection24,ApplyInput25,__InputObject27,Connection32,ApplyInput33,PgSelectInlineApply541,PgSelectInlineApply545,PgSelectInlineApply549,PgSelectInlineApply553,PgSelectInlineApply557 bucket0 + class Bucket0,__Value2,Access9,Access10,Object11,Connection12,Connection17,__InputObject19,Connection24,ApplyInput25,__InputObject27,Connection32,ApplyInput33,PgSelectInlineApply531,PgSelectInlineApply535,PgSelectInlineApply539,PgSelectInlineApply543,PgSelectInlineApply547,PgSelectInlineApply551,PgSelectInlineApply555,PgSelectInlineApply559,PgSelectInlineApply563,PgSelectInlineApply567,PgSelectInlineApply571,PgSelectInlineApply575,PgSelectInlineApply579,PgSelectInlineApply583,PgSelectInlineApply587,PgSelectInlineApply591,PgSelectInlineApply595,PgSelectInlineApply599,PgSelectInlineApply603,PgSelectInlineApply607 bucket0 classDef bucket1 stroke:#00bfff - class Bucket1,PgSelect35,PgSelectRows39,Access542 bucket1 + class Bucket1,PgSelect35,PgSelectRows39,Access532 bucket1 classDef bucket2 stroke:#7f007f class Bucket2,PgSelect36,PgSelectRows40 bucket2 classDef bucket3 stroke:#ffa500 - class Bucket3,PgSelect37,PgSelectRows41,Access546,Access550 bucket3 + class Bucket3,PgSelect37,PgSelectRows41,Access556,Access560 bucket3 classDef bucket4 stroke:#0000ff - class Bucket4,PgSelect38,PgSelectRows42,Access554,Access558 bucket4 + class Bucket4,PgSelect38,PgSelectRows42,Access584,Access608 bucket4 classDef bucket5 stroke:#7fff00 - class Bucket5,__Item43,PgSelectSingle44,PgClassExpression51,PgClassExpression53,Lambda54,First190,PgSelectRows191,PgSelectSingle192,PgClassExpression356,PgClassExpression358,Lambda359,List543,Lambda544 bucket5 + class Bucket5,__Item43,PgSelectSingle44,PgClassExpression51,PgClassExpression53,Lambda54,First190,PgSelectRows191,PgSelectSingle192,PgClassExpression346,PgClassExpression348,Lambda349,List533,Lambda534 bucket5 classDef bucket6 stroke:#ff1493 - class Bucket6,__Item45,PgSelectSingle46,PgClassExpression55,PgClassExpression57,Lambda58 bucket6 + class Bucket6,__Item45,PgSelectSingle46,PgClassExpression57,Lambda58 bucket6 classDef bucket7 stroke:#808000 class Bucket7,__Item47,PgSelectSingle48 bucket7 classDef bucket8 stroke:#dda0dd class Bucket8,__Item49,PgSelectSingle50 bucket8 classDef bucket9 stroke:#ff0000 - class Bucket9,PgClassExpression100,List101,Lambda102,First112,PgSelectRows113,PgSelectSingle114,First126,PgSelectRows127,PgSelectSingle128,PgClassExpression260,PgClassExpression262,Lambda263,PgClassExpression308,PgClassExpression310,Lambda311,List547,Lambda548,List551,Lambda552 bucket9 + class Bucket9,PgClassExpression100,List101,Lambda102,First112,PgSelectRows113,PgSelectSingle114,First126,PgSelectRows127,PgSelectSingle128,PgClassExpression250,PgClassExpression252,Lambda253,PgClassExpression298,PgClassExpression300,Lambda301,List557,Lambda558,List561,Lambda562 bucket9 classDef bucket10 stroke:#ffff00 - class Bucket10,PgClassExpression104,List105,Lambda106,First120,PgSelectRows121,PgSelectSingle122,First132,PgSelectRows133,PgSelectSingle134,PgClassExpression264,PgClassExpression266,Lambda267,PgClassExpression312,PgClassExpression314,Lambda315,List555,Lambda556,List559,Lambda560 bucket10 + class Bucket10,PgClassExpression104,List105,Lambda106,First120,PgSelectRows121,PgSelectSingle122,First132,PgSelectRows133,PgSelectSingle134,PgClassExpression256,Lambda257,PgClassExpression304,Lambda305,List585,Lambda586,List609,Lambda610 bucket10 classDef bucket11 stroke:#00ffff class Bucket11,List137,Lambda138,List141,Lambda142,List145,Lambda146,List149,Lambda150,List153,Lambda154 bucket11 classDef bucket12 stroke:#4169e1 - class Bucket12 bucket12 + class Bucket12,First64,PgSelectRows65,PgSelectSingle66,First72,PgSelectRows73,PgSelectSingle74,First80,PgSelectRows81,PgSelectSingle82,First88,PgSelectRows89,PgSelectSingle90,First96,PgSelectRows97,PgSelectSingle98,PgClassExpression156,List157,Lambda158,PgClassExpression160,List161,Lambda162,PgClassExpression164,List165,Lambda166,PgClassExpression168,List169,Lambda170,PgClassExpression172,List173,Lambda174,PgSelect225,First227,PgSelectRows228,PgSelectSingle229,PgSelect230,First232,PgSelectRows233,PgSelectSingle234,PgSelect235,First237,PgSelectRows238,PgSelectSingle239,PgSelect240,First242,PgSelectRows243,PgSelectSingle244,PgSelect245,First247,PgSelectRows248,PgSelectSingle249,PgClassExpression350,Object351,PgClassExpression352,Object353,PgClassExpression354,Object355,PgClassExpression356,Object357,PgClassExpression358,Object359,Access536,List537,Lambda538,Access540,List541,Lambda542,Access544,List545,Lambda546,Access548,List549,Lambda550,Access552,List553,Lambda554 bucket12 classDef bucket13 stroke:#3cb371 - class Bucket13,PgSelect60,First64,PgSelectRows65,PgSelectSingle66,PgClassExpression156,List157,Lambda158,PgSelect225,First229,PgSelectRows230,PgSelectSingle231,PgClassExpression360,Object361 bucket13 + class Bucket13 bucket13 classDef bucket14 stroke:#a52a2a - class Bucket14,PgSelect68,First72,PgSelectRows73,PgSelectSingle74,PgClassExpression160,List161,Lambda162,PgSelect232,First236,PgSelectRows237,PgSelectSingle238,PgClassExpression362,Object363 bucket14 + class Bucket14,List412,Lambda413,List415,Lambda416,List418,Lambda419,List421,Lambda422,List424,Lambda425 bucket14 classDef bucket15 stroke:#ff00ff - class Bucket15,PgSelect76,First80,PgSelectRows81,PgSelectSingle82,PgClassExpression164,List165,Lambda166,PgSelect239,First243,PgSelectRows244,PgSelectSingle245,PgClassExpression364,Object365 bucket15 + class Bucket15,First263,PgSelectRows264,PgSelectSingle265,First271,PgSelectRows272,PgSelectSingle273,First279,PgSelectRows280,PgSelectSingle281,First287,PgSelectRows288,PgSelectSingle289,First295,PgSelectRows296,PgSelectSingle297,PgClassExpression426,List427,Lambda428,PgClassExpression429,List430,Lambda431,PgClassExpression432,List433,Lambda434,PgClassExpression435,List436,Lambda437,PgClassExpression438,List439,Lambda440,Access564,List565,Lambda566,Access568,List569,Lambda570,Access572,List573,Lambda574,Access576,List577,Lambda578,Access580,List581,Lambda582 bucket15 classDef bucket16 stroke:#f5deb3 - class Bucket16,PgSelect84,First88,PgSelectRows89,PgSelectSingle90,PgClassExpression168,List169,Lambda170,PgSelect246,First250,PgSelectRows251,PgSelectSingle252,PgClassExpression366,Object367 bucket16 + class Bucket16,List442,Lambda443,List445,Lambda446,List448,Lambda449,List451,Lambda452,List454,Lambda455 bucket16 classDef bucket17 stroke:#696969 - class Bucket17,PgSelect92,First96,PgSelectRows97,PgSelectSingle98,PgClassExpression172,List173,Lambda174,PgSelect253,First257,PgSelectRows258,PgSelectSingle259,PgClassExpression368,Object369 bucket17 + class Bucket17,First311,PgSelectRows312,PgSelectSingle313,First319,PgSelectRows320,PgSelectSingle321,First327,PgSelectRows328,PgSelectSingle329,First335,PgSelectRows336,PgSelectSingle337,First343,PgSelectRows344,PgSelectSingle345,PgClassExpression456,List457,Lambda458,PgClassExpression459,List460,Lambda461,PgClassExpression462,List463,Lambda464,PgClassExpression465,List466,Lambda467,PgClassExpression468,List469,Lambda470,Access588,List589,Lambda590,Access592,List593,Lambda594,Access596,List597,Lambda598,Access600,List601,Lambda602,Access604,List605,Lambda606 bucket17 classDef bucket18 stroke:#00bfff - class Bucket18,List422,Lambda423,List425,Lambda426,List428,Lambda429,List431,Lambda432,List434,Lambda435 bucket18 + class Bucket18 bucket18 classDef bucket19 stroke:#7f007f class Bucket19 bucket19 classDef bucket20 stroke:#ffa500 - class Bucket20,List452,Lambda453,List455,Lambda456,List458,Lambda459,List461,Lambda462,List464,Lambda465 bucket20 + class Bucket20,List492,Lambda493,List495,Lambda496,List498,Lambda499,List501,Lambda502,List504,Lambda505 bucket20 classDef bucket21 stroke:#0000ff - class Bucket21 bucket21 + class Bucket21,__Value360,Access361,PgSelect362,First366,PgSelectRows367,PgSelectSingle368,PgClassExpression369,Lambda370,PgSelectInlineApply611,PgSelectInlineApply615,PgSelectInlineApply619,PgSelectInlineApply623,PgSelectInlineApply627 bucket21 classDef bucket22 stroke:#7fff00 - class Bucket22,PgSelect269,First273,PgSelectRows274,PgSelectSingle275,PgClassExpression436,List437,Lambda438 bucket22 + class Bucket22,First376,PgSelectRows377,PgSelectSingle378,First384,PgSelectRows385,PgSelectSingle386,First392,PgSelectRows393,PgSelectSingle394,First400,PgSelectRows401,PgSelectSingle402,First408,PgSelectRows409,PgSelectSingle410,PgClassExpression506,List507,Lambda508,PgClassExpression509,List510,Lambda511,PgClassExpression512,List513,Lambda514,PgClassExpression515,List516,Lambda517,PgClassExpression518,List519,Lambda520,Access612,List613,Lambda614,Access616,List617,Lambda618,Access620,List621,Lambda622,Access624,List625,Lambda626,Access628,List629,Lambda630 bucket22 classDef bucket23 stroke:#ff1493 - class Bucket23,PgSelect277,First281,PgSelectRows282,PgSelectSingle283,PgClassExpression439,List440,Lambda441 bucket23 - classDef bucket24 stroke:#808000 - class Bucket24,PgSelect285,First289,PgSelectRows290,PgSelectSingle291,PgClassExpression442,List443,Lambda444 bucket24 - classDef bucket25 stroke:#dda0dd - class Bucket25,PgSelect293,First297,PgSelectRows298,PgSelectSingle299,PgClassExpression445,List446,Lambda447 bucket25 - classDef bucket26 stroke:#ff0000 - class Bucket26,PgSelect301,First305,PgSelectRows306,PgSelectSingle307,PgClassExpression448,List449,Lambda450 bucket26 - classDef bucket27 stroke:#ffff00 - class Bucket27,PgSelect317,First321,PgSelectRows322,PgSelectSingle323,PgClassExpression466,List467,Lambda468 bucket27 - classDef bucket28 stroke:#00ffff - class Bucket28,PgSelect325,First329,PgSelectRows330,PgSelectSingle331,PgClassExpression469,List470,Lambda471 bucket28 - classDef bucket29 stroke:#4169e1 - class Bucket29,PgSelect333,First337,PgSelectRows338,PgSelectSingle339,PgClassExpression472,List473,Lambda474 bucket29 - classDef bucket30 stroke:#3cb371 - class Bucket30,PgSelect341,First345,PgSelectRows346,PgSelectSingle347,PgClassExpression475,List476,Lambda477 bucket30 - classDef bucket31 stroke:#a52a2a - class Bucket31,PgSelect349,First353,PgSelectRows354,PgSelectSingle355,PgClassExpression478,List479,Lambda480 bucket31 - classDef bucket32 stroke:#ff00ff - class Bucket32,List502,Lambda503,List505,Lambda506,List508,Lambda509,List511,Lambda512,List514,Lambda515 bucket32 - classDef bucket33 stroke:#f5deb3 - class Bucket33,__Value370,Access371,PgSelect372,First376,PgSelectRows377,PgSelectSingle378,PgClassExpression379,Lambda380,PgClassExpression381 bucket33 - classDef bucket34 stroke:#696969 - class Bucket34 bucket34 - classDef bucket35 stroke:#00bfff - class Bucket35,PgSelect382,First386,PgSelectRows387,PgSelectSingle388,PgClassExpression516,List517,Lambda518 bucket35 - classDef bucket36 stroke:#7f007f - class Bucket36,PgSelect390,First394,PgSelectRows395,PgSelectSingle396,PgClassExpression519,List520,Lambda521 bucket36 - classDef bucket37 stroke:#ffa500 - class Bucket37,PgSelect398,First402,PgSelectRows403,PgSelectSingle404,PgClassExpression522,List523,Lambda524 bucket37 - classDef bucket38 stroke:#0000ff - class Bucket38,PgSelect406,First410,PgSelectRows411,PgSelectSingle412,PgClassExpression525,List526,Lambda527 bucket38 - classDef bucket39 stroke:#7fff00 - class Bucket39,PgSelect414,First418,PgSelectRows419,PgSelectSingle420,PgClassExpression528,List529,Lambda530 bucket39 + class Bucket23 bucket23 - Object361 -.-x __Value370 - Object363 -.-x __Value370 - Object365 -.-x __Value370 - Object367 -.-x __Value370 - Object369 -.-x __Value370 + Object351 -.-x __Value360 + Object353 -.-x __Value360 + Object355 -.-x __Value360 + Object357 -.-x __Value360 + Object359 -.-x __Value360 diff --git a/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.simple.mermaid b/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.simple.mermaid index b5a6d4a0bc..c82e67b851 100644 --- a/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.simple.mermaid +++ b/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.simple.mermaid @@ -9,36 +9,23 @@ graph TD subgraph "Buckets for queries/polymorphic/relay.polyroot_with_related_poly.simple" Bucket0("Bucket 0 (root)"):::bucket - Bucket1("Bucket 1 (nullableBoundary)
Deps: 11, 12, 62, 66, 70, 74, 78

ROOT Connectionᐸ8ᐳ[12]
1: PgSelect[14]
2: PgSelectRows[15]"):::bucket - Bucket2("Bucket 2 (listItem)
Deps: 11, 62, 66, 70, 74, 78

ROOT __Item{2}ᐸ15ᐳ[16]"):::bucket - Bucket3("Bucket 3 (polymorphic)
__typename: Lambda[21]
Deps: 21, 11, 18, 62, 66, 70, 74, 78, 20"):::bucket - Bucket4("Bucket 4 (polymorphicPartition)
|RelationalTopic
Deps: 11, 18, 62, 66, 70, 74, 78, 20
ᐳRelationalTopic

1: PgSelect[23]
2: PgSelectRows[28]
ᐳ: 27, 29, 63, 64, 65
3: PgSelect[87]
4: PgSelectRows[92]
ᐳ: 91, 93, 122, 123"):::bucket - Bucket5("Bucket 5 (polymorphicPartition)
|RelationalPost
Deps: 11, 18, 66, 62, 70, 74, 78, 20
ᐳRelationalPost

1: PgSelect[31]
2: PgSelectRows[36]
ᐳ: 35, 37, 67, 68, 69
3: PgSelect[94]
4: PgSelectRows[99]
ᐳ: 98, 100, 124, 125"):::bucket - Bucket6("Bucket 6 (polymorphicPartition)
|RelationalDivider
Deps: 11, 18, 70, 62, 66, 74, 78, 20
ᐳRelationalDivider

1: PgSelect[39]
2: PgSelectRows[44]
ᐳ: 43, 45, 71, 72, 73
3: PgSelect[101]
4: PgSelectRows[106]
ᐳ: 105, 107, 126, 127"):::bucket - Bucket7("Bucket 7 (polymorphicPartition)
|RelationalChecklist
Deps: 11, 18, 74, 62, 66, 70, 78, 20
ᐳRelationalChecklist

1: PgSelect[47]
2: PgSelectRows[52]
ᐳ: 51, 53, 75, 76, 77
3: PgSelect[108]
4: PgSelectRows[113]
ᐳ: 112, 114, 128, 129"):::bucket - Bucket8("Bucket 8 (polymorphicPartition)
|RelationalChecklistItem
Deps: 11, 18, 78, 62, 66, 70, 74, 20
ᐳRelationalChecklistItem

1: PgSelect[55]
2: PgSelectRows[60]
ᐳ: 59, 61, 79, 80, 81
3: PgSelect[115]
4: PgSelectRows[120]
ᐳ: 119, 121, 130, 131"):::bucket - Bucket9("Bucket 9 (combined)
Deps: 11, 62, 66, 70, 74, 78

1:
ᐳ: Access[133]
2: PgSelect[134]
3: PgSelectRows[139]
ᐳ: 138, 140, 141, 142, 143"):::bucket - Bucket10("Bucket 10 (polymorphic)
__typename: Lambda[142]
Deps: 142, 11, 143, 62, 66, 70, 74, 78, 141"):::bucket - Bucket11("Bucket 11 (polymorphicPartition)
|RelationalTopic
Deps: 11, 143, 62, 141
(5) ...ᐳRelationalTopic

1: PgSelect[144]
2: PgSelectRows[149]
ᐳ: 148, 150, 183, 184, 185"):::bucket - Bucket12("Bucket 12 (polymorphicPartition)
|RelationalPost
Deps: 11, 143, 66, 141
(5) ...ᐳRelationalPost

1: PgSelect[152]
2: PgSelectRows[157]
ᐳ: 156, 158, 186, 187, 188"):::bucket - Bucket13("Bucket 13 (polymorphicPartition)
|RelationalDivider
Deps: 11, 143, 70, 141
(5) ...ᐳRelationalDivider

1: PgSelect[160]
2: PgSelectRows[165]
ᐳ: 164, 166, 189, 190, 191"):::bucket - Bucket14("Bucket 14 (polymorphicPartition)
|RelationalChecklist
Deps: 11, 143, 74, 141
(5) ...ᐳRelationalChecklist

1: PgSelect[168]
2: PgSelectRows[173]
ᐳ: 172, 174, 192, 193, 194"):::bucket - Bucket15("Bucket 15 (polymorphicPartition)
|RelationalChecklistItem
Deps: 11, 143, 78, 141
(5) ...ᐳRelationalChecklistItem

1: PgSelect[176]
2: PgSelectRows[181]
ᐳ: 180, 182, 195, 196, 197"):::bucket + Bucket1("Bucket 1 (nullableBoundary)
Deps: 11, 12, 193, 197, 201, 205, 209, 62, 66, 70, 74, 78

ROOT Connectionᐸ8ᐳ[12]
1: PgSelect[14]
2: PgSelectRows[15]"):::bucket + Bucket2("Bucket 2 (listItem)
Deps: 62, 66, 70, 74, 78, 11, 14

ROOT __Item{2}ᐸ15ᐳ[16]"):::bucket + Bucket3("Bucket 3 (polymorphic)
__typename: Lambda[21]
Deps: 62, 66, 70, 74, 78, 11, 14, 17, 21, 20

1: 194, 198, 202, 206, 210
ᐳ: 195, 196, 199, 200, 203, 204, 207, 208, 211, 212
2: 28, 36, 44, 52, 60
ᐳ: 27, 29, 35, 37, 43, 45, 51, 53, 59, 61, 63, 64, 65, 67, 68, 69, 71, 72, 73, 75, 76, 77, 79, 80, 81
3: 87, 92, 97, 102, 107
4: 90, 95, 100, 105, 110
ᐳ: 89, 91, 94, 96, 99, 101, 104, 106, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121"):::bucket + Bucket4("Bucket 4 (polymorphicPartition)
|"):::bucket + Bucket5("Bucket 5 (combined)
Deps: 11, 62, 66, 70, 74, 78

1: 213, 217, 221, 225, 229
ᐳ: Access[123]
2: PgSelect[124]
3: PgSelectRows[129]
ᐳ: 128, 130, 131, 132"):::bucket + Bucket6("Bucket 6 (polymorphic)
__typename: Lambda[132]
Deps: 62, 66, 70, 74, 78, 124, 130, 132, 131

1:
ᐳ: 214, 218, 222, 226, 230, 215, 216, 219, 220, 223, 224, 227, 228, 231, 232
2: 139, 147, 155, 163, 171
ᐳ: 138, 140, 146, 148, 154, 156, 162, 164, 170, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187"):::bucket + Bucket7("Bucket 7 (polymorphicPartition)
|"):::bucket end Bucket0 --> Bucket1 Bucket1 --> Bucket2 Bucket2 --> Bucket3 - Bucket3 --> Bucket4 & Bucket5 & Bucket6 & Bucket7 & Bucket8 - Bucket4 --> Bucket9 - Bucket5 --> Bucket9 - Bucket6 --> Bucket9 - Bucket7 --> Bucket9 - Bucket8 --> Bucket9 - Bucket9 --> Bucket10 - Bucket10 --> Bucket11 & Bucket12 & Bucket13 & Bucket14 & Bucket15 + Bucket3 --> Bucket4 & Bucket5 + Bucket5 --> Bucket6 + Bucket6 --> Bucket7 %% plan dependencies - Object11{{"Object[11∈0] ➊
ᐸ{pgSettings,withPgClient}ᐳ
Dependents: 17"}}:::plan + Object11{{"Object[11∈0] ➊
ᐸ{pgSettings,withPgClient}ᐳ
Dependents: 7"}}:::plan Access9{{"Access[9∈0] ➊
ᐸ2.pgSettingsᐳ"}}:::plan Access10{{"Access[10∈0] ➊
ᐸ2.withPgClientᐳ"}}:::plan Access9 & Access10 --> Object11 @@ -46,274 +33,304 @@ graph TD __Value2 --> Access9 __Value2 --> Access10 Connection12{{"Connection[12∈0] ➊
ᐸ8ᐳ"}}:::plan + PgSelectInlineApply193["PgSelectInlineApply[193∈0] ➊"]:::plan + PgSelectInlineApply197["PgSelectInlineApply[197∈0] ➊"]:::plan + PgSelectInlineApply201["PgSelectInlineApply[201∈0] ➊"]:::plan + PgSelectInlineApply205["PgSelectInlineApply[205∈0] ➊"]:::plan + PgSelectInlineApply209["PgSelectInlineApply[209∈0] ➊"]:::plan PgSelect14[["PgSelect[14∈1] ➊
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - Connection12 --> PgSelect14 + Connection12 & PgSelectInlineApply193 & PgSelectInlineApply197 & PgSelectInlineApply201 & PgSelectInlineApply205 & PgSelectInlineApply209 --> PgSelect14 PgSelectRows15[["PgSelectRows[15∈1] ➊"]]:::plan PgSelect14 --> PgSelectRows15 __Item16[/"__Item[16∈2]
ᐸ15ᐳ"\]:::itemplan PgSelectRows15 ==> __Item16 PgSelectSingle17{{"PgSelectSingle[17∈2]
ᐸrelational_itemsᐳ"}}:::plan __Item16 --> PgSelectSingle17 - PgClassExpression18{{"PgClassExpression[18∈2]
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle17 --> PgClassExpression18 PgClassExpression20{{"PgClassExpression[20∈2]
ᐸ__relation...s__.”type”ᐳ"}}:::plan PgSelectSingle17 --> PgClassExpression20 Lambda21{{"Lambda[21∈2]
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan PgClassExpression20 --> Lambda21 - PgSelect23[["PgSelect[23∈4]
ᐸrelational_topicsᐳ
ᐳRelationalTopic
More deps:
- Object[11]"]]:::plan - PgClassExpression18 --> PgSelect23 - List64{{"List[64∈4]^
ᐸ62,63ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[62]"}}:::plan - PgClassExpression63{{"PgClassExpression[63∈4]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan + List64{{"List[64∈3]^
ᐸ62,63ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[62]"}}:::plan + PgClassExpression63{{"PgClassExpression[63∈3]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan PgClassExpression63 --> List64 - PgSelect87[["PgSelect[87∈4]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + List68{{"List[68∈3]^
ᐸ66,67ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[66]"}}:::plan + PgClassExpression67{{"PgClassExpression[67∈3]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression67 --> List68 + List72{{"List[72∈3]^
ᐸ70,71ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[70]"}}:::plan + PgClassExpression71{{"PgClassExpression[71∈3]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan + PgClassExpression71 --> List72 + List76{{"List[76∈3]^
ᐸ74,75ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[74]"}}:::plan + PgClassExpression75{{"PgClassExpression[75∈3]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression75 --> List76 + List80{{"List[80∈3]^
ᐸ78,79ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[78]"}}:::plan + PgClassExpression79{{"PgClassExpression[79∈3]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan + PgClassExpression79 --> List80 + PgSelect87[["PgSelect[87∈3]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan PgClassExpression63 --> PgSelect87 - First27{{"First[27∈4]^"}}:::plan - PgSelectRows28[["PgSelectRows[28∈4]^"]]:::plan + PgSelect92[["PgSelect[92∈3]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + PgClassExpression67 --> PgSelect92 + PgSelect97[["PgSelect[97∈3]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + PgClassExpression71 --> PgSelect97 + PgSelect102[["PgSelect[102∈3]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + PgClassExpression75 --> PgSelect102 + PgSelect107[["PgSelect[107∈3]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + PgClassExpression79 --> PgSelect107 + List195{{"List[195∈3]^
ᐸ194,17ᐳ"}}:::plan + Access194{{"Access[194∈3] ➊
ᐸ14.m.joinDetailsFor23ᐳ
ᐳRelationalTopic"}}:::plan + Access194 & PgSelectSingle17 --> List195 + List199{{"List[199∈3]^
ᐸ198,17ᐳ"}}:::plan + Access198{{"Access[198∈3] ➊
ᐸ14.m.joinDetailsFor31ᐳ
ᐳRelationalPost"}}:::plan + Access198 & PgSelectSingle17 --> List199 + List203{{"List[203∈3]^
ᐸ202,17ᐳ"}}:::plan + Access202{{"Access[202∈3] ➊
ᐸ14.m.joinDetailsFor39ᐳ
ᐳRelationalDivider"}}:::plan + Access202 & PgSelectSingle17 --> List203 + List207{{"List[207∈3]^
ᐸ206,17ᐳ"}}:::plan + Access206{{"Access[206∈3] ➊
ᐸ14.m.joinDetailsFor47ᐳ
ᐳRelationalChecklist"}}:::plan + Access206 & PgSelectSingle17 --> List207 + List211{{"List[211∈3]^
ᐸ210,17ᐳ"}}:::plan + Access210{{"Access[210∈3] ➊
ᐸ14.m.joinDetailsFor55ᐳ
ᐳRelationalChecklistItem"}}:::plan + Access210 & PgSelectSingle17 --> List211 + First27{{"First[27∈3]^"}}:::plan + PgSelectRows28[["PgSelectRows[28∈3]^"]]:::plan PgSelectRows28 --> First27 - PgSelect23 --> PgSelectRows28 - PgSelectSingle29{{"PgSelectSingle[29∈4]^
ᐸrelational_topicsᐳ"}}:::plan + Lambda196{{"Lambda[196∈3]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda196 --> PgSelectRows28 + PgSelectSingle29{{"PgSelectSingle[29∈3]^
ᐸrelational_topicsᐳ"}}:::plan First27 --> PgSelectSingle29 - PgSelectSingle29 --> PgClassExpression63 - Lambda65{{"Lambda[65∈4]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List64 --> Lambda65 - First91{{"First[91∈4]^"}}:::plan - PgSelectRows92[["PgSelectRows[92∈4]^"]]:::plan - PgSelectRows92 --> First91 - PgSelect87 --> PgSelectRows92 - PgSelectSingle93{{"PgSelectSingle[93∈4]^
ᐸrelational_itemsᐳ"}}:::plan - First91 --> PgSelectSingle93 - PgClassExpression122{{"PgClassExpression[122∈4]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle93 --> PgClassExpression122 - Object123{{"Object[123∈4]^
ᐸ{id}ᐳ"}}:::plan - PgClassExpression122 --> Object123 - PgSelect31[["PgSelect[31∈5]
ᐸrelational_postsᐳ
ᐳRelationalPost
More deps:
- Object[11]"]]:::plan - PgClassExpression18 --> PgSelect31 - List68{{"List[68∈5]^
ᐸ66,67ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[66]"}}:::plan - PgClassExpression67{{"PgClassExpression[67∈5]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression67 --> List68 - PgSelect94[["PgSelect[94∈5]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - PgClassExpression67 --> PgSelect94 - First35{{"First[35∈5]^"}}:::plan - PgSelectRows36[["PgSelectRows[36∈5]^"]]:::plan + First35{{"First[35∈3]^"}}:::plan + PgSelectRows36[["PgSelectRows[36∈3]^"]]:::plan PgSelectRows36 --> First35 - PgSelect31 --> PgSelectRows36 - PgSelectSingle37{{"PgSelectSingle[37∈5]^
ᐸrelational_postsᐳ"}}:::plan + Lambda200{{"Lambda[200∈3]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda200 --> PgSelectRows36 + PgSelectSingle37{{"PgSelectSingle[37∈3]^
ᐸrelational_postsᐳ"}}:::plan First35 --> PgSelectSingle37 - PgSelectSingle37 --> PgClassExpression67 - Lambda69{{"Lambda[69∈5]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List68 --> Lambda69 - First98{{"First[98∈5]^"}}:::plan - PgSelectRows99[["PgSelectRows[99∈5]^"]]:::plan - PgSelectRows99 --> First98 - PgSelect94 --> PgSelectRows99 - PgSelectSingle100{{"PgSelectSingle[100∈5]^
ᐸrelational_itemsᐳ"}}:::plan - First98 --> PgSelectSingle100 - PgClassExpression124{{"PgClassExpression[124∈5]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle100 --> PgClassExpression124 - Object125{{"Object[125∈5]^
ᐸ{id}ᐳ"}}:::plan - PgClassExpression124 --> Object125 - PgSelect39[["PgSelect[39∈6]
ᐸrelational_dividersᐳ
ᐳRelationalDivider
More deps:
- Object[11]"]]:::plan - PgClassExpression18 --> PgSelect39 - List72{{"List[72∈6]^
ᐸ70,71ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[70]"}}:::plan - PgClassExpression71{{"PgClassExpression[71∈6]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan - PgClassExpression71 --> List72 - PgSelect101[["PgSelect[101∈6]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - PgClassExpression71 --> PgSelect101 - First43{{"First[43∈6]^"}}:::plan - PgSelectRows44[["PgSelectRows[44∈6]^"]]:::plan + First43{{"First[43∈3]^"}}:::plan + PgSelectRows44[["PgSelectRows[44∈3]^"]]:::plan PgSelectRows44 --> First43 - PgSelect39 --> PgSelectRows44 - PgSelectSingle45{{"PgSelectSingle[45∈6]^
ᐸrelational_dividersᐳ"}}:::plan + Lambda204{{"Lambda[204∈3]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda204 --> PgSelectRows44 + PgSelectSingle45{{"PgSelectSingle[45∈3]^
ᐸrelational_dividersᐳ"}}:::plan First43 --> PgSelectSingle45 - PgSelectSingle45 --> PgClassExpression71 - Lambda73{{"Lambda[73∈6]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List72 --> Lambda73 - First105{{"First[105∈6]^"}}:::plan - PgSelectRows106[["PgSelectRows[106∈6]^"]]:::plan - PgSelectRows106 --> First105 - PgSelect101 --> PgSelectRows106 - PgSelectSingle107{{"PgSelectSingle[107∈6]^
ᐸrelational_itemsᐳ"}}:::plan - First105 --> PgSelectSingle107 - PgClassExpression126{{"PgClassExpression[126∈6]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle107 --> PgClassExpression126 - Object127{{"Object[127∈6]^
ᐸ{id}ᐳ"}}:::plan - PgClassExpression126 --> Object127 - PgSelect47[["PgSelect[47∈7]
ᐸrelational_checklistsᐳ
ᐳRelationalChecklist
More deps:
- Object[11]"]]:::plan - PgClassExpression18 --> PgSelect47 - List76{{"List[76∈7]^
ᐸ74,75ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[74]"}}:::plan - PgClassExpression75{{"PgClassExpression[75∈7]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression75 --> List76 - PgSelect108[["PgSelect[108∈7]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - PgClassExpression75 --> PgSelect108 - First51{{"First[51∈7]^"}}:::plan - PgSelectRows52[["PgSelectRows[52∈7]^"]]:::plan + First51{{"First[51∈3]^"}}:::plan + PgSelectRows52[["PgSelectRows[52∈3]^"]]:::plan PgSelectRows52 --> First51 - PgSelect47 --> PgSelectRows52 - PgSelectSingle53{{"PgSelectSingle[53∈7]^
ᐸrelational_checklistsᐳ"}}:::plan + Lambda208{{"Lambda[208∈3]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda208 --> PgSelectRows52 + PgSelectSingle53{{"PgSelectSingle[53∈3]^
ᐸrelational_checklistsᐳ"}}:::plan First51 --> PgSelectSingle53 - PgSelectSingle53 --> PgClassExpression75 - Lambda77{{"Lambda[77∈7]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List76 --> Lambda77 - First112{{"First[112∈7]^"}}:::plan - PgSelectRows113[["PgSelectRows[113∈7]^"]]:::plan - PgSelectRows113 --> First112 - PgSelect108 --> PgSelectRows113 - PgSelectSingle114{{"PgSelectSingle[114∈7]^
ᐸrelational_itemsᐳ"}}:::plan - First112 --> PgSelectSingle114 - PgClassExpression128{{"PgClassExpression[128∈7]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle114 --> PgClassExpression128 - Object129{{"Object[129∈7]^
ᐸ{id}ᐳ"}}:::plan - PgClassExpression128 --> Object129 - PgSelect55[["PgSelect[55∈8]
ᐸrelational_checklist_itemsᐳ
ᐳRelationalChecklistItem
More deps:
- Object[11]"]]:::plan - PgClassExpression18 --> PgSelect55 - List80{{"List[80∈8]^
ᐸ78,79ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[78]"}}:::plan - PgClassExpression79{{"PgClassExpression[79∈8]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan - PgClassExpression79 --> List80 - PgSelect115[["PgSelect[115∈8]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - PgClassExpression79 --> PgSelect115 - First59{{"First[59∈8]^"}}:::plan - PgSelectRows60[["PgSelectRows[60∈8]^"]]:::plan + First59{{"First[59∈3]^"}}:::plan + PgSelectRows60[["PgSelectRows[60∈3]^"]]:::plan PgSelectRows60 --> First59 - PgSelect55 --> PgSelectRows60 - PgSelectSingle61{{"PgSelectSingle[61∈8]^
ᐸrelational_checklist_itemsᐳ"}}:::plan + Lambda212{{"Lambda[212∈3]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda212 --> PgSelectRows60 + PgSelectSingle61{{"PgSelectSingle[61∈3]^
ᐸrelational_checklist_itemsᐳ"}}:::plan First59 --> PgSelectSingle61 + PgSelectSingle29 --> PgClassExpression63 + Lambda65{{"Lambda[65∈3]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List64 --> Lambda65 + PgSelectSingle37 --> PgClassExpression67 + Lambda69{{"Lambda[69∈3]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List68 --> Lambda69 + PgSelectSingle45 --> PgClassExpression71 + Lambda73{{"Lambda[73∈3]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List72 --> Lambda73 + PgSelectSingle53 --> PgClassExpression75 + Lambda77{{"Lambda[77∈3]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List76 --> Lambda77 PgSelectSingle61 --> PgClassExpression79 - Lambda81{{"Lambda[81∈8]^
ᐸbase64JSONEncodeᐳ"}}:::plan + Lambda81{{"Lambda[81∈3]^
ᐸbase64JSONEncodeᐳ"}}:::plan List80 --> Lambda81 - First119{{"First[119∈8]^"}}:::plan - PgSelectRows120[["PgSelectRows[120∈8]^"]]:::plan - PgSelectRows120 --> First119 - PgSelect115 --> PgSelectRows120 - PgSelectSingle121{{"PgSelectSingle[121∈8]^
ᐸrelational_itemsᐳ"}}:::plan - First119 --> PgSelectSingle121 - PgClassExpression130{{"PgClassExpression[130∈8]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle121 --> PgClassExpression130 - Object131{{"Object[131∈8]^
ᐸ{id}ᐳ"}}:::plan - PgClassExpression130 --> Object131 - PgSelect134[["PgSelect[134∈9]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan - Access133{{"Access[133∈9]^
ᐸ132.idᐳ"}}:::plan - Access133 --> PgSelect134 - __Value132:::plan@{shape: docs, label: "__Combined[132∈9]
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"} - __Value132 --> Access133 - First138{{"First[138∈9]^"}}:::plan - PgSelectRows139[["PgSelectRows[139∈9]^"]]:::plan + First89{{"First[89∈3]^"}}:::plan + PgSelectRows90[["PgSelectRows[90∈3]^"]]:::plan + PgSelectRows90 --> First89 + PgSelect87 --> PgSelectRows90 + PgSelectSingle91{{"PgSelectSingle[91∈3]^
ᐸrelational_itemsᐳ"}}:::plan + First89 --> PgSelectSingle91 + First94{{"First[94∈3]^"}}:::plan + PgSelectRows95[["PgSelectRows[95∈3]^"]]:::plan + PgSelectRows95 --> First94 + PgSelect92 --> PgSelectRows95 + PgSelectSingle96{{"PgSelectSingle[96∈3]^
ᐸrelational_itemsᐳ"}}:::plan + First94 --> PgSelectSingle96 + First99{{"First[99∈3]^"}}:::plan + PgSelectRows100[["PgSelectRows[100∈3]^"]]:::plan + PgSelectRows100 --> First99 + PgSelect97 --> PgSelectRows100 + PgSelectSingle101{{"PgSelectSingle[101∈3]^
ᐸrelational_itemsᐳ"}}:::plan + First99 --> PgSelectSingle101 + First104{{"First[104∈3]^"}}:::plan + PgSelectRows105[["PgSelectRows[105∈3]^"]]:::plan + PgSelectRows105 --> First104 + PgSelect102 --> PgSelectRows105 + PgSelectSingle106{{"PgSelectSingle[106∈3]^
ᐸrelational_itemsᐳ"}}:::plan + First104 --> PgSelectSingle106 + First109{{"First[109∈3]^"}}:::plan + PgSelectRows110[["PgSelectRows[110∈3]^"]]:::plan + PgSelectRows110 --> First109 + PgSelect107 --> PgSelectRows110 + PgSelectSingle111{{"PgSelectSingle[111∈3]^
ᐸrelational_itemsᐳ"}}:::plan + First109 --> PgSelectSingle111 + PgClassExpression112{{"PgClassExpression[112∈3]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan + PgSelectSingle91 --> PgClassExpression112 + Object113{{"Object[113∈3]^
ᐸ{id}ᐳ"}}:::plan + PgClassExpression112 --> Object113 + PgClassExpression114{{"PgClassExpression[114∈3]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan + PgSelectSingle96 --> PgClassExpression114 + Object115{{"Object[115∈3]^
ᐸ{id}ᐳ"}}:::plan + PgClassExpression114 --> Object115 + PgClassExpression116{{"PgClassExpression[116∈3]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan + PgSelectSingle101 --> PgClassExpression116 + Object117{{"Object[117∈3]^
ᐸ{id}ᐳ"}}:::plan + PgClassExpression116 --> Object117 + PgClassExpression118{{"PgClassExpression[118∈3]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan + PgSelectSingle106 --> PgClassExpression118 + Object119{{"Object[119∈3]^
ᐸ{id}ᐳ"}}:::plan + PgClassExpression118 --> Object119 + PgClassExpression120{{"PgClassExpression[120∈3]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan + PgSelectSingle111 --> PgClassExpression120 + Object121{{"Object[121∈3]^
ᐸ{id}ᐳ"}}:::plan + PgClassExpression120 --> Object121 + PgSelect14 --> Access194 + List195 --> Lambda196 + PgSelect14 --> Access198 + List199 --> Lambda200 + PgSelect14 --> Access202 + List203 --> Lambda204 + PgSelect14 --> Access206 + List207 --> Lambda208 + PgSelect14 --> Access210 + List211 --> Lambda212 + PgSelect124[["PgSelect[124∈5]^
ᐸrelational_itemsᐳ
More deps:
- Object[11]"]]:::plan + Access123{{"Access[123∈5]^
ᐸ122.idᐳ"}}:::plan + PgSelectInlineApply213["PgSelectInlineApply[213∈5] ➊
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"]:::plan + PgSelectInlineApply217["PgSelectInlineApply[217∈5] ➊
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"]:::plan + PgSelectInlineApply221["PgSelectInlineApply[221∈5] ➊
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"]:::plan + PgSelectInlineApply225["PgSelectInlineApply[225∈5] ➊
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"]:::plan + PgSelectInlineApply229["PgSelectInlineApply[229∈5] ➊
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"]:::plan + Access123 & PgSelectInlineApply213 & PgSelectInlineApply217 & PgSelectInlineApply221 & PgSelectInlineApply225 & PgSelectInlineApply229 --> PgSelect124 + __Value122:::plan@{shape: docs, label: "__Combined[122∈5]
ᐳRelationalTopic
ᐳRelationalPost
ᐳRelationalDivider
ᐳRelationalChecklist
ᐳRelationalChecklistItem"} + __Value122 --> Access123 + First128{{"First[128∈5]^"}}:::plan + PgSelectRows129[["PgSelectRows[129∈5]^"]]:::plan + PgSelectRows129 --> First128 + PgSelect124 --> PgSelectRows129 + PgSelectSingle130{{"PgSelectSingle[130∈5]^
ᐸrelational_itemsᐳ"}}:::plan + First128 --> PgSelectSingle130 + PgClassExpression131{{"PgClassExpression[131∈5]^
ᐸ__relation...s__.”type”ᐳ"}}:::plan + PgSelectSingle130 --> PgClassExpression131 + Lambda132{{"Lambda[132∈5]^
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan + PgClassExpression131 --> Lambda132 + List174{{"List[174∈6]^
ᐸ62,173ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[62]"}}:::plan + PgClassExpression173{{"PgClassExpression[173∈6]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan + PgClassExpression173 --> List174 + List177{{"List[177∈6]^
ᐸ66,176ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[66]"}}:::plan + PgClassExpression176{{"PgClassExpression[176∈6]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression176 --> List177 + List180{{"List[180∈6]^
ᐸ70,179ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[70]"}}:::plan + PgClassExpression179{{"PgClassExpression[179∈6]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan + PgClassExpression179 --> List180 + List183{{"List[183∈6]^
ᐸ74,182ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[74]"}}:::plan + PgClassExpression182{{"PgClassExpression[182∈6]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan + PgClassExpression182 --> List183 + List186{{"List[186∈6]^
ᐸ78,185ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[78]"}}:::plan + PgClassExpression185{{"PgClassExpression[185∈6]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan + PgClassExpression185 --> List186 + List215{{"List[215∈6]^
ᐸ214,130ᐳ"}}:::plan + Access214{{"Access[214∈6]
ᐸ124.m.joinDetailsFor134ᐳ
(5) ...ᐳRelationalTopic"}}:::plan + Access214 & PgSelectSingle130 --> List215 + List219{{"List[219∈6]^
ᐸ218,130ᐳ"}}:::plan + Access218{{"Access[218∈6]
ᐸ124.m.joinDetailsFor142ᐳ
(5) ...ᐳRelationalPost"}}:::plan + Access218 & PgSelectSingle130 --> List219 + List223{{"List[223∈6]^
ᐸ222,130ᐳ"}}:::plan + Access222{{"Access[222∈6]
ᐸ124.m.joinDetailsFor150ᐳ
(5) ...ᐳRelationalDivider"}}:::plan + Access222 & PgSelectSingle130 --> List223 + List227{{"List[227∈6]^
ᐸ226,130ᐳ"}}:::plan + Access226{{"Access[226∈6]
ᐸ124.m.joinDetailsFor158ᐳ
(5) ...ᐳRelationalChecklist"}}:::plan + Access226 & PgSelectSingle130 --> List227 + List231{{"List[231∈6]^
ᐸ230,130ᐳ"}}:::plan + Access230{{"Access[230∈6]
ᐸ124.m.joinDetailsFor166ᐳ
(5) ...ᐳRelationalChecklistItem"}}:::plan + Access230 & PgSelectSingle130 --> List231 + First138{{"First[138∈6]^"}}:::plan + PgSelectRows139[["PgSelectRows[139∈6]^"]]:::plan PgSelectRows139 --> First138 - PgSelect134 --> PgSelectRows139 - PgSelectSingle140{{"PgSelectSingle[140∈9]^
ᐸrelational_itemsᐳ"}}:::plan + Lambda216{{"Lambda[216∈6]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda216 --> PgSelectRows139 + PgSelectSingle140{{"PgSelectSingle[140∈6]^
ᐸrelational_topicsᐳ"}}:::plan First138 --> PgSelectSingle140 - PgClassExpression141{{"PgClassExpression[141∈9]^
ᐸ__relation...s__.”type”ᐳ"}}:::plan - PgSelectSingle140 --> PgClassExpression141 - Lambda142{{"Lambda[142∈9]^
ᐸRelationalItem_typeNameFromTypeᐳ"}}:::plan - PgClassExpression141 --> Lambda142 - PgClassExpression143{{"PgClassExpression[143∈9]^
ᐸ__relation...ems__.”id”ᐳ"}}:::plan - PgSelectSingle140 --> PgClassExpression143 - PgSelect144[["PgSelect[144∈11]
ᐸrelational_topicsᐳ
(5) ...ᐳRelationalTopic
More deps:
- Object[11]"]]:::plan - PgClassExpression143 --> PgSelect144 - List184{{"List[184∈11]^
ᐸ62,183ᐳ
More deps:
- Constantᐸ'relational_topics'ᐳ[62]"}}:::plan - PgClassExpression183{{"PgClassExpression[183∈11]^
ᐸ__relation...c_item_id”ᐳ"}}:::plan - PgClassExpression183 --> List184 - First148{{"First[148∈11]^"}}:::plan - PgSelectRows149[["PgSelectRows[149∈11]^"]]:::plan - PgSelectRows149 --> First148 - PgSelect144 --> PgSelectRows149 - PgSelectSingle150{{"PgSelectSingle[150∈11]^
ᐸrelational_topicsᐳ"}}:::plan - First148 --> PgSelectSingle150 - PgSelectSingle150 --> PgClassExpression183 - Lambda185{{"Lambda[185∈11]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List184 --> Lambda185 - PgSelect152[["PgSelect[152∈12]
ᐸrelational_postsᐳ
(5) ...ᐳRelationalPost
More deps:
- Object[11]"]]:::plan - PgClassExpression143 --> PgSelect152 - List187{{"List[187∈12]^
ᐸ66,186ᐳ
More deps:
- Constantᐸ'relational_posts'ᐳ[66]"}}:::plan - PgClassExpression186{{"PgClassExpression[186∈12]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression186 --> List187 - First156{{"First[156∈12]^"}}:::plan - PgSelectRows157[["PgSelectRows[157∈12]^"]]:::plan - PgSelectRows157 --> First156 - PgSelect152 --> PgSelectRows157 - PgSelectSingle158{{"PgSelectSingle[158∈12]^
ᐸrelational_postsᐳ"}}:::plan - First156 --> PgSelectSingle158 - PgSelectSingle158 --> PgClassExpression186 - Lambda188{{"Lambda[188∈12]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List187 --> Lambda188 - PgSelect160[["PgSelect[160∈13]
ᐸrelational_dividersᐳ
(5) ...ᐳRelationalDivider
More deps:
- Object[11]"]]:::plan - PgClassExpression143 --> PgSelect160 - List190{{"List[190∈13]^
ᐸ70,189ᐳ
More deps:
- Constantᐸ'relational_dividers'ᐳ[70]"}}:::plan - PgClassExpression189{{"PgClassExpression[189∈13]^
ᐸ__relation...r_item_id”ᐳ"}}:::plan - PgClassExpression189 --> List190 - First164{{"First[164∈13]^"}}:::plan - PgSelectRows165[["PgSelectRows[165∈13]^"]]:::plan - PgSelectRows165 --> First164 - PgSelect160 --> PgSelectRows165 - PgSelectSingle166{{"PgSelectSingle[166∈13]^
ᐸrelational_dividersᐳ"}}:::plan - First164 --> PgSelectSingle166 - PgSelectSingle166 --> PgClassExpression189 - Lambda191{{"Lambda[191∈13]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List190 --> Lambda191 - PgSelect168[["PgSelect[168∈14]
ᐸrelational_checklistsᐳ
(5) ...ᐳRelationalChecklist
More deps:
- Object[11]"]]:::plan - PgClassExpression143 --> PgSelect168 - List193{{"List[193∈14]^
ᐸ74,192ᐳ
More deps:
- Constantᐸ'relational_checklists'ᐳ[74]"}}:::plan - PgClassExpression192{{"PgClassExpression[192∈14]^
ᐸ__relation...t_item_id”ᐳ"}}:::plan - PgClassExpression192 --> List193 - First172{{"First[172∈14]^"}}:::plan - PgSelectRows173[["PgSelectRows[173∈14]^"]]:::plan - PgSelectRows173 --> First172 - PgSelect168 --> PgSelectRows173 - PgSelectSingle174{{"PgSelectSingle[174∈14]^
ᐸrelational_checklistsᐳ"}}:::plan - First172 --> PgSelectSingle174 - PgSelectSingle174 --> PgClassExpression192 - Lambda194{{"Lambda[194∈14]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List193 --> Lambda194 - PgSelect176[["PgSelect[176∈15]
ᐸrelational_checklist_itemsᐳ
(5) ...ᐳRelationalChecklistItem
More deps:
- Object[11]"]]:::plan - PgClassExpression143 --> PgSelect176 - List196{{"List[196∈15]^
ᐸ78,195ᐳ
More deps:
- Constantᐸ'relational_checklist_items'ᐳ[78]"}}:::plan - PgClassExpression195{{"PgClassExpression[195∈15]^
ᐸ__relation...m_item_id”ᐳ"}}:::plan - PgClassExpression195 --> List196 - First180{{"First[180∈15]^"}}:::plan - PgSelectRows181[["PgSelectRows[181∈15]^"]]:::plan - PgSelectRows181 --> First180 - PgSelect176 --> PgSelectRows181 - PgSelectSingle182{{"PgSelectSingle[182∈15]^
ᐸrelational_checklist_itemsᐳ"}}:::plan - First180 --> PgSelectSingle182 - PgSelectSingle182 --> PgClassExpression195 - Lambda197{{"Lambda[197∈15]^
ᐸbase64JSONEncodeᐳ"}}:::plan - List196 --> Lambda197 + First146{{"First[146∈6]^"}}:::plan + PgSelectRows147[["PgSelectRows[147∈6]^"]]:::plan + PgSelectRows147 --> First146 + Lambda220{{"Lambda[220∈6]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda220 --> PgSelectRows147 + PgSelectSingle148{{"PgSelectSingle[148∈6]^
ᐸrelational_postsᐳ"}}:::plan + First146 --> PgSelectSingle148 + First154{{"First[154∈6]^"}}:::plan + PgSelectRows155[["PgSelectRows[155∈6]^"]]:::plan + PgSelectRows155 --> First154 + Lambda224{{"Lambda[224∈6]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda224 --> PgSelectRows155 + PgSelectSingle156{{"PgSelectSingle[156∈6]^
ᐸrelational_dividersᐳ"}}:::plan + First154 --> PgSelectSingle156 + First162{{"First[162∈6]^"}}:::plan + PgSelectRows163[["PgSelectRows[163∈6]^"]]:::plan + PgSelectRows163 --> First162 + Lambda228{{"Lambda[228∈6]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda228 --> PgSelectRows163 + PgSelectSingle164{{"PgSelectSingle[164∈6]^
ᐸrelational_checklistsᐳ"}}:::plan + First162 --> PgSelectSingle164 + First170{{"First[170∈6]^"}}:::plan + PgSelectRows171[["PgSelectRows[171∈6]^"]]:::plan + PgSelectRows171 --> First170 + Lambda232{{"Lambda[232∈6]^
ᐸpgInlineViaJoinTransformᐳ"}}:::plan + Lambda232 --> PgSelectRows171 + PgSelectSingle172{{"PgSelectSingle[172∈6]^
ᐸrelational_checklist_itemsᐳ"}}:::plan + First170 --> PgSelectSingle172 + PgSelectSingle140 --> PgClassExpression173 + Lambda175{{"Lambda[175∈6]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List174 --> Lambda175 + PgSelectSingle148 --> PgClassExpression176 + Lambda178{{"Lambda[178∈6]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List177 --> Lambda178 + PgSelectSingle156 --> PgClassExpression179 + Lambda181{{"Lambda[181∈6]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List180 --> Lambda181 + PgSelectSingle164 --> PgClassExpression182 + Lambda184{{"Lambda[184∈6]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List183 --> Lambda184 + PgSelectSingle172 --> PgClassExpression185 + Lambda187{{"Lambda[187∈6]^
ᐸbase64JSONEncodeᐳ"}}:::plan + List186 --> Lambda187 + PgSelect124 --> Access214 + List215 --> Lambda216 + PgSelect124 --> Access218 + List219 --> Lambda220 + PgSelect124 --> Access222 + List223 --> Lambda224 + PgSelect124 --> Access226 + List227 --> Lambda228 + PgSelect124 --> Access230 + List231 --> Lambda232 %% define steps classDef bucket0 stroke:#696969 - class Bucket0,__Value2,Access9,Access10,Object11,Connection12 bucket0 + class Bucket0,__Value2,Access9,Access10,Object11,Connection12,PgSelectInlineApply193,PgSelectInlineApply197,PgSelectInlineApply201,PgSelectInlineApply205,PgSelectInlineApply209 bucket0 classDef bucket1 stroke:#00bfff class Bucket1,PgSelect14,PgSelectRows15 bucket1 classDef bucket2 stroke:#7f007f - class Bucket2,__Item16,PgSelectSingle17,PgClassExpression18,PgClassExpression20,Lambda21 bucket2 + class Bucket2,__Item16,PgSelectSingle17,PgClassExpression20,Lambda21 bucket2 classDef bucket3 stroke:#ffa500 - class Bucket3 bucket3 + class Bucket3,First27,PgSelectRows28,PgSelectSingle29,First35,PgSelectRows36,PgSelectSingle37,First43,PgSelectRows44,PgSelectSingle45,First51,PgSelectRows52,PgSelectSingle53,First59,PgSelectRows60,PgSelectSingle61,PgClassExpression63,List64,Lambda65,PgClassExpression67,List68,Lambda69,PgClassExpression71,List72,Lambda73,PgClassExpression75,List76,Lambda77,PgClassExpression79,List80,Lambda81,PgSelect87,First89,PgSelectRows90,PgSelectSingle91,PgSelect92,First94,PgSelectRows95,PgSelectSingle96,PgSelect97,First99,PgSelectRows100,PgSelectSingle101,PgSelect102,First104,PgSelectRows105,PgSelectSingle106,PgSelect107,First109,PgSelectRows110,PgSelectSingle111,PgClassExpression112,Object113,PgClassExpression114,Object115,PgClassExpression116,Object117,PgClassExpression118,Object119,PgClassExpression120,Object121,Access194,List195,Lambda196,Access198,List199,Lambda200,Access202,List203,Lambda204,Access206,List207,Lambda208,Access210,List211,Lambda212 bucket3 classDef bucket4 stroke:#0000ff - class Bucket4,PgSelect23,First27,PgSelectRows28,PgSelectSingle29,PgClassExpression63,List64,Lambda65,PgSelect87,First91,PgSelectRows92,PgSelectSingle93,PgClassExpression122,Object123 bucket4 + class Bucket4 bucket4 classDef bucket5 stroke:#7fff00 - class Bucket5,PgSelect31,First35,PgSelectRows36,PgSelectSingle37,PgClassExpression67,List68,Lambda69,PgSelect94,First98,PgSelectRows99,PgSelectSingle100,PgClassExpression124,Object125 bucket5 + class Bucket5,__Value122,Access123,PgSelect124,First128,PgSelectRows129,PgSelectSingle130,PgClassExpression131,Lambda132,PgSelectInlineApply213,PgSelectInlineApply217,PgSelectInlineApply221,PgSelectInlineApply225,PgSelectInlineApply229 bucket5 classDef bucket6 stroke:#ff1493 - class Bucket6,PgSelect39,First43,PgSelectRows44,PgSelectSingle45,PgClassExpression71,List72,Lambda73,PgSelect101,First105,PgSelectRows106,PgSelectSingle107,PgClassExpression126,Object127 bucket6 + class Bucket6,First138,PgSelectRows139,PgSelectSingle140,First146,PgSelectRows147,PgSelectSingle148,First154,PgSelectRows155,PgSelectSingle156,First162,PgSelectRows163,PgSelectSingle164,First170,PgSelectRows171,PgSelectSingle172,PgClassExpression173,List174,Lambda175,PgClassExpression176,List177,Lambda178,PgClassExpression179,List180,Lambda181,PgClassExpression182,List183,Lambda184,PgClassExpression185,List186,Lambda187,Access214,List215,Lambda216,Access218,List219,Lambda220,Access222,List223,Lambda224,Access226,List227,Lambda228,Access230,List231,Lambda232 bucket6 classDef bucket7 stroke:#808000 - class Bucket7,PgSelect47,First51,PgSelectRows52,PgSelectSingle53,PgClassExpression75,List76,Lambda77,PgSelect108,First112,PgSelectRows113,PgSelectSingle114,PgClassExpression128,Object129 bucket7 - classDef bucket8 stroke:#dda0dd - class Bucket8,PgSelect55,First59,PgSelectRows60,PgSelectSingle61,PgClassExpression79,List80,Lambda81,PgSelect115,First119,PgSelectRows120,PgSelectSingle121,PgClassExpression130,Object131 bucket8 - classDef bucket9 stroke:#ff0000 - class Bucket9,__Value132,Access133,PgSelect134,First138,PgSelectRows139,PgSelectSingle140,PgClassExpression141,Lambda142,PgClassExpression143 bucket9 - classDef bucket10 stroke:#ffff00 - class Bucket10 bucket10 - classDef bucket11 stroke:#00ffff - class Bucket11,PgSelect144,First148,PgSelectRows149,PgSelectSingle150,PgClassExpression183,List184,Lambda185 bucket11 - classDef bucket12 stroke:#4169e1 - class Bucket12,PgSelect152,First156,PgSelectRows157,PgSelectSingle158,PgClassExpression186,List187,Lambda188 bucket12 - classDef bucket13 stroke:#3cb371 - class Bucket13,PgSelect160,First164,PgSelectRows165,PgSelectSingle166,PgClassExpression189,List190,Lambda191 bucket13 - classDef bucket14 stroke:#a52a2a - class Bucket14,PgSelect168,First172,PgSelectRows173,PgSelectSingle174,PgClassExpression192,List193,Lambda194 bucket14 - classDef bucket15 stroke:#ff00ff - class Bucket15,PgSelect176,First180,PgSelectRows181,PgSelectSingle182,PgClassExpression195,List196,Lambda197 bucket15 + class Bucket7 bucket7 - Object123 -.-x __Value132 - Object125 -.-x __Value132 - Object127 -.-x __Value132 - Object129 -.-x __Value132 - Object131 -.-x __Value132 + Object113 -.-x __Value122 + Object115 -.-x __Value122 + Object117 -.-x __Value122 + Object119 -.-x __Value122 + Object121 -.-x __Value122 diff --git a/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.simple.sql b/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.simple.sql index 54fd4c05bf..b8dd9cb836 100644 --- a/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.simple.sql +++ b/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.simple.sql @@ -1,64 +1,39 @@ select - __relational_items__."id"::text as "0", - __relational_items__."type"::text as "1" + __relational_items__."type"::text as "0", + __relational_items__."id"::text as "1", + __relational_topics__."topic_item_id"::text as "2", + __relational_posts__."post_item_id"::text as "3", + __relational_dividers__."divider_item_id"::text as "4", + __relational_checklists__."checklist_item_id"::text as "5", + __relational_checklist_items__."checklist_item_item_id"::text as "6" from "polymorphic"."relational_items" as __relational_items__ +left outer join "polymorphic"."relational_topics" as __relational_topics__ +on ( +/* WHERE becoming ON */ ( + __relational_topics__."topic_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_posts" as __relational_posts__ +on ( +/* WHERE becoming ON */ ( + __relational_posts__."post_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_dividers" as __relational_dividers__ +on ( +/* WHERE becoming ON */ ( + __relational_dividers__."divider_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklists" as __relational_checklists__ +on ( +/* WHERE becoming ON */ ( + __relational_checklists__."checklist_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklist_items" as __relational_checklist_items__ +on ( +/* WHERE becoming ON */ ( + __relational_checklist_items__."checklist_item_item_id" = __relational_items__."id" +)) order by __relational_items__."id" asc; -select __relational_topics_result__.* -from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_topics_identifiers__, -lateral ( - select - __relational_topics__."topic_item_id"::text as "0", - __relational_topics_identifiers__.idx as "1" - from "polymorphic"."relational_topics" as __relational_topics__ - where ( - __relational_topics__."topic_item_id" = __relational_topics_identifiers__."id0" - ) -) as __relational_topics_result__; - -select __relational_posts_result__.* -from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_posts_identifiers__, -lateral ( - select - __relational_posts__."post_item_id"::text as "0", - __relational_posts_identifiers__.idx as "1" - from "polymorphic"."relational_posts" as __relational_posts__ - where ( - __relational_posts__."post_item_id" = __relational_posts_identifiers__."id0" - ) -) as __relational_posts_result__; - -select __relational_dividers_result__.* -from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_dividers_identifiers__, -lateral ( - select - __relational_dividers__."divider_item_id"::text as "0", - __relational_dividers_identifiers__.idx as "1" - from "polymorphic"."relational_dividers" as __relational_dividers__ - where ( - __relational_dividers__."divider_item_id" = __relational_dividers_identifiers__."id0" - ) -) as __relational_dividers_result__; - -select - __relational_checklists__."checklist_item_id"::text as "0" -from "polymorphic"."relational_checklists" as __relational_checklists__ -where ( - __relational_checklists__."checklist_item_id" = $1::"int4" -); - -select __relational_checklist_items_result__.* -from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_checklist_items_identifiers__, -lateral ( - select - __relational_checklist_items__."checklist_item_item_id"::text as "0", - __relational_checklist_items_identifiers__.idx as "1" - from "polymorphic"."relational_checklist_items" as __relational_checklist_items__ - where ( - __relational_checklist_items__."checklist_item_item_id" = __relational_checklist_items_identifiers__."id0" - ) -) as __relational_checklist_items_result__; - select __relational_items_result__.* from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_items_identifiers__, lateral ( @@ -129,29 +104,39 @@ from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from js lateral ( select __relational_items__."type"::text as "0", - __relational_items__."id"::text as "1", - __relational_items_identifiers__.idx as "2" + __relational_topics__."topic_item_id"::text as "1", + __relational_posts__."post_item_id"::text as "2", + __relational_dividers__."divider_item_id"::text as "3", + __relational_checklists__."checklist_item_id"::text as "4", + __relational_checklist_items__."checklist_item_item_id"::text as "5", + __relational_items_identifiers__.idx as "6" from "polymorphic"."relational_items" as __relational_items__ + left outer join "polymorphic"."relational_topics" as __relational_topics__ + on ( + /* WHERE becoming ON */ ( + __relational_topics__."topic_item_id" = __relational_items__."id" + )) + left outer join "polymorphic"."relational_posts" as __relational_posts__ + on ( + /* WHERE becoming ON */ ( + __relational_posts__."post_item_id" = __relational_items__."id" + )) + left outer join "polymorphic"."relational_dividers" as __relational_dividers__ + on ( + /* WHERE becoming ON */ ( + __relational_dividers__."divider_item_id" = __relational_items__."id" + )) + left outer join "polymorphic"."relational_checklists" as __relational_checklists__ + on ( + /* WHERE becoming ON */ ( + __relational_checklists__."checklist_item_id" = __relational_items__."id" + )) + left outer join "polymorphic"."relational_checklist_items" as __relational_checklist_items__ + on ( + /* WHERE becoming ON */ ( + __relational_checklist_items__."checklist_item_item_id" = __relational_items__."id" + )) where ( __relational_items__."id" = __relational_items_identifiers__."id0" ) -) as __relational_items_result__; - -select - __relational_posts__."post_item_id"::text as "0" -from "polymorphic"."relational_posts" as __relational_posts__ -where ( - __relational_posts__."post_item_id" = $1::"int4" -); - -select __relational_checklists_result__.* -from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_checklists_identifiers__, -lateral ( - select - __relational_checklists__."checklist_item_id"::text as "0", - __relational_checklists_identifiers__.idx as "1" - from "polymorphic"."relational_checklists" as __relational_checklists__ - where ( - __relational_checklists__."checklist_item_id" = __relational_checklists_identifiers__."id0" - ) -) as __relational_checklists_result__; \ No newline at end of file +) as __relational_items_result__; \ No newline at end of file diff --git a/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.sql b/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.sql index f4c9b8d497..a4be439473 100644 --- a/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.sql +++ b/postgraphile/postgraphile/__tests__/queries/polymorphic/relay.polyroot_with_related_poly.sql @@ -12,9 +12,39 @@ on ( order by __single_table_items_2."id" asc; select - __relational_items__."id"::text as "0", - __relational_items__."type"::text as "1" + __relational_items__."type"::text as "0", + __relational_items__."id"::text as "1", + __relational_topics__."topic_item_id"::text as "2", + __relational_posts__."post_item_id"::text as "3", + __relational_dividers__."divider_item_id"::text as "4", + __relational_checklists__."checklist_item_id"::text as "5", + __relational_checklist_items__."checklist_item_item_id"::text as "6" from "polymorphic"."relational_items" as __relational_items__ +left outer join "polymorphic"."relational_topics" as __relational_topics__ +on ( +/* WHERE becoming ON */ ( + __relational_topics__."topic_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_posts" as __relational_posts__ +on ( +/* WHERE becoming ON */ ( + __relational_posts__."post_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_dividers" as __relational_dividers__ +on ( +/* WHERE becoming ON */ ( + __relational_dividers__."divider_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklists" as __relational_checklists__ +on ( +/* WHERE becoming ON */ ( + __relational_checklists__."checklist_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklist_items" as __relational_checklist_items__ +on ( +/* WHERE becoming ON */ ( + __relational_checklist_items__."checklist_item_item_id" = __relational_items__."id" +)) order by __relational_items__."id" asc; select @@ -41,88 +71,86 @@ order by __single_table_item_relations__."id" asc; select __relational_item_relations__."id"::text as "0", - __relational_items__."id"::text as "1", - __relational_items__."type"::text as "2", - __relational_items_2."id"::text as "3", - __relational_items_2."type"::text as "4" + __relational_items__."type"::text as "1", + __relational_items__."id"::text as "2", + __relational_topics__."topic_item_id"::text as "3", + __relational_posts__."post_item_id"::text as "4", + __relational_dividers__."divider_item_id"::text as "5", + __relational_checklists__."checklist_item_id"::text as "6", + __relational_checklist_items__."checklist_item_item_id"::text as "7", + __relational_items_2."type"::text as "8", + __relational_items_2."id"::text as "9", + __relational_topics_2."topic_item_id"::text as "10", + __relational_posts_2."post_item_id"::text as "11", + __relational_dividers_2."divider_item_id"::text as "12", + __relational_checklists_2."checklist_item_id"::text as "13", + __relational_checklist_items_2."checklist_item_item_id"::text as "14" from "polymorphic"."relational_item_relations" as __relational_item_relations__ left outer join "polymorphic"."relational_items" as __relational_items__ on ( /* WHERE becoming ON */ ( __relational_items__."id" = __relational_item_relations__."child_id" )) +left outer join "polymorphic"."relational_topics" as __relational_topics__ +on ( +/* WHERE becoming ON */ ( + __relational_topics__."topic_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_posts" as __relational_posts__ +on ( +/* WHERE becoming ON */ ( + __relational_posts__."post_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_dividers" as __relational_dividers__ +on ( +/* WHERE becoming ON */ ( + __relational_dividers__."divider_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklists" as __relational_checklists__ +on ( +/* WHERE becoming ON */ ( + __relational_checklists__."checklist_item_id" = __relational_items__."id" +)) +left outer join "polymorphic"."relational_checklist_items" as __relational_checklist_items__ +on ( +/* WHERE becoming ON */ ( + __relational_checklist_items__."checklist_item_item_id" = __relational_items__."id" +)) left outer join "polymorphic"."relational_items" as __relational_items_2 on ( /* WHERE becoming ON */ ( __relational_items_2."id" = __relational_item_relations__."parent_id" )) +left outer join "polymorphic"."relational_topics" as __relational_topics_2 +on ( +/* WHERE becoming ON */ ( + __relational_topics_2."topic_item_id" = __relational_items_2."id" +)) +left outer join "polymorphic"."relational_posts" as __relational_posts_2 +on ( +/* WHERE becoming ON */ ( + __relational_posts_2."post_item_id" = __relational_items_2."id" +)) +left outer join "polymorphic"."relational_dividers" as __relational_dividers_2 +on ( +/* WHERE becoming ON */ ( + __relational_dividers_2."divider_item_id" = __relational_items_2."id" +)) +left outer join "polymorphic"."relational_checklists" as __relational_checklists_2 +on ( +/* WHERE becoming ON */ ( + __relational_checklists_2."checklist_item_id" = __relational_items_2."id" +)) +left outer join "polymorphic"."relational_checklist_items" as __relational_checklist_items_2 +on ( +/* WHERE becoming ON */ ( + __relational_checklist_items_2."checklist_item_item_id" = __relational_items_2."id" +)) where ( __relational_item_relations__."child_id" = $1::"int4" ) order by __relational_item_relations__."id" asc; -select __relational_topics_result__.* -from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_topics_identifiers__, -lateral ( - select - __relational_topics__."topic_item_id"::text as "0", - __relational_topics_identifiers__.idx as "1" - from "polymorphic"."relational_topics" as __relational_topics__ - where ( - __relational_topics__."topic_item_id" = __relational_topics_identifiers__."id0" - ) -) as __relational_topics_result__; - -select __relational_posts_result__.* -from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_posts_identifiers__, -lateral ( - select - __relational_posts__."post_item_id"::text as "0", - __relational_posts_identifiers__.idx as "1" - from "polymorphic"."relational_posts" as __relational_posts__ - where ( - __relational_posts__."post_item_id" = __relational_posts_identifiers__."id0" - ) -) as __relational_posts_result__; - -select __relational_dividers_result__.* -from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_dividers_identifiers__, -lateral ( - select - __relational_dividers__."divider_item_id"::text as "0", - __relational_dividers_identifiers__.idx as "1" - from "polymorphic"."relational_dividers" as __relational_dividers__ - where ( - __relational_dividers__."divider_item_id" = __relational_dividers_identifiers__."id0" - ) -) as __relational_dividers_result__; - -select - __relational_checklists__."checklist_item_id"::text as "0" -from "polymorphic"."relational_checklists" as __relational_checklists__ -where ( - __relational_checklists__."checklist_item_id" = $1::"int4" -); - -select __relational_checklist_items_result__.* -from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_checklist_items_identifiers__, -lateral ( - select - __relational_checklist_items__."checklist_item_item_id"::text as "0", - __relational_checklist_items_identifiers__.idx as "1" - from "polymorphic"."relational_checklist_items" as __relational_checklist_items__ - where ( - __relational_checklist_items__."checklist_item_item_id" = __relational_checklist_items_identifiers__."id0" - ) -) as __relational_checklist_items_result__; - -select - __relational_checklist_items__."checklist_item_item_id"::text as "0" -from "polymorphic"."relational_checklist_items" as __relational_checklist_items__ -where ( - __relational_checklist_items__."checklist_item_item_id" = $1::"int4" -); - select __relational_items_result__.* from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_items_identifiers__, lateral ( @@ -193,29 +221,39 @@ from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from js lateral ( select __relational_items__."type"::text as "0", - __relational_items__."id"::text as "1", - __relational_items_identifiers__.idx as "2" + __relational_topics__."topic_item_id"::text as "1", + __relational_posts__."post_item_id"::text as "2", + __relational_dividers__."divider_item_id"::text as "3", + __relational_checklists__."checklist_item_id"::text as "4", + __relational_checklist_items__."checklist_item_item_id"::text as "5", + __relational_items_identifiers__.idx as "6" from "polymorphic"."relational_items" as __relational_items__ + left outer join "polymorphic"."relational_topics" as __relational_topics__ + on ( + /* WHERE becoming ON */ ( + __relational_topics__."topic_item_id" = __relational_items__."id" + )) + left outer join "polymorphic"."relational_posts" as __relational_posts__ + on ( + /* WHERE becoming ON */ ( + __relational_posts__."post_item_id" = __relational_items__."id" + )) + left outer join "polymorphic"."relational_dividers" as __relational_dividers__ + on ( + /* WHERE becoming ON */ ( + __relational_dividers__."divider_item_id" = __relational_items__."id" + )) + left outer join "polymorphic"."relational_checklists" as __relational_checklists__ + on ( + /* WHERE becoming ON */ ( + __relational_checklists__."checklist_item_id" = __relational_items__."id" + )) + left outer join "polymorphic"."relational_checklist_items" as __relational_checklist_items__ + on ( + /* WHERE becoming ON */ ( + __relational_checklist_items__."checklist_item_item_id" = __relational_items__."id" + )) where ( __relational_items__."id" = __relational_items_identifiers__."id0" ) -) as __relational_items_result__; - -select - __relational_posts__."post_item_id"::text as "0" -from "polymorphic"."relational_posts" as __relational_posts__ -where ( - __relational_posts__."post_item_id" = $1::"int4" -); - -select __relational_checklists_result__.* -from (select ids.ordinality - 1 as idx, (ids.value->>0)::"int4" as "id0" from json_array_elements($1::json) with ordinality as ids) as __relational_checklists_identifiers__, -lateral ( - select - __relational_checklists__."checklist_item_id"::text as "0", - __relational_checklists_identifiers__.idx as "1" - from "polymorphic"."relational_checklists" as __relational_checklists__ - where ( - __relational_checklists__."checklist_item_id" = __relational_checklists_identifiers__."id0" - ) -) as __relational_checklists_result__; \ No newline at end of file +) as __relational_items_result__; \ No newline at end of file diff --git a/postgraphile/postgraphile/__tests__/schema/v4/js-reserved.1.export.mjs b/postgraphile/postgraphile/__tests__/schema/v4/js-reserved.1.export.mjs index e87347d6b7..76cb450940 100644 --- a/postgraphile/postgraphile/__tests__/schema/v4/js-reserved.1.export.mjs +++ b/postgraphile/postgraphile/__tests__/schema/v4/js-reserved.1.export.mjs @@ -10693,7 +10693,8 @@ export const interfaces = { throw new Error(`${this} Could not find matching name for relational polymorphic '${type.name}'`); } return $base.singleRelation(spec.relationName); - } + }, + disablePartitioning: false }; } } diff --git a/postgraphile/postgraphile/__tests__/schema/v4/polymorphic-auto-add-types.1.export.mjs b/postgraphile/postgraphile/__tests__/schema/v4/polymorphic-auto-add-types.1.export.mjs index c28333a0c1..121602baf5 100644 --- a/postgraphile/postgraphile/__tests__/schema/v4/polymorphic-auto-add-types.1.export.mjs +++ b/postgraphile/postgraphile/__tests__/schema/v4/polymorphic-auto-add-types.1.export.mjs @@ -2165,6 +2165,7 @@ const spec_relationalItems = { tags: { __proto__: null, interface: "mode:relational", + disablePartitioning: true, type: ["TOPIC references:relational_topics", "POST references:relational_posts", "DIVIDER references:relational_dividers", "CHECKLIST references:relational_checklists", "CHECKLIST_ITEM references:relational_checklist_items"] } }, @@ -3233,6 +3234,7 @@ const registryConfig_pgResources_relational_items_relational_items = { isDeletable: true, tags: { interface: "mode:relational", + disablePartitioning: true, type: spec_relationalItems.extensions.tags.type } } @@ -14518,7 +14520,8 @@ export const interfaces = { throw new Error(`${this} Could not find matching name for relational polymorphic '${type.name}'`); } return $base.singleRelation(spec.relationName); - } + }, + disablePartitioning: true }; } }, diff --git a/postgraphile/postgraphile/__tests__/schema/v4/polymorphic.1.export.mjs b/postgraphile/postgraphile/__tests__/schema/v4/polymorphic.1.export.mjs index b42203c32d..d0104a028a 100644 --- a/postgraphile/postgraphile/__tests__/schema/v4/polymorphic.1.export.mjs +++ b/postgraphile/postgraphile/__tests__/schema/v4/polymorphic.1.export.mjs @@ -2132,6 +2132,7 @@ const spec_relationalItems = { tags: { __proto__: null, interface: "mode:relational", + disablePartitioning: true, type: ["TOPIC references:relational_topics", "POST references:relational_posts", "DIVIDER references:relational_dividers", "CHECKLIST references:relational_checklists", "CHECKLIST_ITEM references:relational_checklist_items"] } }, @@ -3200,6 +3201,7 @@ const registryConfig_pgResources_relational_items_relational_items = { isDeletable: true, tags: { interface: "mode:relational", + disablePartitioning: true, type: spec_relationalItems.extensions.tags.type } } @@ -21929,7 +21931,8 @@ export const interfaces = { throw new Error(`${this} Could not find matching name for relational polymorphic '${type.name}'`); } return $base.singleRelation(spec.relationName); - } + }, + disablePartitioning: true }; } }, diff --git a/postgraphile/postgraphile/__tests__/schema/v4/skipNodePlugin.polymorphic.1.export.mjs b/postgraphile/postgraphile/__tests__/schema/v4/skipNodePlugin.polymorphic.1.export.mjs index dca79836e4..2046c8b745 100644 --- a/postgraphile/postgraphile/__tests__/schema/v4/skipNodePlugin.polymorphic.1.export.mjs +++ b/postgraphile/postgraphile/__tests__/schema/v4/skipNodePlugin.polymorphic.1.export.mjs @@ -2165,6 +2165,7 @@ const spec_relationalItems = { tags: { __proto__: null, interface: "mode:relational", + disablePartitioning: true, type: ["TOPIC references:relational_topics", "POST references:relational_posts", "DIVIDER references:relational_dividers", "CHECKLIST references:relational_checklists", "CHECKLIST_ITEM references:relational_checklist_items"] } }, @@ -3233,6 +3234,7 @@ const registryConfig_pgResources_relational_items_relational_items = { isDeletable: true, tags: { interface: "mode:relational", + disablePartitioning: true, type: spec_relationalItems.extensions.tags.type } } @@ -19588,7 +19590,8 @@ export const interfaces = { throw new Error(`${this} Could not find matching name for relational polymorphic '${type.name}'`); } return $base.singleRelation(spec.relationName); - } + }, + disablePartitioning: true }; } }, diff --git a/postgraphile/postgraphile/__tests__/schema/v5/skipNodePlugin.polymorphic.1.export.mjs b/postgraphile/postgraphile/__tests__/schema/v5/skipNodePlugin.polymorphic.1.export.mjs index 9ed0a42be1..125c956d3e 100644 --- a/postgraphile/postgraphile/__tests__/schema/v5/skipNodePlugin.polymorphic.1.export.mjs +++ b/postgraphile/postgraphile/__tests__/schema/v5/skipNodePlugin.polymorphic.1.export.mjs @@ -2155,6 +2155,7 @@ const spec_relationalItems = { tags: { __proto__: null, interface: "mode:relational", + disablePartitioning: true, type: ["TOPIC references:relational_topics", "POST references:relational_posts", "DIVIDER references:relational_dividers", "CHECKLIST references:relational_checklists", "CHECKLIST_ITEM references:relational_checklist_items"] } }, @@ -3222,6 +3223,7 @@ const registryConfig_pgResources_relational_items_relational_items = { isDeletable: true, tags: { interface: "mode:relational", + disablePartitioning: true, type: spec_relationalItems.extensions.tags.type } } @@ -22266,7 +22268,8 @@ export const interfaces = { throw new Error(`${this} Could not find matching name for relational polymorphic '${type.name}'`); } return $base.singleRelation(spec.relationName); - } + }, + disablePartitioning: true }; } },