Class RoutineInfo.Builder
- java.lang.Object
-
- com.google.cloud.bigquery.RoutineInfo.Builder
-
- Direct Known Subclasses:
Routine.Builder
- Enclosing class:
- RoutineInfo
public abstract static class RoutineInfo.Builder extends Object
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract RoutineInfo
build()
Creates aRoutineInfo
object.abstract RoutineInfo.Builder
setArguments(List<RoutineArgument> argumentList)
Specifies the list of input/output arguments for the routine.abstract RoutineInfo.Builder
setBody(String body)
Required.abstract RoutineInfo.Builder
setDeterminismLevel(String determinismLevel)
Sets the JavaScript UDF determinism levels (e.g.abstract RoutineInfo.Builder
setImportedLibraries(List<String> importedLibrariesList)
Optional.abstract RoutineInfo.Builder
setLanguage(String language)
Sets the language for the routine (e.g.abstract RoutineInfo.Builder
setRemoteFunctionOptions(RemoteFunctionOptions remoteFunctionOptions)
Optional.abstract RoutineInfo.Builder
setReturnTableType(StandardSQLTableType returnTableType)
Optional.abstract RoutineInfo.Builder
setReturnType(StandardSQLDataType returnType)
Sets the return type of the routine.abstract RoutineInfo.Builder
setRoutineType(String routineType)
Sets the routine type for the Builder (e.g.
-
-
-
Method Detail
-
setRoutineType
public abstract RoutineInfo.Builder setRoutineType(String routineType)
Sets the routine type for the Builder (e.g. SCALAR_FUNCTION).See https://cloud.google.com/bigquery/docs/reference/rest/v2/routines
-
setDeterminismLevel
public abstract RoutineInfo.Builder setDeterminismLevel(String determinismLevel)
Sets the JavaScript UDF determinism levels (e.g. DETERMINISM_LEVEL_UNSPECIFIED, DETERMINISTIC, NOT_DETERMINISTIC) only applicable to Javascript UDFs.
-
setLanguage
public abstract RoutineInfo.Builder setLanguage(String language)
Sets the language for the routine (e.g. SQL or JAVASCRIPT)
-
setArguments
public abstract RoutineInfo.Builder setArguments(List<RoutineArgument> argumentList)
Specifies the list of input/output arguments for the routine.
-
setReturnType
public abstract RoutineInfo.Builder setReturnType(StandardSQLDataType returnType)
Sets the return type of the routine.Optional if language = "SQL"; required otherwise.
If absent, the return type is inferred from definitionBody at query time in each query that references this routine. If present, then the evaluated result will be cast to the specified returned type at query time.
-
setReturnTableType
public abstract RoutineInfo.Builder setReturnTableType(StandardSQLTableType returnTableType)
Optional. Set only if Routine is a "TABLE_VALUED_FUNCTION".
-
setImportedLibraries
public abstract RoutineInfo.Builder setImportedLibraries(List<String> importedLibrariesList)
Optional. If language = "JAVASCRIPT", this field stores the path of the imported JAVASCRIPT libraries as a list of gs:// URLs.
-
setBody
public abstract RoutineInfo.Builder setBody(String body)
Required. The body of the routine.For functions, this is the expression in the AS clause.
If language=SQL, it is the substring inside (but excluding) the parentheses. For example, for the function created with the following statement:
CREATE FUNCTION JoinLines(x string, y string) as (concat(x, "\n", y))
The definitionBody is concat(x, "\n", y) (\n is not replaced with linebreak).
If language=JAVASCRIPT, it is the evaluated string in the AS clause. For example, for the function created with the following statement:
CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS 'return "\n";\n'
The definitionBody is
return "\n";\n
Note that both \n are replaced with linebreaks.
-
setRemoteFunctionOptions
public abstract RoutineInfo.Builder setRemoteFunctionOptions(RemoteFunctionOptions remoteFunctionOptions)
Optional. Remote function specific options.- Parameters:
remoteFunctionOptions
-- Returns:
-
build
public abstract RoutineInfo build()
Creates aRoutineInfo
object.
-
-