Re: Concatenate [solved] - Mailing list pgsql-general

From Frank jansen
Subject Re: Concatenate [solved]
Date
Msg-id 4BAA1F62.2000209@fumarium.de
Whole thread Raw
In response to Re: Concatenate  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-general
Am 24.03.2010 14:41, schrieb Merlin Moncure:
> On Wed, Mar 24, 2010 at 6:22 AM, Frank jansen<jansen@fumarium.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


pgsql-general by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: Concatenate
Next
From: Tom Lane
Date:
Subject: Re: Out of Memory during Insert