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 1pJwr8-0003bZ-OE for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Jan 2023 13:27:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pJwr7-0001BN-7n for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Jan 2023 13:27:25 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pJwr6-0001BE-0q for pgsql-hackers@lists.postgresql.org; Mon, 23 Jan 2023 13:27:24 +0000 Received: from wnew3-smtp.messagingengine.com ([64.147.123.17]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pJwr2-00020p-4h for pgsql-hackers@lists.postgresql.org; Mon, 23 Jan 2023 13:27:22 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.west.internal (Postfix) with ESMTP id E9C512B064D6; Mon, 23 Jan 2023 08:27:16 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Mon, 23 Jan 2023 08:27:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1674480436; x=1674487636; bh=qGSSAHf5CIbah5Utom2vtW1WtGIH 983ftFmStIVqceg=; b=RYN624wrG2qtPUgXMpMZARbFJObkf0uH0+1Et4zyxycE 31GDWoiZjL2TOERkeN9pFAynGj3aA/JF+NwNMjpu4AamtM8N0VNEoQ1bY4dx01QC ClMNpgMcgIOYbmIIm7ayZTwG18hDdHkpk54BlAUvTqJaKtYUcWKALbXWezB5AZry HyJsQzZ2t76+ZMghTSe2UmXmACh6cCkpCkv3+A61QRplUrXuaOh1JCLd7u4SMyHk hjzn4oT2IUeserlUEPYwx1gAJyAn1pmfoSniYpyxJo02vbYyXwgi+GilKM8KOQa1 o6bfnGkQgWKVa/RF9OfyKBHHi8INEgpaTZyaJ5P9xw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedruddukedggeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptgfkffggfgfuvfevfhfhjgesmhdtreertdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvg hrphhrihhsvggusgdrtghomheqnecuggftrfgrthhtvghrnhepuedtkeehueehtddvgfff heelteefhfeifeduiedtffeitdeludejhfejudefffffnecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhht segvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 23 Jan 2023 08:27:15 -0500 (EST) Content-Type: multipart/mixed; boundary="------------jfgtuYrWYYYOESXvgxD0zcZh" Message-ID: Date: Mon, 23 Jan 2023 14:27:13 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: Generating code for query jumbling through gen_node_support.pl Content-Language: en-US To: Michael Paquier Cc: Postgres hackers , "Drouvot, Bertrand" References: <34491a4e-2664-6ea7-662c-b13d18d2a92d@enterprisedb.com> <50b571dc-e0c0-22be-9803-4a3480d2e792@enterprisedb.com> From: Peter Eisentraut In-Reply-To: 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. --------------jfgtuYrWYYYOESXvgxD0zcZh Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 21.01.23 04:35, Michael Paquier wrote: >> I'll read the 0003 again more carefully. I haven't studied the new 0004 >> yet. > > Thanks, again. Rebased version attached. A couple of small fixes are attached. There is something weird in _jumbleNode(). There are two switch (nodeTag(expr)) statements. Maybe that's intentional, but then it should be commented better, because now it looks more like an editing mistake. The handling of T_RangeTblEntry could be improved. In other contexts we have for example a custom_copy attribute, which generates the switch entry but not the function. Something like this could be useful here too. Otherwise, this looks ok. I haven't checked whether it maintains the exact behavior from before. What is the test coverage situation for this? For the 0004 patch, it should be documented why one would want one behavior or the other. That's totally unclear right now. I think if we are going to accept 0004, then it might be better to combine it with 0003. Otherwise, 0004 is just undoing a lot of the code structure changes in JumbleQuery() that 0003 did. --------------jfgtuYrWYYYOESXvgxD0zcZh Content-Type: text/plain; charset=UTF-8; name="0001-fixup-Support-for-automated-query-jumble-with-all-No.patch" Content-Disposition: attachment; filename*0="0001-fixup-Support-for-automated-query-jumble-with-all-No.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAwNTk3Mjc1ZWY0MzlmMDcwYjFiZDMyYmEyNWNhMzU4MWNiYzJhZjMwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAyMyBKYW4gMjAyMyAxNDoxNjozOSArMDEwMApTdWJqZWN0 OiBbUEFUQ0hdIGZpeHVwISBTdXBwb3J0IGZvciBhdXRvbWF0ZWQgcXVlcnkganVtYmxlIHdp dGggYWxsIE5vZGVzCgotLS0KIHNyYy9iYWNrZW5kL25vZGVzL3F1ZXJ5anVtYmxlZnVuY3Mu YyB8IDIgKy0KIHNyYy9pbmNsdWRlL25vZGVzL25vZGVzLmggICAgICAgICAgICB8IDQgKyst LQogc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmggICAgICAgIHwgMSAtCiAzIGZpbGVz IGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9ub2Rlcy9xdWVyeWp1bWJsZWZ1bmNzLmMgYi9zcmMvYmFja2VuZC9u b2Rlcy9xdWVyeWp1bWJsZWZ1bmNzLmMKaW5kZXggMjc4MTUwZmJhMC4uYmRiNTYzNmIxYiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbm9kZXMvcXVlcnlqdW1ibGVmdW5jcy5jCisrKyBi L3NyYy9iYWNrZW5kL25vZGVzL3F1ZXJ5anVtYmxlZnVuY3MuYwpAQCAtMjEsNyArMjEsNyBA QAogICogdHJlZShzKSBnZW5lcmF0ZWQgZnJvbSB0aGUgcXVlcnkuICBUaGUgZXhlY3V0b3Ig Y2FuIHRoZW4gdXNlIHRoaXMgdmFsdWUKICAqIHRvIGJsYW1lIHF1ZXJ5IGNvc3RzIG9uIHRo ZSBwcm9wZXIgcXVlcnlJZC4KICAqCi0gKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYt MjAyMiwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRpb25z IENvcHlyaWdodCAoYykgMTk5Ni0yMDIzLCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVu dCBHcm91cAogICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRo ZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvbm9kZXMvbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL25vZGVzLmgKaW5kZXgg NmVjZDk0NGE5MC4uZTdmOTJkZjdjYiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMv bm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9ub2Rlcy5oCkBAIC01OSwxMiArNTks MTIgQEAgdHlwZWRlZiBlbnVtIE5vZGVUYWcKICAqCiAgKiAtIG5vX2NvcHlfZXF1YWw6IFNo b3J0aGFuZCBmb3IgYm90aCBub19jb3B5IGFuZCBub19lcXVhbC4KICAqCi0gKiAtIG5vX3F1 ZXJ5X2p1bWJsZTogRG9lcyBub3Qgc3VwcG9ydCBqdW1ibGUoKSBhdCBhbGwuCisgKiAtIG5v X3F1ZXJ5X2p1bWJsZTogRG9lcyBub3Qgc3VwcG9ydCBKdW1ibGVRdWVyeSgpIGF0IGFsbC4K ICAqCiAgKiAtIG5vX3JlYWQ6IERvZXMgbm90IHN1cHBvcnQgbm9kZVJlYWQoKSBhdCBhbGwu CiAgKgogICogLSBub2RldGFnX29ubHk6IERvZXMgbm90IHN1cHBvcnQgY29weU9iamVjdCgp LCBlcXVhbCgpLCBvdXROb2RlKCksCi0gKiAgIG9yIG5vZGVSZWFkKCkuCisgKiAgIG9yIG5v ZGVSZWFkKCkuIFhYWAogICoKICAqIC0gc3BlY2lhbF9yZWFkX3dyaXRlOiBIYXMgc3BlY2lh bCB0cmVhdG1lbnQgaW4gb3V0Tm9kZSgpIGFuZCBub2RlUmVhZCgpLgogICoKZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMv cHJpbW5vZGVzLmgKaW5kZXggZjgxNTE4YzJmZC4uOWVhODE5YTZhNyAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9kZXMv cHJpbW5vZGVzLmgKQEAgLTc5OSw3ICs3OTksNiBAQCB0eXBlZGVmIE9wRXhwciBOdWxsSWZF eHByOwogICogZmlsbGVkIGluIHJpZ2h0IGF3YXksIHNvIHdpbGwgYmUgaWdub3JlZCBmb3Ig ZXF1YWxpdHkgaWYgdGhleSBhcmUgbm90IHNldAogICogeWV0LgogICoKLSAqCiAgKiBPSUQg ZW50cmllcyBvZiB0aGUgaW50ZXJuYWwgZnVuY3Rpb24gdHlwZXMgYXJlIGlycmVsZXZhbnQg Zm9yIHRoZSBxdWVyeQogICoganVtYmxpbmcsIGJ1dCB0aGUgb3BlcmF0b3IgT0lEIGFuZCB0 aGUgYXJndW1lbnRzIGFyZS4KICAqLwotLSAKMi4zOS4xCgo= --------------jfgtuYrWYYYOESXvgxD0zcZh--