// Copyright 2025 Google LLC
//
// 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.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.33.2
// source: google/cloud/bigquery/storage/v1beta1/storage.proto

package storagepb

import (
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"

	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Data format for input or output data.
type DataFormat int32

const (
	// Data format is unspecified.
	DataFormat_DATA_FORMAT_UNSPECIFIED DataFormat = 0
	// Avro is a standard open source row based file format.
	// See https://avro.apache.org/ for more details.
	DataFormat_AVRO DataFormat = 1
	// Arrow is a standard open source column-based message format.
	// See https://arrow.apache.org/ for more details.
	DataFormat_ARROW DataFormat = 3
)

// Enum value maps for DataFormat.
var (
	DataFormat_name = map[int32]string{
		0: "DATA_FORMAT_UNSPECIFIED",
		1: "AVRO",
		3: "ARROW",
	}
	DataFormat_value = map[string]int32{
		"DATA_FORMAT_UNSPECIFIED": 0,
		"AVRO":                    1,
		"ARROW":                   3,
	}
)

func (x DataFormat) Enum() *DataFormat {
	p := new(DataFormat)
	*p = x
	return p
}

func (x DataFormat) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DataFormat) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes[0].Descriptor()
}

func (DataFormat) Type() protoreflect.EnumType {
	return &file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes[0]
}

func (x DataFormat) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use DataFormat.Descriptor instead.
func (DataFormat) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{0}
}

// Strategy for distributing data among multiple streams in a read session.
type ShardingStrategy int32

const (
	// Same as LIQUID.
	ShardingStrategy_SHARDING_STRATEGY_UNSPECIFIED ShardingStrategy = 0
	// Assigns data to each stream based on the client's read rate. The faster the
	// client reads from a stream, the more data is assigned to the stream. In
	// this strategy, it's possible to read all data from a single stream even if
	// there are other streams present.
	ShardingStrategy_LIQUID ShardingStrategy = 1
	// Assigns data to each stream such that roughly the same number of rows can
	// be read from each stream. Because the server-side unit for assigning data
	// is collections of rows, the API does not guarantee that each stream will
	// return the same number or rows. Additionally, the limits are enforced based
	// on the number of pre-filtering rows, so some filters can lead to lopsided
	// assignments.
	ShardingStrategy_BALANCED ShardingStrategy = 2
)

// Enum value maps for ShardingStrategy.
var (
	ShardingStrategy_name = map[int32]string{
		0: "SHARDING_STRATEGY_UNSPECIFIED",
		1: "LIQUID",
		2: "BALANCED",
	}
	ShardingStrategy_value = map[string]int32{
		"SHARDING_STRATEGY_UNSPECIFIED": 0,
		"LIQUID":                        1,
		"BALANCED":                      2,
	}
)

func (x ShardingStrategy) Enum() *ShardingStrategy {
	p := new(ShardingStrategy)
	*p = x
	return p
}

func (x ShardingStrategy) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ShardingStrategy) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes[1].Descriptor()
}

func (ShardingStrategy) Type() protoreflect.EnumType {
	return &file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes[1]
}

func (x ShardingStrategy) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ShardingStrategy.Descriptor instead.
func (ShardingStrategy) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{1}
}

// Information about a single data stream within a read session.
type Stream struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the stream, in the form
	// `projects/{project_id}/locations/{location}/streams/{stream_id}`.
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Stream) Reset() {
	*x = Stream{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Stream) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Stream) ProtoMessage() {}

func (x *Stream) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Stream.ProtoReflect.Descriptor instead.
func (*Stream) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{0}
}

func (x *Stream) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Expresses a point within a given stream using an offset position.
type StreamPosition struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Identifier for a given Stream.
	Stream *Stream `protobuf:"bytes,1,opt,name=stream,proto3" json:"stream,omitempty"`
	// Position in the stream.
	Offset        int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StreamPosition) Reset() {
	*x = StreamPosition{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StreamPosition) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StreamPosition) ProtoMessage() {}

func (x *StreamPosition) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StreamPosition.ProtoReflect.Descriptor instead.
func (*StreamPosition) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{1}
}

func (x *StreamPosition) GetStream() *Stream {
	if x != nil {
		return x.Stream
	}
	return nil
}

func (x *StreamPosition) GetOffset() int64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

