Class: Google::Apis::SpannerV1::PlanNode

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

Overview

Node information for nodes appearing in a QueryPlan.plan_nodes.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ PlanNode

Returns a new instance of PlanNode.



3241
3242
3243
# File 'lib/google/apis/spanner_v1/classes.rb', line 3241

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

Instance Attribute Details

List of child node indexes and their relationship to this parent. Corresponds to the JSON property childLinks



3200
3201
3202
# File 'lib/google/apis/spanner_v1/classes.rb', line 3200

def child_links
  @child_links
end

#display_nameString

The display name for the node. Corresponds to the JSON property displayName

Returns:

  • (String)


3205
3206
3207
# File 'lib/google/apis/spanner_v1/classes.rb', line 3205

def display_name
  @display_name
end

#execution_statsHash<String,Object>

The execution statistics associated with the node, contained in a group of key- value pairs. Only present if the plan was returned as a result of a profile query. For example, number of executions, number of rows/time per execution etc. Corresponds to the JSON property executionStats

Returns:

  • (Hash<String,Object>)


3213
3214
3215
# File 'lib/google/apis/spanner_v1/classes.rb', line 3213

def execution_stats
  @execution_stats
end

#indexFixnum

The PlanNode's index in node list. Corresponds to the JSON property index

Returns:

  • (Fixnum)


3218
3219
3220
# File 'lib/google/apis/spanner_v1/classes.rb', line 3218

def index
  @index
end

#kindString

Used to determine the type of node. May be needed for visualizing different kinds of nodes differently. For example, If the node is a SCALAR node, it will have a condensed representation which can be used to directly embed a description of the node in its parent. Corresponds to the JSON property kind

Returns:

  • (String)


3226
3227
3228
# File 'lib/google/apis/spanner_v1/classes.rb', line 3226

def kind
  @kind
end

#metadataHash<String,Object>

Attributes relevant to the node contained in a group of key-value pairs. For example, a Parameter Reference node could have the following information in its metadata: "parameter_reference": "param1", "parameter_type": "array" Corresponds to the JSON property metadata

Returns:

  • (Hash<String,Object>)


3233
3234
3235
# File 'lib/google/apis/spanner_v1/classes.rb', line 3233

def 
  @metadata
end

#short_representationGoogle::Apis::SpannerV1::ShortRepresentation

Condensed representation of a node and its subtree. Only present for SCALAR PlanNode(s). Corresponds to the JSON property shortRepresentation



3239
3240
3241
# File 'lib/google/apis/spanner_v1/classes.rb', line 3239

def short_representation
  @short_representation
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3246
3247
3248
3249
3250
3251
3252
3253
3254
# File 'lib/google/apis/spanner_v1/classes.rb', line 3246

def update!(**args)
  @child_links = args[:child_links] if args.key?(:child_links)
  @display_name = args[:display_name] if args.key?(:display_name)
  @execution_stats = args[:execution_stats] if args.key?(:execution_stats)
  @index = args[:index] if args.key?(:index)
  @kind = args[:kind] if args.key?(:kind)
  @metadata = args[:metadata] if args.key?(:metadata)
  @short_representation = args[:short_representation] if args.key?(:short_representation)
end