From: Tom Lane <tgl@sss.pgh.pa.us>
To: Dmitry Ivanov <d.ivanov@postgrespro.ru>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Subject: Re: Possible problem in Custom Scan API
Date: Tue, 11 Apr 2017 16:58:49 -0400
Message-ID: <4509.1491944329@sss.pgh.pa.us> (raw)
In-Reply-To: <f7590622-182b-4362-b148-c21de109ad2a@postgrespro.ru>
References: <e29ddd30-8ef9-4da5-a50b-2bb7b8c7198d@postgrespro.ru>
<20021.1491933424@sss.pgh.pa.us>
<1ef85b46-1385-4810-bb80-97cd977da1d5@postgrespro.ru>
<367.1491940070@sss.pgh.pa.us>
<f7590622-182b-4362-b148-c21de109ad2a@postgrespro.ru>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-hackers>
Dmitry Ivanov <d.ivanov@postgrespro.ru> writes:
>> Reading between the lines, I think the problem may be that you're not
>> being careful about how you set up custom_scan_tlist. But since the
>> core code has zero involvement in that decision, it's hard to see why
>> it would be a core code bug.
> I'm sorry, but you didn't understand. It's *the core code* that builds the
> targetlist, and sometimes it may decide to provide a physical targetlist,
> not the one that's *really needed*.
Uh, no, construction of a custom plan node is entirely driven by the
PlanCustomPath method as far as I can see. You're free to ignore what
create_scan_plan did and insert your own tlist. In particular, if what
your custom path actually is is a rescan of something like an
IndexOnlyScan, why don't you just copy the IOS's result tlist?
regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
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, d.ivanov@postgrespro.ru
Subject: Re: Possible problem in Custom Scan API
In-Reply-To: <4509.1491944329@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