Skip to content
Snippets Groups Projects
  • Tom Lane's avatar
    807a40c5
    Fix planning of btree index scans using ScalarArrayOpExpr quals. · 807a40c5
    Tom Lane authored
    In commit 9e8da0f7, I improved btree
    to handle ScalarArrayOpExpr quals natively, so that constructs like
    "indexedcol IN (list)" could be supported by index-only scans.  Using
    such a qual results in multiple scans of the index, under-the-hood.
    I went to some lengths to ensure that this still produces rows in index
    order ... but I failed to recognize that if a higher-order index column
    is lacking an equality constraint, rescans can produce out-of-order
    data from that column.  Tweak the planner to not expect sorted output
    in that case.  Per trouble report from Robert McGehee.
    807a40c5
    History
    Fix planning of btree index scans using ScalarArrayOpExpr quals.
    Tom Lane authored
    In commit 9e8da0f7, I improved btree
    to handle ScalarArrayOpExpr quals natively, so that constructs like
    "indexedcol IN (list)" could be supported by index-only scans.  Using
    such a qual results in multiple scans of the index, under-the-hood.
    I went to some lengths to ensure that this still produces rows in index
    order ... but I failed to recognize that if a higher-order index column
    is lacking an equality constraint, rescans can produce out-of-order
    data from that column.  Tweak the planner to not expect sorted output
    in that case.  Per trouble report from Robert McGehee.