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 1lPNyV-0006a4-MY for pgsql-hackers@arkaria.postgresql.org; Thu, 25 Mar 2021 11:16:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lPNyT-00006v-N7 for pgsql-hackers@arkaria.postgresql.org; Thu, 25 Mar 2021 11:16:25 +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 1lPNyS-00006c-Kc for pgsql-hackers@lists.postgresql.org; Thu, 25 Mar 2021 11:16:25 +0000 Received: from [66.111.4.237] (helo=forward3-smtp.messagingengine.com) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lPNyI-0003oi-Ea for pgsql-hackers@lists.postgresql.org; Thu, 25 Mar 2021 11:16:23 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailforward.nyi.internal (Postfix) with ESMTP id E2D4D19405FC; Thu, 25 Mar 2021 07:16:02 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Thu, 25 Mar 2021 07:16:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=gfgi8W dLc2Q0lzvlFH+llgJi9d+r00DcnWO+uXtbavg=; b=wBuaTtmGhpO6gKpl9+1uJQ tEo/FVVYaIZk3VQHh0hPuZgWx5WZHCJushjuJioJyyfRV7isyMlTNo7mdRv8YTQq 6ExRKYread4+o5Ft/69liBJQOpUOmmeh5fiYSOrqwQBmd0M8IhRspuyGjUcpOJGn dd9ZCxUn1rRFvlXAo/Eqm/phatv5Ve4GjzZ1Rk/AMUrcZaDCA0MFUtnHvspusA7u blPyHA86IkCgytL0Dv5YctUH+RJnkRp1YqjiVPwJlnuF/d3K3kXrqj8Yy+4yJ9gG vTocQFMJLvY81QWOd+N8U6qcSLIERX2z7wpSCoSyilJAZPzZ8aGjwf8iDxA2mryQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehtddgvdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepuffvfhfhkffffgggjggtsehmtderredtfeejnecuhfhrohhmpefrvghtvghr ucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgvihhsvghnthhrrghuthesvghnthgvrh hprhhishgvuggsrdgtohhmqeenucggtffrrghtthgvrhhnpeffvdfhiedvhedutdeihfdt keevfffhkeejudehieeuveegkefggfeiteefhfdtudenucfkphepledurddugedrvdefie drieehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhep phgvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Received: from laptop206oxuk.local (p5b0eec41.dip0.t-ipconnect.de [91.14.236.65]) by mail.messagingengine.com (Postfix) with ESMTPA id B1BFA240054; Thu, 25 Mar 2021 07:15:59 -0400 (EDT) Subject: Re: row filtering for logical replication To: Euler Taveira , Rahila Syed Cc: =?UTF-8?B?w5ZuZGVyIEthbGFjxLE=?= , japin , Michael Paquier , David Steele , Craig Ringer , Tomas Vondra , Amit Langote , PostgreSQL Hackers References: <8cf1ea71-b609-00e8-b8f0-c85ba61b7312@pgmasters.net> <4dbad191-9b40-4bb6-8940-d18f2e93c3ce@www.fastmail.com> <5b9fceed-8f91-467f-a64e-2134c5c3f496@www.fastmail.com> <52edc9d2-8e52-4cde-9a15-991961b78387@www.fastmail.com> <9d5ef845-391a-4c66-b298-0f594d9e6828@www.fastmail.com> <7e4b5c48-a3d3-4b7e-b455-2d50c60a0ab7@www.fastmail.com> From: Peter Eisentraut Message-ID: <57373e8b-1264-cd37-404e-8edbcf7884cc@enterprisedb.com> Date: Thu, 25 Mar 2021 12:15:56 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <7e4b5c48-a3d3-4b7e-b455-2d50c60a0ab7@www.fastmail.com> Content-Type: multipart/mixed; boundary="------------C96ECAB7D04AE466B39F3B56" Content-Language: en-US X-Host-Lookup-Failed: Reverse DNS lookup failed for 66.111.4.237 (deferred) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------C96ECAB7D04AE466B39F3B56 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 22.03.21 03:15, Euler Taveira wrote: > I attached a new patch set that addresses: > > * fix documentation; > * rename PublicationRelationQual to PublicationRelationInfo; > * remove the memset that was leftover from a previous patch set; > * add new tests to improve coverage (INSERT/UPDATE/DELETE to exercise > the row >   filter code). I have committed the 0001 patch. Attached are a few fixup patches that I recommend you integrate into your patch set. They address backward compatibility with PG13, and a few more stylistic issues. I suggest you combine your 0002, 0003, and 0004 patches into one. They can't be used separately, and for example the psql changes in patch 0003 already appear as regression test output changes in 0002, so this arrangement isn't useful. (0005 can be kept separately, since it's mostly for debugging right now.) --------------C96ECAB7D04AE466B39F3B56 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-fixup-Row-filter-for-logical-replication.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-fixup-Row-filter-for-logical-replication.patch" RnJvbSBjMjk0NTk1MDVkYjg4Yzg2ZGQ3YWE2MTAxOWZhNDA2MjAyYzMwYjBhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyNSBNYXIgMjAyMSAxMTo1Nzo0OCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMS82XSBmaXh1cCEgUm93IGZpbHRlciBmb3IgbG9naWNhbCByZXBsaWNhdGlv bgoKUmVtb3ZlIHVudXNlZCBoZWFkZXIgZmlsZXMsIGNsZWFuIHVwIHdoaXRlc3BhY2UuCi0t LQogc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jICAgICAgICB8IDIgLS0K IHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMgfCA0IC0tLS0K IDIgZmlsZXMgY2hhbmdlZCwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3Bn X3B1YmxpY2F0aW9uLmMKaW5kZXggZjMxYWUyOGRlMi4uNzhmNTc4MGZiNyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCisrKyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYwpAQCAtMzMsMTEgKzMzLDkgQEAKICNpbmNs dWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKICNpbmNsdWRlICJmdW5jYXBpLmgiCiAjaW5jbHVk ZSAibWlzY2FkbWluLmgiCi0KICNpbmNsdWRlICJwYXJzZXIvcGFyc2VfY2xhdXNlLmgiCiAj aW5jbHVkZSAicGFyc2VyL3BhcnNlX2NvbGxhdGUuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFy c2VfcmVsYXRpb24uaCIKLQogI2luY2x1ZGUgInV0aWxzL2FycmF5LmgiCiAjaW5jbHVkZSAi dXRpbHMvYnVpbHRpbnMuaCIKICNpbmNsdWRlICJ1dGlscy9jYXRjYWNoZS5oIgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYyBiL3Ny Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMKaW5kZXggY2U2ZGE4 ZGUxOS4uNjE1MWYzNDkyNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v cGdvdXRwdXQvcGdvdXRwdXQuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291 dHB1dC9wZ291dHB1dC5jCkBAIC0xNiwxNCArMTYsMTAgQEAKICNpbmNsdWRlICJjYXRhbG9n L3BhcnRpdGlvbi5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcHVibGljYXRpb24uaCIKICNp bmNsdWRlICJjYXRhbG9nL3BnX3B1YmxpY2F0aW9uX3JlbC5oIgotI2luY2x1ZGUgImNhdGFs b2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2RlZnJlbS5oIgogI2luY2x1ZGUg ImV4ZWN1dG9yL2V4ZWN1dG9yLmgiCiAjaW5jbHVkZSAiZm1nci5oIgotI2luY2x1ZGUgIm5v ZGVzL2V4ZWNub2Rlcy5oIgogI2luY2x1ZGUgIm5vZGVzL25vZGVGdW5jcy5oIgotI2luY2x1 ZGUgIm9wdGltaXplci9wbGFubmVyLmgiCi0jaW5jbHVkZSAib3B0aW1pemVyL29wdGltaXpl ci5oIgogI2luY2x1ZGUgInBhcnNlci9wYXJzZV9jb2VyY2UuaCIKICNpbmNsdWRlICJyZXBs aWNhdGlvbi9sb2dpY2FsLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vbG9naWNhbHByb3Rv LmgiCi0tIAoyLjMwLjIKCg== --------------C96ECAB7D04AE466B39F3B56 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0002-fixup-Row-filter-for-logical-replication.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0002-fixup-Row-filter-for-logical-replication.patch" RnJvbSA5MWMyMGVjYjQ1YTg2MjdhOTI1MmVkNTg5ZmU2Yjg1OTI3YmU4YjQ1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyNSBNYXIgMjAyMSAxMTo1OToxMyArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMi82XSBmaXh1cCEgUm93IGZpbHRlciBmb3IgbG9naWNhbCByZXBsaWNhdGlv bgoKQWxsb3cgcmVwbGljYXRpb24gZnJvbSBvbGRlciBQb3N0Z3JlU1FMIHZlcnNpb25zIHdp dGhvdXQgcHJxdWFsLgotLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFi bGVzeW5jLmMgfCA3MCArKysrKysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAz NyBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jIGIvc3JjL2JhY2tlbmQvcmVw bGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYwppbmRleCA0MGQ4NGRhZGI1Li4yNDY1MTBj ODJlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxl c3luYy5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5j LmMKQEAgLTc5Niw0OSArNzk2LDUzIEBAIGZldGNoX3JlbW90ZV90YWJsZV9pbmZvKGNoYXIg Km5zcG5hbWUsIGNoYXIgKnJlbG5hbWUsCiAJd2FscmN2X2NsZWFyX3Jlc3VsdChyZXMpOwog CiAJLyogR2V0IHJlbGF0aW9uIHF1YWwgKi8KLQlyZXNldFN0cmluZ0luZm8oJmNtZCk7Ci0J YXBwZW5kU3RyaW5nSW5mbygmY21kLAotCQkJCQkgIlNFTEVDVCBwZ19nZXRfZXhwcihwcnF1 YWwsIHBycmVsaWQpICIKLQkJCQkJICIgIEZST00gcGdfcHVibGljYXRpb24gcCAiCi0JCQkJ CSAiICBJTk5FUiBKT0lOIHBnX3B1YmxpY2F0aW9uX3JlbCBwciAiCi0JCQkJCSAiICAgICAg IE9OIChwLm9pZCA9IHByLnBycHViaWQpICIKLQkJCQkJICIgV0hFUkUgcHIucHJyZWxpZCA9 ICV1ICIKLQkJCQkJICIgICBBTkQgcC5wdWJuYW1lIElOICgiLCBscmVsLT5yZW1vdGVpZCk7 Ci0KLQlmaXJzdCA9IHRydWU7Ci0JZm9yZWFjaChsYywgTXlTdWJzY3JpcHRpb24tPnB1Ymxp Y2F0aW9ucykKKwlpZiAod2FscmN2X3NlcnZlcl92ZXJzaW9uKHdyY29ubikgPj0gMTQwMDAw KQogCXsKLQkJY2hhcgkgICAqcHVibmFtZSA9IHN0clZhbChsZmlyc3QobGMpKTsKKwkJcmVz ZXRTdHJpbmdJbmZvKCZjbWQpOworCQlhcHBlbmRTdHJpbmdJbmZvKCZjbWQsCisJCQkJCQkg IlNFTEVDVCBwZ19nZXRfZXhwcihwcnF1YWwsIHBycmVsaWQpICIKKwkJCQkJCSAiICBGUk9N IHBnX3B1YmxpY2F0aW9uIHAgIgorCQkJCQkJICIgIElOTkVSIEpPSU4gcGdfcHVibGljYXRp b25fcmVsIHByICIKKwkJCQkJCSAiICAgICAgIE9OIChwLm9pZCA9IHByLnBycHViaWQpICIK KwkJCQkJCSAiIFdIRVJFIHByLnBycmVsaWQgPSAldSAiCisJCQkJCQkgIiAgIEFORCBwLnB1 Ym5hbWUgSU4gKCIsIGxyZWwtPnJlbW90ZWlkKTsKKworCQlmaXJzdCA9IHRydWU7CisJCWZv cmVhY2gobGMsIE15U3Vic2NyaXB0aW9uLT5wdWJsaWNhdGlvbnMpCisJCXsKKwkJCWNoYXIJ ICAgKnB1Ym5hbWUgPSBzdHJWYWwobGZpcnN0KGxjKSk7CiAKLQkJaWYgKGZpcnN0KQotCQkJ Zmlyc3QgPSBmYWxzZTsKLQkJZWxzZQotCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZygmY21k LCAiLCAiKTsKKwkJCWlmIChmaXJzdCkKKwkJCQlmaXJzdCA9IGZhbHNlOworCQkJZWxzZQor CQkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoJmNtZCwgIiwgIik7CiAKLQkJYXBwZW5kU3Ry aW5nSW5mb1N0cmluZygmY21kLCBxdW90ZV9saXRlcmFsX2NzdHIocHVibmFtZSkpOwotCX0K LQlhcHBlbmRTdHJpbmdJbmZvQ2hhcigmY21kLCAnKScpOworCQkJYXBwZW5kU3RyaW5nSW5m b1N0cmluZygmY21kLCBxdW90ZV9saXRlcmFsX2NzdHIocHVibmFtZSkpOworCQl9CisJCWFw cGVuZFN0cmluZ0luZm9DaGFyKCZjbWQsICcpJyk7CiAKLQlyZXMgPSB3YWxyY3ZfZXhlYyh3 cmNvbm4sIGNtZC5kYXRhLCAxLCBxdWFsUm93KTsKKwkJcmVzID0gd2FscmN2X2V4ZWMod3Jj b25uLCBjbWQuZGF0YSwgMSwgcXVhbFJvdyk7CiAKLQlpZiAocmVzLT5zdGF0dXMgIT0gV0FM UkNWX09LX1RVUExFUykKLQkJZXJlcG9ydChFUlJPUiwKLQkJCQkoZXJybXNnKCJjb3VsZCBu b3QgZmV0Y2ggcmVsYXRpb24gcXVhbGlmaWNhdGlvbnMgZm9yIHRhYmxlIFwiJXMuJXNcIiBm cm9tIHB1Ymxpc2hlcjogJXMiLAotCQkJCQkJbnNwbmFtZSwgcmVsbmFtZSwgcmVzLT5lcnIp KSk7CisJCWlmIChyZXMtPnN0YXR1cyAhPSBXQUxSQ1ZfT0tfVFVQTEVTKQorCQkJZXJlcG9y dChFUlJPUiwKKwkJCQkJKGVycm1zZygiY291bGQgbm90IGZldGNoIHJlbGF0aW9uIHF1YWxp ZmljYXRpb25zIGZvciB0YWJsZSBcIiVzLiVzXCIgZnJvbSBwdWJsaXNoZXI6ICVzIiwKKwkJ CQkJCQluc3BuYW1lLCByZWxuYW1lLCByZXMtPmVycikpKTsKIAotCXNsb3QgPSBNYWtlU2lu Z2xlVHVwbGVUYWJsZVNsb3QocmVzLT50dXBsZWRlc2MsICZUVFNPcHNNaW5pbWFsVHVwbGUp OwotCXdoaWxlICh0dXBsZXN0b3JlX2dldHR1cGxlc2xvdChyZXMtPnR1cGxlc3RvcmUsIHRy dWUsIGZhbHNlLCBzbG90KSkKLQl7Ci0JCURhdHVtCQlyZiA9IHNsb3RfZ2V0YXR0cihzbG90 LCAxLCAmaXNudWxsKTsKKwkJc2xvdCA9IE1ha2VTaW5nbGVUdXBsZVRhYmxlU2xvdChyZXMt PnR1cGxlZGVzYywgJlRUU09wc01pbmltYWxUdXBsZSk7CisJCXdoaWxlICh0dXBsZXN0b3Jl X2dldHR1cGxlc2xvdChyZXMtPnR1cGxlc3RvcmUsIHRydWUsIGZhbHNlLCBzbG90KSkKKwkJ eworCQkJRGF0dW0JCXJmID0gc2xvdF9nZXRhdHRyKHNsb3QsIDEsICZpc251bGwpOwogCi0J CWlmICghaXNudWxsKQotCQkJKnF1YWwgPSBsYXBwZW5kKCpxdWFsLCBtYWtlU3RyaW5nKFRl eHREYXR1bUdldENTdHJpbmcocmYpKSk7CisJCQlpZiAoIWlzbnVsbCkKKwkJCQkqcXVhbCA9 IGxhcHBlbmQoKnF1YWwsIG1ha2VTdHJpbmcoVGV4dERhdHVtR2V0Q1N0cmluZyhyZikpKTsK IAotCQlFeGVjQ2xlYXJUdXBsZShzbG90KTsKKwkJCUV4ZWNDbGVhclR1cGxlKHNsb3QpOwor CQl9CisJCUV4ZWNEcm9wU2luZ2xlVHVwbGVUYWJsZVNsb3Qoc2xvdCk7CisKKwkJd2FscmN2 X2NsZWFyX3Jlc3VsdChyZXMpOwogCX0KLQlFeGVjRHJvcFNpbmdsZVR1cGxlVGFibGVTbG90 KHNsb3QpOwogCi0Jd2FscmN2X2NsZWFyX3Jlc3VsdChyZXMpOwogCXBmcmVlKGNtZC5kYXRh KTsKIH0KIAotLSAKMi4zMC4yCgo= --------------C96ECAB7D04AE466B39F3B56 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0003-fixup-Row-filter-for-logical-replication.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0003-fixup-Row-filter-for-logical-replication.patch" RnJvbSBkNDBiNDYzZGVmMjljZGRlZDE4NTc5ZDZlNTg0Y2I5ZjVmNDc2NGQ2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyNSBNYXIgMjAyMSAxMjowMDozNSArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMy82XSBmaXh1cCEgUm93IGZpbHRlciBmb3IgbG9naWNhbCByZXBsaWNhdGlv bgoKVXNlIG1vcmUgaWRpb21hdGljIHN0eWxlIGZvciBjaGVja2luZyBmb3IgZW1wdHkgb3Ig bm9uZW1wdHkgbGlzdHMuCi0tLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90 YWJsZXN5bmMuYyB8IDQgKystLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQv cGdvdXRwdXQuYyB8IDQgKystLQogMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v bG9naWNhbC90YWJsZXN5bmMuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwv dGFibGVzeW5jLmMKaW5kZXggMjQ2NTEwYzgyZS4uYzNkNjg0N2IzNSAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYworKysgYi9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jCkBAIC04ODEsNyArODgx LDcgQEAgY29weV90YWJsZShSZWxhdGlvbiByZWwpCiAJaW5pdFN0cmluZ0luZm8oJmNtZCk7 CiAKIAkvKiBSZWd1bGFyIHRhYmxlIHdpdGggbm8gcm93IGZpbHRlciAqLwotCWlmIChscmVs LnJlbGtpbmQgPT0gUkVMS0lORF9SRUxBVElPTiAmJiBsaXN0X2xlbmd0aChxdWFsKSA9PSAw KQorCWlmIChscmVsLnJlbGtpbmQgPT0gUkVMS0lORF9SRUxBVElPTiAmJiBxdWFsID09IE5J TCkKIAkJYXBwZW5kU3RyaW5nSW5mbygmY21kLCAiQ09QWSAlcyBUTyBTVERPVVQiLAogCQkJ CQkJIHF1b3RlX3F1YWxpZmllZF9pZGVudGlmaWVyKGxyZWwubnNwbmFtZSwgbHJlbC5yZWxu YW1lKSk7CiAJZWxzZQpAQCAtOTAyLDcgKzkwMiw3IEBAIGNvcHlfdGFibGUoUmVsYXRpb24g cmVsKQogCQlhcHBlbmRTdHJpbmdJbmZvKCZjbWQsICIgRlJPTSAlcyIsCiAJCQkJCQkgcXVv dGVfcXVhbGlmaWVkX2lkZW50aWZpZXIobHJlbC5uc3BuYW1lLCBscmVsLnJlbG5hbWUpKTsK IAkJLyogbGlzdCBvZiBBTkQnZWQgZmlsdGVycyAqLwotCQlpZiAobGlzdF9sZW5ndGgocXVh bCkgPiAwKQorCQlpZiAocXVhbCAhPSBOSUwpCiAJCXsKIAkJCUxpc3RDZWxsICAgKmxjOwog CQkJYm9vbAkJZmlyc3QgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bn b3V0cHV0L3Bnb3V0cHV0LmMKaW5kZXggNjE1MWYzNDkyNS4uNTkzYThjOTZjOCAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYworKysg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5jCkBAIC01Njgs NyArNTY4LDcgQEAgcGdvdXRwdXRfcm93X2ZpbHRlcihSZWxhdGlvbiByZWxhdGlvbiwgSGVh cFR1cGxlIG9sZHR1cGxlLCBIZWFwVHVwbGUgbmV3dHVwbGUsIEwKIAlib29sCQlyZXN1bHQg PSB0cnVlOwogCiAJLyogQmFpbCBvdXQgaWYgdGhlcmUgaXMgbm8gcm93IGZpbHRlciAqLwot CWlmIChsaXN0X2xlbmd0aChyb3dmaWx0ZXIpID09IDApCisJaWYgKHJvd2ZpbHRlciA9PSBO SUwpCiAJCXJldHVybiB0cnVlOwogCiAJZWxvZyhERUJVRzMsICJ0YWJsZSBcIiVzLiVzXCIg aGFzIHJvdyBmaWx0ZXIiLApAQCAtMTM3Miw3ICsxMzcyLDcgQEAgcmVsX3N5bmNfY2FjaGVf cHVibGljYXRpb25fY2IoRGF0dW0gYXJnLCBpbnQgY2FjaGVpZCwgdWludDMyIGhhc2h2YWx1 ZSkKIAkJZW50cnktPnB1YmFjdGlvbnMucHViZGVsZXRlID0gZmFsc2U7CiAJCWVudHJ5LT5w dWJhY3Rpb25zLnB1YnRydW5jYXRlID0gZmFsc2U7CiAKLQkJaWYgKGxpc3RfbGVuZ3RoKGVu dHJ5LT5xdWFsKSA+IDApCisJCWlmIChlbnRyeS0+cXVhbCAhPSBOSUwpCiAJCQlsaXN0X2Zy ZWVfZGVlcChlbnRyeS0+cXVhbCk7CiAJCWVudHJ5LT5xdWFsID0gTklMOwogCX0KLS0gCjIu MzAuMgoK --------------C96ECAB7D04AE466B39F3B56 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0004-fixup-Row-filter-for-logical-replication.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0004-fixup-Row-filter-for-logical-replication.patch" RnJvbSBiODJlN2IwNWJiM2ZkNzNiZWRlMzlmNDgwYzMxZDY1N2ZlNDEwZTQxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyNSBNYXIgMjAyMSAxMjowMjo0OCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggNC82XSBmaXh1cCEgUm93IGZpbHRlciBmb3IgbG9naWNhbCByZXBsaWNhdGlv bgoKZWxvZyBhcmd1bWVudHMgYXJlIG5vdCBldmFsdWF0ZWQgdW5sZXNzIHRoZSBtZXNzYWdl IGxldmVsIGlzCmludGVyZXN0aW5nLCBzbyB0aGUgcHJldmlvdXMgd29ya2Fyb3VuZCBpcyB1 bm5lY2Vzc2FyeS4KLS0tCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291 dHB1dC5jIHwgMTYgKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0 aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVw bGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L3Bnb3V0cHV0L3Bnb3V0cHV0LmMKaW5kZXggNTkzYThjOTZjOC4uMDBhZDhmMDAxZiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYwor KysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5jCkBAIC02 MDMsMTcgKzYwMywxMSBAQCBwZ291dHB1dF9yb3dfZmlsdGVyKFJlbGF0aW9uIHJlbGF0aW9u LCBIZWFwVHVwbGUgb2xkdHVwbGUsIEhlYXBUdXBsZSBuZXd0dXBsZSwgTAogCQkvKiBFdmFs dWF0ZXMgcm93IGZpbHRlciAqLwogCQlyZXN1bHQgPSBwZ291dHB1dF9yb3dfZmlsdGVyX2V4 ZWNfZXhwcihleHByc3RhdGUsIGVjeHQpOwogCi0JCWlmIChtZXNzYWdlX2xldmVsX2lzX2lu dGVyZXN0aW5nKERFQlVHMykpCi0JCXsKLQkJCWNoYXIJICAgKnMgPSBOVUxMOwotCi0JCQlz ID0gVGV4dERhdHVtR2V0Q1N0cmluZyhEaXJlY3RGdW5jdGlvbkNhbGwyKHBnX2dldF9leHBy LCBDU3RyaW5nR2V0VGV4dERhdHVtKG5vZGVUb1N0cmluZyhyZm5vZGUpKSwgT2JqZWN0SWRH ZXREYXR1bShyZWxhdGlvbi0+cmRfaWQpKSk7Ci0JCQlpZiAocmVzdWx0KQotCQkJCWVsb2co REVCVUczLCAicm93IGZpbHRlciBcIiVzXCIgbWF0Y2hlZCIsIHMpOwotCQkJZWxzZQotCQkJ CWVsb2coREVCVUczLCAicm93IGZpbHRlciBcIiVzXCIgbm90IG1hdGNoZWQiLCBzKTsKLQkJ CXBmcmVlKHMpOwotCQl9CisJCWVsb2coREVCVUczLCAicm93IGZpbHRlciBcIiVzXCIgJXNt YXRjaGVkIiwKKwkJCSBUZXh0RGF0dW1HZXRDU3RyaW5nKERpcmVjdEZ1bmN0aW9uQ2FsbDIo cGdfZ2V0X2V4cHIsCisJCQkJCQkJCQkJCQkJIENTdHJpbmdHZXRUZXh0RGF0dW0obm9kZVRv U3RyaW5nKHJmbm9kZSkpLAorCQkJCQkJCQkJCQkJCSBPYmplY3RJZEdldERhdHVtKHJlbGF0 aW9uLT5yZF9pZCkpKSwKKwkJCSByZXN1bHQgPyAiIiA6ICIgbm90Iik7CiAKIAkJLyogSWYg dGhlIHR1cGxlIGRvZXMgbm90IG1hdGNoIG9uZSBvZiB0aGUgcm93IGZpbHRlcnMsIGJhaWwg b3V0ICovCiAJCWlmICghcmVzdWx0KQotLSAKMi4zMC4yCgo= --------------C96ECAB7D04AE466B39F3B56 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0005-fixup-Publication-WHERE-condition-support-for-pg_dum.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0005-fixup-Publication-WHERE-condition-support-for-pg_dum.pa"; filename*1="tch" RnJvbSBhZjAxMmFkN2Q3NTkyZjg4ZTM1MzY0MmZkNzE1YTM4MjVlYTJlYzcyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyNSBNYXIgMjAyMSAxMjowNzoxMSArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggNS82XSBmaXh1cCEgUHVibGljYXRpb24gV0hFUkUgY29uZGl0aW9uIHN1cHBv cnQgZm9yIHBnX2R1bXAKCk1ha2UgcGdfZHVtcCBiYWNrd2FyZCBjb21wYXRpYmxlLgoKQWxz byBhZGQgbmVjZXNzYXJ5IHBhcmVudGhlc2VzIGFyb3VuZCBleHByZXNzaW9uLiAgcGdfZ2V0 X2V4cHIgd2lsbApzdXBwbHkgdGhlIHBhcmVudGhlc2VzIGluIG1hbnkgY2FzZXMsIGJ1dCBp dCB3b24ndCBmb3IgdGhpbmdzIGxpa2UKIldIRVJFIFRSVUUiLgotLS0KIHNyYy9iaW4vcGdf ZHVtcC9wZ19kdW1wLmMgfCAxNiArKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmlu L3BnX2R1bXAvcGdfZHVtcC5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwppbmRleCA3 MmQ4N2YyMWM4Li5hZjU3YTUwZjI3IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdf ZHVtcC5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKQEAgLTQxNDEsMTAgKzQx NDEsMTYgQEAgZ2V0UHVibGljYXRpb25UYWJsZXMoQXJjaGl2ZSAqZm91dCwgVGFibGVJbmZv IHRibGluZm9bXSwgaW50IG51bVRhYmxlcykKIAlxdWVyeSA9IGNyZWF0ZVBRRXhwQnVmZmVy KCk7CiAKIAkvKiBDb2xsZWN0IGFsbCBwdWJsaWNhdGlvbiBtZW1iZXJzaGlwIGluZm8uICov Ci0JYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCi0JCQkJCQkgIlNFTEVDVCB0YWJsZW9p ZCwgb2lkLCBwcnB1YmlkLCBwcnJlbGlkLCAiCi0JCQkJCQkgInBnX2NhdGFsb2cucGdfZ2V0 X2V4cHIocHJxdWFsLCBwcnJlbGlkKSBBUyBwcnJlbHF1YWwgIgotCQkJCQkJICJGUk9NIHBn X2NhdGFsb2cucGdfcHVibGljYXRpb25fcmVsIik7CisJaWYgKGZvdXQtPnJlbW90ZVZlcnNp b24gPj0gMTQwMDAwKQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwKKwkJCQkJCQkg IlNFTEVDVCB0YWJsZW9pZCwgb2lkLCBwcnB1YmlkLCBwcnJlbGlkLCAiCisJCQkJCQkJICJw Z19jYXRhbG9nLnBnX2dldF9leHByKHBycXVhbCwgcHJyZWxpZCkgQVMgcHJyZWxxdWFsICIK KwkJCQkJCQkgIkZST00gcGdfY2F0YWxvZy5wZ19wdWJsaWNhdGlvbl9yZWwiKTsKKwllbHNl CisJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAorCQkJCQkJCSAiU0VMRUNUIHRhYmxl b2lkLCBvaWQsIHBycHViaWQsIHBycmVsaWQsICIKKwkJCQkJCQkgIk5VTEwgQVMgcHJyZWxx dWFsICIKKwkJCQkJCQkgIkZST00gcGdfY2F0YWxvZy5wZ19wdWJsaWNhdGlvbl9yZWwiKTsK IAlyZXMgPSBFeGVjdXRlU3FsUXVlcnkoZm91dCwgcXVlcnktPmRhdGEsIFBHUkVTX1RVUExF U19PSyk7CiAKIAludHVwcyA9IFBRbnR1cGxlcyhyZXMpOwpAQCAtNDIzMyw3ICs0MjM5LDcg QEAgZHVtcFB1YmxpY2F0aW9uVGFibGUoQXJjaGl2ZSAqZm91dCwgY29uc3QgUHVibGljYXRp b25SZWxJbmZvICpwdWJyaW5mbykKIAlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwgIiAlcyIs CiAJCQkJCSAgZm10UXVhbGlmaWVkRHVtcGFibGUodGJpbmZvKSk7CiAJaWYgKHB1YnJpbmZv LT5wdWJyZWxxdWFsKQotCQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwgIiBXSEVSRSAlcyIs IHB1YnJpbmZvLT5wdWJyZWxxdWFsKTsKKwkJYXBwZW5kUFFFeHBCdWZmZXIocXVlcnksICIg V0hFUkUgKCVzKSIsIHB1YnJpbmZvLT5wdWJyZWxxdWFsKTsKIAlhcHBlbmRQUUV4cEJ1ZmZl clN0cihxdWVyeSwgIjtcbiIpOwogCiAJLyoKLS0gCjIuMzAuMgoK --------------C96ECAB7D04AE466B39F3B56 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0006-fixup-Print-publication-WHERE-condition-in-psql.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0006-fixup-Print-publication-WHERE-condition-in-psql.patch" RnJvbSAzMjZjNDg5MDEyZjAyMGY4ZWYzOGUxMTg3YWVhNzJiMzMyZDFiOWE0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyNSBNYXIgMjAyMSAxMjowODo1MSArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggNi82XSBmaXh1cCEgUHJpbnQgcHVibGljYXRpb24gV0hFUkUgY29uZGl0aW9u IGluIHBzcWwKCk1ha2UgcHNxbCBiYWNrd2FyZCBjb21wYXRpYmxlLiAgQWxzbyBhZGQgbmVj ZXNzYXJ5IHBhcmVudGhlc2VzLgotLS0KIHNyYy9iaW4vcHNxbC9kZXNjcmliZS5jICAgICAg ICAgICAgICAgICAgIHwgMTEgKysrKysrKy0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcHVibGljYXRpb24ub3V0IHwgIDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRp b25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9kZXNj cmliZS5jIGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKaW5kZXggOTgzYmE1MTJmNy4uNmRj ZTk2ODQxNCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKKysrIGIvc3Jj L2Jpbi9wc3FsL2Rlc2NyaWJlLmMKQEAgLTYwMzgsOSArNjAzOCwxMiBAQCBkZXNjcmliZVB1 YmxpY2F0aW9ucyhjb25zdCBjaGFyICpwYXR0ZXJuKQogCQlpZiAoIXB1YmFsbHRhYmxlcykK IAkJewogCQkJcHJpbnRmUFFFeHBCdWZmZXIoJmJ1ZiwKLQkJCQkJCQkgICJTRUxFQ1Qgbi5u c3BuYW1lLCBjLnJlbG5hbWUsXG4iCi0JCQkJCQkJICAiICBwZ19nZXRfZXhwcihwci5wcnF1 YWwsIGMub2lkKVxuIgotCQkJCQkJCSAgIkZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjLFxu IgorCQkJCQkJCSAgIlNFTEVDVCBuLm5zcG5hbWUsIGMucmVsbmFtZSIpOworCQkJaWYgKHBz ZXQuc3ZlcnNpb24gPj0gMTQwMDAwKQorCQkJCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJ CQkJCQkJCSAgIiwgcGdfZ2V0X2V4cHIocHIucHJxdWFsLCBjLm9pZCkiKTsKKwkJCWFwcGVu ZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJCQkJICAiXG5GUk9NIHBnX2NhdGFsb2cucGdfY2xh c3MgYyxcbiIKIAkJCQkJCQkgICIgICAgIHBnX2NhdGFsb2cucGdfbmFtZXNwYWNlIG4sXG4i CiAJCQkJCQkJICAiICAgICBwZ19jYXRhbG9nLnBnX3B1YmxpY2F0aW9uX3JlbCBwclxuIgog CQkJCQkJCSAgIldIRVJFIGMucmVsbmFtZXNwYWNlID0gbi5vaWRcbiIKQEAgLTYwNzAsNyAr NjA3Myw3IEBAIGRlc2NyaWJlUHVibGljYXRpb25zKGNvbnN0IGNoYXIgKnBhdHRlcm4pCiAJ CQkJCQkJCSAgUFFnZXR2YWx1ZSh0YWJyZXMsIGosIDEpKTsKIAogCQkJCWlmICghUFFnZXRp c251bGwodGFicmVzLCBqLCAyKSkKLQkJCQkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwgIiAg V0hFUkUgJXMiLAorCQkJCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLCAiIFdIRVJFICglcyki LAogCQkJCQkJCQkJICBQUWdldHZhbHVlKHRhYnJlcywgaiwgMikpOwogCiAJCQkJcHJpbnRU YWJsZUFkZEZvb3RlcigmY29udCwgYnVmLmRhdGEpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3B1YmxpY2F0aW9uLm91dAppbmRleCBjOGNmMWI2ODVlLi5kYTQ5YTJlMjE1IDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dApAQCAtMTgx LDcgKzE4MSw3IEBAIEVSUk9SOiAgY2Fubm90IHVzZSBhIFdIRVJFIGNsYXVzZSB3aGVuIHJl bW92aW5nIHRhYmxlIGZyb20gcHVibGljYXRpb24gInRlc3RwdWI1CiAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQogIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8 IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAg fCBmCiBUYWJsZXM6Ci0gICAgInB1YmxpYy50ZXN0cHViX3JmX3RibDMiICBXSEVSRSAoKGUg PiAzMDApIEFORCAoZSA8IDUwMCkpCisgICAgInB1YmxpYy50ZXN0cHViX3JmX3RibDMiIFdI RVJFICgoKGUgPiAzMDApIEFORCAoZSA8IDUwMCkpKQogCiBEUk9QIFRBQkxFIHRlc3RwdWJf cmZfdGJsMTsKIERST1AgVEFCTEUgdGVzdHB1Yl9yZl90YmwyOwotLSAKMi4zMC4yCgo= --------------C96ECAB7D04AE466B39F3B56--