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

Reply via email to