From: | Frank jansen <jansen(at)fumarium(dot)de> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Concatenate [solved] |
Date: | 2010-03-24 14:19:14 |
Message-ID: | 4BAA1F62.2000209@fumarium.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Am 24.03.2010 14:41, schrieb Merlin Moncure:
> On Wed, Mar 24, 2010 at 6:22 AM, Frank jansen<jansen(at)fumarium(dot)de> wrote:
>
>> Hi,
>>
>>
>> can you help me with this tricky concat i have?
>> I have a function with an execute statement, one line of it doing an md5
>> hash of some concatenated xml paths with values. I cannot get this one work,
>> postgres is always complaing about some things, like: "functions and
>> operators can take at most one set argument"
>>
>> EXECUTE'
>> ...
>> md5_hash=md5(unnest(xpath(''/foo/bar'',xml_content::xml))::text) ||
>> (unnest(xpath(''/foo/bar2'',xml_content::xml))::text)
>>
> your problem is coming from unnest. it takes the xml array and
> returns a set. generally speaking, functions do not operate on a
> complete set, only its rows. do you want a single digest for the
> entire xpath result on each side or one for each row?
>
> if you want a digest for the entire result, the unnest() call is not
> needed. just cast the returned array to text and digest that. if you
> want to digest each row of the unnest, you need to use table
> expressions and join them together.
>
> merlin
>
>
Thank you for your support!
But i resolved this issue by using ARRAY_TO_STRING and array_cat
Kind regards,
Frank Jansen
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2010-03-24 14:30:05 | Re: Out of Memory during Insert |
Previous Message | Merlin Moncure | 2010-03-24 13:41:03 | Re: Concatenate |