Re: efficient math vector operations on arrays - Mailing list pgsql-general

From Tom Lane
Subject Re: efficient math vector operations on arrays
Date
Msg-id 17134.1451436604@sss.pgh.pa.us
Whole thread Raw
In response to Re: efficient math vector operations on arrays  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
Responses Re: efficient math vector operations on arrays  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
List pgsql-general
Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
> BTW, if you want to simply apply a function to all elements in an array
> there is an internal C function array_map that can do it. There's no SQL
> interface to it, but it shouldn't be hard to add one.

That wouldn't be useful for the example given originally, since it
iterates over just one array not two arrays in parallel.  But you could
imagine writing something similar that would iterate over two arrays and
call a two-argument function.

Whether it's worth a SQL interface is debatable though.  Whatever
efficiency you might gain from using this would probably be eaten by the
overhead of calling a SQL or PL function for each pair of array elements.
You'd probably end up in the same ballpark performance-wise as the UNNEST
solution given earlier.

            regards, tom lane


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: cannot get stable function to use index
Next
From: Hiroyuki Sato
Date:
Subject: Re: grep -f keyword data query