Re: [BUGS] BUG #12070: hstore extension: hstore_to_json_loose produces invalid JSON

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [BUGS] BUG #12070: hstore extension: hstore_to_json_loose produces invalid JSON
Дата
Msg-id 15817.1417018789@sss.pgh.pa.us
обсуждение исходный текст
Ответы Re: [BUGS] BUG #12070: hstore extension: hstore_to_json_loose produces invalid JSON  (Andrew Dunstan <andrew@dunslane.net>)
Список pgsql-hackers
bouda@edookit.com writes:
> The hstore_to_json_loose(hstore) produces an invalid JSON in the following
> case:

> SELECT hstore_to_json_loose(hstore(ARRAY ['name'], ARRAY ['1.'] :: TEXT
> []))

> Output: {"name": 1.}

> The actual output is indeed incorrect as JSON does not permit `1.` - it must
> be a string.

Yeah.  The problem seems to be the ad-hoc (I'm being polite) code in
hstore_to_json_loose to decide whether a string should be treated as a
number.  It does much more work than it needs to, and fails to have any
tight connection to the JSON syntax rules for numbers.

Offhand, it seems like the nicest fix would be if the core json code
exposed a function that would say whether a string matches the JSON
number syntax.  Does that functionality already exist someplace,
or is it too deeply buried in the JSON parser guts?
        regards, tom lane



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

Предыдущее
От: Alex Shulgin
Дата:
Сообщение: Re: Follow up to irc on CREATE INDEX vs. maintenance_work_mem on 9.3
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: Compiling C++ extensions on MSVC using scripts in src/tools