Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1ezOsx-000671-Fb for pgsql-hackers@arkaria.postgresql.org; Fri, 23 Mar 2018 15:45:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1ezOsw-0002Rg-6N for pgsql-hackers@arkaria.postgresql.org; Fri, 23 Mar 2018 15:45:42 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1ezOsv-0002RV-Th for pgsql-hackers@lists.postgresql.org; Fri, 23 Mar 2018 15:45:41 +0000 Received: from new1-smtp.messagingengine.com ([66.111.4.221]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1ezOsr-0002jA-VF for pgsql-hackers@postgresql.org; Fri, 23 Mar 2018 15:45:41 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.nyi.internal (Postfix) with ESMTP id 89219EFA; Fri, 23 Mar 2018 11:45:36 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute4.internal (MEProxy); Fri, 23 Mar 2018 11:45:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=UpwUCDk7mIICUVqIm iPWlri4at3Qu+3dnOgANgRa1kU=; b=Oa6AjDgfUDpIRiHENNJeCE4y2JkQcTfwg aXtCcQb9qXwKe2Mz3iBxWJIxmMXyqYIxAWpPOk2ESatMXMZxBl6QtK1yyumi/si3 MZ4JdFUkyLDllZ8uMw0ULfLI9hY8CD6h4xYGBihItxfl3I1Vvos4YF4J9Tv//945 qt1y0lAZZFSSvsALfzurSJEHQ3JHSVj87PJ2H9OEKyrC+Fw+ZpIuyBU3zg8kO09F 4BTcuBlI5PVbsyVp+2nIR54Va4jlwzctyIdfc5yr3n6ol1UF9LkortfHHLYtqZKh yCHRlnS36HsIa5402MDkReEdgJNhHzbyMWIZ3iYefArmngCG2Jt0w== X-ME-Sender: Received: from alvin.alvh.no-ip.org (unknown [179.56.29.253]) by mail.messagingengine.com (Postfix) with ESMTPA id 1C8D324108; Fri, 23 Mar 2018 11:45:36 -0400 (EDT) Received: by alvin.alvh.no-ip.org (Postfix, from userid 1000) id 11D63659; Fri, 23 Mar 2018 12:45:34 -0300 (-03) Date: Fri, 23 Mar 2018 12:45:34 -0300 From: Alvaro Herrera To: Konstantin Knizhnik Cc: Stephen Frost , Michael Paquier , Simon Riggs , Christoph Berg , Thomas Munro , Peter Eisentraut , PostgreSQL Hackers Subject: Re: [HACKERS] Surjective functional indexes Message-ID: <20180323154534.4c3s3kdjil6hktyp@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <32bb7b6e-b138-9a7c-e74b-7af1365ec4ee@postgrespro.ru> User-Agent: NeoMutt/20170306-137-4415bd-dirty (1.8.0) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Konstantin Knizhnik wrote: > rd_projidx is not a list, it is Bitmapset. It is just one of many bitmap > sets in RelationData: Yes, but the other bitmapsets are of AttrNumber of the involved column. They new one is of list_nth() counters for items in the index list. That seems weird and it scares me -- do we use that coding pattern elsewhere? Maybe use an array of OIDs instead? -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services