On Wednesday, February 24, 2016, Andrew Dunstan <[email protected]> wrote:
> > > On 02/24/2016 09:11 AM, David G. Johnston wrote: > >> On Wednesday, February 24, 2016, Andrew Dunstan <[email protected] >> <mailto:[email protected]>> wrote: >> >> >> Having json(b)_populate_record recursively process nested complex >> objects would be a large undertaking. One thing to consider is >> that json arrays are quite different from Postgres arrays: they >> are essentially one-dimensional heterogenous lists, not >> multi-dimensional homogeneous matrices. So while a Postgres array >> that's been converted to a json array should in principle be >> convertible back, an arbitrary json array could easily not be. >> >> >> An arbitrary json array should be one-dimensional and homogeneous - seems >> like that should be easy to import. The true concern is that not all >> PostgreSQL arrays are capable of being represented in json. >> > > > > Neither of these things are true AFAIK. > > 1. The following is a 100% legal json array, about as heterogenous as can > be: > > [ "a" , 1, true, null, [2,false], {"b": null} ] > > > 2. Having implemented the routines to convert Postgres arrays to json I'm > not aware of any which can't be converted. Please supply an example of one > that can't. > > Yeah, I confused heterogeneous and homogeneous. That said we already only promise best effort so if presented with a non-complex array it would be nice to import it as part of that effort. Even if something more complex cannot be and continues to fail. David J.
