AggregateFunction
A user-defined aggregate function needs to implement this interface.
The class must be public and must have a public non-argument constructor.
Please note this interface only has limited support for data types.
If you need data types that don't have a corresponding SQL type
(for example GEOMETRY), then use the {@link Aggregate} interface.
Methods |
void |
add(Object value)
This method is called once for each row.
|
void |
add(Object value) throws SQLException
This method is called once for each row.
If the aggregate function is called with multiple parameters,
those are passed as array.
Parameters:
value - the value(s) for this row
|
Object |
getResult()
This method returns the computed aggregate value.
|
Object |
getResult() throws SQLException
This method returns the computed aggregate value.
Returns:
the aggregated value
|
int |
getType(int[] inputTypes)
This method must return the SQL type of the method, given the SQL type of
the input data.
|
int |
getType(int[] inputTypes) throws SQLException
This method must return the SQL type of the method, given the SQL type of
the input data. The method should check here if the number of parameters
passed is correct, and if not it should throw an exception.
Parameters:
inputTypes - the SQL type of the parameters, {@link java.sql.Types}
Returns:
the SQL type of the result
|
void |
init(Connection conn)
This method is called when the aggregate function is used.
|
void |
init(Connection conn) throws SQLException
This method is called when the aggregate function is used.
A new object is created for each invocation.
Parameters:
conn - a connection to the database
|