pg.ddx.io pgsql-hackers@postgresql.org mailing list archive
help / color / mirror / Atom feed From: Tom Lane <tgl@sss.pgh.pa.us>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: David Rowley <david.rowley@2ndquadrant.com>
Cc: Dmitry Dolgov <9erthalion6@gmail.com>
Cc: Jeff Janes <jeff.janes@gmail.com>
Cc: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Cc: Pavel Stehule <pavel.stehule@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Subject: Re: why partition pruning doesn't work?
Date: Mon, 18 Jun 2018 13:05:11 -0400
Message-ID: <29987.1529341511@sss.pgh.pa.us> (raw )
In-Reply-To: <56f1556c-6d6e-aaf8-de4f-a790a1efa5a3@lab.ntt.co.jp >
References: <CAFj8pRBjrufA3ocDm8o4LPGNye9Y+pm1b9kCwode4X04CULG3g@mail.gmail.com >
<CAKJS1f_jatg5+qbrha2fGog63t3VdbNnOkYZitJtx-uo5H5EsQ@mail.gmail.com >
<22805.1528386192@sss.pgh.pa.us >
<CAKJS1f9xHoMntARi1RhqwAVZ-E0qp5a5f+Tf_chH9Vr8xOWiAw@mail.gmail.com >
<21787.1528428171@sss.pgh.pa.us >
<17850.1528755844@sss.pgh.pa.us >
<CA+Tgmoa2Vvka6dBMb2w_u_N2o2HUPY6oYkS4FQ3nXMj=4Zd5ig@mail.gmail.com >
<19365.1528820758@sss.pgh.pa.us >
<CA+TgmoZi9hwHb4nZxCeh1TTT8rGq6AYN1Q8o5uXhiPZ3sr6o9g@mail.gmail.com >
<30981.1528822481@sss.pgh.pa.us >
<CA+TgmoZXtauTcAHiTdL9dRShkK+ieLgNtiuxWxYZWJpHB41iWQ@mail.gmail.com >
<637.1528863347@sss.pgh.pa.us >
<CA+TgmoaQ+hxgDP4uxP_nRgC+JAn33_vona8P+GAnRDkceSZNSw@mail.gmail.com >
<28597.1528900759@sss.pgh.pa.us >
<ee1a67dc-69a1-b475-f812-3efe91509e32@lab.ntt.co.jp >
<CAKJS1f-Dqc_J5=Ukkmr! kz_RoN_Lq+vzzppfDE51K7ACRo1rqqQ@mail.gmail.com >
<CA+TgmoajU5mPAvgGqST_iiW6P-Y2T3mAmSfCAw2GEtYi0KQCJg@mail.gmail.com >
<27099.1528987211@sss.pgh.pa.us >
<56f1556c-6d6e-aaf8-de4f-a790a1efa5a3@l! ab.ntt.co.jp >
Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> writes:
> [ 0001-Open-partitioned-tables-during-Append-initialization.patch ]
I took a look at this. While I'm in agreement with the general idea of
holding open the partitioned relations' relcache entries throughout the
query, I do not like anything about this patch:
* It seems to be outright broken for the case that any of the partitioned
relations are listed in nonleafResultRelations. If we're going to do it
like this, we have to open every one of the partrels regardless of that.
(I wonder whether we couldn't lose PlannedStmt.nonleafResultRelations
altogether, in favor of merging the related code in InitPlan with this.
That existing code is already a mighty ugly wart, and this patch makes
it worse by adding new, related warts elsewhere.)
* You've got *far* too much intimate knowledge of the possible callers
in ExecOpenAppendPartitionedTables.
Personally, what I would have this function do is return a List of
the opened Relation pointers, and add a matching function to run through
such a List and close the entries again, and make the callers responsible
for stashing the List pointer in an appropriate field in their planstate.
Or maybe what we should do is drop ExecLockNonLeafAppendTables/
ExecOpenAppendPartitionedTables entirely and teach InitPlan to do it.
regards, tom lane
view thread (72+ messages) latest in thread
Message-ID: <29987.1529341511@sss.pgh.pa.us>
Permalink: ../29987.1529341511@sss.pgh.pa.us/
Also on: postgresql.org/message-id/29987.1529341511@sss.pgh.pa.us
copy link · copy postgr.es
reply 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: tgl@sss.pgh.pa.us, Langote_Amit_f8@lab.ntt.co.jp, robertmhaas@gmail.com, david.rowley@2ndquadrant.com, 9erthalion6@gmail.com, jeff.janes@gmail.com, ashutosh.bapat@enterprisedb.com, pavel.stehule@gmail.com, pgsql-hackers@lists.postgresql.org
Subject: Re: why partition pruning doesn't work?
In-Reply-To: <29987.1529341511@sss.pgh.pa.us>
* 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