// Information returned from a `CreateReadSession` request.
type ReadSession struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique identifier for the session, in the form
	// `projects/{project_id}/locations/{location}/sessions/{session_id}`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Time at which the session becomes invalid. After this time, subsequent
	// requests to read this Session will return errors.
	ExpireTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
	// The schema for the read. If read_options.selected_fields is set, the
	// schema may be different from the table schema as it will only contain
	// the selected fields.
	//
	// Types that are valid to be assigned to Schema:
	//
	//	*ReadSession_AvroSchema
	//	*ReadSession_ArrowSchema
	Schema isReadSession_Schema `protobuf_oneof:"schema"`
	// Streams associated with this session.
	Streams []*Stream `protobuf:"bytes,4,rep,name=streams,proto3" json:"streams,omitempty"`
	// Table that this ReadSession is reading from.
	TableReference *TableReference `protobuf:"bytes,7,opt,name=table_reference,json=tableReference,proto3" json:"table_reference,omitempty"`
	// Any modifiers which are applied when reading from the specified table.
	TableModifiers *TableModifiers `protobuf:"bytes,8,opt,name=table_modifiers,json=tableModifiers,proto3" json:"table_modifiers,omitempty"`
	// The strategy to use for distributing data among the streams.
	ShardingStrategy ShardingStrategy `protobuf:"varint,9,opt,name=sharding_strategy,json=shardingStrategy,proto3,enum=google.cloud.bigquery.storage.v1beta1.ShardingStrategy" json:"sharding_strategy,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ReadSession) Reset() {
	*x = ReadSession{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadSession) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadSession) ProtoMessage() {}

func (x *ReadSession) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadSession.ProtoReflect.Descriptor instead.
func (*ReadSession) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{2}
}

func (x *ReadSession) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ReadSession) GetExpireTime() *timestamppb.Timestamp {
	if x != nil {
		return x.ExpireTime
	}
	return nil
}

func (x *ReadSession) GetSchema() isReadSession_Schema {
	if x != nil {
		return x.Schema
	}
	return nil
}

func (x *ReadSession) GetAvroSchema() *AvroSchema {
	if x != nil {
		if x, ok := x.Schema.(*ReadSession_AvroSchema); ok {
			return x.AvroSchema
		}
	}
	return nil
}

func (x *ReadSession) GetArrowSchema() *ArrowSchema {
	if x != nil {
		if x, ok := x.Schema.(*ReadSession_ArrowSchema); ok {
			return x.ArrowSchema
		}
	}
	return nil
}

func (x *ReadSession) GetStreams() []*Stream {
	if x != nil {
		return x.Streams
	}
	return nil
}

func (x *ReadSession) GetTableReference() *TableReference {
	if x != nil {
		return x.TableReference
	}
	return nil
}

func (x *ReadSession) GetTableModifiers() *TableModifiers {
	if x != nil {
		return x.TableModifiers
	}
	return nil
}

func (x *ReadSession) GetShardingStrategy() ShardingStrategy {
	if x != nil {
		return x.ShardingStrategy
	}
	return ShardingStrategy_SHARDING_STRATEGY_UNSPECIFIED
}

type isReadSession_Schema interface {
	isReadSession_Schema()
}

type ReadSession_AvroSchema struct {
	// Avro schema.
	AvroSchema *AvroSchema `protobuf:"bytes,5,opt,name=avro_schema,json=avroSchema,proto3,oneof"`
}

type ReadSession_ArrowSchema struct {
	// Arrow schema.
	ArrowSchema *ArrowSchema `protobuf:"bytes,6,opt,name=arrow_schema,json=arrowSchema,proto3,oneof"`
}

func (*ReadSession_AvroSchema) isReadSession_Schema() {}

func (*ReadSession_ArrowSchema) isReadSession_Schema() {}

// Creates a new read session, which may include additional options such as
// requested parallelism, projection filters and constraints.
type CreateReadSessionRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Reference to the table to read.
	TableReference *TableReference `protobuf:"bytes,1,opt,name=table_reference,json=tableReference,proto3" json:"table_reference,omitempty"`
	// Required. String of the form `projects/{project_id}` indicating the
	// project this ReadSession is associated with. This is the project that will
	// be billed for usage.
	Parent string `protobuf:"bytes,6,opt,name=parent,proto3" json:"parent,omitempty"`
	// Any modifiers to the Table (e.g. snapshot timestamp).
	TableModifiers *TableModifiers `protobuf:"bytes,2,opt,name=table_modifiers,json=tableModifiers,proto3" json:"table_modifiers,omitempty"`
	// Initial number of streams. If unset or 0, we will
	// provide a value of streams so as to produce reasonable throughput. Must be
	// non-negative. The number of streams may be lower than the requested number,
	// depending on the amount parallelism that is reasonable for the table and
	// the maximum amount of parallelism allowed by the system.
	//
	// Streams must be read starting from offset 0.
	RequestedStreams int32 `protobuf:"varint,3,opt,name=requested_streams,json=requestedStreams,proto3" json:"requested_streams,omitempty"`
	// Read options for this session (e.g. column selection, filters).
	ReadOptions *TableReadOptions `protobuf:"bytes,4,opt,name=read_options,json=readOptions,proto3" json:"read_options,omitempty"`
	// Data output format. Currently default to Avro.
	// DATA_FORMAT_UNSPECIFIED not supported.
	Format DataFormat `protobuf:"varint,5,opt,name=format,proto3,enum=google.cloud.bigquery.storage.v1beta1.DataFormat" json:"format,omitempty"`
	// The strategy to use for distributing data among multiple streams. Currently
	// defaults to liquid sharding.
	ShardingStrategy ShardingStrategy `protobuf:"varint,7,opt,name=sharding_strategy,json=shardingStrategy,proto3,enum=google.cloud.bigquery.storage.v1beta1.ShardingStrategy" json:"sharding_strategy,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *CreateReadSessionRequest) Reset() {
	*x = CreateReadSessionRequest{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateReadSessionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateReadSessionRequest) ProtoMessage() {}

func (x *CreateReadSessionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateReadSessionRequest.ProtoReflect.Descriptor instead.
func (*CreateReadSessionRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{3}
}

func (x *CreateReadSessionRequest) GetTableReference() *TableReference {
	if x != nil {
		return x.TableReference
	}
	return nil
}

func (x *CreateReadSessionRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *CreateReadSessionRequest) GetTableModifiers() *TableModifiers {
	if x != nil {
		return x.TableModifiers
	}
	return nil
}

func (x *CreateReadSessionRequest) GetRequestedStreams() int32 {
	if x != nil {
		return x.RequestedStreams
	}
	return 0
}

func (x *CreateReadSessionRequest) GetReadOptions() *TableReadOptions {
	if x != nil {
		return x.ReadOptions
	}
	return nil
}

func (x *CreateReadSessionRequest) GetFormat() DataFormat {
	if x != nil {
		return x.Format
	}
	return DataFormat_DATA_FORMAT_UNSPECIFIED
}

func (x *CreateReadSessionRequest) GetShardingStrategy() ShardingStrategy {
	if x != nil {
		return x.ShardingStrategy
	}
	return ShardingStrategy_SHARDING_STRATEGY_UNSPECIFIED
}

// Requesting row data via `ReadRows` must provide Stream position information.
type ReadRowsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Identifier of the position in the stream to start reading from.
	// The offset requested must be less than the last row read from ReadRows.
	// Requesting a larger offset is undefined.
	ReadPosition  *StreamPosition `protobuf:"bytes,1,opt,name=read_position,json=readPosition,proto3" json:"read_position,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReadRowsRequest) Reset() {
	*x = ReadRowsRequest{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadRowsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadRowsRequest) ProtoMessage() {}

func (x *ReadRowsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadRowsRequest.ProtoReflect.Descriptor instead.
func (*ReadRowsRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{4}
}

func (x *ReadRowsRequest) GetReadPosition() *StreamPosition {
	if x != nil {
		return x.ReadPosition
	}
	return nil
}

// Progress information for a given Stream.
type StreamStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Number of estimated rows in the current stream. May change over time as
	// different readers in the stream progress at rates which are relatively fast
	// or slow.
	EstimatedRowCount int64 `protobuf:"varint,1,opt,name=estimated_row_count,json=estimatedRowCount,proto3" json:"estimated_row_count,omitempty"`
	// A value in the range [0.0, 1.0] that represents the fraction of rows
	// assigned to this stream that have been processed by the server. In the
	// presence of read filters, the server may process more rows than it returns,
	// so this value reflects progress through the pre-filtering rows.
	//
	// This value is only populated for sessions created through the BALANCED
	// sharding strategy.
	FractionConsumed float32 `protobuf:"fixed32,2,opt,name=fraction_consumed,json=fractionConsumed,proto3" json:"fraction_consumed,omitempty"`
	// Represents the progress of the current stream.
	Progress *Progress `protobuf:"bytes,4,opt,name=progress,proto3" json:"progress,omitempty"`
	// Whether this stream can be split. For sessions that use the LIQUID sharding
	// strategy, this value is always false. For BALANCED sessions, this value is
	// false when enough data have been read such that no more splits are possible
	// at that point or beyond. For small tables or streams that are the result of
	// a chain of splits, this value may never be true.
	IsSplittable  bool `protobuf:"varint,3,opt,name=is_splittable,json=isSplittable,proto3" json:"is_splittable,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StreamStatus) Reset() {
	*x = StreamStatus{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StreamStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StreamStatus) ProtoMessage() {}

func (x *StreamStatus) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StreamStatus.ProtoReflect.Descriptor instead.
func (*StreamStatus) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{5}
}

