%%{init: {'themeVariables': { 'fontSize': '12px'}}}%%
graph TD
    classDef path fill:#eee,stroke:#000,color:#000
    classDef plan fill:#fff,stroke-width:1px,color:#000
    classDef itemplan fill:#fff,stroke-width:2px,color:#000
    classDef unbatchedplan fill:#dff,stroke-width:1px,color:#000
    classDef sideeffectplan fill:#fcc,stroke-width:2px,color:#000
    classDef bucket fill:#f6f6f6,color:#000,stroke-width:2px,text-align:left


    %% plan dependencies
    PgSelect8[["PgSelect[8∈0] ➊<br />ᐸforumsᐳ"]]:::plan
    Object11{{"Object[11∈0] ➊<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    Lambda33{{"Lambda[33∈0] ➊<br />ᐸcalculateLimitAndOffsetSQLᐳ"}}:::plan
    Object11 & Lambda33 --> PgSelect8
    Access9{{"Access[9∈0] ➊<br />ᐸ2.pgSettingsᐳ"}}:::plan
    Access10{{"Access[10∈0] ➊<br />ᐸ2.withPgClientᐳ"}}:::plan
    Access9 & Access10 --> Object11
    __Value2["__Value[2∈0] ➊<br />ᐸcontextᐳ"]:::plan
    __Value2 --> Access9
    __Value2 --> Access10
    Constant36{{"Constant[36∈0] ➊<br />ᐸ§{ cursorLower: null, cursorUpper: null, first: null, last: ᐳ"}}:::plan
    Constant36 --> Lambda33
    __Value4["__Value[4∈0] ➊<br />ᐸrootValueᐳ"]:::plan
    __Item12[/"__Item[12∈1]<br />ᐸ8ᐳ"\]:::itemplan
    PgSelect8 ==> __Item12
    PgSelectSingle13{{"PgSelectSingle[13∈1]<br />ᐸforumsᐳ"}}:::plan
    __Item12 --> PgSelectSingle13
    PgSelect15[["PgSelect[15∈2]<br />ᐸforums_messages_list_setᐳ"]]:::plan
    PgClassExpression14{{"PgClassExpression[14∈2]<br />ᐸ__forums__ᐳ"}}:::plan
    Object11 & PgClassExpression14 & Lambda33 --> PgSelect15
    PgSelectSingle13 --> PgClassExpression14
    __ListTransform19[["__ListTransform[19∈2]<br />ᐸpartitionByIndex1:15ᐳ"]]:::plan
    PgSelect15 --> __ListTransform19
    __Item20[/"__Item[20∈3]<br />ᐸ15ᐳ"\]:::itemplan
    PgSelect15 -.-> __Item20
    PgSelectSingle21{{"PgSelectSingle[21∈3]<br />ᐸforums_messages_list_setᐳ"}}:::plan
    __Item20 --> PgSelectSingle21
    PgClassExpression22{{"PgClassExpression[22∈3]<br />ᐸ__forums_m..._set_idx__ᐳ"}}:::plan
    PgSelectSingle21 --> PgClassExpression22
    __Item23[/"__Item[23∈4]<br />ᐸ19ᐳ"\]:::itemplan
    __ListTransform19 ==> __Item23
    __Item26[/"__Item[26∈6]<br />ᐸ23ᐳ"\]:::itemplan
    __Item23 ==> __Item26
    PgSelectSingle27{{"PgSelectSingle[27∈6]<br />ᐸforums_messages_list_setᐳ"}}:::plan
    __Item26 --> PgSelectSingle27
    PgClassExpression28{{"PgClassExpression[28∈7]<br />ᐸ__forums_m...t__.”body”ᐳ"}}:::plan
    PgSelectSingle27 --> PgClassExpression28
    PgClassExpression29{{"PgClassExpression[29∈7]<br />ᐸ__forums_m...”featured”ᐳ"}}:::plan
    PgSelectSingle27 --> PgClassExpression29

    %% define steps

    subgraph "Buckets for queries/functions/computed-column-forums-messages-list-set"
    Bucket0("Bucket 0 (root)<br /><br />1: <br />ᐳ: 9, 10, 36, 11, 33<br />2: PgSelect[8]"):::bucket
    classDef bucket0 stroke:#696969
    class Bucket0,__Value2,__Value4,PgSelect8,Access9,Access10,Object11,Lambda33,Constant36 bucket0
    Bucket1("Bucket 1 (listItem)<br />Deps: 11, 33<br /><br />ROOT __Item{1}ᐸ8ᐳ[12]"):::bucket
    classDef bucket1 stroke:#00bfff
    class Bucket1,__Item12,PgSelectSingle13 bucket1
    Bucket2("Bucket 2 (nullableBoundary)<br />Deps: 13, 11, 33<br /><br />ROOT PgSelectSingle{1}ᐸforumsᐳ[13]<br />1: <br />ᐳ: PgClassExpression[14]<br />2: PgSelect[15]<br />3: __ListTransform[19]"):::bucket
    classDef bucket2 stroke:#7f007f
    class Bucket2,PgClassExpression14,PgSelect15,__ListTransform19 bucket2
    Bucket3("Bucket 3 (subroutine)<br /><br />ROOT PgClassExpression{3}ᐸ__forums_m..._set_idx__ᐳ[22]"):::bucket
    classDef bucket3 stroke:#ffa500
    class Bucket3,__Item20,PgSelectSingle21,PgClassExpression22 bucket3
    Bucket4("Bucket 4 (listItem)<br /><br />ROOT __Item{4}ᐸ19ᐳ[23]"):::bucket
    classDef bucket4 stroke:#0000ff
    class Bucket4,__Item23 bucket4
    Bucket6("Bucket 6 (listItem)<br /><br />ROOT __Item{6}ᐸ23ᐳ[26]"):::bucket
    classDef bucket6 stroke:#ff1493
    class Bucket6,__Item26,PgSelectSingle27 bucket6
    Bucket7("Bucket 7 (nullableBoundary)<br />Deps: 27<br /><br />ROOT PgSelectSingle{6}ᐸforums_messages_list_setᐳ[27]"):::bucket
    classDef bucket7 stroke:#808000
    class Bucket7,PgClassExpression28,PgClassExpression29 bucket7
    Bucket0 --> Bucket1
    Bucket1 --> Bucket2
    Bucket2 --> Bucket3 & Bucket4
    Bucket4 --> Bucket6
    Bucket6 --> Bucket7
    end
