postgresql - Syntax error in create aggregate -


trying create aggregate function:

create aggregate min (my_type) (     sfunc = least,     stype = my_type ); error:  syntax error @ or near "least" line 2:     sfunc = least,                     ^ 

what missing?

although manual calls least function:

the greatest , least functions select largest or smallest value list of number of expressions.

i can not find it:

\dfs least                        list of functions  schema | name | result data type | argument data types | type  --------+------+------------------+---------------------+------ (0 rows) 

least , greatest not real functions; internally parsed minmaxexpr (see src/include/nodes/primnodes.h).

you achieve want generic function this:

create function my_least(anyelement, anyelement) returns anyelement    language sql immutable called on null input    'select least($1, $2)'; 

(thanks erwin brandstetter called on null input , idea use least.)

then can create aggregate as

create aggregate min(my_type) (sfunc = my_least, stype = my_type); 

this work if there comparison functions my_type, otherwise have come different my_least function.


Comments

Popular posts from this blog

java - Jasper subreport showing only one entry from the JSON data source when embedded in the Title band -

mapreduce - Resource manager does not transit to active state from standby -

serialization - Convert Any type in scala to Array[Byte] and back -