func (x *StreamStatus) GetEstimatedRowCount() int64 {
	if x != nil {
		return x.EstimatedRowCount
	}
	return 0
}

func (x *StreamStatus) GetFractionConsumed() float32 {
	if x != nil {
		return x.FractionConsumed
	}
	return 0
}

func (x *StreamStatus) GetProgress() *Progress {
	if x != nil {
		return x.Progress
	}
	return nil
}

func (x *StreamStatus) GetIsSplittable() bool {
	if x != nil {
		return x.IsSplittable
	}
	return false
}

type Progress struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The fraction of rows assigned to the stream that have been processed by the
	// server so far, not including the rows in the current response message.
	//
	// This value, along with `at_response_end`, can be used to interpolate the
	// progress made as the rows in the message are being processed using the
	// following formula: `at_response_start + (at_response_end -
	// at_response_start) * rows_processed_from_response / rows_in_response`.
	//
	// Note that if a filter is provided, the `at_response_end` value of the
	// previous response may not necessarily be equal to the `at_response_start`
	// value of the current response.
	AtResponseStart float32 `protobuf:"fixed32,1,opt,name=at_response_start,json=atResponseStart,proto3" json:"at_response_start,omitempty"`
	// Similar to `at_response_start`, except that this value includes the rows in
	// the current response.
	AtResponseEnd float32 `protobuf:"fixed32,2,opt,name=at_response_end,json=atResponseEnd,proto3" json:"at_response_end,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Progress) Reset() {
	*x = Progress{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Progress) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Progress) ProtoMessage() {}

func (x *Progress) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Progress.ProtoReflect.Descriptor instead.
func (*Progress) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{6}
}

func (x *Progress) GetAtResponseStart() float32 {
	if x != nil {
		return x.AtResponseStart
	}
	return 0
}

func (x *Progress) GetAtResponseEnd() float32 {
	if x != nil {
		return x.AtResponseEnd
	}
	return 0
}

// Information on if the current connection is being throttled.
type ThrottleStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// How much this connection is being throttled.
	// 0 is no throttling, 100 is completely throttled.
	ThrottlePercent int32 `protobuf:"varint,1,opt,name=throttle_percent,json=throttlePercent,proto3" json:"throttle_percent,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ThrottleStatus) Reset() {
	*x = ThrottleStatus{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ThrottleStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ThrottleStatus) ProtoMessage() {}

func (x *ThrottleStatus) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ThrottleStatus.ProtoReflect.Descriptor instead.
func (*ThrottleStatus) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{7}
}

func (x *ThrottleStatus) GetThrottlePercent() int32 {
	if x != nil {
		return x.ThrottlePercent
	}
	return 0
}

