From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | osaimar19(at)gmail(dot)com, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: BUG #16636: Upper case issue in JSONB type |
Date: | 2020-09-25 15:38:01 |
Message-ID: | CAKFQuwYmVP+N=Xn9_Z_PUokFPy3JbZTY_TWDtKt5ieqLTFZCdA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Fri, Sep 25, 2020 at 8:13 AM PG Bug reporting form <
noreply(at)postgresql(dot)org> wrote:
> The following bug has been logged on the website:
>
> Bug reference: 16636
> Logged by: ChandraKumar Ovanan
> Email address: osaimar19(at)gmail(dot)com
> PostgreSQL version: 11.0
> Operating system: Windows 10
> Description:
>
> Hi All,
> Below example which I was execute query in postgres.
> The problem statement here, when I use upper case function by converting
> JSONB object has Null value,
> Then I getting below error.
> Please could fix it defect or why this behavior on postures,required
> clarification
>
> Error message:
> SQL Error [22P02]: ERROR: invalid input syntax for type json
> Detail: Token "NULL" is invalid.
> Where: JSON data, line 1: ...E": "2018-01-10", "NAME": "TEST3"}, {"DATE":
> NULL...
>
> CREATE TABLE logs(id serial, data JSONB);
> INSERT INTO logs VALUES
> (1,
>
> '[{"name":"test1","date":"2020-11-11"},{"name":"test2","date":"2018-01-10"}]'),
> (2,
> '[{"name":"test3","date":"2020-05-18"},{"name":"test4","date":"null"}]');
>
> SELECT * FROM logs WHERE data @> '[{"date":null}]';
> SELECT * FROM logs WHERE upper(data::text)::jsonb @>
> upper('[{"date":"2018-01-10"}]')::jsonb ; --Not working
>
>
The error and the example queries don't seem to match...
When you upper('{"date":null}'::text) you get the literal text:
{"date":NULL}, which is not valid json; a JSON null "value" must be written
in lowercase. You would find the same problem had you chosen a boolean
field and written true/false as documented on the json data type page [1],
Table 8.23, and the json standard [2]
David J.
1. https://www.postgresql.org/docs/13/datatype-json.html
2. https://www.json.org/json-en.html
From | Date | Subject | |
---|---|---|---|
Next Message | Brian Kanaga | 2020-09-25 17:54:58 | Re: BUG #16627: union all with partioned table yields random aggregate results |
Previous Message | Konstantin Knizhnik | 2020-09-25 15:16:40 | Re: Memory leak in RelationBuildRowSecurity |