Class RoutineInfo.Builder (2.45.0)

public abstract static class RoutineInfo.Builder

Inheritance

java.lang.Object > RoutineInfo.Builder

Constructors

Builder()

public Builder()

Methods

build()

public abstract RoutineInfo build()

Creates a RoutineInfo object.

Returns
Type Description
RoutineInfo

setArguments(List<RoutineArgument> argumentList)

public abstract RoutineInfo.Builder setArguments(List<RoutineArgument> argumentList)

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

Parameter
Name Description
argumentList List<RoutineArgument>
Returns
Type Description
RoutineInfo.Builder

setBody(String body)

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, " ", y))

The definitionBody is concat(x, " ", y) ( 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 " "; '

The definitionBody is

return " ";

Note that both are replaced with linebreaks.

Parameter
Name Description
body String
Returns
Type Description
RoutineInfo.Builder

setDataGovernanceType(String dataGovernanceType)

public abstract RoutineInfo.Builder setDataGovernanceType(String dataGovernanceType)

Sets the data governance type for the Builder (e.g. DATA_MASKING).

See https://cloud.google.com/bigquery/docs/reference/rest/v2/routines

Parameter
Name Description
dataGovernanceType String
Returns
Type Description
RoutineInfo.Builder

setDeterminismLevel(String determinismLevel)

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.

Parameter
Name Description
determinismLevel String
Returns
Type Description
RoutineInfo.Builder

setImportedLibraries(List<String> importedLibrariesList)

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.

Parameter
Name Description
importedLibrariesList List<String>
Returns
Type Description
RoutineInfo.Builder

setLanguage(String language)

public abstract RoutineInfo.Builder setLanguage(String language)

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

Parameter
Name Description
language String
Returns
Type Description
RoutineInfo.Builder

setRemoteFunctionOptions(RemoteFunctionOptions remoteFunctionOptions)

public abstract RoutineInfo.Builder setRemoteFunctionOptions(RemoteFunctionOptions remoteFunctionOptions)

Optional. Remote function specific options.

Parameter
Name Description
remoteFunctionOptions RemoteFunctionOptions
Returns
Type Description
RoutineInfo.Builder

setReturnTableType(StandardSQLTableType returnTableType)

public abstract RoutineInfo.Builder setReturnTableType(StandardSQLTableType returnTableType)

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

Parameter
Name Description
returnTableType StandardSQLTableType
Returns
Type Description
RoutineInfo.Builder

setReturnType(StandardSQLDataType returnType)

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.

Parameter
Name Description
returnType StandardSQLDataType
Returns
Type Description
RoutineInfo.Builder

setRoutineType(String routineType)

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

Parameter
Name Description
routineType String
Returns
Type Description
RoutineInfo.Builder