Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1WiPOo-0007Sd-DL for pgsql-hackers@arkaria.postgresql.org; Thu, 08 May 2014 14:34:14 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1WiPOn-00019f-Oe for pgsql-hackers@arkaria.postgresql.org; Thu, 08 May 2014 14:34:13 +0000 Received: from makus.postgresql.org ([2001:4800:7903:4::125]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1WiPOm-00019S-C6 for pgsql-hackers@postgresql.org; Thu, 08 May 2014 14:34:12 +0000 Received: from momjian.us ([72.94.173.45]) by makus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1WiPOj-0003pj-Af for pgsql-hackers@postgresql.org; Thu, 08 May 2014 14:34:11 +0000 Received: from bruce by momjian.us with local (Exim 4.72) (envelope-from ) id 1WiPOe-000161-6Q; Thu, 08 May 2014 10:34:04 -0400 Date: Thu, 8 May 2014 10:34:04 -0400 From: Bruce Momjian To: Tom Lane Cc: "David E. Wheeler" , Greg Stark , Robert Haas , Heikki Linnakangas , Andrew Dunstan , Peter Geoghegan , "pgsql-hackers@postgresql.org" Subject: Re: default opclass for jsonb (was Re: Call for GIST/GIN/SP-GIST opclass documentation) Message-ID: <20140508143404.GP30817@momjian.us> References: <20140422223230.GL10046@momjian.us> <16527.1398214220@sss.pgh.pa.us> <20140506201048.GI30817@momjian.us> <16769.1399407530@sss.pgh.pa.us> <20140506212020.GK30817@momjian.us> <57E8AA44-F816-45F2-BB61-5A854FFB0A97@justatheory.com> <28554.1399414853@sss.pgh.pa.us> <20140508134701.GO30817@momjian.us> <5819.1399558614@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5819.1399558614@sss.pgh.pa.us> User-Agent: Mutt/1.5.20 (2009-06-14) X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On Thu, May 8, 2014 at 10:16:54AM -0400, Tom Lane wrote: > > Can we hash just the values, not the keys, in jsonb_ops, and hash the > > combo in jsonb_hash_ops. That would give us key-only lookups without a > > recheck. > > No, because there's nothing in JSON limiting the length of keys, any more > than values. > > I think the idea of hashing only keys/values that are "too long" is a > reasonable compromise. I've not finished coding it (because I keep > getting distracted by other problems in the code :-() but it does not > look to be very difficult. I'm envisioning the cutoff as being something > like 128 bytes; in practice that would mean that few if any keys get > hashed, I think. Yes, that would be nice. Ideally we would not be doing this so close to beta, but it is what it is, and if we need to break binary compatibility after beta1, at least we have pg_upgrade. -- Bruce Momjian http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers