blob: 04e89fa9860f0869c4170ee9b60fa31607f85825 [file] [log] [blame]
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.routines.html">routines</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#delete">delete(projectId, datasetId, routineId)</a></code></p>
<p class="firstline">Deletes the routine specified by routineId from the dataset.</p>
<p class="toc_element">
<code><a href="#get">get(projectId, datasetId, routineId, readMask=None)</a></code></p>
<p class="firstline">Gets the specified routine resource by routine ID.</p>
<p class="toc_element">
<code><a href="#insert">insert(projectId, datasetId, body=None)</a></code></p>
<p class="firstline">Creates a new routine in the dataset.</p>
<p class="toc_element">
<code><a href="#list">list(projectId, datasetId, readMask=None, filter=None, pageToken=None, maxResults=None)</a></code></p>
<p class="firstline">Lists all routines in the specified dataset. Requires the READER dataset</p>
<p class="toc_element">
<code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
<code><a href="#update">update(projectId, datasetId, routineId, body=None)</a></code></p>
<p class="firstline">Updates information in an existing routine. The update method replaces the</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="delete">delete(projectId, datasetId, routineId)</code>
<pre>Deletes the routine specified by routineId from the dataset.
Args:
projectId: string, Required. Project ID of the routine to delete (required)
datasetId: string, Required. Dataset ID of the routine to delete (required)
routineId: string, Required. Routine ID of the routine to delete (required)
</pre>
</div>
<div class="method">
<code class="details" id="get">get(projectId, datasetId, routineId, readMask=None)</code>
<pre>Gets the specified routine resource by routine ID.
Args:
projectId: string, Required. Project ID of the requested routine (required)
datasetId: string, Required. Dataset ID of the requested routine (required)
routineId: string, Required. Routine ID of the requested routine (required)
readMask: string, If set, only the Routine fields in the field mask are returned in the
response. If unset, all Routine fields are returned.
Returns:
An object of the form:
{ # A user-defined function or a stored procedure.
&quot;definitionBody&quot;: &quot;A String&quot;, # 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, &quot;\n&quot;, y))`
#
# The definition_body is `concat(x, &quot;\n&quot;, 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 &#x27;return &quot;\n&quot;;\n&#x27;`
#
# The definition_body is
#
# `return &quot;\n&quot;;\n`
#
# Note that both \n are replaced with linebreaks.
&quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
&quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
&quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
&quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
},
&quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
&quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
&quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
&quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
&quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
&quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
# the epoch.
&quot;arguments&quot;: [ # Optional.
{ # Input/output argument of a function or a stored procedure.
&quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
&quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
&quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
# Can be set for procedures only.
},
],
&quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
# imported JAVASCRIPT libraries.
&quot;A String&quot;,
],
&quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
#
# If absent, the return type is inferred from definition_body 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.
#
# For example, for the functions created with the following statements:
#
# * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
#
# * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
#
# * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
#
# The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
# is absent for `Increment` (inferred as FLOAT64 at query time).
#
# Suppose the function `Add` is replaced by
# `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
#
# Then the inferred return type of `Increment` is automatically changed to
# INT64 at query time, while the return type of `Decrement` remains FLOAT64.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
# since the epoch.
}</pre>
</div>
<div class="method">
<code class="details" id="insert">insert(projectId, datasetId, body=None)</code>
<pre>Creates a new routine in the dataset.
Args:
projectId: string, Required. Project ID of the new routine (required)
datasetId: string, Required. Dataset ID of the new routine (required)
body: object, The request body.
The object takes the form of:
{ # A user-defined function or a stored procedure.
&quot;definitionBody&quot;: &quot;A String&quot;, # 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, &quot;\n&quot;, y))`
#
# The definition_body is `concat(x, &quot;\n&quot;, 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 &#x27;return &quot;\n&quot;;\n&#x27;`
#
# The definition_body is
#
# `return &quot;\n&quot;;\n`
#
# Note that both \n are replaced with linebreaks.
&quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
&quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
&quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
&quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
},
&quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
&quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
&quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
&quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
&quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
&quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
# the epoch.
&quot;arguments&quot;: [ # Optional.
{ # Input/output argument of a function or a stored procedure.
&quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
&quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
&quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
# Can be set for procedures only.
},
],
&quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
# imported JAVASCRIPT libraries.
&quot;A String&quot;,
],
&quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
#
# If absent, the return type is inferred from definition_body 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.
#
# For example, for the functions created with the following statements:
#
# * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
#
# * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
#
# * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
#
# The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
# is absent for `Increment` (inferred as FLOAT64 at query time).
#
# Suppose the function `Add` is replaced by
# `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
#
# Then the inferred return type of `Increment` is automatically changed to
# INT64 at query time, while the return type of `Decrement` remains FLOAT64.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
# since the epoch.
}
Returns:
An object of the form:
{ # A user-defined function or a stored procedure.
&quot;definitionBody&quot;: &quot;A String&quot;, # 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, &quot;\n&quot;, y))`
#
# The definition_body is `concat(x, &quot;\n&quot;, 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 &#x27;return &quot;\n&quot;;\n&#x27;`
#
# The definition_body is
#
# `return &quot;\n&quot;;\n`
#
# Note that both \n are replaced with linebreaks.
&quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
&quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
&quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
&quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
},
&quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
&quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
&quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
&quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
&quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
&quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
# the epoch.
&quot;arguments&quot;: [ # Optional.
{ # Input/output argument of a function or a stored procedure.
&quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
&quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
&quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
# Can be set for procedures only.
},
],
&quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
# imported JAVASCRIPT libraries.
&quot;A String&quot;,
],
&quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
#
# If absent, the return type is inferred from definition_body 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.
#
# For example, for the functions created with the following statements:
#
# * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
#
# * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
#
# * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
#
# The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
# is absent for `Increment` (inferred as FLOAT64 at query time).
#
# Suppose the function `Add` is replaced by
# `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
#
# Then the inferred return type of `Increment` is automatically changed to
# INT64 at query time, while the return type of `Decrement` remains FLOAT64.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
# since the epoch.
}</pre>
</div>
<div class="method">
<code class="details" id="list">list(projectId, datasetId, readMask=None, filter=None, pageToken=None, maxResults=None)</code>
<pre>Lists all routines in the specified dataset. Requires the READER dataset
role.
Args:
projectId: string, Required. Project ID of the routines to list (required)
datasetId: string, Required. Dataset ID of the routines to list (required)
readMask: string, If set, then only the Routine fields in the field mask, as well as
project_id, dataset_id and routine_id, are returned in the response.
If unset, then the following Routine fields are returned:
etag, project_id, dataset_id, routine_id, routine_type, creation_time,
last_modified_time, and language.
filter: string, If set, then only the Routines matching this filter are returned.
The current supported form is either &quot;routine_type:&lt;RoutineType&gt;&quot; or
&quot;routineType:&lt;RoutineType&gt;&quot;, where &lt;RoutineType&gt; is a RoutineType enum.
Example: &quot;routineType:SCALAR_FUNCTION&quot;.
pageToken: string, Page token, returned by a previous call, to request the next page of
results
maxResults: integer, The maximum number of results to return in a single response page.
Leverage the page tokens to iterate through the entire collection.
Returns:
An object of the form:
{
&quot;routines&quot;: [ # Routines in the requested dataset. Unless read_mask is set in the request,
# only the following fields are populated:
# etag, project_id, dataset_id, routine_id, routine_type, creation_time,
# last_modified_time, and language.
{ # A user-defined function or a stored procedure.
&quot;definitionBody&quot;: &quot;A String&quot;, # 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, &quot;\n&quot;, y))`
#
# The definition_body is `concat(x, &quot;\n&quot;, 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 &#x27;return &quot;\n&quot;;\n&#x27;`
#
# The definition_body is
#
# `return &quot;\n&quot;;\n`
#
# Note that both \n are replaced with linebreaks.
&quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
&quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
&quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
&quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
},
&quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
&quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
&quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
&quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
&quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
&quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
# the epoch.
&quot;arguments&quot;: [ # Optional.
{ # Input/output argument of a function or a stored procedure.
&quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
&quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
&quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
# Can be set for procedures only.
},
],
&quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
# imported JAVASCRIPT libraries.
&quot;A String&quot;,
],
&quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
#
# If absent, the return type is inferred from definition_body 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.
#
# For example, for the functions created with the following statements:
#
# * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
#
# * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
#
# * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
#
# The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
# is absent for `Increment` (inferred as FLOAT64 at query time).
#
# Suppose the function `Add` is replaced by
# `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
#
# Then the inferred return type of `Increment` is automatically changed to
# INT64 at query time, while the return type of `Decrement` remains FLOAT64.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
# since the epoch.
},
],
&quot;nextPageToken&quot;: &quot;A String&quot;, # A token to request the next page of results.
}</pre>
</div>
<div class="method">
<code class="details" id="list_next">list_next(previous_request, previous_response)</code>
<pre>Retrieves the next page of results.
Args:
previous_request: The request for the previous page. (required)
previous_response: The response from the request for the previous page. (required)
Returns:
A request object that you can call &#x27;execute()&#x27; on to request the next
page. Returns None if there are no more items in the collection.
</pre>
</div>
<div class="method">
<code class="details" id="update">update(projectId, datasetId, routineId, body=None)</code>
<pre>Updates information in an existing routine. The update method replaces the
entire Routine resource.
Args:
projectId: string, Required. Project ID of the routine to update (required)
datasetId: string, Required. Dataset ID of the routine to update (required)
routineId: string, Required. Routine ID of the routine to update (required)
body: object, The request body.
The object takes the form of:
{ # A user-defined function or a stored procedure.
&quot;definitionBody&quot;: &quot;A String&quot;, # 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, &quot;\n&quot;, y))`
#
# The definition_body is `concat(x, &quot;\n&quot;, 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 &#x27;return &quot;\n&quot;;\n&#x27;`
#
# The definition_body is
#
# `return &quot;\n&quot;;\n`
#
# Note that both \n are replaced with linebreaks.
&quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
&quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
&quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
&quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
},
&quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
&quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
&quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
&quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
&quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
&quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
# the epoch.
&quot;arguments&quot;: [ # Optional.
{ # Input/output argument of a function or a stored procedure.
&quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
&quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
&quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
# Can be set for procedures only.
},
],
&quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
# imported JAVASCRIPT libraries.
&quot;A String&quot;,
],
&quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
#
# If absent, the return type is inferred from definition_body 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.
#
# For example, for the functions created with the following statements:
#
# * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
#
# * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
#
# * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
#
# The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
# is absent for `Increment` (inferred as FLOAT64 at query time).
#
# Suppose the function `Add` is replaced by
# `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
#
# Then the inferred return type of `Increment` is automatically changed to
# INT64 at query time, while the return type of `Decrement` remains FLOAT64.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
# since the epoch.
}
Returns:
An object of the form:
{ # A user-defined function or a stored procedure.
&quot;definitionBody&quot;: &quot;A String&quot;, # 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, &quot;\n&quot;, y))`
#
# The definition_body is `concat(x, &quot;\n&quot;, 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 &#x27;return &quot;\n&quot;;\n&#x27;`
#
# The definition_body is
#
# `return &quot;\n&quot;;\n`
#
# Note that both \n are replaced with linebreaks.
&quot;routineReference&quot;: { # Required. Reference describing the ID of this routine.
&quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this routine.
&quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this routine.
&quot;routineId&quot;: &quot;A String&quot;, # [Required] The ID of the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
},
&quot;determinismLevel&quot;: &quot;A String&quot;, # Optional. [Experimental] The determinism level of the JavaScript UDF if defined.
&quot;language&quot;: &quot;A String&quot;, # Optional. Defaults to &quot;SQL&quot;.
&quot;description&quot;: &quot;A String&quot;, # Optional. [Experimental] The description of the routine if defined.
&quot;etag&quot;: &quot;A String&quot;, # Output only. A hash of this resource.
&quot;routineType&quot;: &quot;A String&quot;, # Required. The type of routine.
&quot;creationTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was created, in milliseconds since
# the epoch.
&quot;arguments&quot;: [ # Optional.
{ # Input/output argument of a function or a stored procedure.
&quot;dataType&quot;: { # The type of a variable, e.g., a function argument. # Required unless argument_kind = ANY_TYPE.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;name&quot;: &quot;A String&quot;, # Optional. The name of this argument. Can be absent for function return argument.
&quot;argumentKind&quot;: &quot;A String&quot;, # Optional. Defaults to FIXED_TYPE.
&quot;mode&quot;: &quot;A String&quot;, # Optional. Specifies whether the argument is input or output.
# Can be set for procedures only.
},
],
&quot;importedLibraries&quot;: [ # Optional. If language = &quot;JAVASCRIPT&quot;, this field stores the path of the
# imported JAVASCRIPT libraries.
&quot;A String&quot;,
],
&quot;returnType&quot;: { # The type of a variable, e.g., a function argument. # Optional if language = &quot;SQL&quot;; required otherwise.
#
# If absent, the return type is inferred from definition_body 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.
#
# For example, for the functions created with the following statements:
#
# * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`
#
# * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
#
# * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`
#
# The return_type is `{type_kind: &quot;FLOAT64&quot;}` for `Add` and `Decrement`, and
# is absent for `Increment` (inferred as FLOAT64 at query time).
#
# Suppose the function `Add` is replaced by
# `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`
#
# Then the inferred return type of `Increment` is automatically changed to
# INT64 at query time, while the return type of `Decrement` remains FLOAT64.
# Examples:
# INT64: {type_kind=&quot;INT64&quot;}
# ARRAY&lt;STRING&gt;: {type_kind=&quot;ARRAY&quot;, array_element_type=&quot;STRING&quot;}
# STRUCT&lt;x STRING, y ARRAY&lt;DATE&gt;&gt;:
# {type_kind=&quot;STRUCT&quot;,
# struct_type={fields=[
# {name=&quot;x&quot;, type={type_kind=&quot;STRING&quot;}},
# {name=&quot;y&quot;, type={type_kind=&quot;ARRAY&quot;, array_element_type=&quot;DATE&quot;}}
# ]}}
&quot;typeKind&quot;: &quot;A String&quot;, # Required. The top level type of this field.
# Can be any standard SQL data type (e.g., &quot;INT64&quot;, &quot;DATE&quot;, &quot;ARRAY&quot;).
&quot;structType&quot;: { # The fields of this struct, in order, if type_kind = &quot;STRUCT&quot;.
&quot;fields&quot;: [
# Object with schema name: StandardSqlField
],
},
&quot;arrayElementType&quot;: # Object with schema name: StandardSqlDataType # The type of the array&#x27;s elements, if type_kind = &quot;ARRAY&quot;.
},
&quot;lastModifiedTime&quot;: &quot;A String&quot;, # Output only. The time when this routine was last modified, in milliseconds
# since the epoch.
}</pre>
</div>
</body></html>