Current section

Files

Jump to
google_api_spanner lib google_api spanner v1 model plan_node.ex
Raw

lib/google_api/spanner/v1/model/plan_node.ex

# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NOTE: This class is auto generated by the swagger code generator program.
# https://github.com/swagger-api/swagger-codegen.git
# Do not edit the class manually.
defmodule GoogleApi.Spanner.V1.Model.PlanNode do
@moduledoc """
Node information for nodes appearing in a QueryPlan.plan_nodes.
## Attributes
- childLinks (List[ChildLink]): List of child node `index`es and their relationship to this parent. Defaults to: `null`.
- displayName (String): The display name for the node. Defaults to: `null`.
- executionStats (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. Defaults to: `null`.
- index (Integer): The `PlanNode`'s index in node list. Defaults to: `null`.
- kind (String): 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. Defaults to: `null`.
- Enum - one of [KIND_UNSPECIFIED, RELATIONAL, SCALAR]
- metadata (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\" } Defaults to: `null`.
- shortRepresentation (ShortRepresentation): Condensed representation for SCALAR nodes. Defaults to: `null`.
"""
defstruct [
:"childLinks",
:"displayName",
:"executionStats",
:"index",
:"kind",
:"metadata",
:"shortRepresentation"
]
end
defimpl Poison.Decoder, for: GoogleApi.Spanner.V1.Model.PlanNode do
import GoogleApi.Spanner.V1.Deserializer
def decode(value, options) do
value
|> deserialize(:"childLinks", :list, GoogleApi.Spanner.V1.Model.ChildLink, options)
|> deserialize(:"executionStats", :struct, GoogleApi.Spanner.V1.Model.Object, options)
|> deserialize(:"metadata", :struct, GoogleApi.Spanner.V1.Model.Object, options)
|> deserialize(:"shortRepresentation", :struct, GoogleApi.Spanner.V1.Model.ShortRepresentation, options)
end
end
defimpl Poison.Encoder, for: GoogleApi.Spanner.V1.Model.PlanNode do
def encode(value, options) do
GoogleApi.Spanner.V1.Deserializer.serialize_non_nil(value, options)
end
end