// Response from calling `ReadRows` may include row data, progress and
// throttling information.
type ReadRowsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Row data is returned in format specified during session creation.
	//
	// Types that are valid to be assigned to Rows:
	//
	//	*ReadRowsResponse_AvroRows
	//	*ReadRowsResponse_ArrowRecordBatch
	Rows isReadRowsResponse_Rows `protobuf_oneof:"rows"`
	// Number of serialized rows in the rows block. This value is recorded here,
	// in addition to the row_count values in the output-specific messages in
	// `rows`, so that code which needs to record progress through the stream can
	// do so in an output format-independent way.
	RowCount int64 `protobuf:"varint,6,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"`
	// Estimated stream statistics.
	Status *StreamStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	// Throttling status. If unset, the latest response still describes
	// the current throttling status.
	ThrottleStatus *ThrottleStatus `protobuf:"bytes,5,opt,name=throttle_status,json=throttleStatus,proto3" json:"throttle_status,omitempty"`
	// The schema for the read. If read_options.selected_fields is set, the
	// schema may be different from the table schema as it will only contain
	// the selected fields. This schema is equivalent to the one returned by
	// CreateSession. This field is only populated in the first ReadRowsResponse
	// RPC.
	//
	// Types that are valid to be assigned to Schema:
	//
	//	*ReadRowsResponse_AvroSchema
	//	*ReadRowsResponse_ArrowSchema
	Schema        isReadRowsResponse_Schema `protobuf_oneof:"schema"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReadRowsResponse) Reset() {
	*x = ReadRowsResponse{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadRowsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadRowsResponse) ProtoMessage() {}

func (x *ReadRowsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadRowsResponse.ProtoReflect.Descriptor instead.
func (*ReadRowsResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{8}
}

func (x *ReadRowsResponse) GetRows() isReadRowsResponse_Rows {
	if x != nil {
		return x.Rows
	}
	return nil
}

func (x *ReadRowsResponse) GetAvroRows() *AvroRows {
	if x != nil {
		if x, ok := x.Rows.(*ReadRowsResponse_AvroRows); ok {
			return x.AvroRows
		}
	}
	return nil
}

func (x *ReadRowsResponse) GetArrowRecordBatch() *ArrowRecordBatch {
	if x != nil {
		if x, ok := x.Rows.(*ReadRowsResponse_ArrowRecordBatch); ok {
			return x.ArrowRecordBatch
		}
	}
	return nil
}

func (x *ReadRowsResponse) GetRowCount() int64 {
	if x != nil {
		return x.RowCount
	}
	return 0
}

func (x *ReadRowsResponse) GetStatus() *StreamStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *ReadRowsResponse) GetThrottleStatus() *ThrottleStatus {
	if x != nil {
		return x.ThrottleStatus
	}
	return nil
}

func (x *ReadRowsResponse) GetSchema() isReadRowsResponse_Schema {
	if x != nil {
		return x.Schema
	}
	return nil
}

func (x *ReadRowsResponse) GetAvroSchema() *AvroSchema {
	if x != nil {
		if x, ok := x.Schema.(*ReadRowsResponse_AvroSchema); ok {
			return x.AvroSchema
		}
	}
	return nil
}

func (x *ReadRowsResponse) GetArrowSchema() *ArrowSchema {
	if x != nil {
		if x, ok := x.Schema.(*ReadRowsResponse_ArrowSchema); ok {
			return x.ArrowSchema
		}
	}
	return nil
}

type isReadRowsResponse_Rows interface {
	isReadRowsResponse_Rows()
}

type ReadRowsResponse_AvroRows struct {
	// Serialized row data in AVRO format.
	AvroRows *AvroRows `protobuf:"bytes,3,opt,name=avro_rows,json=avroRows,proto3,oneof"`
}

type ReadRowsResponse_ArrowRecordBatch struct {
	// Serialized row data in Arrow RecordBatch format.
	ArrowRecordBatch *ArrowRecordBatch `protobuf:"bytes,4,opt,name=arrow_record_batch,json=arrowRecordBatch,proto3,oneof"`
}

func (*ReadRowsResponse_AvroRows) isReadRowsResponse_Rows() {}

func (*ReadRowsResponse_ArrowRecordBatch) isReadRowsResponse_Rows() {}

type isReadRowsResponse_Schema interface {
	isReadRowsResponse_Schema()
}

type ReadRowsResponse_AvroSchema struct {
	// Output only. Avro schema.
	AvroSchema *AvroSchema `protobuf:"bytes,7,opt,name=avro_schema,json=avroSchema,proto3,oneof"`
}

type ReadRowsResponse_ArrowSchema struct {
	// Output only. Arrow schema.
	ArrowSchema *ArrowSchema `protobuf:"bytes,8,opt,name=arrow_schema,json=arrowSchema,proto3,oneof"`
}

func (*ReadRowsResponse_AvroSchema) isReadRowsResponse_Schema() {}

func (*ReadRowsResponse_ArrowSchema) isReadRowsResponse_Schema() {}

// Information needed to request additional streams for an established read
// session.
type BatchCreateReadSessionStreamsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Must be a non-expired session obtained from a call to
	// CreateReadSession. Only the name field needs to be set.
	Session *ReadSession `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	// Required. Number of new streams requested. Must be positive.
	// Number of added streams may be less than this, see CreateReadSessionRequest
	// for more information.
	RequestedStreams int32 `protobuf:"varint,2,opt,name=requested_streams,json=requestedStreams,proto3" json:"requested_streams,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *BatchCreateReadSessionStreamsRequest) Reset() {
	*x = BatchCreateReadSessionStreamsRequest{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BatchCreateReadSessionStreamsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BatchCreateReadSessionStreamsRequest) ProtoMessage() {}

func (x *BatchCreateReadSessionStreamsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BatchCreateReadSessionStreamsRequest.ProtoReflect.Descriptor instead.
func (*BatchCreateReadSessionStreamsRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{9}
}

func (x *BatchCreateReadSessionStreamsRequest) GetSession() *ReadSession {
	if x != nil {
		return x.Session
	}
	return nil
}

func (x *BatchCreateReadSessionStreamsRequest) GetRequestedStreams() int32 {
	if x != nil {
		return x.RequestedStreams
	}
	return 0
}

// The response from `BatchCreateReadSessionStreams` returns the stream
// identifiers for the newly created streams.
type BatchCreateReadSessionStreamsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Newly added streams.
	Streams       []*Stream `protobuf:"bytes,1,rep,name=streams,proto3" json:"streams,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchCreateReadSessionStreamsResponse) Reset() {
	*x = BatchCreateReadSessionStreamsResponse{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BatchCreateReadSessionStreamsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BatchCreateReadSessionStreamsResponse) ProtoMessage() {}

func (x *BatchCreateReadSessionStreamsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BatchCreateReadSessionStreamsResponse.ProtoReflect.Descriptor instead.
func (*BatchCreateReadSessionStreamsResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{10}
}

func (x *BatchCreateReadSessionStreamsResponse) GetStreams() []*Stream {
	if x != nil {
		return x.Streams
	}
	return nil
}

// Request information for invoking `FinalizeStream`.
type FinalizeStreamRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Stream to finalize.
	Stream        *Stream `protobuf:"bytes,2,opt,name=stream,proto3" json:"stream,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FinalizeStreamRequest) Reset() {
	*x = FinalizeStreamRequest{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FinalizeStreamRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FinalizeStreamRequest) ProtoMessage() {}

func (x *FinalizeStreamRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FinalizeStreamRequest.ProtoReflect.Descriptor instead.
func (*FinalizeStreamRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{11}
}

func (x *FinalizeStreamRequest) GetStream() *Stream {
	if x != nil {
		return x.Stream
	}
	return nil
}

// Request information for `SplitReadStream`.
type SplitReadStreamRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Stream to split.
	OriginalStream *Stream `protobuf:"bytes,1,opt,name=original_stream,json=originalStream,proto3" json:"original_stream,omitempty"`
	// A value in the range (0.0, 1.0) that specifies the fractional point at
	// which the original stream should be split. The actual split point is
	// evaluated on pre-filtered rows, so if a filter is provided, then there is
	// no guarantee that the division of the rows between the new child streams
	// will be proportional to this fractional value. Additionally, because the
	// server-side unit for assigning data is collections of rows, this fraction
	// will always map to to a data storage boundary on the server side.
	Fraction      float32 `protobuf:"fixed32,2,opt,name=fraction,proto3" json:"fraction,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SplitReadStreamRequest) Reset() {
	*x = SplitReadStreamRequest{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SplitReadStreamRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SplitReadStreamRequest) ProtoMessage() {}

func (x *SplitReadStreamRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SplitReadStreamRequest.ProtoReflect.Descriptor instead.
func (*SplitReadStreamRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{12}
}

func (x *SplitReadStreamRequest) GetOriginalStream() *Stream {
	if x != nil {
		return x.OriginalStream
	}
	return nil
}

func (x *SplitReadStreamRequest) GetFraction() float32 {
	if x != nil {
		return x.Fraction
	}
	return 0
}

// Response from `SplitReadStream`.
type SplitReadStreamResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Primary stream, which contains the beginning portion of
	// |original_stream|. An empty value indicates that the original stream can no
	// longer be split.
	PrimaryStream *Stream `protobuf:"bytes,1,opt,name=primary_stream,json=primaryStream,proto3" json:"primary_stream,omitempty"`
	// Remainder stream, which contains the tail of |original_stream|. An empty
	// value indicates that the original stream can no longer be split.
	RemainderStream *Stream `protobuf:"bytes,2,opt,name=remainder_stream,json=remainderStream,proto3" json:"remainder_stream,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *SplitReadStreamResponse) Reset() {
	*x = SplitReadStreamResponse{}
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SplitReadStreamResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SplitReadStreamResponse) ProtoMessage() {}

func (x *SplitReadStreamResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SplitReadStreamResponse.ProtoReflect.Descriptor instead.
func (*SplitReadStreamResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP(), []int{13}
}

func (x *SplitReadStreamResponse) GetPrimaryStream() *Stream {
	if x != nil {
		return x.PrimaryStream
	}
	return nil
}

func (x *SplitReadStreamResponse) GetRemainderStream() *Stream {
	if x != nil {
		return x.RemainderStream
	}
	return nil
}

var File_google_cloud_bigquery_storage_v1beta1_storage_proto protoreflect.FileDescriptor

const file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDesc = "" +
	"\n" +
	"3google/cloud/bigquery/storage/v1beta1/storage.proto\x12%google.cloud.bigquery.storage.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a1google/cloud/bigquery/storage/v1beta1/arrow.proto\x1a0google/cloud/bigquery/storage/v1beta1/avro.proto\x1a8google/cloud/bigquery/storage/v1beta1/read_options.proto\x1a;google/cloud/bigquery/storage/v1beta1/table_reference.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x82\x01\n" +
	"\x06Stream\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name:d\xeaAa\n" +
	"%bigquerystorage.googleapis.com/Stream\x128projects/{project}/locations/{location}/streams/{stream}\"o\n" +
	"\x0eStreamPosition\x12E\n" +
	"\x06stream\x18\x01 \x01(\v2-.google.cloud.bigquery.storage.v1beta1.StreamR\x06stream\x12\x16\n" +
	"\x06offset\x18\x02 \x01(\x03R\x06offset\"\xf3\x05\n" +
	"\vReadSession\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12;\n" +
	"\vexpire_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"expireTime\x12T\n" +
	"\vavro_schema\x18\x05 \x01(\v21.google.cloud.bigquery.storage.v1beta1.AvroSchemaH\x00R\n" +
	"avroSchema\x12W\n" +
	"\farrow_schema\x18\x06 \x01(\v22.google.cloud.bigquery.storage.v1beta1.ArrowSchemaH\x00R\varrowSchema\x12G\n" +
	"\astreams\x18\x04 \x03(\v2-.google.cloud.bigquery.storage.v1beta1.StreamR\astreams\x12^\n" +
	"\x0ftable_reference\x18\a \x01(\v25.google.cloud.bigquery.storage.v1beta1.TableReferenceR\x0etableReference\x12^\n" +
	"\x0ftable_modifiers\x18\b \x01(\v25.google.cloud.bigquery.storage.v1beta1.TableModifiersR\x0etableModifiers\x12d\n" +
	"\x11sharding_strategy\x18\t \x01(\x0e27.google.cloud.bigquery.storage.v1beta1.ShardingStrategyR\x10shardingStrategy:k\xeaAh\n" +
	"*bigquerystorage.googleapis.com/ReadSession\x12:projects/{project}/locations/{location}/sessions/{session}B\b\n" +
	"\x06schema\"\xe6\x04\n" +
	"\x18CreateReadSessionRequest\x12c\n" +
	"\x0ftable_reference\x18\x01 \x01(\v25.google.cloud.bigquery.storage.v1beta1.TableReferenceB\x03\xe0A\x02R\x0etableReference\x12K\n" +
	"\x06parent\x18\x06 \x01(\tB3\xe0A\x02\xfaA-\n" +
	"+cloudresourcemanager.googleapis.com/ProjectR\x06parent\x12^\n" +
	"\x0ftable_modifiers\x18\x02 \x01(\v25.google.cloud.bigquery.storage.v1beta1.TableModifiersR\x0etableModifiers\x12+\n" +
	"\x11requested_streams\x18\x03 \x01(\x05R\x10requestedStreams\x12Z\n" +
	"\fread_options\x18\x04 \x01(\v27.google.cloud.bigquery.storage.v1beta1.TableReadOptionsR\vreadOptions\x12I\n" +
	"\x06format\x18\x05 \x01(\x0e21.google.cloud.bigquery.storage.v1beta1.DataFormatR\x06format\x12d\n" +
	"\x11sharding_strategy\x18\a \x01(\x0e27.google.cloud.bigquery.storage.v1beta1.ShardingStrategyR\x10shardingStrategy\"r\n" +
	"\x0fReadRowsRequest\x12_\n" +
	"\rread_position\x18\x01 \x01(\v25.google.cloud.bigquery.storage.v1beta1.StreamPositionB\x03\xe0A\x02R\freadPosition\"\xdd\x01\n" +
	"\fStreamStatus\x12.\n" +
	"\x13estimated_row_count\x18\x01 \x01(\x03R\x11estimatedRowCount\x12+\n" +
	"\x11fraction_consumed\x18\x02 \x01(\x02R\x10fractionConsumed\x12K\n" +
	"\bprogress\x18\x04 \x01(\v2/.google.cloud.bigquery.storage.v1beta1.ProgressR\bprogress\x12#\n" +
	"\ris_splittable\x18\x03 \x01(\bR\fisSplittable\"^\n" +
	"\bProgress\x12*\n" +
	"\x11at_response_start\x18\x01 \x01(\x02R\x0fatResponseStart\x12&\n" +
	"\x0fat_response_end\x18\x02 \x01(\x02R\ratResponseEnd\";\n" +
	"\x0eThrottleStatus\x12)\n" +
	"\x10throttle_percent\x18\x01 \x01(\x05R\x0fthrottlePercent\"\xe0\x04\n" +
	"\x10ReadRowsResponse\x12N\n" +
	"\tavro_rows\x18\x03 \x01(\v2/.google.cloud.bigquery.storage.v1beta1.AvroRowsH\x00R\bavroRows\x12g\n" +
	"\x12arrow_record_batch\x18\x04 \x01(\v27.google.cloud.bigquery.storage.v1beta1.ArrowRecordBatchH\x00R\x10arrowRecordBatch\x12\x1b\n" +
	"\trow_count\x18\x06 \x01(\x03R\browCount\x12K\n" +
	"\x06status\x18\x02 \x01(\v23.google.cloud.bigquery.storage.v1beta1.StreamStatusR\x06status\x12^\n" +
	"\x0fthrottle_status\x18\x05 \x01(\v25.google.cloud.bigquery.storage.v1beta1.ThrottleStatusR\x0ethrottleStatus\x12Y\n" +
	"\vavro_schema\x18\a \x01(\v21.google.cloud.bigquery.storage.v1beta1.AvroSchemaB\x03\xe0A\x03H\x01R\n" +
	"avroSchema\x12\\\n" +
	"\farrow_schema\x18\b \x01(\v22.google.cloud.bigquery.storage.v1beta1.ArrowSchemaB\x03\xe0A\x03H\x01R\varrowSchemaB\x06\n" +
	"\x04rowsB\b\n" +
	"\x06schema\"\xab\x01\n" +
	"$BatchCreateReadSessionStreamsRequest\x12Q\n" +
	"\asession\x18\x01 \x01(\v22.google.cloud.bigquery.storage.v1beta1.ReadSessionB\x03\xe0A\x02R\asession\x120\n" +
	"\x11requested_streams\x18\x02 \x01(\x05B\x03\xe0A\x02R\x10requestedStreams\"p\n" +
	"%BatchCreateReadSessionStreamsResponse\x12G\n" +
	"\astreams\x18\x01 \x03(\v2-.google.cloud.bigquery.storage.v1beta1.StreamR\astreams\"c\n" +
	"\x15FinalizeStreamRequest\x12J\n" +
	"\x06stream\x18\x02 \x01(\v2-.google.cloud.bigquery.storage.v1beta1.StreamB\x03\xe0A\x02R\x06stream\"\x91\x01\n" +
	"\x16SplitReadStreamRequest\x12[\n" +
	"\x0foriginal_stream\x18\x01 \x01(\v2-.google.cloud.bigquery.storage.v1beta1.StreamB\x03\xe0A\x02R\x0eoriginalStream\x12\x1a\n" +
	"\bfraction\x18\x02 \x01(\x02R\bfraction\"\xc9\x01\n" +
	"\x17SplitReadStreamResponse\x12T\n" +
	"\x0eprimary_stream\x18\x01 \x01(\v2-.google.cloud.bigquery.storage.v1beta1.StreamR\rprimaryStream\x12X\n" +
	"\x10remainder_stream\x18\x02 \x01(\v2-.google.cloud.bigquery.storage.v1beta1.StreamR\x0fremainderStream*>\n" +
	"\n" +
	"DataFormat\x12\x1b\n" +
	"\x17DATA_FORMAT_UNSPECIFIED\x10\x00\x12\b\n" +
	"\x04AVRO\x10\x01\x12\t\n" +
	"\x05ARROW\x10\x03*O\n" +
	"\x10ShardingStrategy\x12!\n" +
	"\x1dSHARDING_STRATEGY_UNSPECIFIED\x10\x00\x12\n" +
	"\n" +
	"\x06LIQUID\x10\x01\x12\f\n" +
	"\bBALANCED\x10\x022\xb7\n" +
	"\n" +
	"\x0fBigQueryStorage\x12\xb3\x02\n" +
	"\x11CreateReadSession\x12?.google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest\x1a2.google.cloud.bigquery.storage.v1beta1.ReadSession\"\xa8\x01\xdaA(table_reference,parent,requested_streams\x82\xd3\xe4\x93\x02w:\x01*Z@:\x01*\";/v1beta1/{table_reference.dataset_id=projects/*/datasets/*}\"0/v1beta1/{table_reference.project_id=projects/*}\x12\xd0\x01\n" +
	"\bReadRows\x126.google.cloud.bigquery.storage.v1beta1.ReadRowsRequest\x1a7.google.cloud.bigquery.storage.v1beta1.ReadRowsResponse\"Q\xdaA\rread_position\x82\xd3\xe4\x93\x02;\x129/v1beta1/{read_position.stream.name=projects/*/streams/*}0\x01\x12\x90\x02\n" +
	"\x1dBatchCreateReadSessionStreams\x12K.google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsRequest\x1aL.google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsResponse\"T\xdaA\x19session,requested_streams\x82\xd3\xe4\x93\x022:\x01*\"-/v1beta1/{session.name=projects/*/sessions/*}\x12\xa7\x01\n" +
	"\x0eFinalizeStream\x12<.google.cloud.bigquery.storage.v1beta1.FinalizeStreamRequest\x1a\x16.google.protobuf.Empty\"?\xdaA\x06stream\x82\xd3\xe4\x93\x020:\x01*\"+/v1beta1/{stream.name=projects/*/streams/*}\x12\xe0\x01\n" +
	"\x0fSplitReadStream\x12=.google.cloud.bigquery.storage.v1beta1.SplitReadStreamRequest\x1a>.google.cloud.bigquery.storage.v1beta1.SplitReadStreamResponse\"N\xdaA\x0foriginal_stream\x82\xd3\xe4\x93\x026\x124/v1beta1/{original_stream.name=projects/*/streams/*}\x1a{\xcaA\x1ebigquerystorage.googleapis.com\xd2AWhttps://www.googleapis.com/auth/bigquery,https://www.googleapis.com/auth/cloud-platformBp\n" +
	")com.google.cloud.bigquery.storage.v1beta1ZCcloud.google.com/go/bigquery/storage/apiv1beta1/storagepb;storagepbb\x06proto3"

var (
	file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescOnce sync.Once
	file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescData []byte
)

func file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescGZIP() []byte {
	file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescOnce.Do(func() {
		file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDesc), len(file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDesc)))
	})
	return file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDescData
}

var file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
var file_google_cloud_bigquery_storage_v1beta1_storage_proto_goTypes = []any{
	(DataFormat)(0),                               // 0: google.cloud.bigquery.storage.v1beta1.DataFormat
	(ShardingStrategy)(0),                         // 1: google.cloud.bigquery.storage.v1beta1.ShardingStrategy
	(*Stream)(nil),                                // 2: google.cloud.bigquery.storage.v1beta1.Stream
	(*StreamPosition)(nil),                        // 3: google.cloud.bigquery.storage.v1beta1.StreamPosition
	(*ReadSession)(nil),                           // 4: google.cloud.bigquery.storage.v1beta1.ReadSession
	(*CreateReadSessionRequest)(nil),              // 5: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest
	(*ReadRowsRequest)(nil),                       // 6: google.cloud.bigquery.storage.v1beta1.ReadRowsRequest
	(*StreamStatus)(nil),                          // 7: google.cloud.bigquery.storage.v1beta1.StreamStatus
	(*Progress)(nil),                              // 8: google.cloud.bigquery.storage.v1beta1.Progress
	(*ThrottleStatus)(nil),                        // 9: google.cloud.bigquery.storage.v1beta1.ThrottleStatus
	(*ReadRowsResponse)(nil),                      // 10: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse
	(*BatchCreateReadSessionStreamsRequest)(nil),  // 11: google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsRequest
	(*BatchCreateReadSessionStreamsResponse)(nil), // 12: google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsResponse
	(*FinalizeStreamRequest)(nil),                 // 13: google.cloud.bigquery.storage.v1beta1.FinalizeStreamRequest
	(*SplitReadStreamRequest)(nil),                // 14: google.cloud.bigquery.storage.v1beta1.SplitReadStreamRequest
	(*SplitReadStreamResponse)(nil),               // 15: google.cloud.bigquery.storage.v1beta1.SplitReadStreamResponse
	(*timestamppb.Timestamp)(nil),                 // 16: google.protobuf.Timestamp
	(*AvroSchema)(nil),                            // 17: google.cloud.bigquery.storage.v1beta1.AvroSchema
	(*ArrowSchema)(nil),                           // 18: google.cloud.bigquery.storage.v1beta1.ArrowSchema
	(*TableReference)(nil),                        // 19: google.cloud.bigquery.storage.v1beta1.TableReference
	(*TableModifiers)(nil),                        // 20: google.cloud.bigquery.storage.v1beta1.TableModifiers
	(*TableReadOptions)(nil),                      // 21: google.cloud.bigquery.storage.v1beta1.TableReadOptions
	(*AvroRows)(nil),                              // 22: google.cloud.bigquery.storage.v1beta1.AvroRows
	(*ArrowRecordBatch)(nil),                      // 23: google.cloud.bigquery.storage.v1beta1.ArrowRecordBatch
	(*emptypb.Empty)(nil),                         // 24: google.protobuf.Empty
}
var file_google_cloud_bigquery_storage_v1beta1_storage_proto_depIdxs = []int32{
	2,  // 0: google.cloud.bigquery.storage.v1beta1.StreamPosition.stream:type_name -> google.cloud.bigquery.storage.v1beta1.Stream
	16, // 1: google.cloud.bigquery.storage.v1beta1.ReadSession.expire_time:type_name -> google.protobuf.Timestamp
	17, // 2: google.cloud.bigquery.storage.v1beta1.ReadSession.avro_schema:type_name -> google.cloud.bigquery.storage.v1beta1.AvroSchema
	18, // 3: google.cloud.bigquery.storage.v1beta1.ReadSession.arrow_schema:type_name -> google.cloud.bigquery.storage.v1beta1.ArrowSchema
	2,  // 4: google.cloud.bigquery.storage.v1beta1.ReadSession.streams:type_name -> google.cloud.bigquery.storage.v1beta1.Stream
	19, // 5: google.cloud.bigquery.storage.v1beta1.ReadSession.table_reference:type_name -> google.cloud.bigquery.storage.v1beta1.TableReference
	20, // 6: google.cloud.bigquery.storage.v1beta1.ReadSession.table_modifiers:type_name -> google.cloud.bigquery.storage.v1beta1.TableModifiers
	1,  // 7: google.cloud.bigquery.storage.v1beta1.ReadSession.sharding_strategy:type_name -> google.cloud.bigquery.storage.v1beta1.ShardingStrategy
	19, // 8: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest.table_reference:type_name -> google.cloud.bigquery.storage.v1beta1.TableReference
	20, // 9: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest.table_modifiers:type_name -> google.cloud.bigquery.storage.v1beta1.TableModifiers
	21, // 10: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest.read_options:type_name -> google.cloud.bigquery.storage.v1beta1.TableReadOptions
	0,  // 11: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest.format:type_name -> google.cloud.bigquery.storage.v1beta1.DataFormat
	1,  // 12: google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest.sharding_strategy:type_name -> google.cloud.bigquery.storage.v1beta1.ShardingStrategy
	3,  // 13: google.cloud.bigquery.storage.v1beta1.ReadRowsRequest.read_position:type_name -> google.cloud.bigquery.storage.v1beta1.StreamPosition
	8,  // 14: google.cloud.bigquery.storage.v1beta1.StreamStatus.progress:type_name -> google.cloud.bigquery.storage.v1beta1.Progress
	22, // 15: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse.avro_rows:type_name -> google.cloud.bigquery.storage.v1beta1.AvroRows
	23, // 16: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse.arrow_record_batch:type_name -> google.cloud.bigquery.storage.v1beta1.ArrowRecordBatch
	7,  // 17: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse.status:type_name -> google.cloud.bigquery.storage.v1beta1.StreamStatus
	9,  // 18: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse.throttle_status:type_name -> google.cloud.bigquery.storage.v1beta1.ThrottleStatus
	17, // 19: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse.avro_schema:type_name -> google.cloud.bigquery.storage.v1beta1.AvroSchema
	18, // 20: google.cloud.bigquery.storage.v1beta1.ReadRowsResponse.arrow_schema:type_name -> google.cloud.bigquery.storage.v1beta1.ArrowSchema
	4,  // 21: google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsRequest.session:type_name -> google.cloud.bigquery.storage.v1beta1.ReadSession
	2,  // 22: google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsResponse.streams:type_name -> google.cloud.bigquery.storage.v1beta1.Stream
	2,  // 23: google.cloud.bigquery.storage.v1beta1.FinalizeStreamRequest.stream:type_name -> google.cloud.bigquery.storage.v1beta1.Stream
	2,  // 24: google.cloud.bigquery.storage.v1beta1.SplitReadStreamRequest.original_stream:type_name -> google.cloud.bigquery.storage.v1beta1.Stream
	2,  // 25: google.cloud.bigquery.storage.v1beta1.SplitReadStreamResponse.primary_stream:type_name -> google.cloud.bigquery.storage.v1beta1.Stream
	2,  // 26: google.cloud.bigquery.storage.v1beta1.SplitReadStreamResponse.remainder_stream:type_name -> google.cloud.bigquery.storage.v1beta1.Stream
	5,  // 27: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.CreateReadSession:input_type -> google.cloud.bigquery.storage.v1beta1.CreateReadSessionRequest
	6,  // 28: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.ReadRows:input_type -> google.cloud.bigquery.storage.v1beta1.ReadRowsRequest
	11, // 29: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.BatchCreateReadSessionStreams:input_type -> google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsRequest
	13, // 30: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.FinalizeStream:input_type -> google.cloud.bigquery.storage.v1beta1.FinalizeStreamRequest
	14, // 31: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.SplitReadStream:input_type -> google.cloud.bigquery.storage.v1beta1.SplitReadStreamRequest
	4,  // 32: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.CreateReadSession:output_type -> google.cloud.bigquery.storage.v1beta1.ReadSession
	10, // 33: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.ReadRows:output_type -> google.cloud.bigquery.storage.v1beta1.ReadRowsResponse
	12, // 34: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.BatchCreateReadSessionStreams:output_type -> google.cloud.bigquery.storage.v1beta1.BatchCreateReadSessionStreamsResponse
	24, // 35: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.FinalizeStream:output_type -> google.protobuf.Empty
	15, // 36: google.cloud.bigquery.storage.v1beta1.BigQueryStorage.SplitReadStream:output_type -> google.cloud.bigquery.storage.v1beta1.SplitReadStreamResponse
	32, // [32:37] is the sub-list for method output_type
	27, // [27:32] is the sub-list for method input_type
	27, // [27:27] is the sub-list for extension type_name
	27, // [27:27] is the sub-list for extension extendee
	0,  // [0:27] is the sub-list for field type_name
}

func init() { file_google_cloud_bigquery_storage_v1beta1_storage_proto_init() }
func file_google_cloud_bigquery_storage_v1beta1_storage_proto_init() {
	if File_google_cloud_bigquery_storage_v1beta1_storage_proto != nil {
		return
	}
	file_google_cloud_bigquery_storage_v1beta1_arrow_proto_init()
	file_google_cloud_bigquery_storage_v1beta1_avro_proto_init()
	file_google_cloud_bigquery_storage_v1beta1_read_options_proto_init()
	file_google_cloud_bigquery_storage_v1beta1_table_reference_proto_init()
	file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[2].OneofWrappers = []any{
		(*ReadSession_AvroSchema)(nil),
		(*ReadSession_ArrowSchema)(nil),
	}
	file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes[8].OneofWrappers = []any{
		(*ReadRowsResponse_AvroRows)(nil),
		(*ReadRowsResponse_ArrowRecordBatch)(nil),
		(*ReadRowsResponse_AvroSchema)(nil),
		(*ReadRowsResponse_ArrowSchema)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDesc), len(file_google_cloud_bigquery_storage_v1beta1_storage_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   14,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_cloud_bigquery_storage_v1beta1_storage_proto_goTypes,
		DependencyIndexes: file_google_cloud_bigquery_storage_v1beta1_storage_proto_depIdxs,
		EnumInfos:         file_google_cloud_bigquery_storage_v1beta1_storage_proto_enumTypes,
		MessageInfos:      file_google_cloud_bigquery_storage_v1beta1_storage_proto_msgTypes,
	}.Build()
	File_google_cloud_bigquery_storage_v1beta1_storage_proto = out.File
	file_google_cloud_bigquery_storage_v1beta1_storage_proto_goTypes = nil
	file_google_cloud_bigquery_storage_v1beta1_storage_proto_depIdxs = nil
}
