json, jsonb, and casts

From: Andrew Dunstan <andrew(dot)dunstan(at)pgexperts(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: json, jsonb, and casts
Date: 2014-11-06 20:49:16
Message-ID: 545BDECC.7010304@pgexperts.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


In 9.3 we changed the way json generating functions worked by taking
account of cast functions to json from non-builtin types, such as hstore.

In 9.5 I am proposing to provide similar functionality for jsonb. The
patch actually takes account of cast functions to both jsonb and json
(with jsonb preferred). If there is a cast to jsonb, we use it and then
merge the result into the jsonb being accumulated. If there is just a
cast to json, we use it, and then parse that directly into the result
datum.

It was arguably a bit of an oversight not to take account of casts to
jsonb in 9.4 in datum_to_json(). So I'm thinking of rolling into this
patch changes to json.c::datum_to_json() and friends to take analogous
account of casts to jsonb (i.e. call the cast function, turn the
resulting jsonb into a cstring and append it to the result).

Thoughts?

cheers

andrew

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim Nasby 2014-11-06 20:55:37 Re: Proposal: Log inability to lock pages during vacuum
Previous Message Alvaro Herrera 2014-11-06 20:47:40 Re: Tweaking Foreign Keys for larger tables