Re: Transform for pl/perl

Поиск
Список
Период
Сортировка
Искать
От
Arthur Zakirov
Тема
Re: Transform for pl/perl
Дата
Msg-id
20180131103621.GA19345@zakirov.localdomain
Ответ на
Список
Дерево обсуждения
[HACKERS] Transform for pl/perl anthony <a.bykov@postgrespro.ru>
Re: [HACKERS] Transform for pl/perl Anthony Bykov <a.bykov@postgrespro.ru>
Re: [HACKERS] Transform for pl/perl Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] Transform for pl/perl Anthony Bykov <a.bykov@postgrespro.ru>
Re: [HACKERS] Transform for pl/perl Oleg Bartunov <obartunov@gmail.com>
Re: [HACKERS] Transform for pl/perl Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] Transform for pl/perl Aleksander Alekseev <a.alekseev@postgrespro.ru>
Re: [HACKERS] Transform for pl/perl Pavel Stehule <pavel.stehule@gmail.com>
Re: Transform for pl/perl Aleksander Alekseev <a.alekseev@postgrespro.ru>
Re: Transform for pl/perl Anthony Bykov <a.bykov@postgrespro.ru>
Re: Transform for pl/perl Aleksander Alekseev <a.alekseev@postgrespro.ru>
Re: Transform for pl/perl Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: Transform for pl/perl Anthony Bykov <a.bykov@postgrespro.ru>
Re: Transform for pl/perl Anthony Bykov <a.bykov@postgrespro.ru>
Re: Transform for pl/perl Thomas Munro <thomas.munro@enterprisedb.com>
Re: Transform for pl/perl Anthony Bykov <a.bykov@postgrespro.ru>
Re: Transform for pl/perl Arthur Zakirov <a.zakirov@postgrespro.ru>
Re: Transform for pl/perl Anthony Bykov <a.bykov@postgrespro.ru>
Re: Transform for pl/perl Pavel Stehule <pavel.stehule@gmail.com>
Re: Transform for pl/perl Anthony Bykov <a.bykov@postgrespro.ru>
Re: Transform for pl/perl Pavel Stehule <pavel.stehule@gmail.com>
Re: Transform for pl/perl Nikita Glukhov <n.gluhov@postgrespro.ru>
Re: Transform for pl/perl Pavel Stehule <pavel.stehule@gmail.com>
Re: Transform for pl/perl Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: Transform for pl/perl ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Re: Transform for pl/perl Tom Lane <tgl@sss.pgh.pa.us>
Re: Transform for pl/perl ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Re: Transform for pl/perl Tom Lane <tgl@sss.pgh.pa.us>
Re: Transform for pl/perl ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Re: Transform for pl/perl Tom Lane <tgl@sss.pgh.pa.us>
Re: Transform for pl/perl ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Re: Transform for pl/perl ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Re: Transform for pl/perl Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: Transform for pl/perl Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: Transform for pl/perl Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: Transform for pl/perl Tom Lane <tgl@sss.pgh.pa.us>
Re: Transform for pl/perl Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: Transform for pl/perl Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: Transform for pl/perl Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: Transform for pl/perl ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Re: Transform for pl/perl Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Transform for pl/perl Tom Lane <tgl@sss.pgh.pa.us>
Re: Transform for pl/perl Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: Transform for pl/perl Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Transform for pl/perl Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: Transform for pl/perl ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Re: Transform for pl/perl Tom Lane <tgl@sss.pgh.pa.us>
Re: Transform for pl/perl Tom Lane <tgl@sss.pgh.pa.us>
Re: Transform for pl/perl Tom Lane <tgl@sss.pgh.pa.us>
Re: Transform for pl/perl Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Transform for pl/perl Tom Lane <tgl@sss.pgh.pa.us>
Re: Transform for pl/perl Tom Lane <tgl@sss.pgh.pa.us>
Re: Transform for pl/perl Anthony Bykov <a.bykov@postgrespro.ru>
Re: Transform for pl/perl Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: Transform for pl/perl Anthony Bykov <a.bykov@postgrespro.ru>
Re: Transform for pl/perl Thomas Munro <thomas.munro@enterprisedb.com>
Re: [HACKERS] Transform for pl/perl Robert Haas <robertmhaas@gmail.com>
Hello,

On Fri, Jan 12, 2018 at 11:47:39AM +0300, Anthony Bykov wrote:
> Hello, thank you for your message.
> The problem was that different perl compilers uses different infinity
> representations. Some of them use "Inf" others - use "inf". So, in
> attachments there is a new version of the patch.

I've noticed a possible bug:

> +					/* json key in v */
> +					key = pstrdup(v.val.string.val);
> +					keyLength = v.val.string.len;
> +					JsonbIteratorNext(&it, &v, true);

I think it is worth to use pnstrdup() here, because v.val.string.val is
not necessarily null-terminated as the comment says:

> struct JsonbValue
> ...
> 		struct
> 		{
> 			int			len;
> 			char	   *val;	/* Not necessarily null-terminated */
> 		}			string;		/* String primitive type */

Consider an example:

=# CREATE FUNCTION testSVToJsonb3(val jsonb) RETURNS jsonb
LANGUAGE plperl
TRANSFORM FOR TYPE jsonb
AS $$
return $_->{"1"};
$$;

=# SELECT testSVToJsonb3('{"1":{"2":[3,4,5]},"2":3}');
 testsvtojsonb3 
----------------
 (null)

But my perl isn't good, so the example maybe isn't good too.

-- 
Arthur Zakirov
Postgres Professional: http://www.postgrespro.com
Russian Postgres Company

В списке pgsql-hackers по дате отправления
От: Amit Kapila
Дата:
От: Gaddam Sai Ram
Дата:
FAQ