Class Function

java.lang.Object
dev.frostlake.metastore.SqlObject
dev.frostlake.metastore.model.Function
All Implemented Interfaces:
Taggable

public class Function extends SqlObject
  • Constructor Details

  • Method Details

    • getParameters

      public List<Parameter> getParameters()
    • getReturnColumns

      public List<Parameter> getReturnColumns()
    • getReturnType

      public DataType getReturnType()
    • getBody

      public String getBody()
    • isTableFunction

      public boolean isTableFunction()
    • getLanguage

      public String getLanguage()
      The declared language as its canonical uppercase name (e.g. "PYTHON"); "SQL" by default.
    • getUdfLanguage

      public UdfLanguage getUdfLanguage()
      The declared language as a typed UdfLanguage (for runtime dispatch); UdfLanguage.SQL by default.
    • getHandler

      public String getHandler()
    • getRuntimeVersion

      public String getRuntimeVersion()
    • getNullHandling

      public String getNullHandling()
    • setNullHandling

      public void setNullHandling(String v)
    • getVolatility

      public String getVolatility()
    • setVolatility

      public void setVolatility(String v)
    • isSecure

      public boolean isSecure()
    • setSecure

      public void setSecure(boolean secure)
    • isMemoizable

      public boolean isMemoizable()
      MEMOIZABLE, which the account reports in SHOW FUNCTIONS and INFORMATION_SCHEMA.FUNCTIONS. The result is not cached: for a deterministic body a cached and a recomputed result cannot be told apart.
    • setMemoizable

      public void setMemoizable(boolean memoizable)
    • isTemporary

      public boolean isTemporary()
      A TEMPORARY (TEMP / VOLATILE) function lives only as long as the session that created it, the same lifetime Frostlake gives a temporary table. Live also makes it invisible to other sessions and lets it shadow a permanent object of the same name; Frostlake has one namespace per catalog, so it models the lifetime and not the isolation.
    • setTemporary

      public void setTemporary(boolean temporary)
    • getImports

      public List<String> getImports()
    • setImports

      public void setImports(List<String> imports)
    • rename

      public void rename(String newName)
      Description copied from class: SqlObject
      Rename this SQL object Note: Subclasses may override to add validation or mark as unsupported
      Overrides:
      rename in class SqlObject
      Parameters:
      newName - The new name for the object
    • getObjectType

      public String getObjectType()
      Description copied from class: SqlObject
      Get the type of this SQL object (e.g., "TABLE", "VIEW", "DATABASE") Subclasses should override to provide their specific type
      Specified by:
      getObjectType in class SqlObject
      Returns:
      The object type as a string