Re: BUG #8407: json_populate_record case sensitivity

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: BUG #8407: json_populate_record case sensitivity
Дата
Msg-id 20130829231138.GG4283@awork2.anarazel.de
обсуждение исходный текст
Ответ на BUG #8407: json_populate_record case sensitivity  (george.stragand@gmail.com)
Список pgsql-bugs
On 2013-08-29 21:08:56 +0000, george.stragand@gmail.com wrote:
> The following bug has been logged on the website:
>=20
> 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:       =20
>=20
> Using PostgreSQL 9.3beta2.
>=20
>=20
> SELECT version();
>=20
>=20
> PostgreSQL 9.3beta2 on x86_64-unknown-linux-gnu, compiled by gcc
> (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit
>=20
>=20
> The question is regarding json keys in uppercase.  Here's a small examp=
le:
>=20
>=20
> create type testPop as (
>     foobar int
> );
>=20
>=20
> This returns as expected:
>=20
>=20
> select * from json_populate_record(null::testPop, '{"foobar": 1}');
>=20
>=20
> Whereas this form, upper-cased version of foobar, returns an empty reco=
rd.
>=20
>=20
> select * from json_populate_record(null::testPop, '{"FOOBAR": 1}');
>=20
>=20
> That could be working as designed, as 'foobar' !=3D 'FOOBAR', and is
> completely acceptable.=20
>=20
>=20
> So, drop the type and recreate it with these statements:
>=20
>=20
> drop type testPop;
>=20
>=20
> create type testPop as (
>     FOOBAR int
> );

Postgresql lowercases unquoted identifiers. Make that =BB"FOOBAR" int=AB =
and
it should work.

Greetings,

Andres Freund

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

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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: BUG #8407: json_populate_record case sensitivity
Следующее
От: maxim.boguk@gmail.com
Дата:
Сообщение: BUG #8408: Not exactly correct error messages for failed check in presence of dropped columns.