Re: jsonb and nested hstore

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: jsonb and nested hstore
Дата
Msg-id 20140210100522.GE26601@awork2.anarazel.de
обсуждение исходный текст
Ответ на Re: jsonb and nested hstore  (Andrew Dunstan <andrew@dunslane.net>)
Ответы Re: jsonb and nested hstore  (Hannu Krosing <hannu@2ndQuadrant.com>)
Re: jsonb and nested hstore  (Andrew Dunstan <andrew@dunslane.net>)
Список pgsql-hackers
Hi,

On 2014-02-06 18:47:31 -0500, Andrew Dunstan wrote:
>  * switching to using text representation in jsonb send/recv

> +/*
> + * jsonb type recv function
> + *
> + * the type is sent as text in binary mode, so this is almost the same
> + * as the input function.
> + */
> +Datum
> +jsonb_recv(PG_FUNCTION_ARGS)
> +{
> +    StringInfo    buf = (StringInfo) PG_GETARG_POINTER(0);
> +    text       *result = cstring_to_text_with_len(buf->data, buf->len);
> +
> +    return deserialize_json_text(result);
> +}

> +/*
> + * jsonb type send function
> + *
> + * Just send jsonb as a string of text
> + */
> +Datum
> +jsonb_send(PG_FUNCTION_ARGS)
> +{
> +    Jsonb       *jb = PG_GETARG_JSONB(0);
> +    StringInfoData buf;
> +    char       *out;
> +
> +    out = JsonbToCString(NULL, (JB_ISEMPTY(jb)) ? NULL : VARDATA(jb), VARSIZE(jb));
> +
> +    pq_begintypsend(&buf);
> +    pq_sendtext(&buf, out, strlen(out));
> +    PG_RETURN_BYTEA_P(pq_endtypsend(&buf));
> +}

I'd suggest making the format discernible from possible different future
formats, to allow introducing a proper binary at some later time. Maybe
just send a int8 first, containing the format.

Greetings,

Andres Freund

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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Hannu Krosing
Дата:
Сообщение: Re: jsonb and nested hstore
Следующее
От: Hannu Krosing
Дата:
Сообщение: Re: jsonb and nested hstore