Class: Google::Apis::SpannerV1::ChildLink

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

Overview

Metadata associated with a parent-child relationship appearing in a PlanNode.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ ChildLink

Returns a new instance of ChildLink



2511
2512
2513
# File 'generated/google/apis/spanner_v1/classes.rb', line 2511

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

Instance Attribute Details

#child_indexFixnum

The node to which the link points. Corresponds to the JSON property childIndex

Returns:

  • (Fixnum)


2501
2502
2503
# File 'generated/google/apis/spanner_v1/classes.rb', line 2501

def child_index
  @child_index
end

#typeString

The type of the link. For example, in Hash Joins this could be used to distinguish between the build child and the probe child, or in the case of the child being an output variable, to represent the tag associated with the output variable. Corresponds to the JSON property type

Returns:

  • (String)


2509
2510
2511
# File 'generated/google/apis/spanner_v1/classes.rb', line 2509

def type
  @type
end

#variableString

Only present if the child node is SCALAR and corresponds to an output variable of the parent node. The field carries the name of the output variable. For example, a TableScan operator that reads rows from a table will have child links to the SCALAR nodes representing the output variables created for each column that is read by the operator. The corresponding variable fields will be set to the variable names assigned to the columns. Corresponds to the JSON property variable

Returns:

  • (String)


2496
2497
2498
# File 'generated/google/apis/spanner_v1/classes.rb', line 2496

def variable
  @variable
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2516
2517
2518
2519
2520
# File 'generated/google/apis/spanner_v1/classes.rb', line 2516

def update!(**args)
  @variable = args[:variable] if args.key?(:variable)
  @child_index = args[:child_index] if args.key?(:child_index)
  @type = args[:type] if args.key?(:type)
end