From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: David Rowley <david.rowley@2ndquadrant.com>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: Jesper Pedersen <jesper.pedersen@redhat.com>
Cc: Simon Riggs <simon@2ndquadrant.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Cc: Maksim Milyutin <milyutinma@gmail.com>
Cc: Jaime Casanova <jaime.casanova@2ndquadrant.com>
Subject: Re: [HACKERS] Proposal: Local indexes for partitioned table
Date: Wed, 24 Jan 2018 14:41:34 -0300
Message-ID: <20180124174134.ma4ui2kczmqwb4um@alvherre.pgsql> (raw)
In-Reply-To: <20180124162006.pmapfiznhgngwtjf@alvherre.pgsql>
I think this is the right fix for this problem. I wonder about
exploring other callers of RelationGetIndexList to see who else could be
confused ...
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From 53506fd3a9f0cb81334024bf5a0e8856fd8e5e82 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Wed, 24 Jan 2018 14:40:26 -0300
Subject: [PATCH] Ignore partitioned indexes in get_relation_info
---
src/backend/optimizer/util/plancat.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.cindex 8c60b35068..60f21711f4 100644--- a/src/backend/optimizer/util/plancat.c+++ b/src/backend/optimizer/util/plancat.c@@ -208,6 +208,16 @@ get_relation_info(PlannerInfo *root, Oid relationObjectId, bool inhparent,
}
/*
+ * Ignore partitioned indexes, since they are not usable for+ * queries.+ */+ if (indexRelation->rd_rel->relkind == RELKIND_PARTITIONED_INDEX)+ {+ index_close(indexRelation, NoLock);+ continue;+ }++ /*
* If the index is valid, but cannot yet be used, ignore it; but
* mark the plan we are generating as transient. See
* src/backend/access/heap/README.HOT for discussion.
--
2.11.0
Attachments:
[text/plain] 0001-Ignore-partitioned-indexes-in-get_relation_info.patch (1.0K, ../20180124174134.ma4ui2kczmqwb4um@alvherre.pgsql/2-0001-Ignore-partitioned-indexes-in-get_relation_info.patch)
download | inline diff:
From 53506fd3a9f0cb81334024bf5a0e8856fd8e5e82 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Wed, 24 Jan 2018 14:40:26 -0300
Subject: [PATCH] Ignore partitioned indexes in get_relation_info
---
src/backend/optimizer/util/plancat.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.cindex 8c60b35068..60f21711f4 100644--- a/src/backend/optimizer/util/plancat.c+++ b/src/backend/optimizer/util/plancat.c@@ -208,6 +208,16 @@ get_relation_info(PlannerInfo *root, Oid relationObjectId, bool inhparent,
}
/*
+ * Ignore partitioned indexes, since they are not usable for+ * queries.+ */+ if (indexRelation->rd_rel->relkind == RELKIND_PARTITIONED_INDEX)+ {+ index_close(indexRelation, NoLock);+ continue;+ }++ /*
* If the index is valid, but cannot yet be used, ignore it; but
* mark the plan we are generating as transient. See
* src/backend/access/heap/README.HOT for discussion.
--
2.11.0
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-hackers@postgresql.org
Cc: alvherre@alvh.no-ip.org, david.rowley@2ndquadrant.com, robertmhaas@gmail.com, peter.eisentraut@2ndquadrant.com, Langote_Amit_f8@lab.ntt.co.jp, jesper.pedersen@redhat.com, simon@2ndquadrant.com, milyutinma@gmail.com, jaime.casanova@2ndquadrant.com
Subject: Re: [HACKERS] Proposal: Local indexes for partitioned table
In-Reply-To: <20180124174134.ma4ui2kczmqwb4um@alvherre.pgsql>
* 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