Re: BUG #13884: array_to_json() works incorrectly for non-0-based arrays

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: xtracoder(at)gmail(dot)com
Cc: "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #13884: array_to_json() works incorrectly for non-0-based arrays
Date: 2016-01-25 16:28:02
Message-ID: CAFj8pRAmrXqDYUKSsDYpBxqSQSzH5isU_O_Db9__gAPpcCkOCQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi

2016-01-24 11:47 GMT+01:00 <xtracoder(at)gmail(dot)com>:

> The following bug has been logged on the website:
>
> Bug reference: 13884
> Logged by: xtracoder
> Email address: xtracoder(at)gmail(dot)com
> PostgreSQL version: 9.5.0
> Operating system: Windows
> Description:
>
> When postgres array has no elements at the beginning, array_to_json()
> generates json array starting at the first initialized value
>
> Steps to reproduce
> - - - - - - - - - - - - - - - - - - - - - - - -
> DO $$
> DECLARE
> arr real[];
> jsarr jsonb;
> arr2 real[];
> BEGIN
> arr[3] = 1.1;
> arr[4] = 1.1;
> raise notice 'arr = %', arr;
>
> jsarr = array_to_json(arr);
> raise notice 'arr = %', jsarr;
>
> arr[0] = 1.1;
> raise notice 'arr = %', arr;
>
> jsarr = array_to_json(arr);
> raise notice 'arr = %', jsarr;
> END $$
>
> Actual result
> - - - - - - - - - - - - - - - - - - - - - - - -
> 1. NOTICE: arr = [3:4]={1.1,1.1}
> 2. NOTICE: arr = [1.1, 1.1]
> 3. NOTICE: arr = [0:4]={1.1,NULL,NULL,1.1,1.1}
> 4. NOTICE: arr = [1.1, null, null, 1.1, 1.1]
>
>
> Expected result
> - - - - - - - - - - - - - - - - - - - - - - - -
> 2. NOTICE: arr = [null, null, null, 1.1, 1.1]
>
>
It doesn't looks like bug - It hard to say, when is a start of PostgreSQL
array and how PostgreSQL arrays should be serialized to JSON. First field
in pg array is a first field in JSON array.

Pavel

>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2016-01-25 16:57:57 Re: BUG #13884: array_to_json() works incorrectly for non-0-based arrays
Previous Message Alvaro Herrera 2016-01-25 16:08:40 Re: BUG #13888: pg_dump write error