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.96) (envelope-from ) id 1vua1o-00EQS7-0i for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Feb 2026 17:47:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vua1l-00ETFi-2o for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Feb 2026 17:47:25 +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.96) (envelope-from ) id 1vua1l-00ETFa-1A for pgsql-hackers@lists.postgresql.org; Mon, 23 Feb 2026 17:47:25 +0000 Received: from forward502b.mail.yandex.net ([178.154.239.146]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vua1f-00000000peX-4AgC for pgsql-hackers@lists.postgresql.org; Mon, 23 Feb 2026 17:47:24 +0000 Received: from mail-nwsmtp-smtp-production-main-74.sas.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-74.sas.yp-c.yandex.net [IPv6:2a02:6b8:c24:1698:0:640:befc:0]) by forward502b.mail.yandex.net (Yandex) with ESMTPS id 0BAEA813A6; Mon, 23 Feb 2026 20:47:17 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-74.sas.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id EljeECQGKW20-P2W9136p; Mon, 23 Feb 2026 20:47:16 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tantorlabs.com; s=mail; t=1771868836; bh=PbAA5L0wiKbY8E3KP0ahl2B0Ua8WhQlhKail2XaO7wA=; h=In-Reply-To:References:To:Subject:Message-ID:Date:From; b=UdrEuzo4ew27JnzJ3hAGvkPgRdlRCeLuRrZXXw9XJgFCOK3S0cYM59Qe+fXQIszOv u0meH+j7pXVSeUWVQA5Pa7zI5ViSkag0Lt7Wyvyzxpy83QloFGnlLODUxL2+eXrkiX dO07/0H4MWxlMJpQqBIlqLC72xfgMb2jyJh8J3YA= Authentication-Results: mail-nwsmtp-smtp-production-main-74.sas.yp-c.yandex.net; dkim=pass header.i=@tantorlabs.com Content-Type: multipart/alternative; boundary="------------cH7xQ2K85wPDYeMI0e3PnfHt" Message-ID: Date: Mon, 23 Feb 2026 20:47:11 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Reduce planning time for large NOT IN lists containing NULL To: David Geier , PostgreSQL Developers References: <52596e08-0902-475b-ad0f-265ec6918f19@gmail.com> <7791ec74-369d-48c7-969c-cf4ad18024f2@tantorlabs.com> <6b3aebb5-f26c-4f50-abd6-e733d452af26@gmail.com> Content-Language: en-US From: Ilia Evdokimov In-Reply-To: <6b3aebb5-f26c-4f50-abd6-e733d452af26@gmail.com> 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. --------------cH7xQ2K85wPDYeMI0e3PnfHt Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2/20/26 17:22, David Geier wrote: > It seems like we don't have a regression test which has a NULL value in > the NOT IN list. Maybe you can find a good place to add that one? There are already regression tests covering NOT IN with NULL values in expressions.sql. Do you think we need an additional simple case, or is the current coverage sufficient? -- Best regards, Ilia Evdokimov, Tantor Labs LLC, https://tantorlabs.com/ --------------cH7xQ2K85wPDYeMI0e3PnfHt Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

On 2/20/26 17:22, David Geier wrote:

It seems like we don't have a regression test which has a NULL value in
the NOT IN list. Maybe you can find a good place to add that one?

There are already regression tests covering NOT IN with NULL values in expressions.sql. Do you think we need an additional simple case, or is the current coverage sufficient?

-- 
Best regards,       
Ilia Evdokimov,
Tantor Labs LLC,
https://tantorlabs.com/

--------------cH7xQ2K85wPDYeMI0e3PnfHt--