# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/spanner/v1/query_plan.proto

require 'google/protobuf'

require 'google/api/annotations_pb'
require 'google/protobuf/struct_pb'
Google::Protobuf::DescriptorPool.generated_pool.build do
  add_message "google.spanner.v1.PlanNode" do
    optional :index, :int32, 1
    optional :kind, :enum, 2, "google.spanner.v1.PlanNode.Kind"
    optional :display_name, :string, 3
    repeated :child_links, :message, 4, "google.spanner.v1.PlanNode.ChildLink"
    optional :short_representation, :message, 5, "google.spanner.v1.PlanNode.ShortRepresentation"
    optional :metadata, :message, 6, "google.protobuf.Struct"
    optional :execution_stats, :message, 7, "google.protobuf.Struct"
  end
  add_message "google.spanner.v1.PlanNode.ChildLink" do
    optional :child_index, :int32, 1
    optional :type, :string, 2
    optional :variable, :string, 3
  end
  add_message "google.spanner.v1.PlanNode.ShortRepresentation" do
    optional :description, :string, 1
    map :subqueries, :string, :int32, 2
  end
  add_enum "google.spanner.v1.PlanNode.Kind" do
    value :KIND_UNSPECIFIED, 0
    value :RELATIONAL, 1
    value :SCALAR, 2
  end
  add_message "google.spanner.v1.QueryPlan" do
    repeated :plan_nodes, :message, 1, "google.spanner.v1.PlanNode"
  end
end

module Google
  module Spanner
    module V1
      PlanNode = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.PlanNode").msgclass
      PlanNode::ChildLink = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.PlanNode.ChildLink").msgclass
      PlanNode::ShortRepresentation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.PlanNode.ShortRepresentation").msgclass
      PlanNode::Kind = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.PlanNode.Kind").enummodule
      QueryPlan = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.v1.QueryPlan").msgclass
    end
  end
end
