%%{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
    Object18{{"Object[18∈0]<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    Access16{{"Access[16∈0]<br />ᐸ3.pgSettingsᐳ"}}:::plan
    Access17{{"Access[17∈0]<br />ᐸ3.withPgClientᐳ"}}:::plan
    Access16 & Access17 --> Object18
    __Value3["__Value[3∈0]<br />ᐸcontextᐳ"]:::plan
    __Value3 --> Access16
    __Value3 --> Access17
    __Value5["__Value[5∈0]<br />ᐸrootValueᐳ"]:::plan
    Connection19{{"Connection[19∈0]<br />ᐸ15ᐳ"}}:::plan
    Connection37{{"Connection[37∈0]<br />ᐸ33ᐳ"}}:::plan
    PgSelect20[["PgSelect[20∈1]<br />ᐸpersonᐳ"]]:::plan
    Object18 & Connection19 --> PgSelect20
    __Item21[/"__Item[21∈2]<br />ᐸ20ᐳ"\]:::itemplan
    PgSelect20 ==> __Item21
    PgSelectSingle22{{"PgSelectSingle[22∈2]<br />ᐸpersonᐳ"}}:::plan
    __Item21 --> PgSelectSingle22
    PgClassExpression23{{"PgClassExpression[23∈3]<br />ᐸ__person__.”id”ᐳ"}}:::plan
    PgSelectSingle22 --> PgClassExpression23
    PgClassExpression24{{"PgClassExpression[24∈3]<br />ᐸ__person__...full_name”ᐳ"}}:::plan
    PgSelectSingle22 --> PgClassExpression24
    PgSelect38[["PgSelect[38∈4]<br />ᐸpersonᐳ"]]:::plan
    Object18 & Connection37 --> PgSelect38
    __Item39[/"__Item[39∈5]<br />ᐸ38ᐳ"\]:::itemplan
    PgSelect38 ==> __Item39
    PgSelectSingle40{{"PgSelectSingle[40∈5]<br />ᐸpersonᐳ"}}:::plan
    __Item39 --> PgSelectSingle40
    PgClassExpression41{{"PgClassExpression[41∈6]<br />ᐸ__person__.”id”ᐳ"}}:::plan
    PgSelectSingle40 --> PgClassExpression41
    PgClassExpression42{{"PgClassExpression[42∈6]<br />ᐸ__person__...full_name”ᐳ"}}:::plan
    PgSelectSingle40 --> PgClassExpression42

    %% define steps

    subgraph "Buckets for queries/v4/connections-order-computed-column"
    Bucket0("Bucket 0 (root)"):::bucket
    classDef bucket0 stroke:#696969
    class Bucket0,__Value3,__Value5,Access16,Access17,Object18,Connection19,Connection37 bucket0
    Bucket1("Bucket 1 (nullableBoundary)<br />Deps: 18, 19<br /><br />ROOT Connectionᐸ15ᐳ[19]"):::bucket
    classDef bucket1 stroke:#00bfff
    class Bucket1,PgSelect20 bucket1
    Bucket2("Bucket 2 (listItem)<br />ROOT __Item{2}ᐸ20ᐳ[21]"):::bucket
    classDef bucket2 stroke:#7f007f
    class Bucket2,__Item21,PgSelectSingle22 bucket2
    Bucket3("Bucket 3 (nullableBoundary)<br />Deps: 22<br /><br />ROOT PgSelectSingle{2}ᐸpersonᐳ[22]"):::bucket
    classDef bucket3 stroke:#ffa500
    class Bucket3,PgClassExpression23,PgClassExpression24 bucket3
    Bucket4("Bucket 4 (nullableBoundary)<br />Deps: 18, 37<br /><br />ROOT Connectionᐸ33ᐳ[37]"):::bucket
    classDef bucket4 stroke:#0000ff
    class Bucket4,PgSelect38 bucket4
    Bucket5("Bucket 5 (listItem)<br />ROOT __Item{5}ᐸ38ᐳ[39]"):::bucket
    classDef bucket5 stroke:#7fff00
    class Bucket5,__Item39,PgSelectSingle40 bucket5
    Bucket6("Bucket 6 (nullableBoundary)<br />Deps: 40<br /><br />ROOT PgSelectSingle{5}ᐸpersonᐳ[40]"):::bucket
    classDef bucket6 stroke:#ff1493
    class Bucket6,PgClassExpression41,PgClassExpression42 bucket6
    Bucket0 --> Bucket1 & Bucket4
    Bucket1 --> Bucket2
    Bucket2 --> Bucket3
    Bucket4 --> Bucket5
    Bucket5 --> Bucket6
    classDef unary fill:#fafffa,borderWidth:8px
    class Object18,Access16,Access17,__Value3,__Value5,Connection19,Connection37,PgSelect20,PgSelect38 unary
    end
