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 1egCdY-0000XV-1o for pgsql-hackers@arkaria.postgresql.org; Mon, 29 Jan 2018 16:50: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 1egCdW-0003fn-RM for pgsql-hackers@arkaria.postgresql.org; Mon, 29 Jan 2018 16:50:26 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1egCdW-0003fL-HD for pgsql-hackers@lists.postgresql.org; Mon, 29 Jan 2018 16:50:26 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1egCdM-0003jV-7s for pgsql-hackers@postgresql.org; Mon, 29 Jan 2018 16:50:25 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id w0TGo21D005334; Mon, 29 Jan 2018 11:50:02 -0500 From: Tom Lane To: Bruce Momjian cc: Simon Riggs , Robert Haas , Alvaro Herrera , Andrew Dunstan , Pavan Deolasee , Peter Geoghegan , Stephen Frost , PostgreSQL-development Subject: Re: [HACKERS] MERGE SQL Statement for PG11 In-reply-to: <20180129164422.GE11613@momjian.us> References: <20171027124555.txawx6p6veikx25x@alvherre.pgsql> <3200.1517241972@sss.pgh.pa.us> <20180129164422.GE11613@momjian.us> Comments: In-reply-to Bruce Momjian message dated "Mon, 29 Jan 2018 11:44:22 -0500" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <5332.1517244602.1@sss.pgh.pa.us> Date: Mon, 29 Jan 2018 11:50:02 -0500 Message-ID: <5333.1517244602@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Bruce Momjian writes: > On Mon, Jan 29, 2018 at 04:34:48PM +0000, Simon Riggs wrote: >> ... If unfinished means it has caveats >> that is different to unfinished meaning crappy, risky, contentious >> etc.. > I think the question is how does it handle cases it doesn't support? > Does it give wrong answers? Does it give a helpful error message? Can > you summarize that? What I was reacting to was the comments just upthread that it doesn't yet handle partitions or RLS. Those things don't seem optional to me. Maybe they're small additions, but if so why aren't they done already? Also, as far as phased development goes: Simon's drawing analogies to things like parallel query, which we all understood had to be done over multiple dev cycles because they were too big to finish in one cycle. I don't think MERGE qualifies: there seems no good reason why it can't be done, full stop, in the first release where it appears. regards, tom lane