Class UuidString

java.lang.Object
dev.frostlake.functions.BuiltInFunction
dev.frostlake.functions.scalar.context.UuidString

public class UuidString extends BuiltInFunction
UUID_STRING() — a random version-4 UUID, and UUID_STRING(namespace, name) — the RFC 4122 version-5 name-based form, which is bit-exact with Snowflake.

The no-argument form is genuinely random, as Snowflake's is. It once packed a monotonic counter into the low 64 bits with a SplitMix64 scramble above it, for test reproducibility; that was removed because nothing depended on it — the tests assert shape and that two calls DIFFER, which random values satisfy more convincingly than a counter, and the vendor suite never calls it. The counter also restarted at zero in a fresh JVM, so it never gave the WAL-replay exactness it looked like it gave.

  • Constructor Details

    • UuidString

      public UuidString()
  • Method Details

    • evaluate

      public Object evaluate(List<Object> args)
      Description copied from class: BuiltInFunction
      Computes the function's result over its already-evaluated argument values. A SQL NULL argument arrives as Java null, and returning null makes the SQL result NULL.
      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