Module query (3.21.0)

BigQuery query processing.

Classes

ArrayQueryParameter

ArrayQueryParameter(name, array_type, values)

Named / positional query parameters for array values.

Parameters
Name Description
name Optional[str]

Parameter name, used via @foo syntax. If None, the parameter can only be addressed via position (?).

array_type Union[str, ScalarQueryParameterType, StructQueryParameterType]

The type of array elements. If given as a string, it must be one of 'STRING', 'INT64', 'FLOAT64', 'NUMERIC', 'BIGNUMERIC', 'BOOL', 'TIMESTAMP', 'DATE', or 'STRUCT'/'RECORD'. If the type is 'STRUCT'/'RECORD' and values is empty, the exact item type cannot be deduced, thus a StructQueryParameterType instance needs to be passed in.

values List[appropriate type]

The parameter array values.

ArrayQueryParameterType

ArrayQueryParameterType(array_type, *, name=None, description=None)

Type representation for array query parameters.

Parameters
Name Description
array_type Union[ScalarQueryParameterType, StructQueryParameterType]

The type of array elements.

name Optional[str]

The name of the query parameter. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

description Optional[str]

The query parameter description. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

ConnectionProperty

ConnectionProperty(key: str = "", value: str = "")

A connection-level property to customize query behavior.

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

Parameters
Name Description
key str

The key of the property to set, for example, 'time_zone' or 'session_id'.

value str

The value of the property to set.

RangeQueryParameter

RangeQueryParameter(range_element_type, start=None, end=None, name=None)

Named / positional query parameters for range values.

Parameters
Name Description
range_element_type Union[str, RangeQueryParameterType]

The type of range elements. It must be one of 'TIMESTAMP', 'DATE', or 'DATETIME'.

start Optional[Union[ScalarQueryParameter, str]]

The start of the range value. Must be the same type as range_element_type. If not provided, it's interpreted as UNBOUNDED.

end Optional[Union[ScalarQueryParameter, str]]

The end of the range value. Must be the same type as range_element_type. If not provided, it's interpreted as UNBOUNDED.

name Optional[str]

Parameter name, used via @foo syntax. If None, the parameter can only be addressed via position (?).

RangeQueryParameterType

RangeQueryParameterType(type_, *, name=None, description=None)

Type representation for range query parameters.

Parameters
Name Description
type_ Union[ScalarQueryParameterType, str]

Type of range element, must be one of 'TIMESTAMP', 'DATETIME', or 'DATE'.

name Optional[str]

The name of the query parameter. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

description Optional[str]

The query parameter description. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

ScalarQueryParameter

ScalarQueryParameter(
    name: typing.Optional[str],
    type_: typing.Optional[
        typing.Union[str, google.cloud.bigquery.query.ScalarQueryParameterType]
    ],
    value: typing.Optional[
        typing.Union[
            str, int, float, decimal.Decimal, bool, datetime.datetime, datetime.date
        ]
    ],
)

Named / positional query parameters for scalar values.

Parameters
Name Description
name typing.Optional[str]

Parameter name, used via @foo syntax. If None, the parameter can only be addressed via position (?).

type_ typing.Union[str, google.cloud.bigquery.query.ScalarQueryParameterType, NoneType]

Name of parameter type. See SqlTypeNames and SqlParameterScalarTypes for supported types.

value typing.Union[str, int, float, decimal.Decimal, bool, datetime.datetime, datetime.date, NoneType]

The scalar parameter value.

ScalarQueryParameterType

ScalarQueryParameterType(type_, *, name=None, description=None)

Type representation for scalar query parameters.

Parameters
Name Description
type_ str

One of 'STRING', 'INT64', 'FLOAT64', 'NUMERIC', 'BOOL', 'TIMESTAMP', 'DATETIME', or 'DATE'.

name Optional[str]

The name of the query parameter. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

description Optional[str]

The query parameter description. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

SqlParameterScalarTypes

SqlParameterScalarTypes()

Supported scalar SQL query parameter types as type objects.

StructQueryParameter

StructQueryParameter(name, *sub_params)

Named / positional query parameters for struct values.

Parameter
Name Description
name Optional[str]

Parameter name, used via @foo syntax. If None, the parameter can only be addressed via position (?).

StructQueryParameterType

StructQueryParameterType(*fields, name=None, description=None)

Type representation for struct query parameters.

Parameters
Name Description
fields Iterable[Union[ ArrayQueryParameterType, ScalarQueryParameterType, StructQueryParameterType ]]

An non-empty iterable describing the struct's field types.

name Optional[str]

The name of the query parameter. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

description Optional[str]

The query parameter description. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

UDFResource

UDFResource(udf_type, value)

Describe a single user-defined function (UDF) resource.

Parameters
Name Description
udf_type str

The type of the resource ('inlineCode' or 'resourceUri')

value str See: https://cloud.google.com/bigquery/user-defined-functions#api

The inline code or resource URI.