Class Routine.Builder (2.13.3-SNAPSHOT)

public static class Routine.Builder extends RoutineInfo.Builder

Inheritance

java.lang.Object > RoutineInfo.Builder > Routine.Builder

Methods

build()

public Routine build()

Creates a RoutineInfo object.

Returns
TypeDescription
Routine
Overrides

setArguments(List<RoutineArgument> arguments)

public Routine.Builder setArguments(List<RoutineArgument> arguments)

Specifies the list of input/output arguments for the routine.

Parameter
NameDescription
argumentsList<RoutineArgument>
Returns
TypeDescription
Routine.Builder
Overrides

setBody(String body)

public Routine.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.

Parameter
NameDescription
bodyString
Returns
TypeDescription
Routine.Builder
Overrides

setDescription(String description)

public Routine.Builder setDescription(String description)
Parameter
NameDescription
descriptionString
Returns
TypeDescription
Routine.Builder

setDeterminismLevel(String determinismLevel)

public Routine.Builder setDeterminismLevel(String determinismLevel)

Sets the JavaScript UDF determinism levels (e.g. DETERMINISM_LEVEL_UNSPECIFIED, DETERMINISTIC, NOT_DETERMINISTIC) only applicable to Javascript UDFs.

Parameter
NameDescription
determinismLevelString
Returns
TypeDescription
Routine.Builder
Overrides

setImportedLibraries(List<String> libraries)

public Routine.Builder setImportedLibraries(List<String> libraries)

Optional. If language = "JAVASCRIPT", this field stores the path of the imported JAVASCRIPT libraries as a list of gs:// URLs.

Parameter
NameDescription
librariesList<String>
Returns
TypeDescription
Routine.Builder
Overrides

setLanguage(String language)

public Routine.Builder setLanguage(String language)

Sets the language for the routine (e.g. SQL or JAVASCRIPT)

Parameter
NameDescription
languageString
Returns
TypeDescription
Routine.Builder
Overrides

setReturnTableType(StandardSQLTableType returnTableType)

public Routine.Builder setReturnTableType(StandardSQLTableType returnTableType)

Optional. Set only if Routine is a "TABLE_VALUED_FUNCTION".

Parameter
NameDescription
returnTableTypeStandardSQLTableType
Returns
TypeDescription
Routine.Builder
Overrides

setReturnType(StandardSQLDataType returnType)

public Routine.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.

Parameter
NameDescription
returnTypeStandardSQLDataType
Returns
TypeDescription
Routine.Builder
Overrides

setRoutineType(String routineType)

public Routine.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

Parameter
NameDescription
routineTypeString
Returns
TypeDescription
Routine.Builder
Overrides