From: Tom Lane <tgl@sss.pgh.pa.us>
To: pgsql-committers@postgresql.org
Subject: pgsql: Fix planning of btree index scans using ScalarArrayOpExpr quals.
Date: Tue, 18 Sep 2012 16:21:14 +0000
Message-ID: <E1TE0Xy-0006tu-6a@gemulon.postgresql.org> (raw)
Fix planning of btree index scans using ScalarArrayOpExpr quals.
In commit 9e8da0f75731aaa7605cf4656c21ea09e84d2eb1, 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.
Branch
------
REL9_2_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/3cccc6990b66265ad7c4bfbe5789ce571a39d876
Modified Files
--------------
src/backend/optimizer/path/indxpath.c | 15 ++++++++-
src/test/regress/expected/create_index.out | 45 ++++++++++++++++++++++++++++
src/test/regress/sql/create_index.sql | 24 +++++++++++++++
3 files changed, 83 insertions(+), 1 deletions(-)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-committers@postgresql.org
Cc: tgl@sss.pgh.pa.us
Subject: Re: pgsql: Fix planning of btree index scans using ScalarArrayOpExpr quals.
In-Reply-To: <E1TE0Xy-0006tu-6a@gemulon.postgresql.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox