# 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