%%{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
    __Value2["__Value[2∈0]<br />ᐸcontextᐳ"]:::plan
    __Value4["__Value[4∈0]<br />ᐸrootValueᐳ"]:::plan
    Connection18{{"Connection[18∈0]<br />ᐸ14ᐳ"}}:::plan
    Object17{{"Object[17∈1]<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    Access15{{"Access[15∈1]<br />ᐸ2.pgSettingsᐳ"}}:::plan
    Access16{{"Access[16∈1]<br />ᐸ2.withPgClientᐳ"}}:::plan
    Access15 & Access16 --> Object17
    PgSelect19[["PgSelect[19∈1]<br />ᐸcompound_keyᐳ"]]:::plan
    Object17 & Connection18 --> PgSelect19
    __Value2 --> Access15
    __Value2 --> Access16
    __Item20[/"__Item[20∈2]<br />ᐸ19ᐳ"\]:::itemplan
    PgSelect19 ==> __Item20
    PgSelectSingle21{{"PgSelectSingle[21∈2]<br />ᐸcompound_keyᐳ"}}:::plan
    __Item20 --> PgSelectSingle21
    PgClassExpression22{{"PgClassExpression[22∈3]<br />ᐸ__compound...rson_id_1”ᐳ"}}:::plan
    PgSelectSingle21 --> PgClassExpression22
    PgClassExpression23{{"PgClassExpression[23∈3]<br />ᐸ__compound...rson_id_2”ᐳ"}}:::plan
    PgSelectSingle21 --> PgClassExpression23
    PgSelectSingle31{{"PgSelectSingle[31∈3]<br />ᐸunique_foreign_keyᐳ"}}:::plan
    PgSelectSingle21 --> PgSelectSingle31
    PgClassExpression32{{"PgClassExpression[32∈4]<br />ᐸ__unique_f...und_key_1”ᐳ"}}:::plan
    PgSelectSingle31 --> PgClassExpression32
    PgClassExpression33{{"PgClassExpression[33∈4]<br />ᐸ__unique_f...und_key_2”ᐳ"}}:::plan
    PgSelectSingle31 --> PgClassExpression33
    PgSelectSingle41{{"PgSelectSingle[41∈4]<br />ᐸcompound_keyᐳ"}}:::plan
    PgSelectSingle31 --> PgSelectSingle41
    PgClassExpression42{{"PgClassExpression[42∈5]<br />ᐸ__compound...rson_id_1”ᐳ"}}:::plan
    PgSelectSingle41 --> PgClassExpression42
    PgClassExpression43{{"PgClassExpression[43∈5]<br />ᐸ__compound...rson_id_2”ᐳ"}}:::plan
    PgSelectSingle41 --> PgClassExpression43
    PgSelectSingle51{{"PgSelectSingle[51∈5]<br />ᐸunique_foreign_keyᐳ"}}:::plan
    PgSelectSingle41 --> PgSelectSingle51
    PgClassExpression52{{"PgClassExpression[52∈6]<br />ᐸ__unique_f...und_key_1”ᐳ"}}:::plan
    PgSelectSingle51 --> PgClassExpression52
    PgClassExpression53{{"PgClassExpression[53∈6]<br />ᐸ__unique_f...und_key_2”ᐳ"}}:::plan
    PgSelectSingle51 --> PgClassExpression53

    %% define steps

    subgraph "Buckets for queries/v4/unique-foreign-keys"
    Bucket0("Bucket 0 (root)"):::bucket
    classDef bucket0 stroke:#696969
    class Bucket0,__Value2,__Value4,Connection18 bucket0
    Bucket1("Bucket 1 (nullableBoundary)<br />Deps: 2, 18<br /><br />ROOT Connectionᐸ14ᐳ[18]<br />1: <br />ᐳ: Access[15], Access[16], Object[17]<br />2: PgSelect[19]"):::bucket
    classDef bucket1 stroke:#00bfff
    class Bucket1,Access15,Access16,Object17,PgSelect19 bucket1
    Bucket2("Bucket 2 (listItem)<br />ROOT __Item{2}ᐸ19ᐳ[20]"):::bucket
    classDef bucket2 stroke:#7f007f
    class Bucket2,__Item20,PgSelectSingle21 bucket2
    Bucket3("Bucket 3 (nullableBoundary)<br />Deps: 21<br /><br />ROOT PgSelectSingle{2}ᐸcompound_keyᐳ[21]"):::bucket
    classDef bucket3 stroke:#ffa500
    class Bucket3,PgClassExpression22,PgClassExpression23,PgSelectSingle31 bucket3
    Bucket4("Bucket 4 (nullableBoundary)<br />Deps: 31<br /><br />ROOT PgSelectSingle{3}ᐸunique_foreign_keyᐳ[31]"):::bucket
    classDef bucket4 stroke:#0000ff
    class Bucket4,PgClassExpression32,PgClassExpression33,PgSelectSingle41 bucket4
    Bucket5("Bucket 5 (nullableBoundary)<br />Deps: 41<br /><br />ROOT PgSelectSingle{4}ᐸcompound_keyᐳ[41]"):::bucket
    classDef bucket5 stroke:#7fff00
    class Bucket5,PgClassExpression42,PgClassExpression43,PgSelectSingle51 bucket5
    Bucket6("Bucket 6 (nullableBoundary)<br />Deps: 51<br /><br />ROOT PgSelectSingle{5}ᐸunique_foreign_keyᐳ[51]"):::bucket
    classDef bucket6 stroke:#ff1493
    class Bucket6,PgClassExpression52,PgClassExpression53 bucket6
    Bucket0 --> Bucket1
    Bucket1 --> Bucket2
    Bucket2 --> Bucket3
    Bucket3 --> Bucket4
    Bucket4 --> Bucket5
    Bucket5 --> Bucket6
    classDef unary fill:#fafffa,borderWidth:8px
    class __Value2,__Value4,Connection18,Object17,PgSelect19,Access15,Access16 unary
    end
