default:
/* Check for arrays and composites */
- if (OidIsValid(get_element_type(typoid)))
+ if (OidIsValid(get_element_type(typoid)) || typoid == ANYARRAYOID
+ || typoid == RECORDARRAYOID)
*tcategory = JSONTYPE_ARRAY;
- else if (type_is_rowtype(typoid))
+ else if (type_is_rowtype(typoid)) /* includes RECORDOID */
*tcategory = JSONTYPE_COMPOSITE;
else
{
default:
/* Check for arrays and composites */
- if (OidIsValid(get_element_type(typoid)))
+ if (OidIsValid(get_element_type(typoid)) || typoid == ANYARRAYOID
+ || typoid == RECORDARRAYOID)
*tcategory = JSONBTYPE_ARRAY;
- else if (type_is_rowtype(typoid))
+ else if (type_is_rowtype(typoid)) /* includes RECORDOID */
*tcategory = JSONBTYPE_COMPOSITE;
else
{
{"f1":[5,6,7,8,9,10]}
(1 row)
+-- anyarray column
+select to_json(histogram_bounds) histogram_bounds
+from pg_stats
+where attname = 'tmplname' and tablename = 'pg_pltemplate';
+ histogram_bounds
+---------------------------------------------------------------------------------------
+ ["plperl","plperlu","plpgsql","plpython2u","plpython3u","plpythonu","pltcl","pltclu"]
+(1 row)
+
-- to_json, timestamps
select to_json(timestamp '2014-05-28 12:22:35.614298');
to_json
[{"a": 1},{"b": [2, 3]}]
(1 row)
+-- anyarray column
+select to_jsonb(histogram_bounds) histogram_bounds
+from pg_stats
+where attname = 'tmplname' and tablename = 'pg_pltemplate';
+ histogram_bounds
+----------------------------------------------------------------------------------------------
+ ["plperl", "plperlu", "plpgsql", "plpython2u", "plpython3u", "plpythonu", "pltcl", "pltclu"]
+(1 row)
+
-- to_jsonb, timestamps
select to_jsonb(timestamp '2014-05-28 12:22:35.614298');
to_jsonb
SELECT row_to_json(row((select array_agg(x) as d from generate_series(5,10) x)),false);
+-- anyarray column
+
+select to_json(histogram_bounds) histogram_bounds
+from pg_stats
+where attname = 'tmplname' and tablename = 'pg_pltemplate';
+
-- to_json, timestamps
select to_json(timestamp '2014-05-28 12:22:35.614298');
-- make sure jsonb is passed through json generators without being escaped
SELECT array_to_json(ARRAY [jsonb '{"a":1}', jsonb '{"b":[2,3]}']);
+-- anyarray column
+
+select to_jsonb(histogram_bounds) histogram_bounds
+from pg_stats
+where attname = 'tmplname' and tablename = 'pg_pltemplate';
+
-- to_jsonb, timestamps
select to_jsonb(timestamp '2014-05-28 12:22:35.614298');