Class: Google::Apis::BigqueryV2::Routine

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/bigquery_v2/classes.rb,
lib/google/apis/bigquery_v2/representations.rb,
lib/google/apis/bigquery_v2/representations.rb

Overview

A user-defined function or a stored procedure.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Routine

Returns a new instance of Routine.



5665
5666
5667
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5665

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#argumentsArray<Google::Apis::BigqueryV2::Argument>

Optional. Corresponds to the JSON property arguments



5578
5579
5580
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5578

def arguments
  @arguments
end

#creation_timeFixnum

Output only. The time when this routine was created, in milliseconds since the epoch. Corresponds to the JSON property creationTime

Returns:

  • (Fixnum)


5584
5585
5586
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5584

def creation_time
  @creation_time
end

#definition_bodyString

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, "\n", y)) The definition_body is concat(x, "\n", 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 'return "\n";\n' The definition_body is return "\n";\n Note that both \n are replaced with linebreaks. Corresponds to the JSON property definitionBody

Returns:

  • (String)


5598
5599
5600
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5598

def definition_body
  @definition_body
end

#descriptionString

Optional. The description of the routine, if defined. Corresponds to the JSON property description

Returns:

  • (String)


5603
5604
5605
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5603

def description
  @description
end

#determinism_levelString

Optional. The determinism level of the JavaScript UDF, if defined. Corresponds to the JSON property determinismLevel

Returns:

  • (String)


5608
5609
5610
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5608

def determinism_level
  @determinism_level
end

#etagString

Output only. A hash of this resource. Corresponds to the JSON property etag

Returns:

  • (String)


5613
5614
5615
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5613

def etag
  @etag
end

#imported_librariesArray<String>

Optional. If language = "JAVASCRIPT", this field stores the path of the imported JAVASCRIPT libraries. Corresponds to the JSON property importedLibraries

Returns:

  • (Array<String>)


5619
5620
5621
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5619

def imported_libraries
  @imported_libraries
end

#languageString

Optional. Defaults to "SQL". Corresponds to the JSON property language

Returns:

  • (String)


5624
5625
5626
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5624

def language
  @language
end

#last_modified_timeFixnum

Output only. The time when this routine was last modified, in milliseconds since the epoch. Corresponds to the JSON property lastModifiedTime

Returns:

  • (Fixnum)


5630
5631
5632
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5630

def last_modified_time
  @last_modified_time
end

#return_table_typeGoogle::Apis::BigqueryV2::StandardSqlTableType

A table type Corresponds to the JSON property returnTableType



5635
5636
5637
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5635

def return_table_type
  @return_table_type
end

#return_typeGoogle::Apis::BigqueryV2::StandardSqlDataType

The type of a variable, e.g., a function argument. Examples: INT64: type_kind= "INT64" ARRAY: type_kind="ARRAY", array_element_type="STRING" STRUCT>: type_kind="STRUCT", struct_type=fields=[ name="x", type=type_kind="STRING" , `name="y", type=`type_kind="ARRAY", array_element_type="DATE" ]` Corresponds to the JSON propertyreturnType`



5643
5644
5645
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5643

def return_type
  @return_type
end

#routine_referenceGoogle::Apis::BigqueryV2::RoutineReference

Required. Reference describing the ID of this routine. Corresponds to the JSON property routineReference



5648
5649
5650
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5648

def routine_reference
  @routine_reference
end

#routine_typeString

Required. The type of routine. Corresponds to the JSON property routineType

Returns:

  • (String)


5653
5654
5655
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5653

def routine_type
  @routine_type
end

#strict_modeBoolean Also known as: strict_mode?

Optional. Can be set for procedures only. If true (default), the definition body will be validated in the creation and the updates of the procedure. For procedures with an argument of ANY TYPE, the definition body validtion is not supported at creation/update time, and thus this field must be set to false explicitly. Corresponds to the JSON property strictMode

Returns:

  • (Boolean)


5662
5663
5664
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5662

def strict_mode
  @strict_mode
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
# File 'lib/google/apis/bigquery_v2/classes.rb', line 5670

def update!(**args)
  @arguments = args[:arguments] if args.key?(:arguments)
  @creation_time = args[:creation_time] if args.key?(:creation_time)
  @definition_body = args[:definition_body] if args.key?(:definition_body)
  @description = args[:description] if args.key?(:description)
  @determinism_level = args[:determinism_level] if args.key?(:determinism_level)
  @etag = args[:etag] if args.key?(:etag)
  @imported_libraries = args[:imported_libraries] if args.key?(:imported_libraries)
  @language = args[:language] if args.key?(:language)
  @last_modified_time = args[:last_modified_time] if args.key?(:last_modified_time)
  @return_table_type = args[:return_table_type] if args.key?(:return_table_type)
  @return_type = args[:return_type] if args.key?(:return_type)
  @routine_reference = args[:routine_reference] if args.key?(:routine_reference)
  @routine_type = args[:routine_type] if args.key?(:routine_type)
  @strict_mode = args[:strict_mode] if args.key?(:strict_mode)
end