Skip to content

Commit

Permalink
Update snapshots with re-simplified query plan/SQL
Browse files Browse the repository at this point in the history
  • Loading branch information
benjie committed Feb 18, 2025
1 parent 4d4e67c commit 65456e2
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 149 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,12 @@ graph TD
__Value2 --> Access10
__Value2 --> Access11
Lambda14{{"Lambda[14∈0] ➊<br />ᐸextractList_grafast_applyᐳ"}}:::plan
Constant71{{"Constant[71∈0] ➊<br />ᐸ[ 'PRIMARY_KEY_ASC' ]ᐳ"}}:::plan
Constant71 --> Lambda14
Constant67{{"Constant[67∈0] ➊<br />ᐸ[ 'PRIMARY_KEY_ASC' ]ᐳ"}}:::plan
Constant67 --> Lambda14
ApplyInput15{{"ApplyInput[15∈0] ➊"}}:::plan
Constant6 --> ApplyInput15
Lambda26{{"Lambda[26∈0] ➊<br />ᐸextractList_grafast_applyᐳ"}}:::plan
Constant6 --> Lambda26
ApplyInput27{{"ApplyInput[27∈0] ➊"}}:::plan
Constant6 --> ApplyInput27
ApplyInput36{{"ApplyInput[36∈0] ➊"}}:::plan
Constant6 --> ApplyInput36
ApplyInput45{{"ApplyInput[45∈0] ➊"}}:::plan
Constant6 --> ApplyInput45
ApplyInput54{{"ApplyInput[54∈0] ➊"}}:::plan
Constant6 --> ApplyInput54
ApplyInput63{{"ApplyInput[63∈0] ➊"}}:::plan
Constant6 --> ApplyInput63
__Value4["__Value[4∈0] ➊<br />ᐸrootValueᐳ"]:::plan
PgSelect16[["PgSelect[16∈1] ➊<br />ᐸsingle_table_itemsᐳ"]]:::plan
Object12 & Lambda14 & ApplyInput15 & Connection13 & Constant6 & Constant6 & Constant6 --> PgSelect16
Expand All @@ -49,119 +39,55 @@ graph TD
PgSelectSingle19 --> PgClassExpression20
PgClassExpression21{{"PgClassExpression[21∈2]<br />ᐸ__single_t...s__.”type”ᐳ"}}:::plan
PgSelectSingle19 --> PgClassExpression21
PgSelect22[["PgSelect[22∈3]<br />ᐸsingle_table_itemsᐳ<br />ᐳSingleTableTopic"]]:::plan
Object12 & PgClassExpression20 & Lambda26 & Constant6 & Constant6 & ApplyInput27 --> PgSelect22
PgSelect33[["PgSelect[33∈3]<br />ᐸsingle_table_itemsᐳ<br />ᐳSingleTablePost"]]:::plan
Object12 & PgClassExpression20 & Lambda26 & Constant6 & Constant6 & ApplyInput36 --> PgSelect33
PgSelect42[["PgSelect[42∈3]<br />ᐸsingle_table_itemsᐳ<br />ᐳSingleTableDivider"]]:::plan
Object12 & PgClassExpression20 & Lambda26 & Constant6 & Constant6 & ApplyInput45 --> PgSelect42
PgSelect51[["PgSelect[51∈3]<br />ᐸsingle_table_itemsᐳ<br />ᐳSingleTableChecklist"]]:::plan
Object12 & PgClassExpression20 & Lambda26 & Constant6 & Constant6 & ApplyInput54 --> PgSelect51
PgSelect60[["PgSelect[60∈3]<br />ᐸsingle_table_itemsᐳ<br />ᐳSingleTableChecklistItem"]]:::plan
Object12 & PgClassExpression20 & Lambda26 & Constant6 & Constant6 & ApplyInput63 --> PgSelect60
PgSelect22[["PgSelect[22∈3]<br />ᐸsingle_table_itemsᐳ<br />ᐳSingleTableTopic<br />ᐳSingleTablePost<br />ᐳSingleTableDivider<br />ᐳSingleTableChecklist<br />ᐳSingleTableChecklistItem"]]:::plan
Object12 & PgClassExpression20 & Lambda26 & Constant6 & Constant6 & ApplyInput15 --> PgSelect22
PgSelectRows28[["PgSelectRows[28∈3]"]]:::plan
PgSelect22 --> PgSelectRows28
PgSelectRows37[["PgSelectRows[37∈3]"]]:::plan
PgSelect33 --> PgSelectRows37
PgSelectRows46[["PgSelectRows[46∈3]"]]:::plan
PgSelect42 --> PgSelectRows46
PgSelectRows55[["PgSelectRows[55∈3]"]]:::plan
PgSelect51 --> PgSelectRows55
PgSelectRows64[["PgSelectRows[64∈3]"]]:::plan
PgSelect60 --> PgSelectRows64
__Item29[/"__Item[29∈4]<br />ᐸ28ᐳ"\]:::itemplan
__Item29[/"__Item[29∈4]<br />ᐸ28ᐳ<br />ᐳSingleTableTopic"\]:::itemplan
PgSelectRows28 ==> __Item29
PgSelectSingle30{{"PgSelectSingle[30∈4]<br />ᐸsingle_table_itemsᐳ"}}:::plan
__Item29 --> PgSelectSingle30
PgClassExpression31{{"PgClassExpression[31∈4]<br />ᐸ__single_t...ems__.”id”ᐳ"}}:::plan
PgClassExpression31{{"PgClassExpression[31∈4]<br />ᐸ__single_t...ems__.”id”ᐳ<br />ᐳSingleTableTopic<br />ᐳSingleTablePost<br />ᐳSingleTableDivider<br />ᐳSingleTableChecklist<br />ᐳSingleTableChecklistItem"}}:::plan
PgSelectSingle30 --> PgClassExpression31
PgClassExpression32{{"PgClassExpression[32∈4]<br />ᐸ__single_t...”position”ᐳ"}}:::plan
PgClassExpression32{{"PgClassExpression[32∈4]<br />ᐸ__single_t...”position”ᐳ<br />ᐳSingleTableTopic<br />ᐳSingleTablePost<br />ᐳSingleTableDivider<br />ᐳSingleTableChecklist<br />ᐳSingleTableChecklistItem"}}:::plan
PgSelectSingle30 --> PgClassExpression32
__Item38[/"__Item[38∈6]<br />ᐸ37ᐳ"\]:::itemplan
PgSelectRows37 ==> __Item38
PgSelectSingle39{{"PgSelectSingle[39∈6]<br />ᐸsingle_table_itemsᐳ"}}:::plan
__Item38 --> PgSelectSingle39
PgClassExpression40{{"PgClassExpression[40∈6]<br />ᐸ__single_t...ems__.”id”ᐳ"}}:::plan
PgSelectSingle39 --> PgClassExpression40
PgClassExpression41{{"PgClassExpression[41∈6]<br />ᐸ__single_t...”position”ᐳ"}}:::plan
PgSelectSingle39 --> PgClassExpression41
__Item47[/"__Item[47∈8]<br />ᐸ46ᐳ"\]:::itemplan
PgSelectRows46 ==> __Item47
PgSelectSingle48{{"PgSelectSingle[48∈8]<br />ᐸsingle_table_itemsᐳ"}}:::plan
__Item47 --> PgSelectSingle48
PgClassExpression49{{"PgClassExpression[49∈8]<br />ᐸ__single_t...ems__.”id”ᐳ"}}:::plan
PgSelectSingle48 --> PgClassExpression49
PgClassExpression50{{"PgClassExpression[50∈8]<br />ᐸ__single_t...”position”ᐳ"}}:::plan
PgSelectSingle48 --> PgClassExpression50
__Item56[/"__Item[56∈10]<br />ᐸ55ᐳ"\]:::itemplan
PgSelectRows55 ==> __Item56
PgSelectSingle57{{"PgSelectSingle[57∈10]<br />ᐸsingle_table_itemsᐳ"}}:::plan
__Item56 --> PgSelectSingle57
PgClassExpression58{{"PgClassExpression[58∈10]<br />ᐸ__single_t...ems__.”id”ᐳ"}}:::plan
PgSelectSingle57 --> PgClassExpression58
PgClassExpression59{{"PgClassExpression[59∈10]<br />ᐸ__single_t...”position”ᐳ"}}:::plan
PgSelectSingle57 --> PgClassExpression59
__Item65[/"__Item[65∈12]<br />ᐸ64ᐳ"\]:::itemplan
PgSelectRows64 ==> __Item65
PgSelectSingle66{{"PgSelectSingle[66∈12]<br />ᐸsingle_table_itemsᐳ"}}:::plan
__Item65 --> PgSelectSingle66
PgClassExpression67{{"PgClassExpression[67∈12]<br />ᐸ__single_t...ems__.”id”ᐳ"}}:::plan
PgSelectSingle66 --> PgClassExpression67
PgClassExpression68{{"PgClassExpression[68∈12]<br />ᐸ__single_t...”position”ᐳ"}}:::plan
PgSelectSingle66 --> PgClassExpression68

