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.



6587
6588
6589
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6587

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

Instance Attribute Details

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

Optional. Corresponds to the JSON property arguments



6487
6488
6489
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6487

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)


6493
6494
6495
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6493

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)


6507
6508
6509
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6507

def definition_body
  @definition_body
end

#descriptionString

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

Returns:

  • (String)


6512
6513
6514
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6512

def description
  @description
end

#determinism_levelString

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

Returns:

  • (String)


6517
6518
6519
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6517

def determinism_level
  @determinism_level
end

#etagString

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

Returns:

  • (String)


6522
6523
6524
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6522

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>)


6528
6529
6530
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6528

def imported_libraries
  @imported_libraries
end

#languageString

Optional. Defaults to "SQL" if remote_function_options field is absent, not set otherwise. Corresponds to the JSON property language

Returns:

  • (String)


6534
6535
6536
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6534

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)


6540
6541
6542
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6540

def last_modified_time
  @last_modified_time
end

#remote_function_optionsGoogle::Apis::BigqueryV2::RemoteFunctionOptions

Options for a remote user-defined function. Corresponds to the JSON property remoteFunctionOptions



6545
6546
6547
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6545

def remote_function_options
  @remote_function_options
end

#return_table_typeGoogle::Apis::BigqueryV2::StandardSqlTableType

A table type Corresponds to the JSON property returnTableType



6550
6551
6552
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6550

def return_table_type
  @return_table_type
end

#return_typeGoogle::Apis::BigqueryV2::StandardSqlDataType

The data type of a variable such as a function argument. Examples include: * INT64: "typeKind": "INT64" * ARRAY: "typeKind": "ARRAY", " arrayElementType":"typeKind": "STRING" * STRUCT>: "typeKind": "STRUCT", "structType": "fields": [ "name": "x", "type":"typeKind": "STRING", "name": "y", "type": "typeKind": "ARRAY", "arrayElementType": "typeKind": " DATE" ] Corresponds to the JSON property returnType



6560
6561
6562
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6560

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



6565
6566
6567
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6565

def routine_reference
  @routine_reference
end

#routine_typeString

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

Returns:

  • (String)


6570
6571
6572
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6570

def routine_type
  @routine_type
end

#spark_optionsGoogle::Apis::BigqueryV2::SparkOptions

Options for a user-defined Spark routine. Corresponds to the JSON property sparkOptions



6575
6576
6577
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6575

def spark_options
  @spark_options
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)


6584
6585
6586
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6584

def strict_mode
  @strict_mode
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6592

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)
  @remote_function_options = args[:remote_function_options] if args.key?(:remote_function_options)
  @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)
  @spark_options = args[:spark_options] if args.key?(:spark_options)
  @strict_mode = args[:strict_mode] if args.key?(:strict_mode)
end