Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tGjnu-000PZq-5O for pgsql-hackers@arkaria.postgresql.org; Thu, 28 Nov 2024 19:03:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tGjnq-000lMZ-5B for pgsql-hackers@arkaria.postgresql.org; Thu, 28 Nov 2024 19:03:51 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tGjnp-000lMQ-N8 for pgsql-hackers@lists.postgresql.org; Thu, 28 Nov 2024 19:03:51 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tGjnn-0002cq-0t for pgsql-hackers@lists.postgresql.org; Thu, 28 Nov 2024 19:03:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1732820623; bh=QXdd8XMypxG+dSLMOs8xyBXocRgt9ug9oJ4h8MH4iEw=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=nw8CIFWhuj5NCpbemAyjJ2TdNxMuRnSJAGytY+w9bAyHl6A19RVPlPlfOk2o1CUWG qzkjGlTYze4/EzgZTE6GNeLTXvLwcZ/UNLzQhgK3oKKqBM8QG4x93PequUBcx9WmFB lrjGCK/wUq7Q6/I3BF5QpSMyAerxCIE2TwqeOD0GozIIqPeRTKihcT6WJe40rNHJKI QCRunjU+h9SEXVbnyZ23FDGVt+f0tNUjhnIYG9zDj9/wmyyRo5lFRB2toR/028Dq9M 4VX3SgSa7DMwKVL7RAnKNdPDRMcRIhDMj9Xi+pGxU6/AanWm3uiL+h8F4jU8zL5fzn 4lOM9fxcI7vAA== Received: from [172.20.10.4] (unknown [89.113.147.44]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: a.rybakina@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 6068060825; Thu, 28 Nov 2024 22:03:42 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------xA96C3m9cdkPcwoXYAjj7W4b" Message-ID: Date: Thu, 28 Nov 2024 22:03:36 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: POC, WIP: OR-clause support for indexes To: Alexander Lakhin , Alexander Korotkov , Andrei Lepikhov Cc: jian he , Robert Haas , Nikolay Shaplov , pgsql-hackers@lists.postgresql.org, pgsql-hackers@postgresql.org, Peter Geoghegan , Marcos Pegoraro , teodor@sigaev.ru, Peter Eisentraut , Ranier Vilela References: <567ED6CA.2040504@sigaev.ru> <9ac6480d-6686-4c3a-9149-ba66df4f88ad@gmail.com> <45050ba9-3777-4cc1-89ad-a02deebe7729@gmail.com> <0026f562-d403-4f97-b9dc-3fe3a279e8c9@postgrespro.ru> <37bf870a-22e0-4aba-b845-549482118f8d@gmail.com> <8174de69-9e1a-0827-0e81-ef97f56a5939@gmail.com> Content-Language: en-US From: Alena Rybakina In-Reply-To: <8174de69-9e1a-0827-0e81-ef97f56a5939@gmail.com> X-KSMG-AntiPhishing: NotDetected X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2024/11/28 17:42:00 #26906956 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 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. --------------xA96C3m9cdkPcwoXYAjj7W4b Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi! Thank you for the case. On 28.11.2024 21:00, Alexander Lakhin wrote: > Hello Alexander, > > 21.11.2024 09:34, Alexander Korotkov wrote: >> I'm going to push this if no objections. > > Please look at the following query, which triggers an error after > ae4569161: > SET random_page_cost = 1; > CREATE TABLE tbl(u UUID); > CREATE INDEX idx ON tbl USING HASH (u); > SELECT COUNT(*) FROM tbl WHERE u = '00000000000000000000000000000000' OR >   u = '11111111111111111111111111111111'; > > ERROR:  XX000: ScalarArrayOpExpr index qual found where not allowed > LOCATION:  ExecIndexBuildScanKeys, nodeIndexscan.c:1625 > > I found out what the problem is index scan method was not generated. We need to check this during OR clauses for SAOP transformation. There is a patch to fix this problem. -- Regards, Alena Rybakina Postgres Professional --------------xA96C3m9cdkPcwoXYAjj7W4b Content-Type: text/x-patch; charset=UTF-8; name="bugfix.diff" Content-Disposition: attachment; filename="bugfix.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wYXRoL2luZHhwYXRoLmMgYi9z cmMvYmFja2VuZC9vcHRpbWl6ZXIvcGF0aC9pbmR4cGF0aC5jCmluZGV4IGQ4MjdmYzlmNGQ5 Li42MTExMGRiNjVkZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgv aW5keHBhdGguYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGF0aC9pbmR4cGF0aC5j CkBAIC0zMzAzLDYgKzMzMDMsMTAgQEAgbWF0Y2hfb3JjbGF1c2VfdG9faW5kZXhjb2woUGxh bm5lckluZm8gKnJvb3QsCiAJCWlmIChnZXRfb3BfcmV0dHlwZShvcG5vKSAhPSBCT09MT0lE KQogCQkJYnJlYWs7CiAKKwkJLyogSWdub3JlIGluZGV4IGlmIGl0IGRvZXNuJ3Qgc3VwcG9y dCBpbmRleCBzY2FucyAqLworCQlpZighaW5kZXgtPmFtc2VhcmNoYXJyYXkpCisJCQlicmVh azsKKwogCQkvKgogCQkgKiBDaGVjayBmb3IgY2xhdXNlcyBvZiB0aGUgZm9ybTogKGluZGV4 a2V5IG9wZXJhdG9yIGNvbnN0YW50KSBvcgogCQkgKiAoY29uc3RhbnQgb3BlcmF0b3IgaW5k ZXhrZXkpLiAgRGV0ZXJtaW5lIGluZGV4a2V5IHNpZGUgZmlyc3QsIGNoZWNrCmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfaW5kZXguc3FsIGIvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvY3JlYXRlX2luZGV4LnNxbAppbmRleCBkZGQwZDlhZDM5Ni4uMGU2NTI5 ZjNmM2QgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9pbmRleC5z cWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX2luZGV4LnNxbApAQCAtMzcy LDYgKzM3MiwxMSBAQCBDUkVBVEUgSU5ERVggaGFzaF90dXBsZXNvcnRfaWR4IE9OIHRlbmsx IFVTSU5HIGhhc2ggKHN0cmluZ3UxIG5hbWVfb3BzKSBXSVRIIChmaQogRVhQTEFJTiAoQ09T VFMgT0ZGKQogU0VMRUNUIGNvdW50KCopIEZST00gdGVuazEgV0hFUkUgc3RyaW5ndTEgPSAn VFZBQUFBJzsKIFNFTEVDVCBjb3VudCgqKSBGUk9NIHRlbmsxIFdIRVJFIHN0cmluZ3UxID0g J1RWQUFBQSc7CistLSBUcmFuc2Zvcm0gT1ItY2xhdXNlcyB0byBTQU9QJ3Mgc2hvdWxkbid0 IGJlIGNob3NlbgorU0VUIHJhbmRvbV9wYWdlX2Nvc3QgPSAxOworRVhQTEFJTiAoQ09TVFMg T0ZGKQorU0VMRUNUIENPVU5UKCopIEZST00gdGVuazEgV0hFUkUgc3RyaW5ndTEgPSAnVFZB QUFBJyBPUiAgc3RyaW5ndTEgPSAnVFZBQUFCJzsKK1JFU0VUIHJhbmRvbV9wYWdlX2Nvc3Q7 CiBEUk9QIElOREVYIGhhc2hfdHVwbGVzb3J0X2lkeDsKIFJFU0VUIG1haW50ZW5hbmNlX3dv cmtfbWVtOwogCg== --------------xA96C3m9cdkPcwoXYAjj7W4b--