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 по дате отправления: