%%{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
    PgSelect18[["PgSelect[18∈0] ➊<br />ᐸreservedᐳ"]]:::plan
    Object10{{"Object[10∈0] ➊<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    Constant60{{"Constant[60∈0] ➊<br />ᐸ'2 Unlimited'ᐳ"}}:::plan
    Lambda51{{"Lambda[51∈0] ➊<br />ᐸcalculateLimitAndOffsetSQLᐳ"}}:::plan
    Object10 & Constant60 & Lambda51 --> PgSelect18
    PgSelect26[["PgSelect[26∈0] ➊<br />ᐸreservedᐳ"]]:::plan
    Constant61{{"Constant[61∈0] ➊<br />ᐸ'1973'ᐳ"}}:::plan
    Object10 & Constant61 & Lambda51 --> PgSelect26
    PgSelect34[["PgSelect[34∈0] ➊<br />ᐸreservedᐳ"]]:::plan
    Constant62{{"Constant[62∈0] ➊<br />ᐸ4ᐳ"}}:::plan
    Object10 & Constant62 & Lambda51 --> PgSelect34
    PgSelect42[["PgSelect[42∈0] ➊<br />ᐸreservedᐳ"]]:::plan
    Constant63{{"Constant[63∈0] ➊<br />ᐸ'No Limit'ᐳ"}}:::plan
    Object10 & Constant63 & Lambda51 --> PgSelect42
    PgSelect7[["PgSelect[7∈0] ➊<br />ᐸreservedᐳ"]]:::plan
    Object10 & Lambda51 --> PgSelect7
    Access8{{"Access[8∈0] ➊<br />ᐸ2.pgSettingsᐳ"}}:::plan
    Access9{{"Access[9∈0] ➊<br />ᐸ2.withPgClientᐳ"}}:::plan
    Access8 & Access9 --> Object10
    __Value2["__Value[2∈0] ➊<br />ᐸcontextᐳ"]:::plan
    __Value2 --> Access8
    __Value2 --> Access9
    First20{{"First[20∈0] ➊"}}:::plan
    PgSelect18 --> First20
    PgSelectSingle21{{"PgSelectSingle[21∈0] ➊<br />ᐸreservedᐳ"}}:::plan
    First20 --> PgSelectSingle21
    First28{{"First[28∈0] ➊"}}:::plan
    PgSelect26 --> First28
    PgSelectSingle29{{"PgSelectSingle[29∈0] ➊<br />ᐸreservedᐳ"}}:::plan
    First28 --> PgSelectSingle29
    First36{{"First[36∈0] ➊"}}:::plan
    PgSelect34 --> First36
    PgSelectSingle37{{"PgSelectSingle[37∈0] ➊<br />ᐸreservedᐳ"}}:::plan
    First36 --> PgSelectSingle37
    First44{{"First[44∈0] ➊"}}:::plan
    PgSelect42 --> First44
    PgSelectSingle45{{"PgSelectSingle[45∈0] ➊<br />ᐸreservedᐳ"}}:::plan
    First44 --> PgSelectSingle45
    Constant64{{"Constant[64∈0] ➊<br />ᐸ§{ cursorLower: null, cursorUpper: null, first: null, last: ᐳ"}}:::plan
    Constant64 --> Lambda51
    __Value4["__Value[4∈0] ➊<br />ᐸrootValueᐳ"]:::plan
    __Item11[/"__Item[11∈1]<br />ᐸ7ᐳ"\]:::itemplan
    PgSelect7 ==> __Item11
    PgSelectSingle12{{"PgSelectSingle[12∈1]<br />ᐸreservedᐳ"}}:::plan
    __Item11 --> PgSelectSingle12
    PgClassExpression13{{"PgClassExpression[13∈1]<br />ᐸ__reserved__.”case”ᐳ"}}:::plan
    PgSelectSingle12 --> PgClassExpression13
    PgClassExpression14{{"PgClassExpression[14∈1]<br />ᐸ__reserved__.”do”ᐳ"}}:::plan
    PgSelectSingle12 --> PgClassExpression14
    PgClassExpression15{{"PgClassExpression[15∈1]<br />ᐸ__reserved__.”id”ᐳ"}}:::plan
    PgSelectSingle12 --> PgClassExpression15
    PgClassExpression16{{"PgClassExpression[16∈1]<br />ᐸ__reserved__.”null”ᐳ"}}:::plan
    PgSelectSingle12 --> PgClassExpression16
    PgClassExpression22{{"PgClassExpression[22∈2] ➊<br />ᐸ__reserved__.”do”ᐳ"}}:::plan
    PgSelectSingle21 --> PgClassExpression22
    PgClassExpression23{{"PgClassExpression[23∈2] ➊<br />ᐸ__reserved__.”id”ᐳ"}}:::plan
    PgSelectSingle21 --> PgClassExpression23
    PgClassExpression24{{"PgClassExpression[24∈2] ➊<br />ᐸ__reserved__.”null”ᐳ"}}:::plan
    PgSelectSingle21 --> PgClassExpression24
    PgClassExpression30{{"PgClassExpression[30∈3] ➊<br />ᐸ__reserved__.”case”ᐳ"}}:::plan
    PgSelectSingle29 --> PgClassExpression30
    PgClassExpression31{{"PgClassExpression[31∈3] ➊<br />ᐸ__reserved__.”id”ᐳ"}}:::plan
    PgSelectSingle29 --> PgClassExpression31
    PgClassExpression32{{"PgClassExpression[32∈3] ➊<br />ᐸ__reserved__.”null”ᐳ"}}:::plan
    PgSelectSingle29 --> PgClassExpression32
    PgClassExpression38{{"PgClassExpression[38∈4] ➊<br />ᐸ__reserved__.”case”ᐳ"}}:::plan
    PgSelectSingle37 --> PgClassExpression38
    PgClassExpression39{{"PgClassExpression[39∈4] ➊<br />ᐸ__reserved__.”do”ᐳ"}}:::plan
    PgSelectSingle37 --> PgClassExpression39
    PgClassExpression40{{"PgClassExpression[40∈4] ➊<br />ᐸ__reserved__.”null”ᐳ"}}:::plan
    PgSelectSingle37 --> PgClassExpression40
    PgClassExpression46{{"PgClassExpression[46∈5] ➊<br />ᐸ__reserved__.”case”ᐳ"}}:::plan
    PgSelectSingle45 --> PgClassExpression46
    PgClassExpression47{{"PgClassExpression[47∈5] ➊<br />ᐸ__reserved__.”do”ᐳ"}}:::plan
    PgSelectSingle45 --> PgClassExpression47

    %% define steps

    subgraph "Buckets for queries/v4/js-reserved-pgreserved"
    Bucket0("Bucket 0 (root)<br /><br />1: <br />ᐳ: 8, 9, 60, 61, 62, 63, 64, 10, 51<br />2: 7, 18, 26, 34, 42<br />ᐳ: 20, 21, 28, 29, 36, 37, 44, 45"):::bucket
    classDef bucket0 stroke:#696969
    class Bucket0,__Value2,__Value4,PgSelect7,Access8,Access9,Object10,PgSelect18,First20,PgSelectSingle21,PgSelect26,First28,PgSelectSingle29,PgSelect34,First36,PgSelectSingle37,PgSelect42,First44,PgSelectSingle45,Lambda51,Constant60,Constant61,Constant62,Constant63,Constant64 bucket0
    Bucket1("Bucket 1 (listItem)<br /><br />ROOT __Item{1}ᐸ7ᐳ[11]"):::bucket
    classDef bucket1 stroke:#00bfff
    class Bucket1,__Item11,PgSelectSingle12,PgClassExpression13,PgClassExpression14,PgClassExpression15,PgClassExpression16 bucket1
    Bucket2("Bucket 2 (nullableBoundary)<br />Deps: 21<br /><br />ROOT PgSelectSingleᐸreservedᐳ[21]"):::bucket
    classDef bucket2 stroke:#7f007f
    class Bucket2,PgClassExpression22,PgClassExpression23,PgClassExpression24 bucket2
    Bucket3("Bucket 3 (nullableBoundary)<br />Deps: 29<br /><br />ROOT PgSelectSingleᐸreservedᐳ[29]"):::bucket
    classDef bucket3 stroke:#ffa500
    class Bucket3,PgClassExpression30,PgClassExpression31,PgClassExpression32 bucket3
    Bucket4("Bucket 4 (nullableBoundary)<br />Deps: 37<br /><br />ROOT PgSelectSingleᐸreservedᐳ[37]"):::bucket
    classDef bucket4 stroke:#0000ff
    class Bucket4,PgClassExpression38,PgClassExpression39,PgClassExpression40 bucket4
    Bucket5("Bucket 5 (nullableBoundary)<br />Deps: 45<br /><br />ROOT PgSelectSingleᐸreservedᐳ[45]"):::bucket
    classDef bucket5 stroke:#7fff00
    class Bucket5,PgClassExpression46,PgClassExpression47 bucket5
    Bucket0 --> Bucket1 & Bucket2 & Bucket3 & Bucket4 & Bucket5
    end
