Class RoutineImports

java.lang.Object
dev.frostlake.executor.udf.RoutineImports

public final class RoutineImports extends Object
What an IMPORTS = ('@stage/file.jar') clause has to be true of at CREATE time.

Snowflake checks BOTH legs before the routine exists, measured on a live account:

   IMPORTS=('@nosuchstage/handlers.jar')      Stage 'DB.SCHEMA.NOSUCHSTAGE' does not exist or not authorized.
   IMPORTS=('@stg/handlers.jar'), no such jar Remote file 'handlers.jar' was not found. …
 

Frostlake checked neither, so a routine could be created against a stage that was never made and only fail — if at all — when something tried to load the handler.

  • Method Details

    • validate

      public static void validate(List<String> imports, Catalog catalog)
      Refuse an import whose stage or file is missing.

      User stages (@~) and table stages (@%name) are not modelled in the catalog, and a bare path with no @ is a local file the loader resolves itself; both are left alone rather than guessed at.