Reference documentation and code samples for the google-cloud-bigquery class Google::Cloud::Bigquery::StandardSql::StructType.
The fields of a STRUCT
type. See DataType#struct_type. See Routine and Argument.
Inherits
- Object
Example
require "google/cloud/bigquery" bigquery = Google::Cloud::Bigquery.new dataset = bigquery.dataset "my_dataset" routine = dataset.create_routine "my_routine" do |r| r.routine_type = "SCALAR_FUNCTION" r.language = :SQL r.body = "(SELECT SUM(IF(elem.name = \"foo\",elem.val,null)) FROM UNNEST(arr) AS elem)" r.arguments = [ Google::Cloud::Bigquery::Argument.new( name: "arr", argument_kind: "FIXED_TYPE", data_type: Google::Cloud::Bigquery::StandardSql::DataType.new( type_kind: "ARRAY", array_element_type: Google::Cloud::Bigquery::StandardSql::DataType.new( type_kind: "STRUCT", struct_type: Google::Cloud::Bigquery::StandardSql::StructType.new( fields: [ Google::Cloud::Bigquery::StandardSql::Field.new( name: "name", type: Google::Cloud::Bigquery::StandardSql::DataType.new(type_kind: "STRING") ), Google::Cloud::Bigquery::StandardSql::Field.new( name: "val", type: Google::Cloud::Bigquery::StandardSql::DataType.new(type_kind: "INT64") ) ] ) ) ) ) ] end
Methods
#fields
def fields() -> Array<Field>
The fields of the struct.
Returns
- (Array<Field>) — A frozen array of fields.
#initialize
def initialize(fields) -> StructType
Creates a new, immutable StandardSql::StructType object.
Overloads
def initialize(fields) -> StructType
Creates a new, immutable StandardSql::StructType object.
Parameter
- fields (Array<Field>) — The fields of the struct. Required.
Returns
- (StructType) — a new instance of StructType