Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gyw0s-0006iu-32 for pgsql-hackers@arkaria.postgresql.org; Wed, 27 Feb 2019 10:00:30 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gyw0q-00058e-Rr for pgsql-hackers@arkaria.postgresql.org; Wed, 27 Feb 2019 10:00:28 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gyw0q-00058X-HK for pgsql-hackers@lists.postgresql.org; Wed, 27 Feb 2019 10:00:28 +0000 Received: from mail-pg1-f194.google.com ([209.85.215.194]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gyw0i-0007SV-Fj for pgsql-hackers@postgresql.org; Wed, 27 Feb 2019 10:00:27 +0000 Received: by mail-pg1-f194.google.com with SMTP id h11so7733431pgl.0 for ; Wed, 27 Feb 2019 02:00:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=mbiQRsvSdbq4t3UMlWB2So5AnokWnAoIlF1bwb723iE=; b=AVmc2p50gBN0lxWiwpSHWgRAcab0qosQeVSsxC5n3H69u61RKN7Zc19QMfDV2w6iDH Z2wHYg4KDvdXxVFxvIco5HFkISsqAQ6+2GovGzQbJnPYsanUz45FijVb1tpYPOFJ9RtN zfGc2KSybXftMQ3Yy7LWjKvScairSm85CJbhpHhHkLuy4ggkhulnjKGSK8S1uiLYR2fy lADH+LUAk7AieioHKU7zAoG1lUnI4SwZdzp1XdRNYR+nTbSjHX3FAg4JQr6U3wlQwrND gyr5j2R5G9Rq7sZhW7boK/sbSTWLmji+owo3yby4gfELZHNkaOEQaTHq2i/8HLEY2jPb A9lA== X-Gm-Message-State: AHQUAuZ5dqpFqXDqhbY7mIQhmXXoy49q8mO7LrIzBsrm87vIGgvAIYhq +2l5ksB9Id1jtBzVSTkfAw8= X-Google-Smtp-Source: AHgI3IaGgsNCB/5uSHS8zMM8iq7MRMa96Qifw7aHGBWZ8hqf6dc+ef7gl0is6Mp25UuZlEFTI3qo4Q== X-Received: by 2002:a63:6b03:: with SMTP id g3mr2140138pgc.239.1551261619186; Wed, 27 Feb 2019 02:00:19 -0800 (PST) Received: from [10.34.56.54] (124x36x208x58.ap124.ftth.ucom.ne.jp. [124.36.208.58]) by smtp.gmail.com with ESMTPSA id t71sm17801604pgd.15.2019.02.27.02.00.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Feb 2019 02:00:18 -0800 (PST) Subject: Re: Pluggable Storage - Andres's take To: Andres Freund , Haribabu Kommi Cc: Asim R P , Pg Hackers , aagrawal@pivotal.io, Dmitry Dolgov <9erthalion6@gmail.com>, Alvaro Herrera , Alexander Korotkov References: <20181127015557.unah7opawwrvr3us@alap3.anarazel.de> <20181211021340.mqaown4njtcgrjvr@alap3.anarazel.de> <20190121030115.unoxypsx3dxosyeg@alap3.anarazel.de> From: Heikki Linnakangas Message-ID: Date: Wed, 27 Feb 2019 18:00:12 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 MIME-Version: 1.0 In-Reply-To: <20190121030115.unoxypsx3dxosyeg@alap3.anarazel.de> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk I haven't been following this thread closely, but I looked briefly at some of the patches posted here: On 21/01/2019 11:01, Andres Freund wrote: > The patchset is now pretty granularly split into individual pieces. Wow, 42 patches, very granular indeed! That's nice for reviewing, but are you planning to squash them before committing? Seems a bit excessive for the git history. Patches 1-4: * v12-0001-WIP-Introduce-access-table.h-access-relation.h.patch * v12-0002-Replace-heapam.h-includes-with-relation.h-table..patch * v12-0003-Replace-uses-of-heap_open-et-al-with-table_open-.patch * v12-0004-Remove-superfluous-tqual.h-includes.patch These look good to me. I think it would make sense to squash these together, and commit now. Patches 20 and 21: * v12-0020-WIP-Slotified-triggers.patch * v12-0021-WIP-Slotify-EPQ.patch I like this slotification of trigger and EPQ code. It seems like a nice thing to do, independently of the other patches. You said you wanted to polish that up to committable state, and commit separately: +1 on that. Perhaps do that even before patches 1-4. > --- a/src/include/commands/trigger.h > +++ b/src/include/commands/trigger.h > @@ -35,8 +35,8 @@ typedef struct TriggerData > HeapTuple tg_trigtuple; > HeapTuple tg_newtuple; > Trigger *tg_trigger; > - Buffer tg_trigtuplebuf; > - Buffer tg_newtuplebuf; > + TupleTableSlot *tg_trigslot; > + TupleTableSlot *tg_newslot; > Tuplestorestate *tg_oldtable; > Tuplestorestate *tg_newtable; > } TriggerData; Do we still need tg_trigtuple and tg_newtuple? Can't we always use the corresponding slots instead? Is it for backwards-compatibility with user-defined triggers written in C? (Documentation also needs to be updated for the changes in this struct) I didn't look a the rest of the patches yet... - Heikki