Class Greatest
java.lang.Object
dev.frostlake.functions.BuiltInFunction
dev.frostlake.functions.scalar.conditional.Greatest
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionComputes the function's result over its already-evaluated argument values.evaluate(List<Object> args, CollationSpec collation) Under a collation the arguments are ordered by its rules, so 'a' outranks 'B' where it should.geoRejection(int position) GREATESTORDERS its arguments, and a GEOSPATIAL value has no order — where an OBJECT does.intThe most arguments a call to this function may pass;Integer.MAX_VALUEmarks a variadic function (seeBuiltInFunction.isVariadic()).intThe fewest arguments a call to this function may pass; fewer is an argument-count error.Methods inherited from class dev.frostlake.functions.BuiltInFunction
approximateRejection, binaryRejection, booleanRejection, fileRejection, getName, getReturnType, isVariadic, refusesMissingArgumentsByType, semiStructuredRejection, structuredRejection, temporalRejection, temporalRejection, temporalRejection, textRejection, uuidRejection, vectorRejection
-
Constructor Details
-
Greatest
public Greatest()
-
-
Method Details
-
geoRejection
GREATESTORDERS its arguments, and a GEOSPATIAL value has no order — where an OBJECT does. Live,GREATEST(o, o)returns the object whileGREATEST(g, g)is "Invalid argument types for function 'GREATEST': (GEOGRAPHY, GEOGRAPHY)" (SQLSTATE 42P13), andLEASTsplits the same way. This is the boundary of the NULL-choosing family rather than a property of it:IFF,COALESCE,NVL,IFNULL,NVL2,DECODEandCASEall return a geo value happily, because none of them compares one.- Overrides:
geoRejectionin classBuiltInFunction- Parameters:
position- the zero-based argument position being asked about- Returns:
- the refusal this position gives a GEOGRAPHY or GEOMETRY value; by default, the union of the two semi-structured answers
-
evaluate
Description copied from class:BuiltInFunctionComputes the function's result over its already-evaluated argument values. A SQL NULL argument arrives as Javanull, and returningnullmakes the SQL result NULL.- Specified by:
evaluatein classBuiltInFunction- Parameters:
rawArgs- the argument values, in call order- Returns:
- the function's value for these arguments, or
nullfor SQL NULL
-
evaluate
Under a collation the arguments are ordered by its rules, so 'a' outranks 'B' where it should.- Overrides:
evaluatein classBuiltInFunction- Parameters:
args- the argument values, in call ordercollation- the collation the call settled on, or null when it carries none- Returns:
- the function's value for these arguments, or
nullfor SQL NULL
-
getMinArgCount
public int getMinArgCount()Description copied from class:BuiltInFunctionThe fewest arguments a call to this function may pass; fewer is an argument-count error.- Specified by:
getMinArgCountin classBuiltInFunction- Returns:
- the minimum accepted argument count
-
getMaxArgCount
public int getMaxArgCount()Description copied from class:BuiltInFunctionThe most arguments a call to this function may pass;Integer.MAX_VALUEmarks a variadic function (seeBuiltInFunction.isVariadic()).- Specified by:
getMaxArgCountin classBuiltInFunction- Returns:
- the maximum accepted argument count
-