github.com/cockroachdb/cockroachdb-parser@v0.23.3-0.20240213214944-911057d40c9a/pkg/sql/sessiondatapb/session_data.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: sql/sessiondatapb/session_data.proto
     3  
     4  package sessiondatapb
     5  
     6  import (
     7  	encoding_binary "encoding/binary"
     8  	fmt "fmt"
     9  	github_com_cockroachdb_cockroach_pkg_security_username "github.com/cockroachdb/cockroachdb-parser/pkg/security/username"
    10  	lex "github.com/cockroachdb/cockroachdb-parser/pkg/sql/lex"
    11  	duration "github.com/cockroachdb/cockroachdb-parser/pkg/util/duration"
    12  	pgdate "github.com/cockroachdb/cockroachdb-parser/pkg/util/timeutil/pgdate"
    13  	_ "github.com/gogo/protobuf/gogoproto"
    14  	proto "github.com/gogo/protobuf/proto"
    15  	_ "github.com/gogo/protobuf/types"
    16  	github_com_gogo_protobuf_types "github.com/gogo/protobuf/types"
    17  	io "io"
    18  	math "math"
    19  	math_bits "math/bits"
    20  	time "time"
    21  )
    22  
    23  // Reference imports to suppress errors if they are not otherwise used.
    24  var _ = proto.Marshal
    25  var _ = fmt.Errorf
    26  var _ = math.Inf
    27  var _ = time.Kitchen
    28  
    29  // This is a compile-time assertion to ensure that this generated file
    30  // is compatible with the proto package it is being compiled against.
    31  // A compilation error at this line likely means your copy of the
    32  // proto package needs to be updated.
    33  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    34  
    35  // VectorizeExecMode controls if an when the Executor executes queries using
    36  // the columnar execution engine.
    37  type VectorizeExecMode int32
    38  
    39  const (
    40  	// VectorizeUnset means the VectorizeExecMode wasn't explicitly set. Having
    41  	// the first enum value as zero is required by proto3. This is mapped to
    42  	// VectorizeOn.
    43  	VectorizeUnset VectorizeExecMode = 0
    44  	// VectorizeOn means that any supported queries will be run using the
    45  	// columnar execution.
    46  	VectorizeOn VectorizeExecMode = 2
    47  	// VectorizeExperimentalAlways means that we attempt to vectorize all
    48  	// queries; unsupported queries will fail. Mostly used for testing.
    49  	VectorizeExperimentalAlways VectorizeExecMode = 3
    50  	// VectorizeOff means that columnar execution is disabled.
    51  	VectorizeOff VectorizeExecMode = 4
    52  )
    53  
    54  var VectorizeExecMode_name = map[int32]string{
    55  	0: "unset",
    56  	2: "on",
    57  	3: "experimental_always",
    58  	4: "off",
    59  }
    60  
    61  var VectorizeExecMode_value = map[string]int32{
    62  	"unset":               0,
    63  	"on":                  2,
    64  	"experimental_always": 3,
    65  	"off":                 4,
    66  }
    67  
    68  func (VectorizeExecMode) EnumDescriptor() ([]byte, []int) {
    69  	return fileDescriptor_9fa1c5a4e61eec38, []int{0}
    70  }
    71  
    72  // SessionData contains session parameters that are easily serializable and are
    73  // required to be propagated to the remote nodes for the correct execution of
    74  // DistSQL flows.
    75  type SessionData struct {
    76  	// Database indicates the "current" database for the purpose of resolving
    77  	// names.
    78  	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
    79  	// ApplicationName is the name of the application running the current
    80  	// session. This can be used for logging and per-application statistics.
    81  	ApplicationName string `protobuf:"bytes,2,opt,name=application_name,json=applicationName,proto3" json:"application_name,omitempty"`
    82  	// User is the name of the user logged into the session.
    83  	UserProto github_com_cockroachdb_cockroach_pkg_security_username.SQLUsernameProto `protobuf:"bytes,3,opt,name=user_proto,json=userProto,proto3,casttype=github.com/cockroachdb/cockroachdb-parser/pkg/security/username.SQLUsernameProto" json:"user_proto,omitempty"`
    84  	// DataConversion gives access to the data conversion configuration.
    85  	DataConversionConfig DataConversionConfig `protobuf:"bytes,4,opt,name=data_conversion_config,json=dataConversionConfig,proto3" json:"data_conversion_config"`
    86  	// VectorizeMode indicates which kinds of queries to use vectorized execution
    87  	// engine for.
    88  	VectorizeMode VectorizeExecMode `protobuf:"varint,5,opt,name=vectorize_mode,json=vectorizeMode,proto3,enum=cockroach.sql.sessiondatapb.VectorizeExecMode" json:"vectorize_mode,omitempty"`
    89  	// TestingVectorizeInjectPanics indicates whether random panics are injected
    90  	// into the vectorized flow execution. The goal of such behavior is making
    91  	// sure that errors that are propagated as panics in the vectorized engine
    92  	// are caught in all scenarios.
    93  	TestingVectorizeInjectPanics bool `protobuf:"varint,6,opt,name=testing_vectorize_inject_panics,json=testingVectorizeInjectPanics,proto3" json:"testing_vectorize_inject_panics,omitempty"`
    94  	// DefaultIntSize specifies the size in bits or bytes (preferred) of how a
    95  	// "naked" INT type should be parsed.
    96  	DefaultIntSize int32 `protobuf:"varint,7,opt,name=default_int_size,json=defaultIntSize,proto3" json:"default_int_size,omitempty"`
    97  	// The name of the location according to whose current timezone we're going to
    98  	// parse timestamps. Used to initialize sessiondata.SessionData.Location on
    99  	// the remote nodes.
   100  	//
   101  	// Note that the current serialization of the time.Location objects as
   102  	// strings has many drawbacks which could lead to unstable computation on the
   103  	// remote nodes. See #36864 and
   104  	// https://github.com/cockroachdb/cockroachdb-parser/pull/55377#issuecomment-707794695
   105  	// for more details.
   106  	Location string `protobuf:"bytes,8,opt,name=location,proto3" json:"location,omitempty"`
   107  	// SearchPath is a list of namespaces to search builtins in. Used to
   108  	// initialize sessiondata.SessionData.SearchPath on the remote nodes.
   109  	SearchPath          []string `protobuf:"bytes,9,rep,name=search_path,json=searchPath,proto3" json:"search_path,omitempty"`
   110  	TemporarySchemaName string   `protobuf:"bytes,10,opt,name=temporary_schema_name,json=temporarySchemaName,proto3" json:"temporary_schema_name,omitempty"`
   111  	// SeqState gives access to the SQL sequences that have been manipulated by
   112  	// the session.
   113  	SeqState SequenceState `protobuf:"bytes,11,opt,name=seq_state,json=seqState,proto3" json:"seq_state"`
   114  	// WorkMemLimit determines how much RAM (in bytes) a single operation of a
   115  	// single query can use before it has to spill to disk.
   116  	WorkMemLimit int64 `protobuf:"varint,12,opt,name=WorkMemLimit,proto3" json:"WorkMemLimit,omitempty"`
   117  	// LockTimeout is the maximum amount of time that a query will wait while
   118  	// attempting to acquire a lock on a key or while blocking on an existing
   119  	// lock in order to perform a non-locking read on a key.
   120  	LockTimeout time.Duration `protobuf:"bytes,15,opt,name=lock_timeout,json=lockTimeout,proto3,stdduration" json:"lock_timeout"`
   121  	// Internal is true if this query came from InternalExecutor or an internal
   122  	// planner.
   123  	Internal bool `protobuf:"varint,16,opt,name=internal,proto3" json:"internal,omitempty"`
   124  	// OnUpdateRehomeRowEnabled controls whether the ON UPDATE rehome_row()
   125  	// will actually trigger on row updates.
   126  	OnUpdateRehomeRowEnabled bool `protobuf:"varint,17,opt,name=on_update_rehome_row_enabled,json=onUpdateRehomeRowEnabled,proto3" json:"on_update_rehome_row_enabled,omitempty"`
   127  	// JoinReaderOrderingStrategyBatchSize is the size limit on the input rows to
   128  	// the joinReader processor (when ordering is required to be maintained) to
   129  	// construct a single lookup KV batch.
   130  	JoinReaderOrderingStrategyBatchSize int64 `protobuf:"varint,18,opt,name=join_reader_ordering_strategy_batch_size,json=joinReaderOrderingStrategyBatchSize,proto3" json:"join_reader_ordering_strategy_batch_size,omitempty"`
   131  	// ParallelizeMultiKeyLookupJoinsEnabled is true when the join reader should
   132  	// parallelize lookup batches under all circumstances. Enabling this will
   133  	// increase the speed of lookup joins when each input row might get multiple
   134  	// looked up rows at the cost of increased memory usage.
   135  	ParallelizeMultiKeyLookupJoinsEnabled bool `protobuf:"varint,19,opt,name=parallelize_multi_key_lookup_joins_enabled,json=parallelizeMultiKeyLookupJoinsEnabled,proto3" json:"parallelize_multi_key_lookup_joins_enabled,omitempty"`
   136  	// TrigramSimilarityThreshold configures the value that's used to compare
   137  	// trigram similarities to in order to evaluate the string % string overload.
   138  	TrigramSimilarityThreshold float64 `protobuf:"fixed64,20,opt,name=trigram_similarity_threshold,json=trigramSimilarityThreshold,proto3" json:"trigram_similarity_threshold,omitempty"`
   139  	// Troubleshooting mode determines whether we refuse to do additional work
   140  	// with the query (i.e. collect & emit telemetry data). Troubleshooting mode
   141  	// is disabled by default.
   142  	TroubleshootingMode bool `protobuf:"varint,21,opt,name=troubleshooting_mode,json=troubleshootingMode,proto3" json:"troubleshooting_mode,omitempty"`
   143  	// JoinReaderNoOrderingStrategyBatchSize is the size limit on the input rows
   144  	// to the joinReader processor (when ordering is **not** required to be
   145  	// maintained) to construct a single lookup KV batch.
   146  	JoinReaderNoOrderingStrategyBatchSize int64 `protobuf:"varint,22,opt,name=join_reader_no_ordering_strategy_batch_size,json=joinReaderNoOrderingStrategyBatchSize,proto3" json:"join_reader_no_ordering_strategy_batch_size,omitempty"`
   147  	// JoinReaderIndexJoinStrategyBatchSize is the size limit on the input rows
   148  	// to the joinReader processor (when performing index joins) to construct a
   149  	// single lookup KV batch.
   150  	JoinReaderIndexJoinStrategyBatchSize int64 `protobuf:"varint,23,opt,name=join_reader_index_join_strategy_batch_size,json=joinReaderIndexJoinStrategyBatchSize,proto3" json:"join_reader_index_join_strategy_batch_size,omitempty"`
   151  	// IndexJoinStreamerBatchSize is the size limit on the input rows to the
   152  	// ColIndexJoin operator (when it is using the Streamer API) to construct a
   153  	// single lookup KV batch.
   154  	IndexJoinStreamerBatchSize int64 `protobuf:"varint,24,opt,name=index_join_streamer_batch_size,json=indexJoinStreamerBatchSize,proto3" json:"index_join_streamer_batch_size,omitempty"`
   155  	// DirectColumnarScansEnabled indicates whether the COL_BATCH_RESPONSE scan
   156  	// format should be used for ScanRequests and ReverseScanRequests whenever
   157  	// possible.
   158  	DirectColumnarScansEnabled bool `protobuf:"varint,25,opt,name=direct_columnar_scans_enabled,json=directColumnarScansEnabled,proto3" json:"direct_columnar_scans_enabled,omitempty"`
   159  	// DefaultTextSearchConfig configures the default text search configuration
   160  	// that is used for builtins like to_tsvector and to_tsquery if no
   161  	// text search configuration is explicitly passed in.
   162  	DefaultTextSearchConfig string `protobuf:"bytes,26,opt,name=default_text_search_config,json=defaultTextSearchConfig,proto3" json:"default_text_search_config,omitempty"`
   163  	// StreamerAlwaysMaintainOrdering indicates that the SQL users of the Streamer
   164  	// should always ask it to maintain the ordering, even when it might not be
   165  	// strictly necessary for the query.
   166  	//
   167  	// This session variable is introduced as a possible workaround in case we
   168  	// have more bugs like #113013.
   169  	StreamerAlwaysMaintainOrdering bool `protobuf:"varint,27,opt,name=streamer_always_maintain_ordering,json=streamerAlwaysMaintainOrdering,proto3" json:"streamer_always_maintain_ordering,omitempty"`
   170  	// StreamerInOrderEagerMemoryUsageFraction controls the fraction of the
   171  	// streamer's memory budget that might be used for issuing requests eagerly,
   172  	// in the InOrder mode.
   173  	StreamerInOrderEagerMemoryUsageFraction float64 `protobuf:"fixed64,28,opt,name=streamer_in_order_eager_memory_usage_fraction,json=streamerInOrderEagerMemoryUsageFraction,proto3" json:"streamer_in_order_eager_memory_usage_fraction,omitempty"`
   174  	// StreamerOutOfOrderEagerMemoryUsageFraction controls the fraction of the
   175  	// streamer's memory budget that might be used for issuing requests eagerly,
   176  	// in the OutOfOrder mode.
   177  	StreamerOutOfOrderEagerMemoryUsageFraction float64 `protobuf:"fixed64,29,opt,name=streamer_out_of_order_eager_memory_usage_fraction,json=streamerOutOfOrderEagerMemoryUsageFraction,proto3" json:"streamer_out_of_order_eager_memory_usage_fraction,omitempty"`
   178  	// StreamerHeadOfLineOnlyFraction controls the fraction of the available
   179  	// streamer's memory budget that will be used to set the TargetBytes limit on
   180  	// head-of-the-line request in case the "eager" memory usage limit has been
   181  	// exceeded.
   182  	StreamerHeadOfLineOnlyFraction float64 `protobuf:"fixed64,30,opt,name=streamer_head_of_line_only_fraction,json=streamerHeadOfLineOnlyFraction,proto3" json:"streamer_head_of_line_only_fraction,omitempty"`
   183  	// DistSQLPlanGatewayBias controls the factor of times more partition spans
   184  	// the gateway node is allowed to be assigned in the absence of a better
   185  	// choice relative to the distribution of partition spans on other eligible
   186  	// instances. Refer to `shouldPickGateway` for more details.
   187  	//
   188  	// This field is in SessionData because that is the format in which a job
   189  	// serializes and stores session variables at the time of job creation. A job
   190  	// could be adopted by any node in the cluster (not necessarily the gateway)
   191  	// and so we will need this information available on all nodes.
   192  	DistsqlPlanGatewayBias int64 `protobuf:"varint,31,opt,name=distsql_plan_gateway_bias,json=distsqlPlanGatewayBias,proto3" json:"distsql_plan_gateway_bias,omitempty"`
   193  }
   194  
   195  func (m *SessionData) Reset()         { *m = SessionData{} }
   196  func (m *SessionData) String() string { return proto.CompactTextString(m) }
   197  func (*SessionData) ProtoMessage()    {}
   198  func (*SessionData) Descriptor() ([]byte, []int) {
   199  	return fileDescriptor_9fa1c5a4e61eec38, []int{0}
   200  }
   201  func (m *SessionData) XXX_Unmarshal(b []byte) error {
   202  	return m.Unmarshal(b)
   203  }
   204  func (m *SessionData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   205  	b = b[:cap(b)]
   206  	n, err := m.MarshalToSizedBuffer(b)
   207  	if err != nil {
   208  		return nil, err
   209  	}
   210  	return b[:n], nil
   211  }
   212  func (m *SessionData) XXX_Merge(src proto.Message) {
   213  	xxx_messageInfo_SessionData.Merge(m, src)
   214  }
   215  func (m *SessionData) XXX_Size() int {
   216  	return m.Size()
   217  }
   218  func (m *SessionData) XXX_DiscardUnknown() {
   219  	xxx_messageInfo_SessionData.DiscardUnknown(m)
   220  }
   221  
   222  var xxx_messageInfo_SessionData proto.InternalMessageInfo
   223  
   224  // DataConversionConfig contains the parameters that influence the output
   225  // of certain data types as strings or bytes.
   226  type DataConversionConfig struct {
   227  	// BytesEncodeFormat indicates how to encode byte arrays when converting to
   228  	// string.
   229  	BytesEncodeFormat lex.BytesEncodeFormat `protobuf:"varint,1,opt,name=bytes_encode_format,json=bytesEncodeFormat,proto3,enum=cockroach.sql.sessiondatapb.BytesEncodeFormat" json:"bytes_encode_format,omitempty"`
   230  	// ExtraFloatDigits indicates the number of digits beyond the standard number
   231  	// to use for float conversions.This must be set to a value between -15 and
   232  	// 3, inclusive.
   233  	ExtraFloatDigits int32 `protobuf:"varint,2,opt,name=extra_float_digits,json=extraFloatDigits,proto3" json:"extra_float_digits,omitempty"`
   234  	// IntervalStyle indicates the style to parse and display intervals as.
   235  	IntervalStyle duration.IntervalStyle `protobuf:"varint,3,opt,name=interval_style,json=intervalStyle,proto3,enum=cockroach.util.duration.IntervalStyle" json:"interval_style,omitempty"`
   236  	// DateStyle indicates the style to parse and display dates as.
   237  	DateStyle pgdate.DateStyle `protobuf:"bytes,4,opt,name=date_style,json=dateStyle,proto3" json:"date_style"`
   238  }
   239  
   240  func (m *DataConversionConfig) Reset()         { *m = DataConversionConfig{} }
   241  func (m *DataConversionConfig) String() string { return proto.CompactTextString(m) }
   242  func (*DataConversionConfig) ProtoMessage()    {}
   243  func (*DataConversionConfig) Descriptor() ([]byte, []int) {
   244  	return fileDescriptor_9fa1c5a4e61eec38, []int{1}
   245  }
   246  func (m *DataConversionConfig) XXX_Unmarshal(b []byte) error {
   247  	return m.Unmarshal(b)
   248  }
   249  func (m *DataConversionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   250  	b = b[:cap(b)]
   251  	n, err := m.MarshalToSizedBuffer(b)
   252  	if err != nil {
   253  		return nil, err
   254  	}
   255  	return b[:n], nil
   256  }
   257  func (m *DataConversionConfig) XXX_Merge(src proto.Message) {
   258  	xxx_messageInfo_DataConversionConfig.Merge(m, src)
   259  }
   260  func (m *DataConversionConfig) XXX_Size() int {
   261  	return m.Size()
   262  }
   263  func (m *DataConversionConfig) XXX_DiscardUnknown() {
   264  	xxx_messageInfo_DataConversionConfig.DiscardUnknown(m)
   265  }
   266  
   267  var xxx_messageInfo_DataConversionConfig proto.InternalMessageInfo
   268  
   269  // SequenceState is used to marshall the sessiondata.SequenceState struct.
   270  type SequenceState struct {
   271  	Seqs []*SequenceState_Seq `protobuf:"bytes,1,rep,name=seqs,proto3" json:"seqs,omitempty"`
   272  	// last_seq_incremented is the id of the last sequence incremented by the
   273  	// session. This field is filled in iff seqs is not empty.
   274  	LastSeqIncremented uint32 `protobuf:"varint,2,opt,name=last_seq_incremented,json=lastSeqIncremented,proto3" json:"last_seq_incremented,omitempty"`
   275  }
   276  
   277  func (m *SequenceState) Reset()         { *m = SequenceState{} }
   278  func (m *SequenceState) String() string { return proto.CompactTextString(m) }
   279  func (*SequenceState) ProtoMessage()    {}
   280  func (*SequenceState) Descriptor() ([]byte, []int) {
   281  	return fileDescriptor_9fa1c5a4e61eec38, []int{2}
   282  }
   283  func (m *SequenceState) XXX_Unmarshal(b []byte) error {
   284  	return m.Unmarshal(b)
   285  }
   286  func (m *SequenceState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   287  	b = b[:cap(b)]
   288  	n, err := m.MarshalToSizedBuffer(b)
   289  	if err != nil {
   290  		return nil, err
   291  	}
   292  	return b[:n], nil
   293  }
   294  func (m *SequenceState) XXX_Merge(src proto.Message) {
   295  	xxx_messageInfo_SequenceState.Merge(m, src)
   296  }
   297  func (m *SequenceState) XXX_Size() int {
   298  	return m.Size()
   299  }
   300  func (m *SequenceState) XXX_DiscardUnknown() {
   301  	xxx_messageInfo_SequenceState.DiscardUnknown(m)
   302  }
   303  
   304  var xxx_messageInfo_SequenceState proto.InternalMessageInfo
   305  
   306  // Seq represents the last value of one sequence modified by the session.
   307  type SequenceState_Seq struct {
   308  	SeqID     uint32 `protobuf:"varint,1,opt,name=seq_id,json=seqId,proto3" json:"seq_id,omitempty"`
   309  	LatestVal int64  `protobuf:"varint,2,opt,name=latest_val,json=latestVal,proto3" json:"latest_val,omitempty"`
   310  }
   311  
   312  func (m *SequenceState_Seq) Reset()         { *m = SequenceState_Seq{} }
   313  func (m *SequenceState_Seq) String() string { return proto.CompactTextString(m) }
   314  func (*SequenceState_Seq) ProtoMessage()    {}
   315  func (*SequenceState_Seq) Descriptor() ([]byte, []int) {
   316  	return fileDescriptor_9fa1c5a4e61eec38, []int{2, 0}
   317  }
   318  func (m *SequenceState_Seq) XXX_Unmarshal(b []byte) error {
   319  	return m.Unmarshal(b)
   320  }
   321  func (m *SequenceState_Seq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   322  	b = b[:cap(b)]
   323  	n, err := m.MarshalToSizedBuffer(b)
   324  	if err != nil {
   325  		return nil, err
   326  	}
   327  	return b[:n], nil
   328  }
   329  func (m *SequenceState_Seq) XXX_Merge(src proto.Message) {
   330  	xxx_messageInfo_SequenceState_Seq.Merge(m, src)
   331  }
   332  func (m *SequenceState_Seq) XXX_Size() int {
   333  	return m.Size()
   334  }
   335  func (m *SequenceState_Seq) XXX_DiscardUnknown() {
   336  	xxx_messageInfo_SequenceState_Seq.DiscardUnknown(m)
   337  }
   338  
   339  var xxx_messageInfo_SequenceState_Seq proto.InternalMessageInfo
   340  
   341  func init() {
   342  	proto.RegisterEnum("cockroach.parser.sql.sessiondatapb.VectorizeExecMode", VectorizeExecMode_name, VectorizeExecMode_value)
   343  	proto.RegisterType((*SessionData)(nil), "cockroach.parser.sql.sessiondatapb.SessionData")
   344  	proto.RegisterType((*DataConversionConfig)(nil), "cockroach.parser.sql.sessiondatapb.DataConversionConfig")
   345  	proto.RegisterType((*SequenceState)(nil), "cockroach.parser.sql.sessiondatapb.SequenceState")
   346  	proto.RegisterType((*SequenceState_Seq)(nil), "cockroach.parser.sql.sessiondatapb.SequenceState.Seq")
   347  }
   348  
   349  func init() {
   350  	proto.RegisterFile("sql/sessiondatapb/session_data.proto", fileDescriptor_9fa1c5a4e61eec38)
   351  }
   352  
   353  var fileDescriptor_9fa1c5a4e61eec38 = []byte{
   354  	// 1509 bytes of a gzipped FileDescriptorProto
   355  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0x41, 0x73, 0x1b, 0xb7,
   356  	0x15, 0xd6, 0x9a, 0x92, 0x4b, 0x42, 0x16, 0x45, 0x43, 0x8a, 0xbd, 0xa6, 0x65, 0x92, 0x51, 0x92,
   357  	0x96, 0x51, 0x5b, 0xb2, 0x76, 0x67, 0x3a, 0xed, 0x74, 0xa6, 0xd3, 0xd0, 0x92, 0x52, 0xda, 0x96,
   358  	0xe5, 0x2e, 0xad, 0x34, 0xcd, 0x21, 0x18, 0x70, 0xf7, 0x91, 0x84, 0x85, 0x05, 0x48, 0x00, 0x6b,
   359  	0x8b, 0xfe, 0x05, 0x1d, 0x9f, 0x7a, 0xec, 0x45, 0xa7, 0xf6, 0xd0, 0x63, 0xff, 0x43, 0x67, 0x3a,
   360  	0xbe, 0x74, 0x26, 0xc7, 0x9c, 0xdc, 0x56, 0xfe, 0x17, 0x3d, 0x75, 0x80, 0x5d, 0x2e, 0x29, 0xc5,
   361  	0x55, 0x72, 0xe2, 0x02, 0xef, 0xfb, 0xbe, 0xf7, 0xf8, 0x1e, 0x1e, 0xf0, 0xd0, 0x87, 0x7a, 0xc2,
   362  	0xdb, 0x1a, 0xb4, 0x66, 0x52, 0x44, 0xd4, 0xd0, 0x71, 0x7f, 0xb6, 0x22, 0x76, 0xd9, 0x1a, 0x2b,
   363  	0x69, 0x24, 0xbe, 0x1d, 0xca, 0xf0, 0x58, 0x49, 0x1a, 0x8e, 0x5a, 0x7a, 0xc2, 0x5b, 0xe7, 0xf0,
   364  	0xd5, 0x4d, 0x2b, 0xc1, 0xe1, 0xa4, 0x0d, 0x22, 0x94, 0x11, 0xa4, 0x94, 0xea, 0x56, 0x62, 0x18,
   365  	0x6f, 0x47, 0x89, 0xa2, 0x86, 0x49, 0x91, 0x7f, 0x64, 0xd6, 0xf7, 0x9d, 0xd5, 0xb0, 0x18, 0xdc,
   366  	0xc7, 0x78, 0x18, 0x51, 0x03, 0xd9, 0x4f, 0x06, 0xd9, 0x1c, 0xca, 0xa1, 0x74, 0x9f, 0x6d, 0xfb,
   367  	0x95, 0xed, 0xd6, 0x86, 0x52, 0x0e, 0x39, 0xb4, 0xdd, 0xaa, 0x9f, 0x0c, 0x2e, 0x08, 0x6f, 0xff,
   368  	0x63, 0x1d, 0xad, 0xf6, 0xd2, 0xf0, 0x76, 0xa9, 0xa1, 0xb8, 0x8a, 0x8a, 0x36, 0xcc, 0x3e, 0xd5,
   369  	0xe0, 0x7b, 0x0d, 0xaf, 0x59, 0x0a, 0xf2, 0x35, 0xfe, 0x18, 0x55, 0xe8, 0x78, 0xcc, 0x59, 0xe8,
   370  	0x04, 0x88, 0xa0, 0x31, 0xf8, 0x57, 0x1c, 0x66, 0x7d, 0x61, 0xff, 0x31, 0x8d, 0x01, 0x3f, 0x43,
   371  	0x28, 0xd1, 0xa0, 0x88, 0x73, 0xe2, 0x17, 0x2c, 0xa8, 0xf3, 0xf0, 0xbf, 0x6f, 0xea, 0x9f, 0x0e,
   372  	0x99, 0x19, 0x25, 0xfd, 0x56, 0x28, 0xe3, 0x76, 0x9e, 0xa3, 0xa8, 0x3f, 0xff, 0x6e, 0x8f, 0x8f,
   373  	0x87, 0x6d, 0x0d, 0x61, 0xa2, 0x98, 0x99, 0xb6, 0xad, 0x86, 0x75, 0xd3, 0xea, 0xfd, 0xf6, 0xd1,
   374  	0x51, 0xf6, 0xfd, 0xc4, 0x4a, 0x06, 0x25, 0x6b, 0x72, 0x9f, 0x38, 0x46, 0x37, 0x6c, 0x88, 0x24,
   375  	0x94, 0xe2, 0x39, 0x28, 0x57, 0x8a, 0x50, 0x8a, 0x01, 0x1b, 0xfa, 0xcb, 0x0d, 0xaf, 0xb9, 0x7a,
   376  	0xef, 0x6e, 0xeb, 0x92, 0x6a, 0xb4, 0xec, 0xbf, 0xbe, 0x9f, 0x33, 0xef, 0x3b, 0x62, 0x67, 0xf9,
   377  	0xf5, 0x9b, 0xfa, 0x52, 0xb0, 0x19, 0xbd, 0xc3, 0x86, 0x8f, 0x50, 0xf9, 0x39, 0x84, 0x46, 0x2a,
   378  	0xf6, 0x12, 0x48, 0x2c, 0x23, 0xf0, 0x57, 0x1a, 0x5e, 0xb3, 0x7c, 0xaf, 0x75, 0xa9, 0x9b, 0xcf,
   379  	0x66, 0x94, 0xbd, 0x13, 0x08, 0x0f, 0x64, 0x04, 0xc1, 0x5a, 0xae, 0x62, 0x97, 0x78, 0x0f, 0xd5,
   380  	0x0d, 0x68, 0xc3, 0xc4, 0x90, 0xcc, 0xe5, 0x99, 0x78, 0x06, 0xa1, 0x21, 0x63, 0x2a, 0x58, 0xa8,
   381  	0xfd, 0xab, 0x0d, 0xaf, 0x59, 0x0c, 0xb6, 0x32, 0x58, 0xae, 0xd8, 0x75, 0xa0, 0x27, 0x0e, 0x83,
   382  	0x9b, 0xa8, 0x12, 0xc1, 0x80, 0x26, 0xdc, 0x10, 0x26, 0x0c, 0xd1, 0xec, 0x25, 0xf8, 0xdf, 0x6b,
   383  	0x78, 0xcd, 0x95, 0xa0, 0x9c, 0xed, 0x77, 0x85, 0xe9, 0xb1, 0x97, 0x60, 0x2b, 0xcd, 0x65, 0x5a,
   384  	0x32, 0xbf, 0x98, 0x56, 0x7a, 0xb6, 0xc6, 0x75, 0xb4, 0xaa, 0x81, 0xaa, 0x70, 0x44, 0xc6, 0xd4,
   385  	0x8c, 0xfc, 0x52, 0xa3, 0xd0, 0x2c, 0x05, 0x28, 0xdd, 0x7a, 0x42, 0xcd, 0x08, 0xdf, 0x43, 0xef,
   386  	0x19, 0x88, 0xc7, 0x52, 0x51, 0x35, 0x25, 0x3a, 0x1c, 0x41, 0x4c, 0xd3, 0xf3, 0x80, 0x9c, 0xd2,
   387  	0x46, 0x6e, 0xec, 0x39, 0x9b, 0x3b, 0x13, 0x07, 0xa8, 0xa4, 0x61, 0x42, 0xb4, 0xa1, 0x06, 0xfc,
   388  	0x55, 0x57, 0x9a, 0x9d, 0x4b, 0x73, 0xd6, 0x83, 0x49, 0x02, 0x22, 0x84, 0x9e, 0x65, 0x64, 0x35,
   389  	0x29, 0x6a, 0x98, 0xb8, 0x35, 0xde, 0x46, 0xd7, 0x7e, 0x27, 0xd5, 0xf1, 0x01, 0xc4, 0x8f, 0x58,
   390  	0xcc, 0x8c, 0x7f, 0xad, 0xe1, 0x35, 0x0b, 0xc1, 0xb9, 0x3d, 0xbc, 0x8f, 0xae, 0x71, 0x19, 0x1e,
   391  	0x13, 0xdb, 0x38, 0x32, 0x31, 0xfe, 0xba, 0xf3, 0x7a, 0xab, 0x95, 0x36, 0x45, 0x6b, 0xd6, 0x14,
   392  	0xad, 0xdd, 0xac, 0x29, 0x3a, 0x45, 0xeb, 0xe4, 0x4f, 0xff, 0xaa, 0x7b, 0xc1, 0xaa, 0x25, 0x3e,
   393  	0x4d, 0x79, 0x36, 0x57, 0x4c, 0x18, 0x7b, 0xfe, 0xb8, 0x5f, 0x71, 0x55, 0xc8, 0xd7, 0xf8, 0x57,
   394  	0x68, 0x4b, 0x0a, 0x92, 0x8c, 0x6d, 0x2b, 0x12, 0x05, 0x23, 0x19, 0x03, 0x51, 0xf2, 0x05, 0x01,
   395  	0x41, 0xfb, 0x1c, 0x22, 0xff, 0xba, 0xc3, 0xfb, 0x52, 0x1c, 0x39, 0x48, 0xe0, 0x10, 0x81, 0x7c,
   396  	0xb1, 0x97, 0xda, 0xf1, 0x11, 0x6a, 0x3e, 0x93, 0x4c, 0x10, 0x05, 0x34, 0x02, 0x45, 0xa4, 0x8a,
   397  	0x40, 0xd9, 0x53, 0xa0, 0x8d, 0xa2, 0x06, 0x86, 0x53, 0xd2, 0xa7, 0x26, 0x1c, 0xa5, 0x95, 0xc4,
   398  	0xee, 0x3f, 0x7e, 0x60, 0xf1, 0x81, 0x83, 0x1f, 0x66, 0xe8, 0x5e, 0x06, 0xee, 0x58, 0xac, 0x2b,
   399  	0xef, 0xef, 0xd1, 0xce, 0x98, 0x2a, 0xca, 0x39, 0x70, 0x77, 0x50, 0x13, 0x6e, 0x18, 0x39, 0x86,
   400  	0x29, 0xe1, 0x52, 0x1e, 0x27, 0x63, 0x62, 0x35, 0x74, 0x1e, 0xe4, 0x86, 0x0b, 0xf2, 0xa3, 0x05,
   401  	0xc6, 0x81, 0x25, 0x3c, 0x84, 0xe9, 0x23, 0x07, 0x7f, 0x60, 0xd1, 0xb3, 0x88, 0x7f, 0x8d, 0xb6,
   402  	0x8c, 0x62, 0x43, 0x45, 0x63, 0xa2, 0x59, 0xcc, 0x38, 0xb5, 0xbd, 0x4a, 0xcc, 0x48, 0x81, 0x1e,
   403  	0x49, 0x1e, 0xf9, 0x9b, 0x0d, 0xaf, 0xe9, 0x05, 0xd5, 0x0c, 0xd3, 0xcb, 0x21, 0x4f, 0x67, 0x08,
   404  	0x7c, 0x17, 0x6d, 0x1a, 0x25, 0x93, 0x3e, 0xb7, 0x6b, 0xe9, 0x0e, 0xbd, 0xeb, 0xa4, 0xf7, 0x5c,
   405  	0x18, 0x1b, 0x17, 0x6c, 0xae, 0x3f, 0xbe, 0x40, 0x3f, 0x5c, 0x4c, 0x93, 0x90, 0x97, 0x67, 0xea,
   406  	0x86, 0xcb, 0xd4, 0x47, 0xf3, 0x4c, 0x3d, 0x96, 0xff, 0x3f, 0x57, 0x9f, 0xa3, 0x9d, 0x45, 0x6d,
   407  	0x26, 0x22, 0x38, 0x71, 0x09, 0x7a, 0xa7, 0xf4, 0x4d, 0x27, 0xfd, 0xe1, 0x5c, 0xba, 0x6b, 0xf1,
   408  	0x36, 0x43, 0xdf, 0x54, 0xee, 0xa0, 0xda, 0x79, 0x35, 0xa0, 0x31, 0xa8, 0x45, 0x35, 0xdf, 0xa9,
   409  	0x55, 0xd9, 0x82, 0x86, 0xc3, 0xcc, 0x35, 0x3e, 0x41, 0x77, 0x22, 0xa6, 0xec, 0x3d, 0x10, 0x4a,
   410  	0x9e, 0xc4, 0x82, 0x2a, 0xa2, 0x43, 0xba, 0x50, 0xbc, 0x5b, 0x2e, 0x6b, 0xd5, 0x14, 0x74, 0x3f,
   411  	0xc3, 0xf4, 0x2c, 0x64, 0x56, 0xb1, 0x5f, 0xa2, 0xea, 0xec, 0x56, 0x30, 0x70, 0x62, 0x48, 0xd6,
   412  	0xdc, 0xd9, 0x35, 0x59, 0x75, 0x3d, 0x7b, 0x33, 0x43, 0x3c, 0x85, 0x13, 0xd3, 0x73, 0xf6, 0xec,
   413  	0xc2, 0xeb, 0xa2, 0xf7, 0xf3, 0xc0, 0x29, 0x7f, 0x41, 0xa7, 0x9a, 0xc4, 0x94, 0x09, 0x43, 0x99,
   414  	0xc8, 0x6b, 0xe0, 0xdf, 0x76, 0x31, 0xd4, 0x66, 0xc0, 0x4f, 0x1c, 0xee, 0x20, 0x83, 0xcd, 0x32,
   415  	0x8f, 0xbf, 0x44, 0x3f, 0xce, 0xa5, 0x66, 0x6c, 0x02, 0x74, 0x08, 0x8a, 0xc4, 0x10, 0x4b, 0x35,
   416  	0x25, 0x89, 0xa6, 0x43, 0x20, 0x03, 0x45, 0x43, 0x77, 0x31, 0x6d, 0xb9, 0xa3, 0xf4, 0x83, 0x19,
   417  	0xa9, 0x9b, 0x4a, 0xed, 0x59, 0xc6, 0x81, 0x23, 0x1c, 0x59, 0xfc, 0x7e, 0x06, 0xc7, 0x80, 0xee,
   418  	0xe6, 0xfa, 0x32, 0x31, 0x44, 0x0e, 0xbe, 0x83, 0x8f, 0x3b, 0xce, 0xc7, 0xce, 0x8c, 0x78, 0x98,
   419  	0x98, 0xc3, 0xc1, 0xe5, 0x6e, 0x1e, 0xa2, 0x0f, 0x72, 0x37, 0x23, 0xa0, 0x91, 0xf5, 0xc3, 0x99,
   420  	0x00, 0x22, 0x05, 0x9f, 0xce, 0x85, 0x6b, 0x4e, 0x38, 0xcf, 0xc9, 0x6f, 0x80, 0x46, 0x87, 0x83,
   421  	0x47, 0x4c, 0xc0, 0xa1, 0xe0, 0xd3, 0x5c, 0xec, 0x17, 0xe8, 0x56, 0xc4, 0xb4, 0xd1, 0x13, 0x4e,
   422  	0xc6, 0x9c, 0x0a, 0x32, 0xa4, 0x06, 0x5e, 0xd0, 0x29, 0xe9, 0x33, 0xaa, 0xfd, 0xba, 0x3b, 0x1d,
   423  	0x37, 0x32, 0xc0, 0x13, 0x4e, 0xc5, 0xa7, 0xa9, 0xb9, 0xc3, 0xa8, 0x7e, 0xb0, 0x5c, 0x5c, 0xab,
   424  	0x94, 0x1f, 0x2c, 0x17, 0xcb, 0x95, 0xf5, 0xed, 0xbf, 0x5f, 0x41, 0x9b, 0xef, 0x7a, 0xcb, 0xf0,
   425  	0x97, 0x68, 0xa3, 0x3f, 0x35, 0x60, 0x8f, 0x8b, 0x1d, 0x37, 0xc8, 0x40, 0xaa, 0x98, 0x1a, 0xf7,
   426  	0xb8, 0x7f, 0xdb, 0xa3, 0xd5, 0xb1, 0xbc, 0x3d, 0x47, 0xdb, 0x77, 0xac, 0xe0, 0x7a, 0xff, 0xe2,
   427  	0x16, 0xfe, 0x11, 0xc2, 0x70, 0x62, 0x14, 0x25, 0x03, 0x2e, 0xa9, 0x21, 0x11, 0x1b, 0x32, 0xa3,
   428  	0xdd, 0x5c, 0xb0, 0x12, 0x54, 0x9c, 0x65, 0xdf, 0x1a, 0x76, 0xdd, 0x3e, 0x3e, 0x40, 0x65, 0x77,
   429  	0x73, 0x3e, 0xa7, 0x9c, 0x68, 0x33, 0xe5, 0xe0, 0x86, 0x83, 0xf2, 0xbd, 0xef, 0x2f, 0x04, 0x62,
   430  	0x47, 0x9c, 0x56, 0x3e, 0xa7, 0x74, 0x33, 0x78, 0xcf, 0xa2, 0x83, 0x35, 0xb6, 0xb8, 0xc4, 0x8f,
   431  	0x11, 0x72, 0xf7, 0x6e, 0x2a, 0x95, 0xbe, 0xf7, 0x1f, 0x5f, 0x94, 0x9a, 0x8d, 0x4d, 0xad, 0x6c,
   432  	0x5e, 0xda, 0xa5, 0x06, 0x1c, 0x3d, 0x7b, 0x53, 0x4a, 0xd1, 0x6c, 0x63, 0xfb, 0x9f, 0x1e, 0x5a,
   433  	0x3b, 0xf7, 0xec, 0xe0, 0x0e, 0x5a, 0xd6, 0x30, 0xd1, 0xbe, 0xd7, 0x28, 0x34, 0x57, 0xbf, 0x25,
   434  	0x5f, 0xe7, 0x98, 0x76, 0x15, 0x38, 0x2e, 0xfe, 0x09, 0xda, 0xe4, 0x54, 0xdb, 0xb6, 0x9b, 0x10,
   435  	0x26, 0x42, 0x05, 0x31, 0x08, 0x03, 0x91, 0x4b, 0xd2, 0x5a, 0x80, 0xad, 0xad, 0x07, 0x93, 0xee,
   436  	0xdc, 0x52, 0xdd, 0x47, 0x85, 0x1e, 0x4c, 0x70, 0x03, 0x5d, 0x75, 0x9c, 0xc8, 0x95, 0x6b, 0xad,
   437  	0x53, 0x3a, 0x7b, 0x53, 0x5f, 0xb1, 0xd0, 0xdd, 0x60, 0x45, 0xc3, 0xa4, 0x1b, 0xe1, 0x3b, 0x08,
   438  	0x71, 0x6a, 0x27, 0x02, 0xf2, 0x9c, 0x72, 0x27, 0x58, 0x08, 0x4a, 0xe9, 0xce, 0x67, 0x94, 0xef,
   439  	0xfc, 0xcd, 0x43, 0xd7, 0xbf, 0x31, 0x7a, 0xe0, 0x3b, 0x68, 0x25, 0x11, 0x1a, 0x4c, 0x65, 0xa9,
   440  	0x8a, 0x5f, 0x9d, 0x36, 0xca, 0x39, 0xe2, 0xc8, 0xee, 0xe2, 0x9b, 0xe8, 0x8a, 0x14, 0x95, 0x2b,
   441  	0xd5, 0xf5, 0x57, 0xa7, 0x8d, 0xd5, 0xdc, 0x76, 0x28, 0xf0, 0xcf, 0xd1, 0x06, 0x9c, 0x8c, 0x41,
   442  	0x31, 0x1b, 0x25, 0xe5, 0xd9, 0x6d, 0x50, 0x29, 0x54, 0xeb, 0xaf, 0x4e, 0x1b, 0xb7, 0x17, 0xfc,
   443  	0xcc, 0x31, 0xe9, 0x45, 0x80, 0x6f, 0xa1, 0x82, 0x1c, 0x0c, 0x2a, 0xcb, 0xd5, 0xca, 0xab, 0xd3,
   444  	0xc6, 0xb5, 0xb9, 0xe6, 0x60, 0x50, 0x2d, 0xfe, 0xe1, 0xcf, 0xb5, 0xa5, 0xbf, 0xfe, 0xa5, 0xb6,
   445  	0xb4, 0xbd, 0x5c, 0xf4, 0x2a, 0x5e, 0xe7, 0xf3, 0xd7, 0xff, 0xa9, 0x2d, 0xbd, 0x3e, 0xab, 0x79,
   446  	0x5f, 0x9d, 0xd5, 0xbc, 0xaf, 0xcf, 0x6a, 0xde, 0xbf, 0xcf, 0x6a, 0xde, 0x1f, 0xdf, 0xd6, 0x96,
   447  	0xbe, 0x7a, 0x5b, 0x5b, 0xfa, 0xfa, 0x6d, 0x6d, 0xe9, 0x8b, 0x9f, 0x7d, 0xb7, 0x21, 0xf2, 0xe2,
   448  	0xa0, 0xde, 0xbf, 0xea, 0xde, 0xfb, 0x9f, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x49, 0x61, 0x24,
   449  	0xe2, 0xc4, 0x0b, 0x00, 0x00,
   450  }
   451  
   452  func (m *SessionData) Marshal() (dAtA []byte, err error) {
   453  	size := m.Size()
   454  	dAtA = make([]byte, size)
   455  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   456  	if err != nil {
   457  		return nil, err
   458  	}
   459  	return dAtA[:n], nil
   460  }
   461  
   462  func (m *SessionData) MarshalTo(dAtA []byte) (int, error) {
   463  	size := m.Size()
   464  	return m.MarshalToSizedBuffer(dAtA[:size])
   465  }
   466  
   467  func (m *SessionData) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   468  	i := len(dAtA)
   469  	_ = i
   470  	var l int
   471  	_ = l
   472  	if m.DistsqlPlanGatewayBias != 0 {
   473  		i = encodeVarintSessionData(dAtA, i, uint64(m.DistsqlPlanGatewayBias))
   474  		i--
   475  		dAtA[i] = 0x1
   476  		i--
   477  		dAtA[i] = 0xf8
   478  	}
   479  	if m.StreamerHeadOfLineOnlyFraction != 0 {
   480  		i -= 8
   481  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.StreamerHeadOfLineOnlyFraction))))
   482  		i--
   483  		dAtA[i] = 0x1
   484  		i--
   485  		dAtA[i] = 0xf1
   486  	}
   487  	if m.StreamerOutOfOrderEagerMemoryUsageFraction != 0 {
   488  		i -= 8
   489  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.StreamerOutOfOrderEagerMemoryUsageFraction))))
   490  		i--
   491  		dAtA[i] = 0x1
   492  		i--
   493  		dAtA[i] = 0xe9
   494  	}
   495  	if m.StreamerInOrderEagerMemoryUsageFraction != 0 {
   496  		i -= 8
   497  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.StreamerInOrderEagerMemoryUsageFraction))))
   498  		i--
   499  		dAtA[i] = 0x1
   500  		i--
   501  		dAtA[i] = 0xe1
   502  	}
   503  	if m.StreamerAlwaysMaintainOrdering {
   504  		i--
   505  		if m.StreamerAlwaysMaintainOrdering {
   506  			dAtA[i] = 1
   507  		} else {
   508  			dAtA[i] = 0
   509  		}
   510  		i--
   511  		dAtA[i] = 0x1
   512  		i--
   513  		dAtA[i] = 0xd8
   514  	}
   515  	if len(m.DefaultTextSearchConfig) > 0 {
   516  		i -= len(m.DefaultTextSearchConfig)
   517  		copy(dAtA[i:], m.DefaultTextSearchConfig)
   518  		i = encodeVarintSessionData(dAtA, i, uint64(len(m.DefaultTextSearchConfig)))
   519  		i--
   520  		dAtA[i] = 0x1
   521  		i--
   522  		dAtA[i] = 0xd2
   523  	}
   524  	if m.DirectColumnarScansEnabled {
   525  		i--
   526  		if m.DirectColumnarScansEnabled {
   527  			dAtA[i] = 1
   528  		} else {
   529  			dAtA[i] = 0
   530  		}
   531  		i--
   532  		dAtA[i] = 0x1
   533  		i--
   534  		dAtA[i] = 0xc8
   535  	}
   536  	if m.IndexJoinStreamerBatchSize != 0 {
   537  		i = encodeVarintSessionData(dAtA, i, uint64(m.IndexJoinStreamerBatchSize))
   538  		i--
   539  		dAtA[i] = 0x1
   540  		i--
   541  		dAtA[i] = 0xc0
   542  	}
   543  	if m.JoinReaderIndexJoinStrategyBatchSize != 0 {
   544  		i = encodeVarintSessionData(dAtA, i, uint64(m.JoinReaderIndexJoinStrategyBatchSize))
   545  		i--
   546  		dAtA[i] = 0x1
   547  		i--
   548  		dAtA[i] = 0xb8
   549  	}
   550  	if m.JoinReaderNoOrderingStrategyBatchSize != 0 {
   551  		i = encodeVarintSessionData(dAtA, i, uint64(m.JoinReaderNoOrderingStrategyBatchSize))
   552  		i--
   553  		dAtA[i] = 0x1
   554  		i--
   555  		dAtA[i] = 0xb0
   556  	}
   557  	if m.TroubleshootingMode {
   558  		i--
   559  		if m.TroubleshootingMode {
   560  			dAtA[i] = 1
   561  		} else {
   562  			dAtA[i] = 0
   563  		}
   564  		i--
   565  		dAtA[i] = 0x1
   566  		i--
   567  		dAtA[i] = 0xa8
   568  	}
   569  	if m.TrigramSimilarityThreshold != 0 {
   570  		i -= 8
   571  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.TrigramSimilarityThreshold))))
   572  		i--
   573  		dAtA[i] = 0x1
   574  		i--
   575  		dAtA[i] = 0xa1
   576  	}
   577  	if m.ParallelizeMultiKeyLookupJoinsEnabled {
   578  		i--
   579  		if m.ParallelizeMultiKeyLookupJoinsEnabled {
   580  			dAtA[i] = 1
   581  		} else {
   582  			dAtA[i] = 0
   583  		}
   584  		i--
   585  		dAtA[i] = 0x1
   586  		i--
   587  		dAtA[i] = 0x98
   588  	}
   589  	if m.JoinReaderOrderingStrategyBatchSize != 0 {
   590  		i = encodeVarintSessionData(dAtA, i, uint64(m.JoinReaderOrderingStrategyBatchSize))
   591  		i--
   592  		dAtA[i] = 0x1
   593  		i--
   594  		dAtA[i] = 0x90
   595  	}
   596  	if m.OnUpdateRehomeRowEnabled {
   597  		i--
   598  		if m.OnUpdateRehomeRowEnabled {
   599  			dAtA[i] = 1
   600  		} else {
   601  			dAtA[i] = 0
   602  		}
   603  		i--
   604  		dAtA[i] = 0x1
   605  		i--
   606  		dAtA[i] = 0x88
   607  	}
   608  	if m.Internal {
   609  		i--
   610  		if m.Internal {
   611  			dAtA[i] = 1
   612  		} else {
   613  			dAtA[i] = 0
   614  		}
   615  		i--
   616  		dAtA[i] = 0x1
   617  		i--
   618  		dAtA[i] = 0x80
   619  	}
   620  	n1, err1 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.LockTimeout, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.LockTimeout):])
   621  	if err1 != nil {
   622  		return 0, err1
   623  	}
   624  	i -= n1
   625  	i = encodeVarintSessionData(dAtA, i, uint64(n1))
   626  	i--
   627  	dAtA[i] = 0x7a
   628  	if m.WorkMemLimit != 0 {
   629  		i = encodeVarintSessionData(dAtA, i, uint64(m.WorkMemLimit))
   630  		i--
   631  		dAtA[i] = 0x60
   632  	}
   633  	{
   634  		size, err := m.SeqState.MarshalToSizedBuffer(dAtA[:i])
   635  		if err != nil {
   636  			return 0, err
   637  		}
   638  		i -= size
   639  		i = encodeVarintSessionData(dAtA, i, uint64(size))
   640  	}
   641  	i--
   642  	dAtA[i] = 0x5a
   643  	if len(m.TemporarySchemaName) > 0 {
   644  		i -= len(m.TemporarySchemaName)
   645  		copy(dAtA[i:], m.TemporarySchemaName)
   646  		i = encodeVarintSessionData(dAtA, i, uint64(len(m.TemporarySchemaName)))
   647  		i--
   648  		dAtA[i] = 0x52
   649  	}
   650  	if len(m.SearchPath) > 0 {
   651  		for iNdEx := len(m.SearchPath) - 1; iNdEx >= 0; iNdEx-- {
   652  			i -= len(m.SearchPath[iNdEx])
   653  			copy(dAtA[i:], m.SearchPath[iNdEx])
   654  			i = encodeVarintSessionData(dAtA, i, uint64(len(m.SearchPath[iNdEx])))
   655  			i--
   656  			dAtA[i] = 0x4a
   657  		}
   658  	}
   659  	if len(m.Location) > 0 {
   660  		i -= len(m.Location)
   661  		copy(dAtA[i:], m.Location)
   662  		i = encodeVarintSessionData(dAtA, i, uint64(len(m.Location)))
   663  		i--
   664  		dAtA[i] = 0x42
   665  	}
   666  	if m.DefaultIntSize != 0 {
   667  		i = encodeVarintSessionData(dAtA, i, uint64(m.DefaultIntSize))
   668  		i--
   669  		dAtA[i] = 0x38
   670  	}
   671  	if m.TestingVectorizeInjectPanics {
   672  		i--
   673  		if m.TestingVectorizeInjectPanics {
   674  			dAtA[i] = 1
   675  		} else {
   676  			dAtA[i] = 0
   677  		}
   678  		i--
   679  		dAtA[i] = 0x30
   680  	}
   681  	if m.VectorizeMode != 0 {
   682  		i = encodeVarintSessionData(dAtA, i, uint64(m.VectorizeMode))
   683  		i--
   684  		dAtA[i] = 0x28
   685  	}
   686  	{
   687  		size, err := m.DataConversionConfig.MarshalToSizedBuffer(dAtA[:i])
   688  		if err != nil {
   689  			return 0, err
   690  		}
   691  		i -= size
   692  		i = encodeVarintSessionData(dAtA, i, uint64(size))
   693  	}
   694  	i--
   695  	dAtA[i] = 0x22
   696  	if len(m.UserProto) > 0 {
   697  		i -= len(m.UserProto)
   698  		copy(dAtA[i:], m.UserProto)
   699  		i = encodeVarintSessionData(dAtA, i, uint64(len(m.UserProto)))
   700  		i--
   701  		dAtA[i] = 0x1a
   702  	}
   703  	if len(m.ApplicationName) > 0 {
   704  		i -= len(m.ApplicationName)
   705  		copy(dAtA[i:], m.ApplicationName)
   706  		i = encodeVarintSessionData(dAtA, i, uint64(len(m.ApplicationName)))
   707  		i--
   708  		dAtA[i] = 0x12
   709  	}
   710  	if len(m.Database) > 0 {
   711  		i -= len(m.Database)
   712  		copy(dAtA[i:], m.Database)
   713  		i = encodeVarintSessionData(dAtA, i, uint64(len(m.Database)))
   714  		i--
   715  		dAtA[i] = 0xa
   716  	}
   717  	return len(dAtA) - i, nil
   718  }
   719  
   720  func (m *DataConversionConfig) Marshal() (dAtA []byte, err error) {
   721  	size := m.Size()
   722  	dAtA = make([]byte, size)
   723  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   724  	if err != nil {
   725  		return nil, err
   726  	}
   727  	return dAtA[:n], nil
   728  }
   729  
   730  func (m *DataConversionConfig) MarshalTo(dAtA []byte) (int, error) {
   731  	size := m.Size()
   732  	return m.MarshalToSizedBuffer(dAtA[:size])
   733  }
   734  
   735  func (m *DataConversionConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   736  	i := len(dAtA)
   737  	_ = i
   738  	var l int
   739  	_ = l
   740  	{
   741  		size, err := m.DateStyle.MarshalToSizedBuffer(dAtA[:i])
   742  		if err != nil {
   743  			return 0, err
   744  		}
   745  		i -= size
   746  		i = encodeVarintSessionData(dAtA, i, uint64(size))
   747  	}
   748  	i--
   749  	dAtA[i] = 0x22
   750  	if m.IntervalStyle != 0 {
   751  		i = encodeVarintSessionData(dAtA, i, uint64(m.IntervalStyle))
   752  		i--
   753  		dAtA[i] = 0x18
   754  	}
   755  	if m.ExtraFloatDigits != 0 {
   756  		i = encodeVarintSessionData(dAtA, i, uint64(m.ExtraFloatDigits))
   757  		i--
   758  		dAtA[i] = 0x10
   759  	}
   760  	if m.BytesEncodeFormat != 0 {
   761  		i = encodeVarintSessionData(dAtA, i, uint64(m.BytesEncodeFormat))
   762  		i--
   763  		dAtA[i] = 0x8
   764  	}
   765  	return len(dAtA) - i, nil
   766  }
   767  
   768  func (m *SequenceState) Marshal() (dAtA []byte, err error) {
   769  	size := m.Size()
   770  	dAtA = make([]byte, size)
   771  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   772  	if err != nil {
   773  		return nil, err
   774  	}
   775  	return dAtA[:n], nil
   776  }
   777  
   778  func (m *SequenceState) MarshalTo(dAtA []byte) (int, error) {
   779  	size := m.Size()
   780  	return m.MarshalToSizedBuffer(dAtA[:size])
   781  }
   782  
   783  func (m *SequenceState) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   784  	i := len(dAtA)
   785  	_ = i
   786  	var l int
   787  	_ = l
   788  	if m.LastSeqIncremented != 0 {
   789  		i = encodeVarintSessionData(dAtA, i, uint64(m.LastSeqIncremented))
   790  		i--
   791  		dAtA[i] = 0x10
   792  	}
   793  	if len(m.Seqs) > 0 {
   794  		for iNdEx := len(m.Seqs) - 1; iNdEx >= 0; iNdEx-- {
   795  			{
   796  				size, err := m.Seqs[iNdEx].MarshalToSizedBuffer(dAtA[:i])
   797  				if err != nil {
   798  					return 0, err
   799  				}
   800  				i -= size
   801  				i = encodeVarintSessionData(dAtA, i, uint64(size))
   802  			}
   803  			i--
   804  			dAtA[i] = 0xa
   805  		}
   806  	}
   807  	return len(dAtA) - i, nil
   808  }
   809  
   810  func (m *SequenceState_Seq) Marshal() (dAtA []byte, err error) {
   811  	size := m.Size()
   812  	dAtA = make([]byte, size)
   813  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   814  	if err != nil {
   815  		return nil, err
   816  	}
   817  	return dAtA[:n], nil
   818  }
   819  
   820  func (m *SequenceState_Seq) MarshalTo(dAtA []byte) (int, error) {
   821  	size := m.Size()
   822  	return m.MarshalToSizedBuffer(dAtA[:size])
   823  }
   824  
   825  func (m *SequenceState_Seq) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   826  	i := len(dAtA)
   827  	_ = i
   828  	var l int
   829  	_ = l
   830  	if m.LatestVal != 0 {
   831  		i = encodeVarintSessionData(dAtA, i, uint64(m.LatestVal))
   832  		i--
   833  		dAtA[i] = 0x10
   834  	}
   835  	if m.SeqID != 0 {
   836  		i = encodeVarintSessionData(dAtA, i, uint64(m.SeqID))
   837  		i--
   838  		dAtA[i] = 0x8
   839  	}
   840  	return len(dAtA) - i, nil
   841  }
   842  
   843  func encodeVarintSessionData(dAtA []byte, offset int, v uint64) int {
   844  	offset -= sovSessionData(v)
   845  	base := offset
   846  	for v >= 1<<7 {
   847  		dAtA[offset] = uint8(v&0x7f | 0x80)
   848  		v >>= 7
   849  		offset++
   850  	}
   851  	dAtA[offset] = uint8(v)
   852  	return base
   853  }
   854  func (m *SessionData) Size() (n int) {
   855  	if m == nil {
   856  		return 0
   857  	}
   858  	var l int
   859  	_ = l
   860  	l = len(m.Database)
   861  	if l > 0 {
   862  		n += 1 + l + sovSessionData(uint64(l))
   863  	}
   864  	l = len(m.ApplicationName)
   865  	if l > 0 {
   866  		n += 1 + l + sovSessionData(uint64(l))
   867  	}
   868  	l = len(m.UserProto)
   869  	if l > 0 {
   870  		n += 1 + l + sovSessionData(uint64(l))
   871  	}
   872  	l = m.DataConversionConfig.Size()
   873  	n += 1 + l + sovSessionData(uint64(l))
   874  	if m.VectorizeMode != 0 {
   875  		n += 1 + sovSessionData(uint64(m.VectorizeMode))
   876  	}
   877  	if m.TestingVectorizeInjectPanics {
   878  		n += 2
   879  	}
   880  	if m.DefaultIntSize != 0 {
   881  		n += 1 + sovSessionData(uint64(m.DefaultIntSize))
   882  	}
   883  	l = len(m.Location)
   884  	if l > 0 {
   885  		n += 1 + l + sovSessionData(uint64(l))
   886  	}
   887  	if len(m.SearchPath) > 0 {
   888  		for _, s := range m.SearchPath {
   889  			l = len(s)
   890  			n += 1 + l + sovSessionData(uint64(l))
   891  		}
   892  	}
   893  	l = len(m.TemporarySchemaName)
   894  	if l > 0 {
   895  		n += 1 + l + sovSessionData(uint64(l))
   896  	}
   897  	l = m.SeqState.Size()
   898  	n += 1 + l + sovSessionData(uint64(l))
   899  	if m.WorkMemLimit != 0 {
   900  		n += 1 + sovSessionData(uint64(m.WorkMemLimit))
   901  	}
   902  	l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.LockTimeout)
   903  	n += 1 + l + sovSessionData(uint64(l))
   904  	if m.Internal {
   905  		n += 3
   906  	}
   907  	if m.OnUpdateRehomeRowEnabled {
   908  		n += 3
   909  	}
   910  	if m.JoinReaderOrderingStrategyBatchSize != 0 {
   911  		n += 2 + sovSessionData(uint64(m.JoinReaderOrderingStrategyBatchSize))
   912  	}
   913  	if m.ParallelizeMultiKeyLookupJoinsEnabled {
   914  		n += 3
   915  	}
   916  	if m.TrigramSimilarityThreshold != 0 {
   917  		n += 10
   918  	}
   919  	if m.TroubleshootingMode {
   920  		n += 3
   921  	}
   922  	if m.JoinReaderNoOrderingStrategyBatchSize != 0 {
   923  		n += 2 + sovSessionData(uint64(m.JoinReaderNoOrderingStrategyBatchSize))
   924  	}
   925  	if m.JoinReaderIndexJoinStrategyBatchSize != 0 {
   926  		n += 2 + sovSessionData(uint64(m.JoinReaderIndexJoinStrategyBatchSize))
   927  	}
   928  	if m.IndexJoinStreamerBatchSize != 0 {
   929  		n += 2 + sovSessionData(uint64(m.IndexJoinStreamerBatchSize))
   930  	}
   931  	if m.DirectColumnarScansEnabled {
   932  		n += 3
   933  	}
   934  	l = len(m.DefaultTextSearchConfig)
   935  	if l > 0 {
   936  		n += 2 + l + sovSessionData(uint64(l))
   937  	}
   938  	if m.StreamerAlwaysMaintainOrdering {
   939  		n += 3
   940  	}
   941  	if m.StreamerInOrderEagerMemoryUsageFraction != 0 {
   942  		n += 10
   943  	}
   944  	if m.StreamerOutOfOrderEagerMemoryUsageFraction != 0 {
   945  		n += 10
   946  	}
   947  	if m.StreamerHeadOfLineOnlyFraction != 0 {
   948  		n += 10
   949  	}
   950  	if m.DistsqlPlanGatewayBias != 0 {
   951  		n += 2 + sovSessionData(uint64(m.DistsqlPlanGatewayBias))
   952  	}
   953  	return n
   954  }
   955  
   956  func (m *DataConversionConfig) Size() (n int) {
   957  	if m == nil {
   958  		return 0
   959  	}
   960  	var l int
   961  	_ = l
   962  	if m.BytesEncodeFormat != 0 {
   963  		n += 1 + sovSessionData(uint64(m.BytesEncodeFormat))
   964  	}
   965  	if m.ExtraFloatDigits != 0 {
   966  		n += 1 + sovSessionData(uint64(m.ExtraFloatDigits))
   967  	}
   968  	if m.IntervalStyle != 0 {
   969  		n += 1 + sovSessionData(uint64(m.IntervalStyle))
   970  	}
   971  	l = m.DateStyle.Size()
   972  	n += 1 + l + sovSessionData(uint64(l))
   973  	return n
   974  }
   975  
   976  func (m *SequenceState) Size() (n int) {
   977  	if m == nil {
   978  		return 0
   979  	}
   980  	var l int
   981  	_ = l
   982  	if len(m.Seqs) > 0 {
   983  		for _, e := range m.Seqs {
   984  			l = e.Size()
   985  			n += 1 + l + sovSessionData(uint64(l))
   986  		}
   987  	}
   988  	if m.LastSeqIncremented != 0 {
   989  		n += 1 + sovSessionData(uint64(m.LastSeqIncremented))
   990  	}
   991  	return n
   992  }
   993  
   994  func (m *SequenceState_Seq) Size() (n int) {
   995  	if m == nil {
   996  		return 0
   997  	}
   998  	var l int
   999  	_ = l
  1000  	if m.SeqID != 0 {
  1001  		n += 1 + sovSessionData(uint64(m.SeqID))
  1002  	}
  1003  	if m.LatestVal != 0 {
  1004  		n += 1 + sovSessionData(uint64(m.LatestVal))
  1005  	}
  1006  	return n
  1007  }
  1008  
  1009  func sovSessionData(x uint64) (n int) {
  1010  	return (math_bits.Len64(x|1) + 6) / 7
  1011  }
  1012  func sozSessionData(x uint64) (n int) {
  1013  	return sovSessionData(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1014  }
  1015  func (m *SessionData) Unmarshal(dAtA []byte) error {
  1016  	l := len(dAtA)
  1017  	iNdEx := 0
  1018  	for iNdEx < l {
  1019  		preIndex := iNdEx
  1020  		var wire uint64
  1021  		for shift := uint(0); ; shift += 7 {
  1022  			if shift >= 64 {
  1023  				return ErrIntOverflowSessionData
  1024  			}
  1025  			if iNdEx >= l {
  1026  				return io.ErrUnexpectedEOF
  1027  			}
  1028  			b := dAtA[iNdEx]
  1029  			iNdEx++
  1030  			wire |= uint64(b&0x7F) << shift
  1031  			if b < 0x80 {
  1032  				break
  1033  			}
  1034  		}
  1035  		fieldNum := int32(wire >> 3)
  1036  		wireType := int(wire & 0x7)
  1037  		if wireType == 4 {
  1038  			return fmt.Errorf("proto: SessionData: wiretype end group for non-group")
  1039  		}
  1040  		if fieldNum <= 0 {
  1041  			return fmt.Errorf("proto: SessionData: illegal tag %d (wire type %d)", fieldNum, wire)
  1042  		}
  1043  		switch fieldNum {
  1044  		case 1:
  1045  			if wireType != 2 {
  1046  				return fmt.Errorf("proto: wrong wireType = %d for field Database", wireType)
  1047  			}
  1048  			var stringLen uint64
  1049  			for shift := uint(0); ; shift += 7 {
  1050  				if shift >= 64 {
  1051  					return ErrIntOverflowSessionData
  1052  				}
  1053  				if iNdEx >= l {
  1054  					return io.ErrUnexpectedEOF
  1055  				}
  1056  				b := dAtA[iNdEx]
  1057  				iNdEx++
  1058  				stringLen |= uint64(b&0x7F) << shift
  1059  				if b < 0x80 {
  1060  					break
  1061  				}
  1062  			}
  1063  			intStringLen := int(stringLen)
  1064  			if intStringLen < 0 {
  1065  				return ErrInvalidLengthSessionData
  1066  			}
  1067  			postIndex := iNdEx + intStringLen
  1068  			if postIndex < 0 {
  1069  				return ErrInvalidLengthSessionData
  1070  			}
  1071  			if postIndex > l {
  1072  				return io.ErrUnexpectedEOF
  1073  			}
  1074  			m.Database = string(dAtA[iNdEx:postIndex])
  1075  			iNdEx = postIndex
  1076  		case 2:
  1077  			if wireType != 2 {
  1078  				return fmt.Errorf("proto: wrong wireType = %d for field ApplicationName", wireType)
  1079  			}
  1080  			var stringLen uint64
  1081  			for shift := uint(0); ; shift += 7 {
  1082  				if shift >= 64 {
  1083  					return ErrIntOverflowSessionData
  1084  				}
  1085  				if iNdEx >= l {
  1086  					return io.ErrUnexpectedEOF
  1087  				}
  1088  				b := dAtA[iNdEx]
  1089  				iNdEx++
  1090  				stringLen |= uint64(b&0x7F) << shift
  1091  				if b < 0x80 {
  1092  					break
  1093  				}
  1094  			}
  1095  			intStringLen := int(stringLen)
  1096  			if intStringLen < 0 {
  1097  				return ErrInvalidLengthSessionData
  1098  			}
  1099  			postIndex := iNdEx + intStringLen
  1100  			if postIndex < 0 {
  1101  				return ErrInvalidLengthSessionData
  1102  			}
  1103  			if postIndex > l {
  1104  				return io.ErrUnexpectedEOF
  1105  			}
  1106  			m.ApplicationName = string(dAtA[iNdEx:postIndex])
  1107  			iNdEx = postIndex
  1108  		case 3:
  1109  			if wireType != 2 {
  1110  				return fmt.Errorf("proto: wrong wireType = %d for field UserProto", wireType)
  1111  			}
  1112  			var stringLen uint64
  1113  			for shift := uint(0); ; shift += 7 {
  1114  				if shift >= 64 {
  1115  					return ErrIntOverflowSessionData
  1116  				}
  1117  				if iNdEx >= l {
  1118  					return io.ErrUnexpectedEOF
  1119  				}
  1120  				b := dAtA[iNdEx]
  1121  				iNdEx++
  1122  				stringLen |= uint64(b&0x7F) << shift
  1123  				if b < 0x80 {
  1124  					break
  1125  				}
  1126  			}
  1127  			intStringLen := int(stringLen)
  1128  			if intStringLen < 0 {
  1129  				return ErrInvalidLengthSessionData
  1130  			}
  1131  			postIndex := iNdEx + intStringLen
  1132  			if postIndex < 0 {
  1133  				return ErrInvalidLengthSessionData
  1134  			}
  1135  			if postIndex > l {
  1136  				return io.ErrUnexpectedEOF
  1137  			}
  1138  			m.UserProto = github_com_cockroachdb_cockroach_pkg_security_username.SQLUsernameProto(dAtA[iNdEx:postIndex])
  1139  			iNdEx = postIndex
  1140  		case 4:
  1141  			if wireType != 2 {
  1142  				return fmt.Errorf("proto: wrong wireType = %d for field DataConversionConfig", wireType)
  1143  			}
  1144  			var msglen int
  1145  			for shift := uint(0); ; shift += 7 {
  1146  				if shift >= 64 {
  1147  					return ErrIntOverflowSessionData
  1148  				}
  1149  				if iNdEx >= l {
  1150  					return io.ErrUnexpectedEOF
  1151  				}
  1152  				b := dAtA[iNdEx]
  1153  				iNdEx++
  1154  				msglen |= int(b&0x7F) << shift
  1155  				if b < 0x80 {
  1156  					break
  1157  				}
  1158  			}
  1159  			if msglen < 0 {
  1160  				return ErrInvalidLengthSessionData
  1161  			}
  1162  			postIndex := iNdEx + msglen
  1163  			if postIndex < 0 {
  1164  				return ErrInvalidLengthSessionData
  1165  			}
  1166  			if postIndex > l {
  1167  				return io.ErrUnexpectedEOF
  1168  			}
  1169  			if err := m.DataConversionConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1170  				return err
  1171  			}
  1172  			iNdEx = postIndex
  1173  		case 5:
  1174  			if wireType != 0 {
  1175  				return fmt.Errorf("proto: wrong wireType = %d for field VectorizeMode", wireType)
  1176  			}
  1177  			m.VectorizeMode = 0
  1178  			for shift := uint(0); ; shift += 7 {
  1179  				if shift >= 64 {
  1180  					return ErrIntOverflowSessionData
  1181  				}
  1182  				if iNdEx >= l {
  1183  					return io.ErrUnexpectedEOF
  1184  				}
  1185  				b := dAtA[iNdEx]
  1186  				iNdEx++
  1187  				m.VectorizeMode |= VectorizeExecMode(b&0x7F) << shift
  1188  				if b < 0x80 {
  1189  					break
  1190  				}
  1191  			}
  1192  		case 6:
  1193  			if wireType != 0 {
  1194  				return fmt.Errorf("proto: wrong wireType = %d for field TestingVectorizeInjectPanics", wireType)
  1195  			}
  1196  			var v int
  1197  			for shift := uint(0); ; shift += 7 {
  1198  				if shift >= 64 {
  1199  					return ErrIntOverflowSessionData
  1200  				}
  1201  				if iNdEx >= l {
  1202  					return io.ErrUnexpectedEOF
  1203  				}
  1204  				b := dAtA[iNdEx]
  1205  				iNdEx++
  1206  				v |= int(b&0x7F) << shift
  1207  				if b < 0x80 {
  1208  					break
  1209  				}
  1210  			}
  1211  			m.TestingVectorizeInjectPanics = bool(v != 0)
  1212  		case 7:
  1213  			if wireType != 0 {
  1214  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultIntSize", wireType)
  1215  			}
  1216  			m.DefaultIntSize = 0
  1217  			for shift := uint(0); ; shift += 7 {
  1218  				if shift >= 64 {
  1219  					return ErrIntOverflowSessionData
  1220  				}
  1221  				if iNdEx >= l {
  1222  					return io.ErrUnexpectedEOF
  1223  				}
  1224  				b := dAtA[iNdEx]
  1225  				iNdEx++
  1226  				m.DefaultIntSize |= int32(b&0x7F) << shift
  1227  				if b < 0x80 {
  1228  					break
  1229  				}
  1230  			}
  1231  		case 8:
  1232  			if wireType != 2 {
  1233  				return fmt.Errorf("proto: wrong wireType = %d for field Location", wireType)
  1234  			}
  1235  			var stringLen uint64
  1236  			for shift := uint(0); ; shift += 7 {
  1237  				if shift >= 64 {
  1238  					return ErrIntOverflowSessionData
  1239  				}
  1240  				if iNdEx >= l {
  1241  					return io.ErrUnexpectedEOF
  1242  				}
  1243  				b := dAtA[iNdEx]
  1244  				iNdEx++
  1245  				stringLen |= uint64(b&0x7F) << shift
  1246  				if b < 0x80 {
  1247  					break
  1248  				}
  1249  			}
  1250  			intStringLen := int(stringLen)
  1251  			if intStringLen < 0 {
  1252  				return ErrInvalidLengthSessionData
  1253  			}
  1254  			postIndex := iNdEx + intStringLen
  1255  			if postIndex < 0 {
  1256  				return ErrInvalidLengthSessionData
  1257  			}
  1258  			if postIndex > l {
  1259  				return io.ErrUnexpectedEOF
  1260  			}
  1261  			m.Location = string(dAtA[iNdEx:postIndex])
  1262  			iNdEx = postIndex
  1263  		case 9:
  1264  			if wireType != 2 {
  1265  				return fmt.Errorf("proto: wrong wireType = %d for field SearchPath", wireType)
  1266  			}
  1267  			var stringLen uint64
  1268  			for shift := uint(0); ; shift += 7 {
  1269  				if shift >= 64 {
  1270  					return ErrIntOverflowSessionData
  1271  				}
  1272  				if iNdEx >= l {
  1273  					return io.ErrUnexpectedEOF
  1274  				}
  1275  				b := dAtA[iNdEx]
  1276  				iNdEx++
  1277  				stringLen |= uint64(b&0x7F) << shift
  1278  				if b < 0x80 {
  1279  					break
  1280  				}
  1281  			}
  1282  			intStringLen := int(stringLen)
  1283  			if intStringLen < 0 {
  1284  				return ErrInvalidLengthSessionData
  1285  			}
  1286  			postIndex := iNdEx + intStringLen
  1287  			if postIndex < 0 {
  1288  				return ErrInvalidLengthSessionData
  1289  			}
  1290  			if postIndex > l {
  1291  				return io.ErrUnexpectedEOF
  1292  			}
  1293  			m.SearchPath = append(m.SearchPath, string(dAtA[iNdEx:postIndex]))
  1294  			iNdEx = postIndex
  1295  		case 10:
  1296  			if wireType != 2 {
  1297  				return fmt.Errorf("proto: wrong wireType = %d for field TemporarySchemaName", wireType)
  1298  			}
  1299  			var stringLen uint64
  1300  			for shift := uint(0); ; shift += 7 {
  1301  				if shift >= 64 {
  1302  					return ErrIntOverflowSessionData
  1303  				}
  1304  				if iNdEx >= l {
  1305  					return io.ErrUnexpectedEOF
  1306  				}
  1307  				b := dAtA[iNdEx]
  1308  				iNdEx++
  1309  				stringLen |= uint64(b&0x7F) << shift
  1310  				if b < 0x80 {
  1311  					break
  1312  				}
  1313  			}
  1314  			intStringLen := int(stringLen)
  1315  			if intStringLen < 0 {
  1316  				return ErrInvalidLengthSessionData
  1317  			}
  1318  			postIndex := iNdEx + intStringLen
  1319  			if postIndex < 0 {
  1320  				return ErrInvalidLengthSessionData
  1321  			}
  1322  			if postIndex > l {
  1323  				return io.ErrUnexpectedEOF
  1324  			}
  1325  			m.TemporarySchemaName = string(dAtA[iNdEx:postIndex])
  1326  			iNdEx = postIndex
  1327  		case 11:
  1328  			if wireType != 2 {
  1329  				return fmt.Errorf("proto: wrong wireType = %d for field SeqState", wireType)
  1330  			}
  1331  			var msglen int
  1332  			for shift := uint(0); ; shift += 7 {
  1333  				if shift >= 64 {
  1334  					return ErrIntOverflowSessionData
  1335  				}
  1336  				if iNdEx >= l {
  1337  					return io.ErrUnexpectedEOF
  1338  				}
  1339  				b := dAtA[iNdEx]
  1340  				iNdEx++
  1341  				msglen |= int(b&0x7F) << shift
  1342  				if b < 0x80 {
  1343  					break
  1344  				}
  1345  			}
  1346  			if msglen < 0 {
  1347  				return ErrInvalidLengthSessionData
  1348  			}
  1349  			postIndex := iNdEx + msglen
  1350  			if postIndex < 0 {
  1351  				return ErrInvalidLengthSessionData
  1352  			}
  1353  			if postIndex > l {
  1354  				return io.ErrUnexpectedEOF
  1355  			}
  1356  			if err := m.SeqState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1357  				return err
  1358  			}
  1359  			iNdEx = postIndex
  1360  		case 12:
  1361  			if wireType != 0 {
  1362  				return fmt.Errorf("proto: wrong wireType = %d for field WorkMemLimit", wireType)
  1363  			}
  1364  			m.WorkMemLimit = 0
  1365  			for shift := uint(0); ; shift += 7 {
  1366  				if shift >= 64 {
  1367  					return ErrIntOverflowSessionData
  1368  				}
  1369  				if iNdEx >= l {
  1370  					return io.ErrUnexpectedEOF
  1371  				}
  1372  				b := dAtA[iNdEx]
  1373  				iNdEx++
  1374  				m.WorkMemLimit |= int64(b&0x7F) << shift
  1375  				if b < 0x80 {
  1376  					break
  1377  				}
  1378  			}
  1379  		case 15:
  1380  			if wireType != 2 {
  1381  				return fmt.Errorf("proto: wrong wireType = %d for field LockTimeout", wireType)
  1382  			}
  1383  			var msglen int
  1384  			for shift := uint(0); ; shift += 7 {
  1385  				if shift >= 64 {
  1386  					return ErrIntOverflowSessionData
  1387  				}
  1388  				if iNdEx >= l {
  1389  					return io.ErrUnexpectedEOF
  1390  				}
  1391  				b := dAtA[iNdEx]
  1392  				iNdEx++
  1393  				msglen |= int(b&0x7F) << shift
  1394  				if b < 0x80 {
  1395  					break
  1396  				}
  1397  			}
  1398  			if msglen < 0 {
  1399  				return ErrInvalidLengthSessionData
  1400  			}
  1401  			postIndex := iNdEx + msglen
  1402  			if postIndex < 0 {
  1403  				return ErrInvalidLengthSessionData
  1404  			}
  1405  			if postIndex > l {
  1406  				return io.ErrUnexpectedEOF
  1407  			}
  1408  			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.LockTimeout, dAtA[iNdEx:postIndex]); err != nil {
  1409  				return err
  1410  			}
  1411  			iNdEx = postIndex
  1412  		case 16:
  1413  			if wireType != 0 {
  1414  				return fmt.Errorf("proto: wrong wireType = %d for field Internal", wireType)
  1415  			}
  1416  			var v int
  1417  			for shift := uint(0); ; shift += 7 {
  1418  				if shift >= 64 {
  1419  					return ErrIntOverflowSessionData
  1420  				}
  1421  				if iNdEx >= l {
  1422  					return io.ErrUnexpectedEOF
  1423  				}
  1424  				b := dAtA[iNdEx]
  1425  				iNdEx++
  1426  				v |= int(b&0x7F) << shift
  1427  				if b < 0x80 {
  1428  					break
  1429  				}
  1430  			}
  1431  			m.Internal = bool(v != 0)
  1432  		case 17:
  1433  			if wireType != 0 {
  1434  				return fmt.Errorf("proto: wrong wireType = %d for field OnUpdateRehomeRowEnabled", wireType)
  1435  			}
  1436  			var v int
  1437  			for shift := uint(0); ; shift += 7 {
  1438  				if shift >= 64 {
  1439  					return ErrIntOverflowSessionData
  1440  				}
  1441  				if iNdEx >= l {
  1442  					return io.ErrUnexpectedEOF
  1443  				}
  1444  				b := dAtA[iNdEx]
  1445  				iNdEx++
  1446  				v |= int(b&0x7F) << shift
  1447  				if b < 0x80 {
  1448  					break
  1449  				}
  1450  			}
  1451  			m.OnUpdateRehomeRowEnabled = bool(v != 0)
  1452  		case 18:
  1453  			if wireType != 0 {
  1454  				return fmt.Errorf("proto: wrong wireType = %d for field JoinReaderOrderingStrategyBatchSize", wireType)
  1455  			}
  1456  			m.JoinReaderOrderingStrategyBatchSize = 0
  1457  			for shift := uint(0); ; shift += 7 {
  1458  				if shift >= 64 {
  1459  					return ErrIntOverflowSessionData
  1460  				}
  1461  				if iNdEx >= l {
  1462  					return io.ErrUnexpectedEOF
  1463  				}
  1464  				b := dAtA[iNdEx]
  1465  				iNdEx++
  1466  				m.JoinReaderOrderingStrategyBatchSize |= int64(b&0x7F) << shift
  1467  				if b < 0x80 {
  1468  					break
  1469  				}
  1470  			}
  1471  		case 19:
  1472  			if wireType != 0 {
  1473  				return fmt.Errorf("proto: wrong wireType = %d for field ParallelizeMultiKeyLookupJoinsEnabled", wireType)
  1474  			}
  1475  			var v int
  1476  			for shift := uint(0); ; shift += 7 {
  1477  				if shift >= 64 {
  1478  					return ErrIntOverflowSessionData
  1479  				}
  1480  				if iNdEx >= l {
  1481  					return io.ErrUnexpectedEOF
  1482  				}
  1483  				b := dAtA[iNdEx]
  1484  				iNdEx++
  1485  				v |= int(b&0x7F) << shift
  1486  				if b < 0x80 {
  1487  					break
  1488  				}
  1489  			}
  1490  			m.ParallelizeMultiKeyLookupJoinsEnabled = bool(v != 0)
  1491  		case 20:
  1492  			if wireType != 1 {
  1493  				return fmt.Errorf("proto: wrong wireType = %d for field TrigramSimilarityThreshold", wireType)
  1494  			}
  1495  			var v uint64
  1496  			if (iNdEx + 8) > l {
  1497  				return io.ErrUnexpectedEOF
  1498  			}
  1499  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1500  			iNdEx += 8
  1501  			m.TrigramSimilarityThreshold = float64(math.Float64frombits(v))
  1502  		case 21:
  1503  			if wireType != 0 {
  1504  				return fmt.Errorf("proto: wrong wireType = %d for field TroubleshootingMode", wireType)
  1505  			}
  1506  			var v int
  1507  			for shift := uint(0); ; shift += 7 {
  1508  				if shift >= 64 {
  1509  					return ErrIntOverflowSessionData
  1510  				}
  1511  				if iNdEx >= l {
  1512  					return io.ErrUnexpectedEOF
  1513  				}
  1514  				b := dAtA[iNdEx]
  1515  				iNdEx++
  1516  				v |= int(b&0x7F) << shift
  1517  				if b < 0x80 {
  1518  					break
  1519  				}
  1520  			}
  1521  			m.TroubleshootingMode = bool(v != 0)
  1522  		case 22:
  1523  			if wireType != 0 {
  1524  				return fmt.Errorf("proto: wrong wireType = %d for field JoinReaderNoOrderingStrategyBatchSize", wireType)
  1525  			}
  1526  			m.JoinReaderNoOrderingStrategyBatchSize = 0
  1527  			for shift := uint(0); ; shift += 7 {
  1528  				if shift >= 64 {
  1529  					return ErrIntOverflowSessionData
  1530  				}
  1531  				if iNdEx >= l {
  1532  					return io.ErrUnexpectedEOF
  1533  				}
  1534  				b := dAtA[iNdEx]
  1535  				iNdEx++
  1536  				m.JoinReaderNoOrderingStrategyBatchSize |= int64(b&0x7F) << shift
  1537  				if b < 0x80 {
  1538  					break
  1539  				}
  1540  			}
  1541  		case 23:
  1542  			if wireType != 0 {
  1543  				return fmt.Errorf("proto: wrong wireType = %d for field JoinReaderIndexJoinStrategyBatchSize", wireType)
  1544  			}
  1545  			m.JoinReaderIndexJoinStrategyBatchSize = 0
  1546  			for shift := uint(0); ; shift += 7 {
  1547  				if shift >= 64 {
  1548  					return ErrIntOverflowSessionData
  1549  				}
  1550  				if iNdEx >= l {
  1551  					return io.ErrUnexpectedEOF
  1552  				}
  1553  				b := dAtA[iNdEx]
  1554  				iNdEx++
  1555  				m.JoinReaderIndexJoinStrategyBatchSize |= int64(b&0x7F) << shift
  1556  				if b < 0x80 {
  1557  					break
  1558  				}
  1559  			}
  1560  		case 24:
  1561  			if wireType != 0 {
  1562  				return fmt.Errorf("proto: wrong wireType = %d for field IndexJoinStreamerBatchSize", wireType)
  1563  			}
  1564  			m.IndexJoinStreamerBatchSize = 0
  1565  			for shift := uint(0); ; shift += 7 {
  1566  				if shift >= 64 {
  1567  					return ErrIntOverflowSessionData
  1568  				}
  1569  				if iNdEx >= l {
  1570  					return io.ErrUnexpectedEOF
  1571  				}
  1572  				b := dAtA[iNdEx]
  1573  				iNdEx++
  1574  				m.IndexJoinStreamerBatchSize |= int64(b&0x7F) << shift
  1575  				if b < 0x80 {
  1576  					break
  1577  				}
  1578  			}
  1579  		case 25:
  1580  			if wireType != 0 {
  1581  				return fmt.Errorf("proto: wrong wireType = %d for field DirectColumnarScansEnabled", wireType)
  1582  			}
  1583  			var v int
  1584  			for shift := uint(0); ; shift += 7 {
  1585  				if shift >= 64 {
  1586  					return ErrIntOverflowSessionData
  1587  				}
  1588  				if iNdEx >= l {
  1589  					return io.ErrUnexpectedEOF
  1590  				}
  1591  				b := dAtA[iNdEx]
  1592  				iNdEx++
  1593  				v |= int(b&0x7F) << shift
  1594  				if b < 0x80 {
  1595  					break
  1596  				}
  1597  			}
  1598  			m.DirectColumnarScansEnabled = bool(v != 0)
  1599  		case 26:
  1600  			if wireType != 2 {
  1601  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultTextSearchConfig", wireType)
  1602  			}
  1603  			var stringLen uint64
  1604  			for shift := uint(0); ; shift += 7 {
  1605  				if shift >= 64 {
  1606  					return ErrIntOverflowSessionData
  1607  				}
  1608  				if iNdEx >= l {
  1609  					return io.ErrUnexpectedEOF
  1610  				}
  1611  				b := dAtA[iNdEx]
  1612  				iNdEx++
  1613  				stringLen |= uint64(b&0x7F) << shift
  1614  				if b < 0x80 {
  1615  					break
  1616  				}
  1617  			}
  1618  			intStringLen := int(stringLen)
  1619  			if intStringLen < 0 {
  1620  				return ErrInvalidLengthSessionData
  1621  			}
  1622  			postIndex := iNdEx + intStringLen
  1623  			if postIndex < 0 {
  1624  				return ErrInvalidLengthSessionData
  1625  			}
  1626  			if postIndex > l {
  1627  				return io.ErrUnexpectedEOF
  1628  			}
  1629  			m.DefaultTextSearchConfig = string(dAtA[iNdEx:postIndex])
  1630  			iNdEx = postIndex
  1631  		case 27:
  1632  			if wireType != 0 {
  1633  				return fmt.Errorf("proto: wrong wireType = %d for field StreamerAlwaysMaintainOrdering", wireType)
  1634  			}
  1635  			var v int
  1636  			for shift := uint(0); ; shift += 7 {
  1637  				if shift >= 64 {
  1638  					return ErrIntOverflowSessionData
  1639  				}
  1640  				if iNdEx >= l {
  1641  					return io.ErrUnexpectedEOF
  1642  				}
  1643  				b := dAtA[iNdEx]
  1644  				iNdEx++
  1645  				v |= int(b&0x7F) << shift
  1646  				if b < 0x80 {
  1647  					break
  1648  				}
  1649  			}
  1650  			m.StreamerAlwaysMaintainOrdering = bool(v != 0)
  1651  		case 28:
  1652  			if wireType != 1 {
  1653  				return fmt.Errorf("proto: wrong wireType = %d for field StreamerInOrderEagerMemoryUsageFraction", wireType)
  1654  			}
  1655  			var v uint64
  1656  			if (iNdEx + 8) > l {
  1657  				return io.ErrUnexpectedEOF
  1658  			}
  1659  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1660  			iNdEx += 8
  1661  			m.StreamerInOrderEagerMemoryUsageFraction = float64(math.Float64frombits(v))
  1662  		case 29:
  1663  			if wireType != 1 {
  1664  				return fmt.Errorf("proto: wrong wireType = %d for field StreamerOutOfOrderEagerMemoryUsageFraction", wireType)
  1665  			}
  1666  			var v uint64
  1667  			if (iNdEx + 8) > l {
  1668  				return io.ErrUnexpectedEOF
  1669  			}
  1670  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1671  			iNdEx += 8
  1672  			m.StreamerOutOfOrderEagerMemoryUsageFraction = float64(math.Float64frombits(v))
  1673  		case 30:
  1674  			if wireType != 1 {
  1675  				return fmt.Errorf("proto: wrong wireType = %d for field StreamerHeadOfLineOnlyFraction", wireType)
  1676  			}
  1677  			var v uint64
  1678  			if (iNdEx + 8) > l {
  1679  				return io.ErrUnexpectedEOF
  1680  			}
  1681  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1682  			iNdEx += 8
  1683  			m.StreamerHeadOfLineOnlyFraction = float64(math.Float64frombits(v))
  1684  		case 31:
  1685  			if wireType != 0 {
  1686  				return fmt.Errorf("proto: wrong wireType = %d for field DistsqlPlanGatewayBias", wireType)
  1687  			}
  1688  			m.DistsqlPlanGatewayBias = 0
  1689  			for shift := uint(0); ; shift += 7 {
  1690  				if shift >= 64 {
  1691  					return ErrIntOverflowSessionData
  1692  				}
  1693  				if iNdEx >= l {
  1694  					return io.ErrUnexpectedEOF
  1695  				}
  1696  				b := dAtA[iNdEx]
  1697  				iNdEx++
  1698  				m.DistsqlPlanGatewayBias |= int64(b&0x7F) << shift
  1699  				if b < 0x80 {
  1700  					break
  1701  				}
  1702  			}
  1703  		default:
  1704  			iNdEx = preIndex
  1705  			skippy, err := skipSessionData(dAtA[iNdEx:])
  1706  			if err != nil {
  1707  				return err
  1708  			}
  1709  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1710  				return ErrInvalidLengthSessionData
  1711  			}
  1712  			if (iNdEx + skippy) > l {
  1713  				return io.ErrUnexpectedEOF
  1714  			}
  1715  			iNdEx += skippy
  1716  		}
  1717  	}
  1718  
  1719  	if iNdEx > l {
  1720  		return io.ErrUnexpectedEOF
  1721  	}
  1722  	return nil
  1723  }
  1724  func (m *DataConversionConfig) Unmarshal(dAtA []byte) error {
  1725  	l := len(dAtA)
  1726  	iNdEx := 0
  1727  	for iNdEx < l {
  1728  		preIndex := iNdEx
  1729  		var wire uint64
  1730  		for shift := uint(0); ; shift += 7 {
  1731  			if shift >= 64 {
  1732  				return ErrIntOverflowSessionData
  1733  			}
  1734  			if iNdEx >= l {
  1735  				return io.ErrUnexpectedEOF
  1736  			}
  1737  			b := dAtA[iNdEx]
  1738  			iNdEx++
  1739  			wire |= uint64(b&0x7F) << shift
  1740  			if b < 0x80 {
  1741  				break
  1742  			}
  1743  		}
  1744  		fieldNum := int32(wire >> 3)
  1745  		wireType := int(wire & 0x7)
  1746  		if wireType == 4 {
  1747  			return fmt.Errorf("proto: DataConversionConfig: wiretype end group for non-group")
  1748  		}
  1749  		if fieldNum <= 0 {
  1750  			return fmt.Errorf("proto: DataConversionConfig: illegal tag %d (wire type %d)", fieldNum, wire)
  1751  		}
  1752  		switch fieldNum {
  1753  		case 1:
  1754  			if wireType != 0 {
  1755  				return fmt.Errorf("proto: wrong wireType = %d for field BytesEncodeFormat", wireType)
  1756  			}
  1757  			m.BytesEncodeFormat = 0
  1758  			for shift := uint(0); ; shift += 7 {
  1759  				if shift >= 64 {
  1760  					return ErrIntOverflowSessionData
  1761  				}
  1762  				if iNdEx >= l {
  1763  					return io.ErrUnexpectedEOF
  1764  				}
  1765  				b := dAtA[iNdEx]
  1766  				iNdEx++
  1767  				m.BytesEncodeFormat |= lex.BytesEncodeFormat(b&0x7F) << shift
  1768  				if b < 0x80 {
  1769  					break
  1770  				}
  1771  			}
  1772  		case 2:
  1773  			if wireType != 0 {
  1774  				return fmt.Errorf("proto: wrong wireType = %d for field ExtraFloatDigits", wireType)
  1775  			}
  1776  			m.ExtraFloatDigits = 0
  1777  			for shift := uint(0); ; shift += 7 {
  1778  				if shift >= 64 {
  1779  					return ErrIntOverflowSessionData
  1780  				}
  1781  				if iNdEx >= l {
  1782  					return io.ErrUnexpectedEOF
  1783  				}
  1784  				b := dAtA[iNdEx]
  1785  				iNdEx++
  1786  				m.ExtraFloatDigits |= int32(b&0x7F) << shift
  1787  				if b < 0x80 {
  1788  					break
  1789  				}
  1790  			}
  1791  		case 3:
  1792  			if wireType != 0 {
  1793  				return fmt.Errorf("proto: wrong wireType = %d for field IntervalStyle", wireType)
  1794  			}
  1795  			m.IntervalStyle = 0
  1796  			for shift := uint(0); ; shift += 7 {
  1797  				if shift >= 64 {
  1798  					return ErrIntOverflowSessionData
  1799  				}
  1800  				if iNdEx >= l {
  1801  					return io.ErrUnexpectedEOF
  1802  				}
  1803  				b := dAtA[iNdEx]
  1804  				iNdEx++
  1805  				m.IntervalStyle |= duration.IntervalStyle(b&0x7F) << shift
  1806  				if b < 0x80 {
  1807  					break
  1808  				}
  1809  			}
  1810  		case 4:
  1811  			if wireType != 2 {
  1812  				return fmt.Errorf("proto: wrong wireType = %d for field DateStyle", wireType)
  1813  			}
  1814  			var msglen int
  1815  			for shift := uint(0); ; shift += 7 {
  1816  				if shift >= 64 {
  1817  					return ErrIntOverflowSessionData
  1818  				}
  1819  				if iNdEx >= l {
  1820  					return io.ErrUnexpectedEOF
  1821  				}
  1822  				b := dAtA[iNdEx]
  1823  				iNdEx++
  1824  				msglen |= int(b&0x7F) << shift
  1825  				if b < 0x80 {
  1826  					break
  1827  				}
  1828  			}
  1829  			if msglen < 0 {
  1830  				return ErrInvalidLengthSessionData
  1831  			}
  1832  			postIndex := iNdEx + msglen
  1833  			if postIndex < 0 {
  1834  				return ErrInvalidLengthSessionData
  1835  			}
  1836  			if postIndex > l {
  1837  				return io.ErrUnexpectedEOF
  1838  			}
  1839  			if err := m.DateStyle.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1840  				return err
  1841  			}
  1842  			iNdEx = postIndex
  1843  		default:
  1844  			iNdEx = preIndex
  1845  			skippy, err := skipSessionData(dAtA[iNdEx:])
  1846  			if err != nil {
  1847  				return err
  1848  			}
  1849  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1850  				return ErrInvalidLengthSessionData
  1851  			}
  1852  			if (iNdEx + skippy) > l {
  1853  				return io.ErrUnexpectedEOF
  1854  			}
  1855  			iNdEx += skippy
  1856  		}
  1857  	}
  1858  
  1859  	if iNdEx > l {
  1860  		return io.ErrUnexpectedEOF
  1861  	}
  1862  	return nil
  1863  }
  1864  func (m *SequenceState) Unmarshal(dAtA []byte) error {
  1865  	l := len(dAtA)
  1866  	iNdEx := 0
  1867  	for iNdEx < l {
  1868  		preIndex := iNdEx
  1869  		var wire uint64
  1870  		for shift := uint(0); ; shift += 7 {
  1871  			if shift >= 64 {
  1872  				return ErrIntOverflowSessionData
  1873  			}
  1874  			if iNdEx >= l {
  1875  				return io.ErrUnexpectedEOF
  1876  			}
  1877  			b := dAtA[iNdEx]
  1878  			iNdEx++
  1879  			wire |= uint64(b&0x7F) << shift
  1880  			if b < 0x80 {
  1881  				break
  1882  			}
  1883  		}
  1884  		fieldNum := int32(wire >> 3)
  1885  		wireType := int(wire & 0x7)
  1886  		if wireType == 4 {
  1887  			return fmt.Errorf("proto: SequenceState: wiretype end group for non-group")
  1888  		}
  1889  		if fieldNum <= 0 {
  1890  			return fmt.Errorf("proto: SequenceState: illegal tag %d (wire type %d)", fieldNum, wire)
  1891  		}
  1892  		switch fieldNum {
  1893  		case 1:
  1894  			if wireType != 2 {
  1895  				return fmt.Errorf("proto: wrong wireType = %d for field Seqs", wireType)
  1896  			}
  1897  			var msglen int
  1898  			for shift := uint(0); ; shift += 7 {
  1899  				if shift >= 64 {
  1900  					return ErrIntOverflowSessionData
  1901  				}
  1902  				if iNdEx >= l {
  1903  					return io.ErrUnexpectedEOF
  1904  				}
  1905  				b := dAtA[iNdEx]
  1906  				iNdEx++
  1907  				msglen |= int(b&0x7F) << shift
  1908  				if b < 0x80 {
  1909  					break
  1910  				}
  1911  			}
  1912  			if msglen < 0 {
  1913  				return ErrInvalidLengthSessionData
  1914  			}
  1915  			postIndex := iNdEx + msglen
  1916  			if postIndex < 0 {
  1917  				return ErrInvalidLengthSessionData
  1918  			}
  1919  			if postIndex > l {
  1920  				return io.ErrUnexpectedEOF
  1921  			}
  1922  			m.Seqs = append(m.Seqs, &SequenceState_Seq{})
  1923  			if err := m.Seqs[len(m.Seqs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1924  				return err
  1925  			}
  1926  			iNdEx = postIndex
  1927  		case 2:
  1928  			if wireType != 0 {
  1929  				return fmt.Errorf("proto: wrong wireType = %d for field LastSeqIncremented", wireType)
  1930  			}
  1931  			m.LastSeqIncremented = 0
  1932  			for shift := uint(0); ; shift += 7 {
  1933  				if shift >= 64 {
  1934  					return ErrIntOverflowSessionData
  1935  				}
  1936  				if iNdEx >= l {
  1937  					return io.ErrUnexpectedEOF
  1938  				}
  1939  				b := dAtA[iNdEx]
  1940  				iNdEx++
  1941  				m.LastSeqIncremented |= uint32(b&0x7F) << shift
  1942  				if b < 0x80 {
  1943  					break
  1944  				}
  1945  			}
  1946  		default:
  1947  			iNdEx = preIndex
  1948  			skippy, err := skipSessionData(dAtA[iNdEx:])
  1949  			if err != nil {
  1950  				return err
  1951  			}
  1952  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1953  				return ErrInvalidLengthSessionData
  1954  			}
  1955  			if (iNdEx + skippy) > l {
  1956  				return io.ErrUnexpectedEOF
  1957  			}
  1958  			iNdEx += skippy
  1959  		}
  1960  	}
  1961  
  1962  	if iNdEx > l {
  1963  		return io.ErrUnexpectedEOF
  1964  	}
  1965  	return nil
  1966  }
  1967  func (m *SequenceState_Seq) Unmarshal(dAtA []byte) error {
  1968  	l := len(dAtA)
  1969  	iNdEx := 0
  1970  	for iNdEx < l {
  1971  		preIndex := iNdEx
  1972  		var wire uint64
  1973  		for shift := uint(0); ; shift += 7 {
  1974  			if shift >= 64 {
  1975  				return ErrIntOverflowSessionData
  1976  			}
  1977  			if iNdEx >= l {
  1978  				return io.ErrUnexpectedEOF
  1979  			}
  1980  			b := dAtA[iNdEx]
  1981  			iNdEx++
  1982  			wire |= uint64(b&0x7F) << shift
  1983  			if b < 0x80 {
  1984  				break
  1985  			}
  1986  		}
  1987  		fieldNum := int32(wire >> 3)
  1988  		wireType := int(wire & 0x7)
  1989  		if wireType == 4 {
  1990  			return fmt.Errorf("proto: Seq: wiretype end group for non-group")
  1991  		}
  1992  		if fieldNum <= 0 {
  1993  			return fmt.Errorf("proto: Seq: illegal tag %d (wire type %d)", fieldNum, wire)
  1994  		}
  1995  		switch fieldNum {
  1996  		case 1:
  1997  			if wireType != 0 {
  1998  				return fmt.Errorf("proto: wrong wireType = %d for field SeqID", wireType)
  1999  			}
  2000  			m.SeqID = 0
  2001  			for shift := uint(0); ; shift += 7 {
  2002  				if shift >= 64 {
  2003  					return ErrIntOverflowSessionData
  2004  				}
  2005  				if iNdEx >= l {
  2006  					return io.ErrUnexpectedEOF
  2007  				}
  2008  				b := dAtA[iNdEx]
  2009  				iNdEx++
  2010  				m.SeqID |= uint32(b&0x7F) << shift
  2011  				if b < 0x80 {
  2012  					break
  2013  				}
  2014  			}
  2015  		case 2:
  2016  			if wireType != 0 {
  2017  				return fmt.Errorf("proto: wrong wireType = %d for field LatestVal", wireType)
  2018  			}
  2019  			m.LatestVal = 0
  2020  			for shift := uint(0); ; shift += 7 {
  2021  				if shift >= 64 {
  2022  					return ErrIntOverflowSessionData
  2023  				}
  2024  				if iNdEx >= l {
  2025  					return io.ErrUnexpectedEOF
  2026  				}
  2027  				b := dAtA[iNdEx]
  2028  				iNdEx++
  2029  				m.LatestVal |= int64(b&0x7F) << shift
  2030  				if b < 0x80 {
  2031  					break
  2032  				}
  2033  			}
  2034  		default:
  2035  			iNdEx = preIndex
  2036  			skippy, err := skipSessionData(dAtA[iNdEx:])
  2037  			if err != nil {
  2038  				return err
  2039  			}
  2040  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2041  				return ErrInvalidLengthSessionData
  2042  			}
  2043  			if (iNdEx + skippy) > l {
  2044  				return io.ErrUnexpectedEOF
  2045  			}
  2046  			iNdEx += skippy
  2047  		}
  2048  	}
  2049  
  2050  	if iNdEx > l {
  2051  		return io.ErrUnexpectedEOF
  2052  	}
  2053  	return nil
  2054  }
  2055  func skipSessionData(dAtA []byte) (n int, err error) {
  2056  	l := len(dAtA)
  2057  	iNdEx := 0
  2058  	depth := 0
  2059  	for iNdEx < l {
  2060  		var wire uint64
  2061  		for shift := uint(0); ; shift += 7 {
  2062  			if shift >= 64 {
  2063  				return 0, ErrIntOverflowSessionData
  2064  			}
  2065  			if iNdEx >= l {
  2066  				return 0, io.ErrUnexpectedEOF
  2067  			}
  2068  			b := dAtA[iNdEx]
  2069  			iNdEx++
  2070  			wire |= (uint64(b) & 0x7F) << shift
  2071  			if b < 0x80 {
  2072  				break
  2073  			}
  2074  		}
  2075  		wireType := int(wire & 0x7)
  2076  		switch wireType {
  2077  		case 0:
  2078  			for shift := uint(0); ; shift += 7 {
  2079  				if shift >= 64 {
  2080  					return 0, ErrIntOverflowSessionData
  2081  				}
  2082  				if iNdEx >= l {
  2083  					return 0, io.ErrUnexpectedEOF
  2084  				}
  2085  				iNdEx++
  2086  				if dAtA[iNdEx-1] < 0x80 {
  2087  					break
  2088  				}
  2089  			}
  2090  		case 1:
  2091  			iNdEx += 8
  2092  		case 2:
  2093  			var length int
  2094  			for shift := uint(0); ; shift += 7 {
  2095  				if shift >= 64 {
  2096  					return 0, ErrIntOverflowSessionData
  2097  				}
  2098  				if iNdEx >= l {
  2099  					return 0, io.ErrUnexpectedEOF
  2100  				}
  2101  				b := dAtA[iNdEx]
  2102  				iNdEx++
  2103  				length |= (int(b) & 0x7F) << shift
  2104  				if b < 0x80 {
  2105  					break
  2106  				}
  2107  			}
  2108  			if length < 0 {
  2109  				return 0, ErrInvalidLengthSessionData
  2110  			}
  2111  			iNdEx += length
  2112  		case 3:
  2113  			depth++
  2114  		case 4:
  2115  			if depth == 0 {
  2116  				return 0, ErrUnexpectedEndOfGroupSessionData
  2117  			}
  2118  			depth--
  2119  		case 5:
  2120  			iNdEx += 4
  2121  		default:
  2122  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  2123  		}
  2124  		if iNdEx < 0 {
  2125  			return 0, ErrInvalidLengthSessionData
  2126  		}
  2127  		if depth == 0 {
  2128  			return iNdEx, nil
  2129  		}
  2130  	}
  2131  	return 0, io.ErrUnexpectedEOF
  2132  }
  2133  
  2134  var (
  2135  	ErrInvalidLengthSessionData        = fmt.Errorf("proto: negative length found during unmarshaling")
  2136  	ErrIntOverflowSessionData          = fmt.Errorf("proto: integer overflow")
  2137  	ErrUnexpectedEndOfGroupSessionData = fmt.Errorf("proto: unexpected end of group")
  2138  )
  2139