BUG #8407: json_populate_record case sensitivity

Поиск
Список
Период
Сортировка
От george.stragand@gmail.com
Тема BUG #8407: json_populate_record case sensitivity
Дата
Msg-id E1VF9Sa-0002e2-J7@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #8407: json_populate_record case sensitivity  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Re: BUG #8407: json_populate_record case sensitivity  (Andres Freund <andres@2ndquadrant.com>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      8407
Logged by:          Possible bug with json_populate_record?
Email address:      george.stragand@gmail.com
PostgreSQL version: 9.3rc1
Operating system:   Ubuntu
Description:

Using PostgreSQL 9.3beta2.


SELECT version();


PostgreSQL 9.3beta2 on x86_64-unknown-linux-gnu, compiled by gcc
(Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit


The question is regarding json keys in uppercase.  Here's a small example:


create type testPop as (
    foobar int
);


This returns as expected:


select * from json_populate_record(null::testPop, '{"foobar": 1}');


Whereas this form, upper-cased version of foobar, returns an empty record.


select * from json_populate_record(null::testPop, '{"FOOBAR": 1}');


That could be working as designed, as 'foobar' != 'FOOBAR', and is
completely acceptable.


So, drop the type and recreate it with these statements:


drop type testPop;


create type testPop as (
    FOOBAR int
);


And this form will still return an empty record:


select * from json_populate_record(null::testPop, '{"FOOBAR": 1}');


Again, this could be 100% working as designed per the contract of column
names.  That's acceptable, but then the question is how to match keys
expressed as uppercase.  The source of the json is from an external vendor,
so not something we can go back and change directly.


Thank you.

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

Предыдущее
От: Kevin Grittner
Дата:
Сообщение: Re: BUG #8394: SQL command REINDEX doesn't work
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: BUG #8407: json_populate_record case sensitivity