Class NullIfZero

java.lang.Object
dev.frostlake.functions.BuiltInFunction
dev.frostlake.functions.scalar.conditional.NullIfZero

public class NullIfZero extends BuiltInFunction
  • Constructor Details

    • NullIfZero

      public NullIfZero()
  • Method Details

    • evaluate

      public Object evaluate(List<Object> args)
      The argument, or NULL when it reads as zero. A SQL BOOLEAN is read as its number, so FALSE is the zero and TRUE is handed back (live: NULLIFZERO(FALSE) is NULL, NULLIFZERO(TRUE) is TRUE). A text is read as a number the way every numeric reader reads one — '0' is NULL, '5' comes back as itself — and a text that reads as no number is live's row-time sentence, "Numeric value 'x' is not recognized". A VARIANT holding something else (a JSON true) is not zero and comes back unchanged.
      Specified by:
      evaluate in class BuiltInFunction
      Parameters:
      args - the argument values, in call order
      Returns:
      the function's value for these arguments, or null for SQL NULL
    • getMinArgCount

      public int getMinArgCount()
      Description copied from class: BuiltInFunction
      The fewest arguments a call to this function may pass; fewer is an argument-count error.
      Specified by:
      getMinArgCount in class BuiltInFunction
      Returns:
      the minimum accepted argument count
    • getMaxArgCount

      public int getMaxArgCount()
      Description copied from class: BuiltInFunction
      The most arguments a call to this function may pass; Integer.MAX_VALUE marks a variadic function (see BuiltInFunction.isVariadic()).
      Specified by:
      getMaxArgCount in class BuiltInFunction
      Returns:
      the maximum accepted argument count