Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eou7c-0006ug-2s for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Feb 2018 16:53:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eou7a-0004Bz-Uq for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Feb 2018 16:53:26 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1eou7a-0004Bq-OH for pgsql-hackers@lists.postgresql.org; Thu, 22 Feb 2018 16:53:26 +0000 Received: from smtprelay0238.b.hostedemail.com ([64.98.42.238] helo=smtprelay.b.hostedemail.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eou7W-0005Eh-Qb for pgsql-hackers@lists.postgresql.org; Thu, 22 Feb 2018 16:53:26 +0000 Received: from filter.hostedemail.com (10.5.19.248.rfc1918.com [10.5.19.248]) by smtprelay04.b.hostedemail.com (Postfix) with ESMTP id E13D47B88B; Thu, 22 Feb 2018 16:53:18 +0000 (UTC) X-Session-Marker: 616C76686572726540616C76682E6E6F2D69702E6F7267 X-Spam-Summary: 90,0,0,,d41d8cd98f00b204,alvherre@alvh.no-ip.org,:::::::,RULES_HIT:41:355:379:599:800:871:960:967:973:988:989:1260:1311:1312:1313:1314:1345:1359:1437:1515:1516:1518:1519:1534:1538:1567:1575:1594:1595:1596:1711:1714:1730:1747:1764:1777:1792:2393:2525:2553:2559:2563:2682:2685:2859:2895:2933:2937:2939:2942:2945:2947:2951:2954:3022:3138:3139:3140:3141:3142:3865:3867:3871:3874:3934:3936:3938:3941:3944:3947:3950:3953:3956:3959:4605:5007:6261:6748:7281:8957:9025:9121:10004:10394:10400:10848:11026:11232:11604:11658:11914:12043:12438:13439:13894:13895:14181:14658:14721:21080:21627:30034:30054:30090:30091,0,RBL:error,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:no-ip.org-dnsbl7.mailshell.net-127.4.0.190,Custom_rules:0:0:0,LFtime:13,LUA_SUMMARY:none X-HE-Tag: noise80_39edb79587e4d X-Filterd-Recvd-Size: 3019 Received: from alvin.alvh.no-ip.org (unknown [179.57.113.18]) (Authenticated sender: alvherre@alvh.no-ip.org) by omf11.b.hostedemail.com (Postfix) with ESMTPA; Thu, 22 Feb 2018 16:53:18 +0000 (UTC) Received: by alvin.alvh.no-ip.org (Postfix, from userid 1000) id A9EAA71B; Thu, 22 Feb 2018 13:53:15 -0300 (-03) Date: Thu, 22 Feb 2018 13:53:15 -0300 From: Alvaro Herrera To: Robert Haas Cc: Amit Langote , Etsuro Fujita , PostgreSQL Hackers Subject: Re: non-bulk inserts and tuple routing Message-ID: <20180222165315.k27qfn4goskhoswj@alvherre.pgsql> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="3tbbsjhbeskclwx6" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: NeoMutt/20170306-137-4415bd-dirty (1.8.0) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --3tbbsjhbeskclwx6 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit Robert Haas wrote: > On Tue, Feb 20, 2018 at 8:06 PM, Amit Langote > wrote: > >> Attached is an updated version for that. > > > > Thanks for updating the patch. > > Committed with a few changes. I propose to tweak a few comments to PartitionTupleRouting, as attached. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --3tbbsjhbeskclwx6 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="comments.patch" diff --git a/src/include/executor/execPartition.h b/src/include/executor/execPartition.h index e94718608f..08a994bce1 100644 --- a/src/include/executor/execPartition.h +++ b/src/include/executor/execPartition.h @@ -58,11 +58,15 @@ typedef struct PartitionDispatchData *PartitionDispatch; * partition tree. * num_dispatch number of partitioned tables in the partition * tree (= length of partition_dispatch_info[]) - * partition_oids Array of leaf partitions OIDs + * partition_oids Array of leaf partitions OIDs with one entry + * for every leaf partition in the partition tree, + * initialized in full by + * ExecSetupPartitionTupleRouting. * partitions Array of ResultRelInfo* objects with one entry - * for every leaf partition in the partition tree. + * for every leaf partition in the partition tree, + * initialized lazily. * num_partitions Number of leaf partitions in the partition tree - * (= 'partitions' array length) + * (= 'partitions_oid'/'partitions' array length) * parent_child_tupconv_maps Array of TupleConversionMap objects with one * entry for every leaf partition (required to * convert tuple from the root table's rowtype to --3tbbsjhbeskclwx6--