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 1wD5jh-002bGS-36 for pgsql-hackers@arkaria.postgresql.org; Wed, 15 Apr 2026 19:17:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wD5jh-001ebM-0p for pgsql-hackers@arkaria.postgresql.org; Wed, 15 Apr 2026 19:17:17 +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 1wD5jg-001ebC-38 for pgsql-hackers@lists.postgresql.org; Wed, 15 Apr 2026 19:17:16 +0000 Received: from fout-b3-smtp.messagingengine.com ([202.12.124.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 1wD5je-00000001CCM-3q67 for pgsql-hackers@lists.postgresql.org; Wed, 15 Apr 2026 19:17:16 +0000 Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41]) by mailfout.stl.internal (Postfix) with ESMTP id 642871D001ED; Wed, 15 Apr 2026 15:17:14 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-01.internal (MEProxy); Wed, 15 Apr 2026 15:17:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm1; t=1776280634; x=1776367034; bh=IuR43Wg5amNiJggmS+ATVcxh6002n4Hu pViAgbb10SE=; b=N/Z35KOARSnMEmpiC+miDbMO5kSeZHeBnlOP5eX6uyj3DOuH e/PRtD3xOMmUG7XiP0HWkRKHAtFpodZyRAyqjeQEI69nYbzmiBbsy/8HluNwZL8Z q5VwxzVb7tH40+GB4ZEWGs9h7fRa9OzjzmF54s8IXFR4tALuPgWp3o4lwpwTe7cL eU69nN5X5Losn0nTzQOYhRCKkiQg374TW3AOvCHrbszqQPtg3I8Gn8nTIHGU28jb uglw7mcYWod+u3LWTl0mdZxrNRdCsJLqVmOq+iRE975Lz02warURMmPvWS1FCjHi ytMQg1Q7p2LnU3Ct5i8RuPc+bfXbA3jiW3zhDw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1776280634; x= 1776367034; bh=IuR43Wg5amNiJggmS+ATVcxh6002n4HupViAgbb10SE=; b=a g3MZdyecmf1tGpDDUtb/NGq6TrlnemNP1LfPoD8Q5nP5vrae7G3nWL0EcmWOu8lT PxvbshbP1oV1bc5QFHbw2uBG8/FcLqYtPjyFseIiExYdXihWTsoabxbEWx1hk6mk kR4SvnddXJ9EDbk+2W+RASc+UMlm1ovpvzumxqYaALhDJ7ufLEEMQZsj0Jlnm+jx 2A8f/Vv+XFdrjCWQ72cb1xPyqsHXTB1bHnZWwt9YomprbO6ERW6Te41+KEtlS2cE HMI//jJ3Q5uJJzmt4ihK+8v6z0c68yfDN7lsGYwPBI5KXYwbOAjqOpew4z9ip3Jb 0DoihkuqN3SIP2bU0ZR6Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdeggeelvdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecunecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertd dtvdejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrsegv ihhsvghnthhrrghuthdrohhrgheqnecuggftrfgrthhtvghrnhepgfejtdfhkeeftdeugf eileehteeljeeghfeuledthfeutedvffdukeefjefhgeehnecuvehluhhsthgvrhfuihii vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhesvghishgvnhhtrhgruh htrdhorhhgpdhnsggprhgtphhtthhopeegpdhmohguvgepshhmthhpohhuthdprhgtphht thhopegughhrohiflhgvhihmlhesghhmrghilhdrtghomhdprhgtphhtthhopehtghhlse hsshhsrdhpghhhrdhprgdruhhspdhrtghpthhtoheplhhirdgvvhgrnhdrtghhrghosehg mhgrihhlrdgtohhmpdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghrsheslhhishhtsh drphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 15 Apr 2026 15:17:13 -0400 (EDT) Message-ID: Date: Wed, 15 Apr 2026 21:17:12 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Add bms_offset_members() function for bitshifting Bitmapsets To: David Rowley , Tom Lane Cc: Chao Li , PostgreSQL Developers References: <278B9FE3-F349-4494-99C5-483105C1C999@gmail.com> <1900289.1776212948@sss.pgh.pa.us> <1913188.1776220247@sss.pgh.pa.us> Content-Language: en-US From: Peter Eisentraut In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 15.04.26 04:33, David Rowley wrote: > On Wed, 15 Apr 2026 at 14:30, Tom Lane wrote: >> >> David Rowley writes: >>> I'd not considered surprise-prone as an aspect. I understand we have >>> bms_join and bms_union, which do the same thing if you only care about >>> the value of the result and not what happens to the inputs. >> >> Sure, but bms_join is an optional optimization of the far safer >> bms_union operation. It bothers me to create the optimized case >> but not the base case. > > Hmm, yeah. That seems like a good argument for making a new set. I'll > go make it so. Depending on what you end up doing, maybe a sprinkling of pg_nodiscard could be appropriate.