On Wed, Mar 5, 2014 at 10:19 AM, Merlin Moncure <mmonc...@gmail.com> wrote: > On Wed, Mar 5, 2014 at 8:39 AM, Bruce Momjian <br...@momjian.us> wrote: >> So, I am going to ask a back-track question and ask why we can't move >> hstore into core. > > This is exactly the opposite of what should be happening. Now, jsonb > might make it into core because of the json precedent but the entire > purpose of the extension system is stop dumping everything in the > public namespace. Stuff 'in core' becomes locked in stone, forever, > because of backwards compatibility concerns, which are IMNSHO, a > bigger set of issues than even pg_upgrade related issues. Have we > gone through all the new hstore functions and made sure they don't > break existing applications? Putting things in core welds your only > escape hatch shut.
I agree. What concerns me about jsonb is that it doesn't seem very done. If we commit it to core and find out later that we've made some mistakes we'd like to fix, it's going to be difficult and controversial. If it goes on PGXN and turns out to have some problems, then the people responsible for that extension can decide whether and how to preserve backward compatibility, or somebody else can write something completely different. On a theoretical level, I'd absolutely rather have jsonb in core - not because it's in any way theoretically necessary, but because JSON is popular and better support for it will be good for PostgreSQL. But on a practical level I'd rather not ship it in 9.4 than ship something we might later regret. And despite the assertions from various people here that these decisions were all made a long time ago and it's way too late to question them, I don't buy it. There's not a single email on this mailing list clearly laying out the design that we've ended up with, and I'm willing to wager any reasonable amount of money that if someone had posted an email saying "hey, we're thinking about setting things up so that jsonb and hstore have the same binary format, but you can't index jsonb directly, you have to cast it to hstore, is everyone OK with that?" someone would have written back and said "no, that sounds nuts". The reason why input on that particular aspect of the design was not forthcoming isn't because everyone was OK with it; it's because it was never clearly spelled out. Maybe someone will say that this was discussed at last year's PGCon unconference, but surely everyone here knows that a discussion at an unconference 8 months ago doesn't substitute for a discussion on-list. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers