%%{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
    Object13{{"Object[13∈0]<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    Access11{{"Access[11∈0]<br />ᐸ2.pgSettingsᐳ"}}:::plan
    Access12{{"Access[12∈0]<br />ᐸ2.withPgClientᐳ"}}:::plan
    Access11 & Access12 --> Object13
    PgSelect10[["PgSelect[10∈0]<br />ᐸforumsᐳ"]]:::plan
    Object13 --> PgSelect10
    __Value2["__Value[2∈0]<br />ᐸcontextᐳ"]:::plan
    __Value2 --> Access11
    __Value2 --> Access12
    __Value4["__Value[4∈0]<br />ᐸrootValueᐳ"]:::plan
    Connection27{{"Connection[27∈0]<br />ᐸ23ᐳ"}}:::plan
    __Item14[/"__Item[14∈1]<br />ᐸ10ᐳ"\]:::itemplan
    PgSelect10 ==> __Item14
    PgSelectSingle15{{"PgSelectSingle[15∈1]<br />ᐸforumsᐳ"}}:::plan
    __Item14 --> PgSelectSingle15
    Constant59{{"Constant[59∈1]<br />ᐸfalseᐳ"}}:::plan
    PgClassExpression16{{"PgClassExpression[16∈2]<br />ᐸ__forums__.”name”ᐳ"}}:::plan
    PgSelectSingle15 --> PgClassExpression16
    PgSelect29[["PgSelect[29∈3]<br />ᐸmessagesᐳ"]]:::plan
    PgClassExpression22{{"PgClassExpression[22∈3]<br />ᐸ__forums__.”id”ᐳ"}}:::plan
    PgClassExpression28{{"PgClassExpression[28∈3]<br />ᐸ__forums__...chived_at”ᐳ"}}:::plan
    Object13 & PgClassExpression22 & PgClassExpression28 & Connection27 --> PgSelect29
    PgSelect42[["PgSelect[42∈3]<br />ᐸmessagesᐳ"]]:::plan
    Object13 & PgClassExpression22 & PgClassExpression28 & Connection27 --> PgSelect42
    PgSelectSingle15 --> PgClassExpression22
    PgSelectSingle15 --> PgClassExpression28
    PgPageInfo58{{"PgPageInfo[58∈3]"}}:::plan
    Connection27 --> PgPageInfo58
    First62{{"First[62∈3]"}}:::plan
    Access69{{"Access[69∈3]<br />ᐸ14.1ᐳ"}}:::plan
    Access69 --> First62
    PgSelectSingle63{{"PgSelectSingle[63∈3]<br />ᐸmessagesᐳ"}}:::plan
    First62 --> PgSelectSingle63
    PgClassExpression64{{"PgClassExpression[64∈3]<br />ᐸcount(*)ᐳ"}}:::plan
    PgSelectSingle63 --> PgClassExpression64
    __Item14 --> Access69
    __Item30[/"__Item[30∈4]<br />ᐸ29ᐳ"\]:::itemplan
    PgSelect29 ==> __Item30
    PgSelectSingle31{{"PgSelectSingle[31∈4]<br />ᐸmessagesᐳ"}}:::plan
    __Item30 --> PgSelectSingle31
    PgClassExpression32{{"PgClassExpression[32∈5]<br />ᐸ__messages__.”body”ᐳ"}}:::plan
    PgSelectSingle31 --> PgClassExpression32
    PgSelectSingle39{{"PgSelectSingle[39∈5]<br />ᐸusersᐳ"}}:::plan
    RemapKeys65{{"RemapKeys[65∈5]<br />ᐸ31:{”0”:1,”1”:2}ᐳ"}}:::plan
    RemapKeys65 --> PgSelectSingle39
    PgSelectSingle31 --> RemapKeys65
    PgClassExpression40{{"PgClassExpression[40∈6]<br />ᐸ__users__.”username”ᐳ"}}:::plan
    PgSelectSingle39 --> PgClassExpression40
    PgClassExpression41{{"PgClassExpression[41∈6]<br />ᐸ__users__....vatar_url”ᐳ"}}:::plan
    PgSelectSingle39 --> PgClassExpression41
    __Item43[/"__Item[43∈7]<br />ᐸ42ᐳ"\]:::itemplan
    PgSelect42 ==> __Item43
    PgSelectSingle44{{"PgSelectSingle[44∈7]<br />ᐸmessagesᐳ"}}:::plan
    __Item43 --> PgSelectSingle44
    PgCursor45{{"PgCursor[45∈8]"}}:::plan
    List47{{"List[47∈8]<br />ᐸ46ᐳ"}}:::plan
    List47 --> PgCursor45
    PgClassExpression46{{"PgClassExpression[46∈8]<br />ᐸ__messages__.”id”ᐳ"}}:::plan
    PgSelectSingle44 --> PgClassExpression46
    PgClassExpression46 --> List47
    PgClassExpression48{{"PgClassExpression[48∈8]<br />ᐸ__messages__.”body”ᐳ"}}:::plan
    PgSelectSingle44 --> PgClassExpression48
    PgSelectSingle55{{"PgSelectSingle[55∈8]<br />ᐸusersᐳ"}}:::plan
    RemapKeys67{{"RemapKeys[67∈8]<br />ᐸ44:{”0”:2,”1”:3}ᐳ"}}:::plan
    RemapKeys67 --> PgSelectSingle55
    PgSelectSingle44 --> RemapKeys67
    PgClassExpression56{{"PgClassExpression[56∈9]<br />ᐸ__users__.”username”ᐳ"}}:::plan
    PgSelectSingle55 --> PgClassExpression56
    PgClassExpression57{{"PgClassExpression[57∈9]<br />ᐸ__users__....vatar_url”ᐳ"}}:::plan
    PgSelectSingle55 --> PgClassExpression57

    %% define steps

    subgraph "Buckets for queries/conditions/archived-forum-inherited-messages.stream-2"
    Bucket0("Bucket 0 (root)<br /><br />1: <br />ᐳ: 11, 12, 27, 13<br />2: PgSelect[10]"):::bucket
    classDef bucket0 stroke:#696969
    class Bucket0,__Value2,__Value4,PgSelect10,Access11,Access12,Object13,Connection27 bucket0
    Bucket1("Bucket 1 (listItem)<br />Deps: 13, 27<br /><br />ROOT __Item{1}ᐸ10ᐳ[14]"):::bucket
    classDef bucket1 stroke:#00bfff
    class Bucket1,__Item14,PgSelectSingle15,Constant59 bucket1
    Bucket2("Bucket 2 (nullableBoundary)<br />Deps: 15, 13, 27, 14, 59<br /><br />ROOT PgSelectSingle{1}ᐸforumsᐳ[15]"):::bucket
    classDef bucket2 stroke:#7f007f
    class Bucket2,PgClassExpression16 bucket2
    Bucket3("Bucket 3 (nullableBoundary)<br />Deps: 15, 13, 27, 14, 59<br /><br />ROOT Connectionᐸ23ᐳ[27]<br />1: <br />ᐳ: 22, 28, 58, 69, 62, 63, 64<br />2: PgSelect[29], PgSelect[42]"):::bucket
    classDef bucket3 stroke:#ffa500
    class Bucket3,PgClassExpression22,PgClassExpression28,PgSelect29,PgSelect42,PgPageInfo58,First62,PgSelectSingle63,PgClassExpression64,Access69 bucket3
    Bucket4("Bucket 4 (listItem)<br /><br />ROOT __Item{4}ᐸ29ᐳ[30]"):::bucket
    classDef bucket4 stroke:#0000ff
    class Bucket4,__Item30,PgSelectSingle31 bucket4
    Bucket5("Bucket 5 (nullableBoundary)<br />Deps: 31<br /><br />ROOT PgSelectSingle{4}ᐸmessagesᐳ[31]"):::bucket
    classDef bucket5 stroke:#7fff00
    class Bucket5,PgClassExpression32,PgSelectSingle39,RemapKeys65 bucket5
    Bucket6("Bucket 6 (nullableBoundary)<br />Deps: 39<br /><br />ROOT PgSelectSingle{5}ᐸusersᐳ[39]"):::bucket
    classDef bucket6 stroke:#ff1493
    class Bucket6,PgClassExpression40,PgClassExpression41 bucket6
    Bucket7("Bucket 7 (listItem)<br /><br />ROOT __Item{7}ᐸ42ᐳ[43]"):::bucket
    classDef bucket7 stroke:#808000
    class Bucket7,__Item43,PgSelectSingle44 bucket7
    Bucket8("Bucket 8 (nullableBoundary)<br />Deps: 44<br /><br />ROOT PgSelectSingle{7}ᐸmessagesᐳ[44]"):::bucket
    classDef bucket8 stroke:#dda0dd
    class Bucket8,PgCursor45,PgClassExpression46,List47,PgClassExpression48,PgSelectSingle55,RemapKeys67 bucket8
    Bucket9("Bucket 9 (nullableBoundary)<br />Deps: 55<br /><br />ROOT PgSelectSingle{8}ᐸusersᐳ[55]"):::bucket
    classDef bucket9 stroke:#ff0000
    class Bucket9,PgClassExpression56,PgClassExpression57 bucket9
    Bucket0 --> Bucket1
    Bucket1 --> Bucket2
    Bucket2 --> Bucket3
    Bucket3 --> Bucket4 & Bucket7
    Bucket4 --> Bucket5
    Bucket5 --> Bucket6
    Bucket7 --> Bucket8
    Bucket8 --> Bucket9
    classDef unary fill:#fafffa,borderWidth:8px
    class Object13,PgSelect10,Access11,Access12,__Value2,__Value4,Connection27,Constant59,PgPageInfo58 unary
    end
