![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() Documentation Top ![]() Global Index ![]() Reference Manual ![]() ![]() ![]() Developer's Guide ![]() ![]() Tuning Cloudscape ![]() ![]() |
Built-In FunctionsA built-in function is an expression in which an SQL-J keyword or special operator executes some operation. Cloudscape lets you execute any number of operations by invoking Java methods in the prescribed manner (see Method Invocation). Java method names are case-insensitive. Built-in functions, by contrast, do not use the method invocation syntax, but instead use keywords or special built-in operators. Built-ins are SQL92Identifiers and are thus case-insensitive.
|
Whether user-defined aggregates are allowed on Java data types depends on how you define them.
Aggregates are permitted only in the following:
If an aggregate appears as a SelectItem in a SelectExpression, all expressions in SelectItems in the SelectExpression must be either aggregates or grouped columns (see GROUP BY clause). (The same is true if there is a HAVING clause without a GROUP BY clause.) This is because the ResultSet of a SelectExpression must be either a scalar (single value) or a vector (multiple values), but not a mixture of both. (Aggregates evaluate to a scalar value, and the reference to a column can evaluate to a vector.) For example, the following query mixes scalar and vector values and thus is not valid:
Aggregates are not allowed on outer references (correlations). This means that if a subquery contains an aggregate, that aggregate cannot evaluate an expression that includes a reference to a column in the outer query block. For example, the following query is not permitted because SUM operates on a column from the outer query:
A cursor declared on a ResultSet that includes an aggregate in the outer query block is not updatable.