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 1m2l4I-0001fK-A9 for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jul 2021 01:49:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1m2l4G-0004AE-Mo for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jul 2021 01:49:08 +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 1m2l4F-00045F-Rw for pgsql-hackers@lists.postgresql.org; Mon, 12 Jul 2021 01:49:08 +0000 Received: from new1-smtp.messagingengine.com ([66.111.4.221]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m2l4C-0005Kt-Nw for pgsql-hackers@lists.postgresql.org; Mon, 12 Jul 2021 01:49:07 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailnew.nyi.internal (Postfix) with ESMTP id 5846B580A1D; Sun, 11 Jul 2021 21:49:02 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Sun, 11 Jul 2021 21:49:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=kLQ4RN/KhvuLZoNBEp9WN/RwfOFx+/yufW/BIxnG4ww=; b=bvwVPrhV pvsBvw8Ordeqx/uOxpeQ/xNghhmpG+dp2t5d37K2rh0EhfFw8MJxco+Mru4yLvAG I/07pxYwUMLi2CwqBSncsaJzFPknK66eBxbQXfW1FH4cVxJ6bu8F+oRWa5vSJ9fa lZIkQMM5TJnWmJNZ9by+tEQafvj8ckHFW9jj9+zCQ2TaY4OHB+mDGwrqe73ijTiV O25SQswQsTU/isDIxV1Rz3K7rrv1YhBTJRW2nbWHyRVS/AU3dmg8ievyuO5+O9aR 2nYwJz+VnXsW2Hpe0Ofbe0ixmm3kmT6fxBD9gGBRHoleO3orQoIA4Y8n9gQzuQpD sUc1z+k9B1R9Ag== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddruddugdehtdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvuffkgggtugfgjgesthekredttddtjeenucfhrhhomheptehlvhgrrhho ucfjvghrrhgvrhgruceorghlvhhhvghrrhgvsegrlhhvhhdrnhhoqdhiphdrohhrgheqne cuggftrfgrthhtvghrnhepjeejveffueekjeeikeehheeludduheetiedugeetteekhfev lefhfedvuddvgfefnecuffhomhgrihhnpehpohhsthhgrhdrvghspdgvnhhtvghrphhrih hsvggusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhl fhhrohhmpegrlhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhg X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 11 Jul 2021 21:49:01 -0400 (EDT) Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id B06492A0911; Sun, 11 Jul 2021 21:48:57 -0400 (-04) Date: Sun, 11 Jul 2021 21:48:57 -0400 From: Alvaro Herrera To: Tomas Vondra Cc: Euler Taveira , Greg Nancarrow , Amit Kapila , Peter Smith , Rahila Syed , Peter Eisentraut , =?utf-8?B?w5ZuZGVyIEthbGFjxLE=?= , japin , Michael Paquier , David Steele , Craig Ringer , Tomas Vondra , Amit Langote , PostgreSQL Hackers Subject: Re: row filtering for logical replication Message-ID: <202107120148.l4nueeibgynb@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <849ee491-bba3-c0ae-cc25-4fce1c03f105@enterprisedb.com> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi Andres complained about the safety of doing general expression evaluation in pgoutput; that was first in https://postgr.es/m/20210128022032.eq2qqc6zxkqn5syt@alap3.anarazel.de where he described a possible approach to handle it by restricting expressions to have limited shape; and later in http://postgr.es/m/20210331191710.kqbiwe73lur7jo2e@alap3.anarazel.de I was just scanning the patch trying to see if some sort of protection had been added for this, but I couldn't find anything. (Some functions are under-commented, though). So, is it there already, and if so what is it? And if it isn't, then I think it should definitely be put there in some form. Thanks -- Álvaro Herrera Valdivia, Chile — https://www.EnterpriseDB.com/