Re: Speeding up INSERTs and UPDATEs to partitioned tables - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Speeding up INSERTs and UPDATEs to partitioned tables
Date
Msg-id 20181116151406.5cdamjr53fqbzrob@alvherre.pgsql
Whole thread Raw
In response to Re: Speeding up INSERTs and UPDATEs to partitioned tables  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: Speeding up INSERTs and UPDATEs to partitioned tables  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Re: Speeding up INSERTs and UPDATEs to partitioned tables  (David Rowley <david.rowley@2ndquadrant.com>)
List pgsql-hackers
On 2018-Nov-16, Alvaro Herrera wrote:

> One thing I don't quite like is the inconsistency in handling memory
> context switches in the various function allocating stuff.  It seems
> rather haphazard.  I'd rather have a memcxt member in
> PartitionTupleRouting, which is set when the struct is created, and then
> have all the other functions allocating stuff use that one.

So while researching this I finally realized that there was a "lexical
disconnect" between setting a ResultRelInfo's ri_PartitionInfo
struct/pointer and adding it to the PartitionTupleRoute arrays.
However, if you think about it, these things are one and the same, so we
don't need to do them separately; just merge the new function I wrote
into the existing ExecInitRoutingInfo().  Patch attached.

(This version also rebases across Andres' recent conflicting
TupleTableSlot changes.)

I'll now see about the commit message and push shortly.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Convert MAX_SAOP_ARRAY_SIZE to new guc
Next
From: Robert Haas
Date:
Subject: Re: Convert MAX_SAOP_ARRAY_SIZE to new guc