Class Trunc
java.lang.Object
dev.frostlake.functions.BuiltInFunction
dev.frostlake.functions.NumericArgumentFunction
dev.frostlake.functions.scalar.math.Trunc
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionComputes the function's result over its already-evaluated argument values.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.temporalRejection(int position, int argumentCount) The temporal answer depends on the ARITY, because the temporal TRUNC is DATE_TRUNC with a unit (live-verified):TRUNC(d, 'MONTH')answers,TRUNC(d)alone is "Invalid argument types for function 'TRUNC': (DATE)" — and so areTRUNC(t),TRUNC(ts)and the TRUNCATE spelling — while a temporal in the SECOND position of a numeric call is the family refusal, "(NUMBER(2,1), DATE)".Methods inherited from class dev.frostlake.functions.NumericArgumentFunction
binaryRejection, booleanRejection, semiStructuredRejection, temporalRejection, vectorRejectionMethods inherited from class dev.frostlake.functions.BuiltInFunction
approximateRejection, evaluate, fileRejection, geoRejection, getName, getReturnType, isVariadic, refusesMissingArgumentsByType, structuredRejection, temporalRejection, textRejection, uuidRejection
-
Constructor Details
-
Trunc
public Trunc()
-
-
Method Details
-
temporalRejection
The temporal answer depends on the ARITY, because the temporal TRUNC is DATE_TRUNC with a unit (live-verified):TRUNC(d, 'MONTH')answers,TRUNC(d)alone is "Invalid argument types for function 'TRUNC': (DATE)" — and so areTRUNC(t),TRUNC(ts)and the TRUNCATE spelling — while a temporal in the SECOND position of a numeric call is the family refusal, "(NUMBER(2,1), DATE)". A temporal first argument's unit is judged by the unit rule instead, which is why the second position stays unconstrained when the first is temporal:TRUNC(d, d)is the date-part sentence, not "(DATE, DATE)".- Overrides:
temporalRejectionin classBuiltInFunction- Parameters:
position- the zero-based argument position being asked aboutargumentCount- how many arguments the call carries- Returns:
- the refusal this position gives a temporal value in a call of that arity
-
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:
args- the argument values, in call order- 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
-