Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jxvLs-0002rJ-55 for pgsql-hackers@arkaria.postgresql.org; Tue, 21 Jul 2020 16:42:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jxvLr-0001nb-55 for pgsql-hackers@arkaria.postgresql.org; Tue, 21 Jul 2020 16:42:47 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jxvLq-0001nU-Ui for pgsql-hackers@lists.postgresql.org; Tue, 21 Jul 2020 16:42:46 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jxvLo-00014B-I6 for pgsql-hackers@lists.postgresql.org; Tue, 21 Jul 2020 16:42:46 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 06LGggND975218 for ; Tue, 21 Jul 2020 12:42:42 -0400 From: Tom Lane To: pgsql-hackers@lists.postgresql.org Subject: Re: pg_subscription.subslotname is wrongly marked NOT NULL In-reply-to: <732838.1595278439@sss.pgh.pa.us> References: <4118109.1595096139@sss.pgh.pa.us> <34984.1595124581@sss.pgh.pa.us> <298837.1595196283@sss.pgh.pa.us> <367660.1595202498@sss.pgh.pa.us> <732838.1595278439@sss.pgh.pa.us> Comments: In-reply-to Tom Lane message dated "Mon, 20 Jul 2020 16:53:59 -0400" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <975216.1595349762.1@sss.pgh.pa.us> Date: Tue, 21 Jul 2020 12:42:42 -0400 Message-ID: <975217.1595349762@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk I wrote: > * On the other side of the ledger, if we don't fix these markings > we cannot back-patch the additional assertions I proposed at [1]. > I'm kind of leaning to committing this as shown and back-patching > the patch at [1], but certainly a case could be made in the other > direction. Thoughts? After further thought about that I realized that the assertion patch could be kluged in the same way as we did in llvmjit_deform.c, and that that would really be the only safe way to do it pre-v13. Otherwise the assertions would trip in pre-existing databases, which would not be nice. So what I've done is to back-patch the assertions that way, and *not* apply BKI_FORCE_NULL in the back branches. The possible downsides of doing that seem to outweigh the upside of making the catalog state cleaner in new installations. regards, tom lane