On Tue, Sep 22, 2015 at 11:17 PM, Alvaro Herrera <alvhe...@2ndquadrant.com> wrote:
> Shulgin, Oleksandr wrote: > > On Sep 22, 2015 8:58 PM, "Andrew Dunstan" <and...@dunslane.net> wrote: > > > > Yes, "/revenons/ à /nos moutons/." You can set up text based comparison > > > ops fairly easily for json - you just need to be aware of the > limitations. > > > See https://gist.github.com/adunstan/32ad224d7499d2603708 > > > > Yes, I've already tried this approach and have found that analyze > > performance degrades an order of magnitude due to sql-level function > > overhead and casts to text. In my tests, from 200ms to 2000ms with btree > > ops on a default sample of 30,000 rows. > > You should be able to create a C function json_cmp() that simply calls > bttextcmp() internally, and C functions for each operator using that > one, in the same way. > Yes, but I didn't try this because of the requirement to compile/install/maintain the externally loadable module. If I could just use CREATE FUNCTION on a postgres' internal function such as texteq or bttextcmp (with obj_file of NULL, for example) I would definitely do that. :-) -- Alex