Re: PHP array to PlPgSQL arrat. How to? - Mailing list pgsql-general

From Dmitriy Igrishin
Subject Re: PHP array to PlPgSQL arrat. How to?
Date
Msg-id AANLkTikCT7cXKBpDL_gudhi6b+5RYbih56k9YXuAQzqt@mail.gmail.com
Whole thread Raw
In response to Re: PHP array to PlPgSQL arrat. How to?  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: PHP array to PlPgSQL arrat. How to?  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-general


2011/3/5 Pavel Stehule <pavel.stehule@gmail.com>
2011/3/5 Dmitriy Igrishin <dmitigr@gmail.com>:
>
>
> 2011/3/5 Pavel Stehule <pavel.stehule@gmail.com>
>>
>> 2011/3/5 Andre Lopes <lopes80andre@gmail.com>:
>> > Hi Pavel,
>> >
>> > Thanks for the reply.
>> >
>> > In PlpgSQL there is possible to define arrays with "Key => Value, Key =>
>> > Value"?
>> >
>>
>> No, no directly
>>
>> there are no hash array
>>
>> there is a workaround a hstore module
>
> Why hstore is a workaround ? hstore is a proven and
> mature module.
> And since 9.0 is has a lot of improvements and
> make the life easy in some cases today and here.

It doesn't allow a nested hstore values.
How so ?

dmitigr=> select ('id=>1, dat=>"id=>100"'::hstore -> 'dat')::hstore->'id' id;
 id 
-----
 100
(1 row)
 

Regards

Pavel


>>
>> http://www.postgresql.org/docs/9.0/static/hstore.html
>>
>> attention - it doesn't allow a nested values
>>
>> Regards
>>
>> Pavel Stehule
>>
>> for more complex values is other was - using a temp tables - you can
>> fill a temp table and in next step a plpgsql code use this temp table.
>> But it should have a performance impacts.
>>
>>
>>
>> > Best Regards,
>> >
>> >
>> > On Sat, Mar 5, 2011 at 7:28 PM, Pavel Stehule <pavel.stehule@gmail.com>
>> > wrote:
>> >> Hello
>> >>
>> >> there isn't a simple way :(
>> >>
>> >> the most simply way is using string_to_array function
>> >>
>> >> SELECT func(string_to_array('1,2,3,4,5',','));
>> >>
>> >> Regards
>> >>
>> >> Pavel Stehule
>> >>
>> >>
>> >> 2011/3/5 Andre Lopes <lopes80andre@gmail.com>:
>> >>> Hi,
>> >>>
>> >>> I need to transform an PHP array to an PlPgSQL array. The PHP array is
>> >>> like this:
>> >>>
>> >>> [quote]
>> >>> $arr = array(
>> >>>                                0 => array(
>> >>>                                                        "base64" =>
>> >>> "ddfffffff",
>> >>>                                                        "image_type" =>
>> >>> "jpg",
>> >>>                                                        "width" =>
>> >>> "343",
>> >>>                                                        "height" =>
>> >>> "515",
>> >>>
>> >>>  "html_width_height" => 'width="343" height="515"',
>> >>>                                                        "mime" =>
>> >>> "image/jpeg"
>> >>>                                                        ),
>> >>>                                1 => array(
>> >>>                                                        "base64" =>
>> >>> "ddfffffffddddd",
>> >>>                                                        "image_type" =>
>> >>> "jpg",
>> >>>                                                        "width" =>
>> >>> "343",
>> >>>                                                        "height" =>
>> >>> "515",
>> >>>
>> >>>  "html_width_height" => 'width="343" height="515"',
>> >>>                                                        "mime" =>
>> >>> "image/jpeg"
>> >>>                                                        )
>> >>>                        );
>> >>> [/quote]
>> >>>
>> >>> How can I pass this kinf of PHP array to PlPgSQL?
>> >>>
>> >>> Give me a clue.
>> >>>
>> >>> Best Regards,
>> >>>
>> >>> --
>> >>> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
>> >>> To make changes to your subscription:
>> >>> http://www.postgresql.org/mailpref/pgsql-general
>> >>>
>> >>
>> >
>>
>> --
>> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-general
>
>
>
> --
> // Dmitriy.
>
>
>



--
// Dmitriy.


pgsql-general by date:

Previous
From: Raymond O'Donnell
Date:
Subject: Re: Why count(*) doest use index?
Next
From: Pavel Stehule
Date:
Subject: Re: PHP array to PlPgSQL arrat. How to?