BigQuery API - Class Google::Cloud::Bigquery::StandardSql::Field (v1.40.0)

Reference documentation and code samples for the BigQuery API class Google::Cloud::Bigquery::StandardSql::Field.

A field or a column. 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

#initialize

def initialize(name, type) -> Field

Creates a new, immutable StandardSql::Field object.

Overloads
def initialize(name, type) -> Field
Creates a new, immutable StandardSql::Field object.
Parameters
  • name (String) — The name of the field. Optional. Can be absent for struct fields.
  • type (StandardSql::DataType, String) — The type of the field. Optional. Absent if not explicitly specified (e.g., CREATE FUNCTION statement can omit the return type; in this case the output parameter does not have this "type" field).
Returns
  • (Field) — a new instance of Field

#name

def name() -> String, nil

The name of the field. Optional. Can be absent for struct fields.

Returns
  • (String, nil)

#type

def type() -> DataType, nil

The type of the field. Optional. Absent if not explicitly specified (e.g., CREATE FUNCTION statement can omit the return type; in this case the output parameter does not have this "type" field).

Returns
  • (DataType, nil) — The type of the field.