%% define steps

subgraph "Buckets for queries/polymorphic/single-table-items-and-children"
Bucket0("Bucket 0 (root)"):::bucket
classDef bucket0 stroke:#696969
class Bucket0,__Value2,__Value4,Constant6,Access10,Access11,Object12,Connection13,Lambda14,ApplyInput15,Lambda26,ApplyInput27,ApplyInput36,ApplyInput45,ApplyInput54,ApplyInput63,Constant71 bucket0
Bucket1("Bucket 1 (nullableBoundary)<br />Deps: 12, 14, 15, 13, 6, 26, 27, 36, 45, 54, 63<br /><br />ROOT Connectionᐸ9ᐳ[13]<br />1: PgSelect[16]<br />2: PgSelectRows[17]"):::bucket
class Bucket0,__Value2,__Value4,Constant6,Access10,Access11,Object12,Connection13,Lambda14,ApplyInput15,Lambda26,Constant67 bucket0
Bucket1("Bucket 1 (nullableBoundary)<br />Deps: 12, 14, 15, 13, 6, 26<br /><br />ROOT Connectionᐸ9ᐳ[13]<br />1: PgSelect[16]<br />2: PgSelectRows[17]"):::bucket
classDef bucket1 stroke:#00bfff
class Bucket1,PgSelect16,PgSelectRows17 bucket1
Bucket2("Bucket 2 (listItem)<br />Deps: 12, 26, 6, 27, 36, 45, 54, 63<br /><br />ROOT __Item{2}ᐸ17ᐳ[18]"):::bucket
Bucket2("Bucket 2 (listItem)<br />Deps: 12, 26, 6, 15<br /><br />ROOT __Item{2}ᐸ17ᐳ[18]"):::bucket
classDef bucket2 stroke:#7f007f
class Bucket2,__Item18,PgSelectSingle19,PgClassExpression20,PgClassExpression21 bucket2
Bucket3("Bucket 3 (polymorphic)<br />SingleTableTopic,SingleTablePost,SingleTableDivider,SingleTableChecklist,SingleTableChecklistItem<br />Deps: 12, 20, 26, 6, 27, 36, 45, 54, 63, 19, 21<br />ᐳSingleTableTopic<br />ᐳSingleTablePost<br />ᐳSingleTableDivider<br />ᐳSingleTableChecklist<br />ᐳSingleTableChecklistItem<br /><br />1: 22, 33, 42, 51, 60<br />2: 28, 37, 46, 55, 64"):::bucket
Bucket3("Bucket 3 (polymorphic)<br />SingleTableTopic,SingleTablePost,SingleTableDivider,SingleTableChecklist,SingleTableChecklistItem<br />Deps: 12, 20, 26, 6, 15, 19, 21<br />ᐳSingleTableTopic<br />ᐳSingleTablePost<br />ᐳSingleTableDivider<br />ᐳSingleTableChecklist<br />ᐳSingleTableChecklistItem<br /><br />1: PgSelect[22]<br />2: PgSelectRows[28]"):::bucket
classDef bucket3 stroke:#ffa500
class Bucket3,PgSelect22,PgSelectRows28,PgSelect33,PgSelectRows37,PgSelect42,PgSelectRows46,PgSelect51,PgSelectRows55,PgSelect60,PgSelectRows64 bucket3
class Bucket3,PgSelect22,PgSelectRows28 bucket3
Bucket4("Bucket 4 (listItem)<br /><br />ROOT __Item{4}ᐸ28ᐳ[29]"):::bucket
classDef bucket4 stroke:#0000ff
class Bucket4,__Item29,PgSelectSingle30,PgClassExpression31,PgClassExpression32 bucket4
Bucket5("Bucket 5 (polymorphic)<br />SingleTableTopic,SingleTablePost,SingleTableDivider,SingleTableChecklist,SingleTableChecklistItem<br />Deps: 30, 31, 32<br />ᐳSingleTableTopicᐳSingleTableTopic<br />ᐳSingleTableTopicᐳSingleTablePost<br />ᐳSingleTableTopicᐳSingleTableDivider<br />ᐳSingleTableTopicᐳSingleTableChecklist<br />ᐳSingleTableTopicᐳSingleTableChecklistItem"):::bucket
classDef bucket5 stroke:#7fff00
class Bucket5 bucket5
Bucket6("Bucket 6 (listItem)<br /><br />ROOT __Item{6}ᐸ37ᐳ[38]"):::bucket
Bucket6("Bucket 6 (polymorphic)<br />SingleTableTopic,SingleTablePost,SingleTableDivider,SingleTableChecklist,SingleTableChecklistItem<br />Deps: 30, 31, 32<br />ᐳSingleTablePostᐳSingleTableTopic<br />ᐳSingleTablePostᐳSingleTablePost<br />ᐳSingleTablePostᐳSingleTableDivider<br />ᐳSingleTablePostᐳSingleTableChecklist<br />ᐳSingleTablePostᐳSingleTableChecklistItem"):::bucket
classDef bucket6 stroke:#ff1493
class Bucket6,__Item38,PgSelectSingle39,PgClassExpression40,PgClassExpression41 bucket6
Bucket7("Bucket 7 (polymorphic)<br />SingleTableTopic,SingleTablePost,SingleTableDivider,SingleTableChecklist,SingleTableChecklistItem<br />Deps: 39, 40, 41<br />ᐳSingleTablePostᐳSingleTableTopic<br />ᐳSingleTablePostᐳSingleTablePost<br />ᐳSingleTablePostᐳSingleTableDivider<br />ᐳSingleTablePostᐳSingleTableChecklist<br />ᐳSingleTablePostᐳSingleTableChecklistItem"):::bucket
class Bucket6 bucket6
Bucket7("Bucket 7 (polymorphic)<br />SingleTableTopic,SingleTablePost,SingleTableDivider,SingleTableChecklist,SingleTableChecklistItem<br />Deps: 30, 31, 32<br />ᐳSingleTableDividerᐳSingleTableTopic<br />ᐳSingleTableDividerᐳSingleTablePost<br />ᐳSingleTableDividerᐳSingleTableDivider<br />ᐳSingleTableDividerᐳSingleTableChecklist<br />ᐳSingleTableDividerᐳSingleTableChecklistItem"):::bucket
classDef bucket7 stroke:#808000
class Bucket7 bucket7
Bucket8("Bucket 8 (listItem)<br /><br />ROOT __Item{8}ᐸ46ᐳ[47]"):::bucket
Bucket8("Bucket 8 (polymorphic)<br />SingleTableTopic,SingleTablePost,SingleTableDivider,SingleTableChecklist,SingleTableChecklistItem<br />Deps: 30, 31, 32<br />ᐳSingleTableChecklistᐳSingleTableTopic<br />ᐳSingleTableChecklistᐳSingleTablePost<br />ᐳSingleTableChecklistᐳSingleTableDivider<br />ᐳSingleTableChecklistᐳSingleTableChecklist<br />ᐳSingleTableChecklistᐳSingleTableChecklistItem"):::bucket
classDef bucket8 stroke:#dda0dd
class Bucket8,__Item47,PgSelectSingle48,PgClassExpression49,PgClassExpression50 bucket8
Bucket9("Bucket 9 (polymorphic)<br />SingleTableTopic,SingleTablePost,SingleTableDivider,SingleTableChecklist,SingleTableChecklistItem<br />Deps: 48, 49, 50<br />ᐳSingleTableDividerᐳSingleTableTopic<br />ᐳSingleTableDividerᐳSingleTablePost<br />ᐳSingleTableDividerᐳSingleTableDivider<br />ᐳSingleTableDividerᐳSingleTableChecklist<br />ᐳSingleTableDividerᐳSingleTableChecklistItem"):::bucket
class Bucket8 bucket8
Bucket9("Bucket 9 (polymorphic)<br />SingleTableTopic,SingleTablePost,SingleTableDivider,SingleTableChecklist,SingleTableChecklistItem<br />Deps: 30, 31, 32<br />ᐳSingleTableChecklistItemᐳSingleTableTopic<br />ᐳSingleTableChecklistItemᐳSingleTablePost<br />ᐳSingleTableChecklistItemᐳSingleTableDivider<br />ᐳSingleTableChecklistItemᐳSingleTableChecklist<br />ᐳSingleTableChecklistItemᐳSingleTableChecklistItem"):::bucket
classDef bucket9 stroke:#ff0000
class Bucket9 bucket9
Bucket10("Bucket 10 (listItem)<br /><br />ROOT __Item{10}ᐸ55ᐳ[56]"):::bucket
classDef bucket10 stroke:#ffff00
class Bucket10,__Item56,PgSelectSingle57,PgClassExpression58,PgClassExpression59 bucket10
Bucket11("Bucket 11 (polymorphic)<br />SingleTableTopic,SingleTablePost,SingleTableDivider,SingleTableChecklist,SingleTableChecklistItem<br />Deps: 57, 58, 59<br />ᐳSingleTableChecklistᐳSingleTableTopic<br />ᐳSingleTableChecklistᐳSingleTablePost<br />ᐳSingleTableChecklistᐳSingleTableDivider<br />ᐳSingleTableChecklistᐳSingleTableChecklist<br />ᐳSingleTableChecklistᐳSingleTableChecklistItem"):::bucket
classDef bucket11 stroke:#00ffff
class Bucket11 bucket11
Bucket12("Bucket 12 (listItem)<br /><br />ROOT __Item{12}ᐸ64ᐳ[65]"):::bucket
classDef bucket12 stroke:#4169e1
class Bucket12,__Item65,PgSelectSingle66,PgClassExpression67,PgClassExpression68 bucket12
Bucket13("Bucket 13 (polymorphic)<br />SingleTableTopic,SingleTablePost,SingleTableDivider,SingleTableChecklist,SingleTableChecklistItem<br />Deps: 66, 67, 68<br />ᐳSingleTableChecklistItemᐳSingleTableTopic<br />ᐳSingleTableChecklistItemᐳSingleTablePost<br />ᐳSingleTableChecklistItemᐳSingleTableDivider<br />ᐳSingleTableChecklistItemᐳSingleTableChecklist<br />ᐳSingleTableChecklistItemᐳSingleTableChecklistItem"):::bucket
classDef bucket13 stroke:#3cb371
class Bucket13 bucket13
Bucket0 --> Bucket1
Bucket1 --> Bucket2
Bucket2 --> Bucket3
Bucket3 --> Bucket4 & Bucket6 & Bucket8 & Bucket10 & Bucket12
Bucket4 --> Bucket5
Bucket6 --> Bucket7
Bucket8 --> Bucket9
Bucket10 --> Bucket11
Bucket12 --> Bucket13
Bucket3 --> Bucket4
Bucket4 --> Bucket5 & Bucket6 & Bucket7 & Bucket8 & Bucket9
end
Original file line number Diff line number Diff line change
Expand Up @@ -4,61 +4,6 @@ select
from "polymorphic"."single_table_items" as __single_table_items__
order by __single_table_items__."id" asc;

