Class IsVector
java.lang.Object
dev.frostlake.functions.BuiltInFunction
dev.frostlake.functions.scalar.vector.IsVector
IS_VECTOR(x) — TRUE when the value is a VECTOR, FALSE for every other value VARIANT can hold.
Live-verified: TRUE for a VECTOR(FLOAT,3) and a VECTOR(INT,3), FALSE for
a plain ARRAY (IS_VECTOR([1,2,3])), an OBJECT, a TO_VARIANT/PARSE_JSON value,
a NUMBER and a BOOLEAN — and it keeps working through a derived table
(SELECT IS_VECTOR(v) FROM (SELECT [1,2,3]::VECTOR(FLOAT,3) AS v) is TRUE), which is why the
answer comes from the runtime value's own type rather than from static inference alone.
NULL in is NULL OUT, not FALSE: both IS_VECTOR(NULL) and
IS_VECTOR(NULL::VECTOR(FLOAT,3)) are SQL NULL. A VARCHAR or a temporal argument is not a
value VARIANT can hold at all and is the compile error "Invalid argument types for function
'IS_VECTOR': (VARCHAR(3))" — enforced by the expression layer's variant-coercibility rule.
-
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.Methods inherited from class dev.frostlake.functions.BuiltInFunction
approximateRejection, binaryRejection, booleanRejection, evaluate, fileRejection, geoRejection, getName, getReturnType, isVariadic, refusesMissingArgumentsByType, semiStructuredRejection, structuredRejection, temporalRejection, temporalRejection, temporalRejection, textRejection, uuidRejection, vectorRejection
-
Constructor Details
-
IsVector
public IsVector()
-
-
Method Details
-
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
-