Re: killing processes
От | David Kerr |
---|---|
Тема | Re: killing processes |
Дата | |
Msg-id | 20090721154509.GB32606@mr-paradox.net обсуждение исходный текст |
Ответ на | Re: killing processes (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: killing processes
|
Список | pgsql-general |
On Mon, Jul 20, 2009 at 11:14:22PM -0400, Tom Lane wrote: - David Kerr <dmk@mr-paradox.net> writes: - > But, i don't see any coded loop or way for me to insert a signal check. (I'm not much of a - > programmer) the function was just: - - > CREATE OR REPLACE FUNCTION array_median(anyarray) - > RETURNS anyelement AS - > $$ - > SELECT CASE - > WHEN array_upper($1,1) = 0 THEN null - > WHEN mod(array_upper($1,1),2) = 1 THEN - > asorted[ceiling(array_upper(asorted,1)/2.0)] - > ELSE - > ((asorted[ceiling(array_upper(asorted,1)/2.0)] + asorted[ceiling(array_upper(asorted,1)/2.0)+1])/2.0) END - > FROM (SELECT ARRAY(SELECT ($1)[n] FROM - > generate_series(1, array_upper($1, 1)) AS n - > WHERE ($1)[n] IS NOT NULL - > ORDER BY ($1)[n] - > ) As asorted) As foo ; - > $$ - > LANGUAGE 'sql' IMMUTABLE; - - Huh. How big an array were you trying to invoke it on? - - regards, tom lane - there are 899991 records in the table it's just test=# \d test2 Table "public.test2" Column | Type | Modifiers --------+--------------+----------- t1 | numeric(9,4) | Thanks Dave
В списке pgsql-general по дате отправления: