Thread: pgsql: Use a new hstore extension version for added json functions.

pgsql: Use a new hstore extension version for added json functions.

From
Andrew Dunstan
Date:
Use a new hstore extension version for added json functions.

This should have been done when the json functionality was added to
hstore in 9.3.0. To handle this correctly, the upgrade script therefore
uses conditional logic by using plpgsql in a DO statement to add the two
new functions and the new cast. If hstore_to_json_loose is detected as
already present and dependent on the hstore extension nothing is done.
This will require that the database be loaded with plpgsql.

People who have installed the earlier and spurious 1.1 version of hstore
will need to do:

    ALTER EXTENSION hstore UPDATE;

to pick up the new functions properly.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/a18167510f4c385329697588ce5132cbf95779c3

Modified Files
--------------
contrib/hstore/hstore--1.1--1.2.sql |   47 +++
contrib/hstore/hstore--1.1.sql      |  537 -----------------------------------
contrib/hstore/hstore--1.2.sql      |  537 +++++++++++++++++++++++++++++++++++
contrib/hstore/hstore.control       |    2 +-
4 files changed, 585 insertions(+), 538 deletions(-)


Re: pgsql: Use a new hstore extension version for added json functions.

From
Andres Freund
Date:
Hi,

On 2013-09-29 21:50:13 +0000, Andrew Dunstan wrote:
> Use a new hstore extension version for added json functions.

> Details
> -------
> http://git.postgresql.org/pg/commitdiff/a18167510f4c385329697588ce5132cbf95779c3
>
> Modified Files
> --------------
> contrib/hstore/hstore--1.1--1.2.sql |   47 +++
> contrib/hstore/hstore--1.1.sql      |  537 -----------------------------------
> contrib/hstore/hstore--1.2.sql      |  537 +++++++++++++++++++++++++++++++++++
> contrib/hstore/hstore.control       |    2 +-
> 4 files changed, 585 insertions(+), 538 deletions(-)

The join to pg_depend is underspecified because it doesn't restrict
classid, just refclassid. That might lead to problems if extensions
depend on each others and such.

Greetings,

Andres Freund

--
 Andres Freund                       http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services