Re: COPY FROM WHEN condition

Tomas Vondra <tomas.vondra@2ndquadrant.com>

From: Tomas Vondra <tomas.vondra@2ndquadrant.com>
To: Andres Freund <andres@anarazel.de>
Cc: Surafel Temesgen <surafel3000@gmail.com>, alvherre@2ndquadrant.com, Adam Berlin <berlin.ab@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2019-01-21T02:00:21Z
Lists: pgsql-hackers

On 1/20/19 8:24 PM, Andres Freund wrote:
> Hi,
> 
> On 2019-01-20 00:24:05 +0100, Tomas Vondra wrote:
>> On 1/14/19 10:25 PM, Tomas Vondra wrote:
>>> On 12/13/18 8:09 AM, Surafel Temesgen wrote:
>>>>
>>>>
>>>> On Wed, Dec 12, 2018 at 9:28 PM Tomas Vondra
>>>> <tomas.vondra@2ndquadrant.com <mailto:tomas.vondra@2ndquadrant.com>> wrote:
>>>>
>>>>
>>>>      Can you also update the docs to mention that the functions called from
>>>>      the WHERE clause does not see effects of the COPY itself?
>>>>
>>>>
>>>> /Of course, i  also add same comment to insertion method selection
>>>> /
>>>
>>> FWIW I've marked this as RFC and plan to get it committed this week.
>>>
>>
>> Pushed, thanks for the patch.
> 
> While rebasing the pluggable storage patch ontop of this I noticed that
> the qual appears to be evaluated in query context. Isn't that a bad
> idea? ISMT it should have been evaluated a few lines above, before the:
> 
> 		/* Triggers and stuff need to be invoked in query context. */
> 		MemoryContextSwitchTo(oldcontext);
> 
> Yes, that'd require moving the ExecStoreHeapTuple(), but that seems ok?
> 

Yes, I agree. It's a bit too late for me to hack and push stuff, but 
I'll fix that tomorrow.

cheers

-- 
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Commits

  1. Remove unused struct member, enforce multi_insert callback presence.

  2. Separate per-batch and per-tuple memory contexts in COPY

  3. Fix handling of volatile expressions in COPY FROM ... WHERE

  4. Allow COPY FROM to filter data using WHERE conditions

  5. Remove obsolete netbsd dynloader code