select __single_table_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 __single_table_items_identifiers__,
lateral (
select
__single_table_items__."id"::text as "0",
__single_table_items__."position"::text as "1",
__single_table_items__."type"::text as "2",
__single_table_items_identifiers__.idx as "3"
from "polymorphic"."single_table_items" as __single_table_items__
where (
__single_table_items__."parent_id" = __single_table_items_identifiers__."id0"
)
order by __single_table_items__."id" asc
) as __single_table_items_result__;

select __single_table_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 __single_table_items_identifiers__,
lateral (
select
__single_table_items__."id"::text as "0",
__single_table_items__."position"::text as "1",
__single_table_items__."type"::text as "2",
__single_table_items_identifiers__.idx as "3"
from "polymorphic"."single_table_items" as __single_table_items__
where (
__single_table_items__."parent_id" = __single_table_items_identifiers__."id0"
)
order by __single_table_items__."id" asc
) as __single_table_items_result__;

select __single_table_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 __single_table_items_identifiers__,
lateral (
select
__single_table_items__."id"::text as "0",
__single_table_items__."position"::text as "1",
__single_table_items__."type"::text as "2",
__single_table_items_identifiers__.idx as "3"
from "polymorphic"."single_table_items" as __single_table_items__
where (
__single_table_items__."parent_id" = __single_table_items_identifiers__."id0"
)
order by __single_table_items__."id" asc
) as __single_table_items_result__;

select
__single_table_items__."id"::text as "0",
__single_table_items__."position"::text as "1",
__single_table_items__."type"::text as "2"
from "polymorphic"."single_table_items" as __single_table_items__
where (
__single_table_items__."parent_id" = $1::"int4"
)
order by __single_table_items__."id" asc;

select __single_table_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 __single_table_items_identifiers__,
lateral (
Expand Down

0 comments on commit 65456e2

Please sign in to comment.