On Mon, Feb 4, 2013 at 10:18 AM, Benedikt Grundmann <bgrundm...@janestreet.com> wrote: > > > > On Mon, Feb 4, 2013 at 4:10 PM, Andrew Dunstan <and...@dunslane.net> wrote: >> >> >> On 02/04/2013 10:47 AM, Robert Haas wrote: >>> >>> >>> The SQL standards considerations seem worth thinking about, too. >>> We've certainly gone through a lot of pain working toward eliminating >>> => as an operator name, and if the SQL standard has commandeered -> >>> for some purpose or other, I'd really rather not add to the headaches >>> involved should we ever decide to reclaim it. >> >> >> >> OK, but I'd like to know what is going to be safe. There's no way to >> future-proof the language. I'm quite prepared to replace -> with something >> else, and if I do then ->> will need to be adjusted accordingly, I think. >> >> My suggestion would be ~> and ~>>. I know David Wheeler didn't like that >> on the ground that some fonts elevate ~ rather than aligning it in the >> middle as most monospaced fonts do, but I'm tempted just to say "then use a >> different font." Other possibilities that come to mind are +> and +>>, >> although I think they're less attractive. But I'll be guided by the >> consensus, assuming there is one ;-) >> > As a user I would be much in favor of just functions and no additional > operators if the sole difference is syntactical. I think custom operators > are much harder to remember than function names (assuming reasonably well > chosen function names).
couple quick observations: *) just about all postgres extension types expose operators -- problem is not specific to json (and therefore IMO irrelevant to 9.3 release of enhancements) *) hstore exposes ->. I use it all over the place. I find operator to be terse and readable -- much more so than function definition. Ok, operator such as "@-@" is pretty silly, but "->" for get is natural. The cat is out of the bag, so removing -> for 9.3 for production seems pretty fruitless. *) Removing -> (breaking all my and countless others' hstore dependent code) should not happen until there is a very good reason. This was extensively discussed in development of hstore. Breaking compatibility sucks -- my company is just wrapping up a 12 month code overhaul so we could get off 8.1. *) it's bad enough that we drift from sql naming conventions and all type manipulation functions (except in hstore) with type name. json_get etc. at least using operators allow avoiding some of that unnecessary verbosity. what's next: text_concatenate('foo', 'bar')? merlin -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers