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

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: sql/sessiondatapb/local_only_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  	_ "github.com/gogo/protobuf/gogoproto"
    11  	proto "github.com/gogo/protobuf/proto"
    12  	github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
    13  	io "io"
    14  	math "math"
    15  	math_bits "math/bits"
    16  	time "time"
    17  )
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var _ = proto.Marshal
    21  var _ = fmt.Errorf
    22  var _ = math.Inf
    23  var _ = time.Kitchen
    24  
    25  // This is a compile-time assertion to ensure that this generated file
    26  // is compatible with the proto package it is being compiled against.
    27  // A compilation error at this line likely means your copy of the
    28  // proto package needs to be updated.
    29  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    30  
    31  // ReplicationMode represents the replication={0,1,on,off,database} connection
    32  // parameter in PostgreSQL.
    33  type ReplicationMode int32
    34  
    35  const (
    36  	ReplicationMode_REPLICATION_MODE_DISABLED ReplicationMode = 0
    37  	ReplicationMode_REPLICATION_MODE_ENABLED  ReplicationMode = 1
    38  	ReplicationMode_REPLICATION_MODE_DATABASE ReplicationMode = 2
    39  )
    40  
    41  var ReplicationMode_name = map[int32]string{
    42  	0: "REPLICATION_MODE_DISABLED",
    43  	1: "REPLICATION_MODE_ENABLED",
    44  	2: "REPLICATION_MODE_DATABASE",
    45  }
    46  
    47  var ReplicationMode_value = map[string]int32{
    48  	"REPLICATION_MODE_DISABLED": 0,
    49  	"REPLICATION_MODE_ENABLED":  1,
    50  	"REPLICATION_MODE_DATABASE": 2,
    51  }
    52  
    53  func (x ReplicationMode) String() string {
    54  	return proto.EnumName(ReplicationMode_name, int32(x))
    55  }
    56  
    57  func (ReplicationMode) EnumDescriptor() ([]byte, []int) {
    58  	return fileDescriptor_21ead158cf36da28, []int{0}
    59  }
    60  
    61  // LocalOnlySessionData contains the serializable components of session
    62  // parameters that only influence execution on the gateway nodes.
    63  type LocalOnlySessionData struct {
    64  	// SaveTablesPrefix indicates that a table should be created with the
    65  	// given prefix for the output of each subexpression in a query. If
    66  	// SaveTablesPrefix is empty, no tables are created.
    67  	SaveTablesPrefix string `protobuf:"bytes,1,opt,name=save_tables_prefix,json=saveTablesPrefix,proto3" json:"save_tables_prefix,omitempty"`
    68  	// OptimizerFKCascadesLimit is the maximum number of cascading operations that
    69  	// are run for a single query.
    70  	OptimizerFKCascadesLimit int64 `protobuf:"varint,2,opt,name=optimizer_fk_cascades_limit,json=optimizerFkCascadesLimit,proto3" json:"optimizer_fk_cascades_limit,omitempty"`
    71  	// StmtTimeout is the duration a query is permitted to run before it is
    72  	// canceled by the session. If set to 0, there is no timeout.
    73  	StmtTimeout time.Duration `protobuf:"varint,3,opt,name=stmt_timeout,json=stmtTimeout,proto3,casttype=time.Duration" json:"stmt_timeout,omitempty"`
    74  	// IdleInSessionTimeout is the duration a session is permitted to idle before
    75  	// the session is canceled. If set to 0, there is no timeout.
    76  	IdleInSessionTimeout time.Duration `protobuf:"varint,4,opt,name=idle_in_session_timeout,json=idleInSessionTimeout,proto3,casttype=time.Duration" json:"idle_in_session_timeout,omitempty"`
    77  	// IdleInTransactionSessionTimeout is the duration a session is permitted to
    78  	// idle in a transaction before the session is canceled.
    79  	// If set to 0, there is no timeout.
    80  	IdleInTransactionSessionTimeout time.Duration `protobuf:"varint,5,opt,name=idle_in_transaction_session_timeout,json=idleInTransactionSessionTimeout,proto3,casttype=time.Duration" json:"idle_in_transaction_session_timeout,omitempty"`
    81  	// NoticeDisplaySeverity indicates the level of Severity to send notices for the given
    82  	// session. This should ideally be of type pgnotice.DisplaySeverity, but cannot be done
    83  	// due to a circular dependency.
    84  	NoticeDisplaySeverity uint32 `protobuf:"varint,6,opt,name=notice_display_severity,json=noticeDisplaySeverity,proto3" json:"notice_display_severity,omitempty"`
    85  	// ReorderJoinsLimit indicates the number of joins at which the optimizer should
    86  	// stop attempting to reorder.
    87  	ReorderJoinsLimit int64 `protobuf:"varint,7,opt,name=reorder_joins_limit,json=reorderJoinsLimit,proto3" json:"reorder_joins_limit,omitempty"`
    88  	// DefaultTxnPriority indicates the default priority of newly created
    89  	// transactions.
    90  	// NOTE: we'd prefer to use tree.UserPriority here, but doing so would
    91  	// introduce a package dependency cycle.
    92  	DefaultTxnPriority int64 `protobuf:"varint,8,opt,name=default_txn_priority,json=defaultTxnPriority,proto3" json:"default_txn_priority,omitempty"`
    93  	// DefaultTxnReadOnly indicates the default read-only status of newly
    94  	// created transactions.
    95  	DefaultTxnReadOnly bool `protobuf:"varint,9,opt,name=default_txn_read_only,json=defaultTxnReadOnly,proto3" json:"default_txn_read_only,omitempty"`
    96  	// DefaultTxnUseFollowerReads indicates whether transactions should be
    97  	// created by default using an AS OF SYSTEM TIME clause far enough in the
    98  	// past to facilitate reads against followers. If true, transactions will
    99  	// also default to being read-only.
   100  	DefaultTxnUseFollowerReads bool `protobuf:"varint,10,opt,name=default_txn_use_follower_reads,json=defaultTxnUseFollowerReads,proto3" json:"default_txn_use_follower_reads,omitempty"`
   101  	// PartiallyDistributedPlansDisabled indicates whether the partially
   102  	// distributed plans produced by distSQLSpecExecFactory are disabled. It
   103  	// should be set to 'true' only in tests that verify that the old and the
   104  	// new factories return exactly the same physical plans.
   105  	// TODO(yuzefovich): remove it when deleting old sql.execFactory.
   106  	PartiallyDistributedPlansDisabled bool `protobuf:"varint,11,opt,name=partially_distributed_plans_disabled,json=partiallyDistributedPlansDisabled,proto3" json:"partially_distributed_plans_disabled,omitempty"`
   107  	// OptimizerUseHistograms indicates whether we should use histograms for
   108  	// cardinality estimation in the optimizer.
   109  	OptimizerUseHistograms bool `protobuf:"varint,12,opt,name=optimizer_use_histograms,json=optimizerUseHistograms,proto3" json:"optimizer_use_histograms,omitempty"`
   110  	// OptimizerUseMultiColStats indicates whether we should use multi-column
   111  	// statistics for cardinality estimation in the optimizer.
   112  	OptimizerUseMultiColStats bool `protobuf:"varint,13,opt,name=optimizer_use_multi_col_stats,json=optimizerUseMultiColStats,proto3" json:"optimizer_use_multi_col_stats,omitempty"`
   113  	// LocalityOptimizedSearch indicates that the optimizer will try to plan scans
   114  	// and lookup joins in which local nodes (i.e., nodes in the gateway region)
   115  	// are searched for matching rows before remote nodes, in the hope that the
   116  	// execution engine can avoid visiting remote nodes.
   117  	LocalityOptimizedSearch bool `protobuf:"varint,14,opt,name=locality_optimized_search,json=localityOptimizedSearch,proto3" json:"locality_optimized_search,omitempty"`
   118  	// SafeUpdates causes errors when the client
   119  	// sends syntax that may have unwanted side effects.
   120  	SafeUpdates bool `protobuf:"varint,15,opt,name=safe_updates,json=safeUpdates,proto3" json:"safe_updates,omitempty"`
   121  	// PreferLookupJoinsForFKs causes foreign key operations to prefer lookup
   122  	// joins.
   123  	PreferLookupJoinsForFKs bool `protobuf:"varint,16,opt,name=prefer_lookup_joins_for_fks,json=preferLookupJoinsForFks,proto3" json:"prefer_lookup_joins_for_fks,omitempty"`
   124  	// ZigzagJoinEnabled indicates whether the optimizer should try and plan a
   125  	// zigzag join.
   126  	ZigzagJoinEnabled bool `protobuf:"varint,17,opt,name=zigzag_join_enabled,json=zigzagJoinEnabled,proto3" json:"zigzag_join_enabled,omitempty"`
   127  	// RequireExplicitPrimaryKeys indicates whether CREATE TABLE statements should
   128  	// error out if no primary key is provided.
   129  	RequireExplicitPrimaryKeys bool `protobuf:"varint,18,opt,name=require_explicit_primary_keys,json=requireExplicitPrimaryKeys,proto3" json:"require_explicit_primary_keys,omitempty"`
   130  	// ForceSavepointRestart overrides the default SAVEPOINT behavior
   131  	// for compatibility with certain ORMs. When this flag is set,
   132  	// the savepoint name will no longer be compared against the magic
   133  	// identifier `cockroach_restart` in order use a restartable
   134  	// transaction.
   135  	ForceSavepointRestart bool `protobuf:"varint,19,opt,name=force_savepoint_restart,json=forceSavepointRestart,proto3" json:"force_savepoint_restart,omitempty"`
   136  	// AllowPrepareAsOptPlan must be set to allow use of
   137  	//
   138  	//	PREPARE name AS OPT PLAN '...'
   139  	AllowPrepareAsOptPlan bool `protobuf:"varint,20,opt,name=allow_prepare_as_opt_plan,json=allowPrepareAsOptPlan,proto3" json:"allow_prepare_as_opt_plan,omitempty"`
   140  	// TempTablesEnabled indicates whether temporary tables can be created or not.
   141  	TempTablesEnabled bool `protobuf:"varint,21,opt,name=temp_tables_enabled,json=tempTablesEnabled,proto3" json:"temp_tables_enabled,omitempty"`
   142  	// ImplicitPartitioningEnabled indicates whether implicit column partitioning
   143  	// can be created.
   144  	ImplicitColumnPartitioningEnabled bool `protobuf:"varint,22,opt,name=implicit_column_partitioning_enabled,json=implicitColumnPartitioningEnabled,proto3" json:"implicit_column_partitioning_enabled,omitempty"`
   145  	// OverrideMultiRegionZoneConfigEnabled indicates whether zone configurations can be
   146  	// modified for multi-region databases and tables/indexes/partitions.
   147  	OverrideMultiRegionZoneConfigEnabled bool `protobuf:"varint,24,opt,name=override_multi_region_zone_config_enabled,json=overrideMultiRegionZoneConfigEnabled,proto3" json:"override_multi_region_zone_config_enabled,omitempty"`
   148  	// DisallowFullTableScans indicates whether queries that plan full table scans
   149  	// should be rejected.
   150  	DisallowFullTableScans bool `protobuf:"varint,26,opt,name=disallow_full_table_scans,json=disallowFullTableScans,proto3" json:"disallow_full_table_scans,omitempty"`
   151  	// ImplicitSelectForUpdate is true if FOR UPDATE locking may be used during
   152  	// the row-fetch phase of mutation statements.
   153  	ImplicitSelectForUpdate bool `protobuf:"varint,27,opt,name=implicit_select_for_update,json=implicitSelectForUpdate,proto3" json:"implicit_select_for_update,omitempty"`
   154  	// InsertFastPath is true if the fast path for insert (with VALUES input) may
   155  	// be used.
   156  	InsertFastPath bool `protobuf:"varint,28,opt,name=insert_fast_path,json=insertFastPath,proto3" json:"insert_fast_path,omitempty"`
   157  	// AlterColumnTypeGeneralEnabled is true if ALTER TABLE ... ALTER COLUMN ...
   158  	// TYPE x may be used for general conversions requiring online schema change/
   159  	AlterColumnTypeGeneralEnabled bool `protobuf:"varint,29,opt,name=alter_column_type_general_enabled,json=alterColumnTypeGeneralEnabled,proto3" json:"alter_column_type_general_enabled,omitempty"`
   160  	// SynchronousCommit is a dummy setting for the synchronous_commit var.
   161  	SynchronousCommit bool `protobuf:"varint,30,opt,name=synchronous_commit,json=synchronousCommit,proto3" json:"synchronous_commit,omitempty"`
   162  	// EnableSeqScan is a dummy setting for the enable_seqscan var.
   163  	EnableSeqScan bool `protobuf:"varint,31,opt,name=enable_seq_scan,json=enableSeqScan,proto3" json:"enable_seq_scan,omitempty"`
   164  	// EnableUniqueWithoutIndexConstraints indicates whether creating unique
   165  	// constraints without an index is allowed.
   166  	// TODO(rytaft): remove this once unique without index constraints are fully
   167  	// supported.
   168  	EnableUniqueWithoutIndexConstraints bool `protobuf:"varint,33,opt,name=enable_unique_without_index_constraints,json=enableUniqueWithoutIndexConstraints,proto3" json:"enable_unique_without_index_constraints,omitempty"`
   169  	// StubCatalogTablesEnabled allows queries against virtual
   170  	// tables that are not yet implemented.
   171  	StubCatalogTablesEnabled bool `protobuf:"varint,34,opt,name=stub_catalog_tables_enabled,json=stubCatalogTablesEnabled,proto3" json:"stub_catalog_tables_enabled,omitempty"`
   172  	// ExperimentalComputedColumnRewrites allows automatic rewriting of computed
   173  	// column expressions in CREATE TABLE and ALTER TABLE statements. See the
   174  	// experimentalComputedColumnRewrites cluster setting for a description of the
   175  	// format.
   176  	ExperimentalComputedColumnRewrites string `protobuf:"bytes,35,opt,name=experimental_computed_column_rewrites,json=experimentalComputedColumnRewrites,proto3" json:"experimental_computed_column_rewrites,omitempty"`
   177  	// EnableStreamReplication indicates whether to allow setting up a replication
   178  	// stream.
   179  	EnableStreamReplication bool `protobuf:"varint,37,opt,name=enable_stream_replication,json=enableStreamReplication,proto3" json:"enable_stream_replication,omitempty"`
   180  	// ResultsBufferSize specifies the size at which the pgwire results buffer
   181  	// will self-flush.
   182  	ResultsBufferSize int64 `protobuf:"varint,38,opt,name=results_buffer_size,json=resultsBufferSize,proto3" json:"results_buffer_size,omitempty"`
   183  	// PropagateInputOrdering indicates that when planning a subquery or CTE, the
   184  	// inner ordering should be propagated to the outer scope if the outer scope
   185  	// is unordered. PropagateInputOrdering is currently experimental.
   186  	PropagateInputOrdering bool `protobuf:"varint,39,opt,name=propagate_input_ordering,json=propagateInputOrdering,proto3" json:"propagate_input_ordering,omitempty"`
   187  	// ExperimentalDistSQLPlanningMode indicates whether the experimental
   188  	// DistSQL planning driven by the optimizer is enabled.
   189  	ExperimentalDistSQLPlanningMode ExperimentalDistSQLPlanningMode `protobuf:"varint,40,opt,name=experimental_distsql_planning_mode,json=experimentalDistsqlPlanningMode,proto3,casttype=ExperimentalDistSQLPlanningMode" json:"experimental_distsql_planning_mode,omitempty"`
   190  	// DistSQLMode indicates whether to run queries using the distributed
   191  	// execution engine.
   192  	DistSQLMode DistSQLExecMode `protobuf:"varint,41,opt,name=dist_sql_mode,json=distSqlMode,proto3,casttype=DistSQLExecMode" json:"dist_sql_mode,omitempty"`
   193  	// SerialNormalizationMode indicates how to handle the SERIAL pseudo-type.
   194  	SerialNormalizationMode SerialNormalizationMode `protobuf:"varint,42,opt,name=serial_normalization_mode,json=serialNormalizationMode,proto3,casttype=SerialNormalizationMode" json:"serial_normalization_mode,omitempty"`
   195  	// NewSchemaChangerMode indicates whether to use the new schema changer.
   196  	NewSchemaChangerMode NewSchemaChangerMode `protobuf:"varint,43,opt,name=new_schema_changer_mode,json=newSchemaChangerMode,proto3,casttype=NewSchemaChangerMode" json:"new_schema_changer_mode,omitempty"`
   197  	// SequenceCache stores sequence values which have been cached using the
   198  	// CACHE sequence option.
   199  	SequenceCache SequenceCache `protobuf:"bytes,44,rep,name=sequence_cache,json=sequenceCache,proto3,casttype=SequenceCache" json:"sequence_cache,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   200  	// PlacementEnabled indicates whether PLACEMENT can be used or not.
   201  	PlacementEnabled bool `protobuf:"varint,45,opt,name=placement_enabled,json=placementEnabled,proto3" json:"placement_enabled,omitempty"`
   202  	// SessionUserProto is the name of the user which has performed a SET ROLE
   203  	// command. In other words, it is the name of the user which originally
   204  	// established the connection before SET ROLE was first performed.
   205  	// This is only populated when SET ROLE is used, otherwise the session_user
   206  	// is the same as the UserProto in SessionData.
   207  	// Postgres allows the SessionUser to be changed with SET SESSION AUTHORIZATION
   208  	// but CockroachDB doesn't allow that at the time of this writing.
   209  	SessionUserProto github_com_cockroachdb_cockroach_pkg_security_username.SQLUsernameProto `protobuf:"bytes,46,opt,name=session_user_proto,json=sessionUserProto,proto3,casttype=github.com/cockroachdb/cockroachdb-parser/pkg/security/username.SQLUsernameProto" json:"session_user_proto,omitempty"`
   210  	// TxnRowsWrittenLog is the threshold for the number of rows written by a SQL
   211  	// transaction which - once exceeded - will trigger a logging event to SQL_PERF
   212  	// (or SQL_INTERNAL_PERF for internal transactions); 0 means disabled.
   213  	TxnRowsWrittenLog int64 `protobuf:"varint,47,opt,name=txn_rows_written_log,json=txnRowsWrittenLog,proto3" json:"txn_rows_written_log,omitempty"`
   214  	// TxnRowsWrittenErr is the limit for the number of rows written by a SQL
   215  	// transaction which - once exceeded - will fail the transaction (or will
   216  	// trigger a logging event to SQL_INTERNAL_PERF for internal transactions); 0
   217  	// means disabled.
   218  	TxnRowsWrittenErr int64 `protobuf:"varint,48,opt,name=txn_rows_written_err,json=txnRowsWrittenErr,proto3" json:"txn_rows_written_err,omitempty"`
   219  	// TxnRowsReadLog is the threshold for the number of rows read by a SQL
   220  	// transaction which - once exceeded - will trigger a logging event to SQL_PERF
   221  	// (or SQL_INTERNAL_PERF for internal transactions); 0 means disabled.
   222  	TxnRowsReadLog int64 `protobuf:"varint,49,opt,name=txn_rows_read_log,json=txnRowsReadLog,proto3" json:"txn_rows_read_log,omitempty"`
   223  	// TxnRowsReadErr is the limit for the number of rows read by a SQL
   224  	// transaction which - once exceeded - will fail the transaction (or will
   225  	// trigger a logging event to SQL_INTERNAL_PERF for internal transactions); 0
   226  	// means disabled.
   227  	TxnRowsReadErr int64 `protobuf:"varint,50,opt,name=txn_rows_read_err,json=txnRowsReadErr,proto3" json:"txn_rows_read_err,omitempty"`
   228  	// AutoRehomingEnabled indicates whether or not REGIONAL BY ROW tables should
   229  	// have a rehoming ON UPDATE clause added to them.
   230  	AutoRehomingEnabled bool `protobuf:"varint,51,opt,name=auto_rehoming_enabled,json=autoRehomingEnabled,proto3" json:"auto_rehoming_enabled,omitempty"`
   231  	// IsSuperuser returns whether the user is a "superuser", which is defined
   232  	// to be a user with an admin role.
   233  	IsSuperuser bool `protobuf:"varint,52,opt,name=is_superuser,json=isSuperuser,proto3" json:"is_superuser,omitempty"`
   234  	// LargeFullScanRows is the estimated row count at which a full scan is
   235  	// considered large, and worthy of logging and/or disabling depending on other
   236  	// settings.
   237  	LargeFullScanRows float64 `protobuf:"fixed64,53,opt,name=large_full_scan_rows,json=largeFullScanRows,proto3" json:"large_full_scan_rows,omitempty"`
   238  	// InjectRetryErrorsEnabled causes statements inside an explicit
   239  	// transaction to return a transaction retry error. It is intended for
   240  	// developers to test their app's retry logic.
   241  	//
   242  	// Note that this session variable is **not** propagated to the internal
   243  	// executors - use InternalExecutorOverride for that.
   244  	InjectRetryErrorsEnabled bool `protobuf:"varint,54,opt,name=inject_retry_errors_enabled,json=injectRetryErrorsEnabled,proto3" json:"inject_retry_errors_enabled,omitempty"`
   245  	// NullOrderedLast controls whether NULL is ordered last. We default to
   246  	// NULLS FIRST for ascending order by default, whereas postgres defaults
   247  	// to NULLS LAST.
   248  	NullOrderedLast bool `protobuf:"varint,55,opt,name=null_ordered_last,json=nullOrderedLast,proto3" json:"null_ordered_last,omitempty"`
   249  	// DisablePlanGists indicates whether we should disable automatic gists.
   250  	DisablePlanGists bool `protobuf:"varint,56,opt,name=disable_plan_gists,json=disablePlanGists,proto3" json:"disable_plan_gists,omitempty"`
   251  	// CustomOptions contains a map of all custom session settings.
   252  	// These session variables have at least one period in their name.
   253  	CustomOptions map[string]string `protobuf:"bytes,57,rep,name=custom_options,json=customOptions,proto3" json:"custom_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   254  	// IndexRecommendationsEnabled controls whether or not we display index
   255  	// recommendations below the plan in EXPLAIN.
   256  	IndexRecommendationsEnabled bool `protobuf:"varint,58,opt,name=index_recommendations_enabled,json=indexRecommendationsEnabled,proto3" json:"index_recommendations_enabled,omitempty"`
   257  	// AvoidBuffering indicates that the returned data should not be
   258  	// buffered by conn executor.  This is currently used by replication primitives
   259  	// to ensure the data is flushed to the consumer immediately.
   260  	//
   261  	// Does not apply to the InternalExecutor.
   262  	AvoidBuffering bool `protobuf:"varint,59,opt,name=avoid_buffering,json=avoidBuffering,proto3" json:"avoid_buffering,omitempty"`
   263  	// CheckFunctionBodies indicates whether functions are validated during
   264  	// creation.
   265  	CheckFunctionBodies bool `protobuf:"varint,60,opt,name=check_function_bodies,json=checkFunctionBodies,proto3" json:"check_function_bodies,omitempty"`
   266  	// CostScansWithDefaultColSize is true when the optimizer should cost scans
   267  	// and joins using the same default number of bytes per column instead of
   268  	// column sizes from the AvgSize table statistic.
   269  	CostScansWithDefaultColSize bool `protobuf:"varint,61,opt,name=cost_scans_with_default_col_size,json=costScansWithDefaultColSize,proto3" json:"cost_scans_with_default_col_size,omitempty"`
   270  	// DefaultTxnQualityOfService indicates the default QoSLevel/WorkPriority of
   271  	// newly created transactions.
   272  	DefaultTxnQualityOfService QoSLevel `protobuf:"varint,62,opt,name=default_txn_quality_of_service,json=defaultTxnQualityOfService,proto3,casttype=QoSLevel" json:"default_txn_quality_of_service,omitempty"`
   273  	// OptSplitScanLimit indicates the maximum number of UNION ALL statements a
   274  	// Scan may be split into during query optimization to avoid a sort.
   275  	OptSplitScanLimit int32 `protobuf:"varint,63,opt,name=opt_split_scan_limit,json=optSplitScanLimit,proto3" json:"opt_split_scan_limit,omitempty"`
   276  	// EnableSuperRegions is true when super region functionality is enabled.
   277  	EnableSuperRegions bool `protobuf:"varint,64,opt,name=enable_super_regions,json=enableSuperRegions,proto3" json:"enable_super_regions,omitempty"`
   278  	// OverrideAlterPrimaryRegionInSuperRegion is true when the user is allowed
   279  	// to modify a primary region that is part of a super region.
   280  	OverrideAlterPrimaryRegionInSuperRegion bool `protobuf:"varint,65,opt,name=override_alter_primary_region_in_super_region,json=overrideAlterPrimaryRegionInSuperRegion,proto3" json:"override_alter_primary_region_in_super_region,omitempty"`
   281  	// EnableImplicitTransactionForBatchStatements configures the handling of
   282  	// multiple statements in a single query. If enabled, then an implicit
   283  	// transaction is used when multiple statements are sent in a single query.
   284  	// Setting this to false is a divergence from the pgwire protocol, but
   285  	// matches the behavior of CockroachDB v21.2 and earlier.
   286  	EnableImplicitTransactionForBatchStatements bool `protobuf:"varint,66,opt,name=enable_implicit_transaction_for_batch_statements,json=enableImplicitTransactionForBatchStatements,proto3" json:"enable_implicit_transaction_for_batch_statements,omitempty"`
   287  	// ExpectAndIgnoreNotVisibleColumnsInCopy changes behaviour for COPY t FROM ...
   288  	// (with no column name specifiers) to expect and ignore not visible column
   289  	// fields.
   290  	ExpectAndIgnoreNotVisibleColumnsInCopy bool `protobuf:"varint,67,opt,name=expect_and_ignore_not_visible_columns_in_copy,json=expectAndIgnoreNotVisibleColumnsInCopy,proto3" json:"expect_and_ignore_not_visible_columns_in_copy,omitempty"`
   291  	// MultipleModificationsOfTable allows statements containing multiple INSERT
   292  	// ON CONFLICT, UPSERT, UPDATE, or DELETE subqueries modifying the same table,
   293  	// at the risk of data corruption if the same row is modified multiple times.
   294  	MultipleModificationsOfTable bool `protobuf:"varint,68,opt,name=multiple_modifications_of_table,json=multipleModificationsOfTable,proto3" json:"multiple_modifications_of_table,omitempty"`
   295  	// ShowPrimaryKeyConstraintOnNotVisibleColumns controls whether SHOW
   296  	// CONSTRAINTS and pg_catalog.pg_constraint will include primary key
   297  	// constraints that only include hidden columns.
   298  	ShowPrimaryKeyConstraintOnNotVisibleColumns bool `protobuf:"varint,69,opt,name=show_primary_key_constraint_on_not_visible_columns,json=showPrimaryKeyConstraintOnNotVisibleColumns,proto3" json:"show_primary_key_constraint_on_not_visible_columns,omitempty"`
   299  	// TestingOptimizerRandomSeed is non-zero when we are testing the optimizer by
   300  	// randomly perturbing costs or disabling rules. This will initialize a rng
   301  	// seeded to the given integer. This should only be used in test scenarios and
   302  	// is very much a non-production setting.
   303  	TestingOptimizerRandomSeed int64 `protobuf:"varint,70,opt,name=testing_optimizer_random_seed,json=testingOptimizerRandomSeed,proto3" json:"testing_optimizer_random_seed,omitempty"`
   304  	// UnconstrainedNonCoveringIndexScanEnabled controls whether unconstrained
   305  	// non-covering index scan access paths are explored by the optimizer.
   306  	UnconstrainedNonCoveringIndexScanEnabled bool `protobuf:"varint,71,opt,name=unconstrained_non_covering_index_scan_enabled,json=unconstrainedNonCoveringIndexScanEnabled,proto3" json:"unconstrained_non_covering_index_scan_enabled,omitempty"`
   307  	// TestingOptimizerCostPerturbation is non-zero when the coster should
   308  	// randomly perturb costs to produce a non-optimal query plan. This should
   309  	// only be used in test scenarios and is very much a non-production setting.
   310  	TestingOptimizerCostPerturbation float64 `protobuf:"fixed64,72,opt,name=testing_optimizer_cost_perturbation,json=testingOptimizerCostPerturbation,proto3" json:"testing_optimizer_cost_perturbation,omitempty"`
   311  	// TestingOptimizerDisableRuleProbability is non-zero when the optimizer
   312  	// should randomly disable every non-essential transformation rule with the
   313  	// given probability. This should only be used in test scenarios and is very
   314  	// much a non-production setting.
   315  	TestingOptimizerDisableRuleProbability float64 `protobuf:"fixed64,73,opt,name=testing_optimizer_disable_rule_probability,json=testingOptimizerDisableRuleProbability,proto3" json:"testing_optimizer_disable_rule_probability,omitempty"`
   316  	// OptimizerUseNotVisibleIndexes indicates whether the optimizer can still
   317  	// choose to use visible indexes for query plans.
   318  	OptimizerUseNotVisibleIndexes bool `protobuf:"varint,74,opt,name=optimizer_use_not_visible_indexes,json=optimizerUseNotVisibleIndexes,proto3" json:"optimizer_use_not_visible_indexes,omitempty"`
   319  	// CopyFastPathEnabled controls whether the optimized copy mode is enabled.
   320  	CopyFastPathEnabled bool `protobuf:"varint,75,opt,name=copy_fast_path_enabled,json=copyFastPathEnabled,proto3" json:"copy_fast_path_enabled,omitempty"`
   321  	// disable_hoist_projection_in_join_limitation disables the restrictions
   322  	// placed on projection hoisting during query planning in the optimizer.
   323  	DisableHoistProjectionInJoinLimitation bool `protobuf:"varint,76,opt,name=disable_hoist_projection_in_join_limitation,json=disableHoistProjectionInJoinLimitation,proto3" json:"disable_hoist_projection_in_join_limitation,omitempty"`
   324  	// CopyFromAtomicEnabled controls whether implicit txn copy from operations
   325  	// are atomic or segmented.
   326  	CopyFromAtomicEnabled bool `protobuf:"varint,77,opt,name=copy_from_atomic_enabled,json=copyFromAtomicEnabled,proto3" json:"copy_from_atomic_enabled,omitempty"`
   327  	// EnforceHomeRegion, when true, causes queries which scan rows from multiple
   328  	// regions, or which scan rows from a single home region, but initiated from
   329  	// a gateway region which differs from that home region, to error out.
   330  	EnforceHomeRegion bool `protobuf:"varint,78,opt,name=enforce_home_region,json=enforceHomeRegion,proto3" json:"enforce_home_region,omitempty"`
   331  	// OptimizerUseForecasts indicates whether we should use statistics forecasts
   332  	// for cardinality estimation in the optimizer.
   333  	OptimizerUseForecasts bool `protobuf:"varint,79,opt,name=optimizer_use_forecasts,json=optimizerUseForecasts,proto3" json:"optimizer_use_forecasts,omitempty"`
   334  	// VariableInequalityLookupJoinEnabled indicates whether the optimizer should
   335  	// be allowed to consider lookup joins with inequality conditions, in
   336  	// addition to the other restrictions on when they are planned.
   337  	VariableInequalityLookupJoinEnabled bool `protobuf:"varint,80,opt,name=variable_inequality_lookup_join_enabled,json=variableInequalityLookupJoinEnabled,proto3" json:"variable_inequality_lookup_join_enabled,omitempty"`
   338  	// TransactionSessionTimeout is the duration a transaction is permitted to
   339  	// run before the transaction is canceled. If set to 0, there is no timeout.
   340  	TransactionTimeout time.Duration `protobuf:"varint,81,opt,name=transaction_timeout,json=transactionTimeout,proto3,casttype=time.Duration" json:"transaction_timeout,omitempty"`
   341  	// SystemIdentityProto is the original name of the client presented to pgwire
   342  	// before it was mapped to a SQL identifier.
   343  	SystemIdentityProto github_com_cockroachdb_cockroach_pkg_security_username.SQLUsernameProto `protobuf:"bytes,82,opt,name=system_identity_proto,json=systemIdentityProto,proto3,casttype=github.com/cockroachdb/cockroachdb-parser/pkg/security/username.SQLUsernameProto" json:"system_identity_proto,omitempty"`
   344  	// DescriptorValidationMode indicates whether to validate the descriptors at
   345  	// read and write time, at read time only, or never.
   346  	DescriptorValidationMode DescriptorValidationMode `protobuf:"varint,83,opt,name=descriptor_validation_mode,json=descriptorValidationMode,proto3,casttype=DescriptorValidationMode" json:"descriptor_validation_mode,omitempty"`
   347  	// ExperimentalHashGroupJoinEnabled indicates whether the physical planner
   348  	// will attempt to convert a hash join followed by a hash aggregator into a
   349  	// single hash group-join operation. At the moment, there is no optimizer
   350  	// support for this, so some things can be incorrect (e.g. EXPLAIN plans).
   351  	ExperimentalHashGroupJoinEnabled bool `protobuf:"varint,84,opt,name=experimental_hash_group_join_enabled,json=experimentalHashGroupJoinEnabled,proto3" json:"experimental_hash_group_join_enabled,omitempty"`
   352  	// AllowOrdinalColumnReferences indicates whether the deprecated ordinal
   353  	// column reference syntax (e.g., `SELECT @1 FROM t`) is allowed.
   354  	AllowOrdinalColumnReferences bool `protobuf:"varint,85,opt,name=allow_ordinal_column_references,json=allowOrdinalColumnReferences,proto3" json:"allow_ordinal_column_references,omitempty"`
   355  	// OptimizerUseImprovedDisjunctionStats, when true, indicates that the
   356  	// optimizer should use improved statistics calculations for disjunctive
   357  	// filters.
   358  	OptimizerUseImprovedDisjunctionStats bool `protobuf:"varint,86,opt,name=optimizer_use_improved_disjunction_stats,json=optimizerUseImprovedDisjunctionStats,proto3" json:"optimizer_use_improved_disjunction_stats,omitempty"`
   359  	// OptimizerUseLimitOrderingForStreamingGroupBy enables the exploration rule
   360  	// which optimizes 'SELECT ... GROUP BY ... ORDER BY ... LIMIT n' queries.
   361  	// The rule uses the required ordering in the limit expression to inform an
   362  	// interesting ordering to require from the input to the group-by expression.
   363  	// This can potentially eliminate a top-k operation.
   364  	OptimizerUseLimitOrderingForStreamingGroupBy bool `protobuf:"varint,88,opt,name=optimizer_use_limit_ordering_for_streaming_group_by,json=optimizerUseLimitOrderingForStreamingGroupBy,proto3" json:"optimizer_use_limit_ordering_for_streaming_group_by,omitempty"`
   365  	// CopyFromRetriesEnabled controls whether retries should be internally
   366  	// attempted for retriable errors.
   367  	CopyFromRetriesEnabled bool `protobuf:"varint,89,opt,name=copy_from_retries_enabled,json=copyFromRetriesEnabled,proto3" json:"copy_from_retries_enabled,omitempty"`
   368  	// DeclareCursorStatementTimeoutEnabled controls whether statement timeouts
   369  	// apply during DECLARE CURSOR.
   370  	DeclareCursorStatementTimeoutEnabled bool `protobuf:"varint,90,opt,name=declare_cursor_statement_timeout_enabled,json=declareCursorStatementTimeoutEnabled,proto3" json:"declare_cursor_statement_timeout_enabled,omitempty"`
   371  	// OptimizerUseImprovedSplitDisjunctionForJoins enables the optimizer to split
   372  	// disjunctions (OR expressions) in more cases in join conditions by building a
   373  	// UNION of two join expressions. If this setting is true, all disjunctions in
   374  	// inner, semi, and anti joins will be split. If false, only disjunctions
   375  	// potentially containing an equijoin condition will be split.
   376  	OptimizerUseImprovedSplitDisjunctionForJoins bool `protobuf:"varint,91,opt,name=optimizer_use_improved_split_disjunction_for_joins,json=optimizerUseImprovedSplitDisjunctionForJoins,proto3" json:"optimizer_use_improved_split_disjunction_for_joins,omitempty"`
   377  	// InjectRetryErrorsOnCommitEnabled causes statements inside an explicit
   378  	// transaction to return a transaction retry error just before transcation commit.
   379  	// It is intended for developers to test their app's retry logic.
   380  	InjectRetryErrorsOnCommitEnabled bool `protobuf:"varint,92,opt,name=inject_retry_errors_on_commit_enabled,json=injectRetryErrorsOnCommitEnabled,proto3" json:"inject_retry_errors_on_commit_enabled,omitempty"`
   381  	// EnforceHomeRegionFollowerReadsEnabled, when true, allows the use of
   382  	// follower reads to dynamically detect and report a query's home region
   383  	// when the enforce_home_region session setting is also true.
   384  	EnforceHomeRegionFollowerReadsEnabled bool `protobuf:"varint,93,opt,name=enforce_home_region_follower_reads_enabled,json=enforceHomeRegionFollowerReadsEnabled,proto3" json:"enforce_home_region_follower_reads_enabled,omitempty"`
   385  	// OptimizerAlwaysUseHistograms, when true, ensures that the optimizer
   386  	// always uses histograms to calculate statistics if available.
   387  	OptimizerAlwaysUseHistograms bool `protobuf:"varint,94,opt,name=optimizer_always_use_histograms,json=optimizerAlwaysUseHistograms,proto3" json:"optimizer_always_use_histograms,omitempty"`
   388  	// EnableCreateStatsUsingExtremes, when true, allows the use of CREATE
   389  	// STATISTICS .. USING EXTREMES.
   390  	EnableCreateStatsUsingExtremes bool `protobuf:"varint,95,opt,name=enable_create_stats_using_extremes,json=enableCreateStatsUsingExtremes,proto3" json:"enable_create_stats_using_extremes,omitempty"`
   391  	// AllowRoleMembershipsToChangeDuringTransaction, when true, means that
   392  	// operations which consult the role membership cache do not retain their
   393  	// lease on that version of the cache throughout the transaction. The
   394  	// consequence of this is that the transaction may not experience a singular
   395  	// view of role membership, and it may be able to commit after the revocation
   396  	// of a role membership which the transaction relied on has successfully been
   397  	// committed and acknowledged to the user.
   398  	AllowRoleMembershipsToChangeDuringTransaction bool `protobuf:"varint,96,opt,name=allow_role_memberships_to_change_during_transaction,json=allowRoleMembershipsToChangeDuringTransaction,proto3" json:"allow_role_memberships_to_change_during_transaction,omitempty"`
   399  	// PreparedStatementsCacheSize, when not equal to 0, causes the LRU prepared
   400  	// statements in a session to be automatically deallocated when total prepared
   401  	// statement memory usage for that session is more than the cache size.
   402  	// Execution of these deallocated prepared statements will fail until they are
   403  	// prepared again.
   404  	PreparedStatementsCacheSize int64 `protobuf:"varint,97,opt,name=prepared_statements_cache_size,json=preparedStatementsCacheSize,proto3" json:"prepared_statements_cache_size,omitempty"`
   405  	// StreamerEnabled controls whether the Streamer API can be used.
   406  	StreamerEnabled bool `protobuf:"varint,98,opt,name=streamer_enabled,json=streamerEnabled,proto3" json:"streamer_enabled,omitempty"`
   407  	// DisableDropVirtualCluster causes errors when the client
   408  	// attempts to drop virtual clusters or tenant records.
   409  	DisableDropVirtualCluster bool `protobuf:"varint,99,opt,name=disable_drop_virtual_cluster,json=disableDropVirtualCluster,proto3" json:"disable_drop_virtual_cluster,omitempty"`
   410  	// MultipleActivePortalEnabled determines if the pgwire portal execution
   411  	// for certain queries can be paused. If true, portals with read-only SELECT
   412  	// query without sub/post queries can be executed in interleaving manner, but
   413  	// with a local execution plan.
   414  	MultipleActivePortalsEnabled bool `protobuf:"varint,100,opt,name=multiple_active_portals_enabled,json=multipleActivePortalsEnabled,proto3" json:"multiple_active_portals_enabled,omitempty"`
   415  	// UnboundedParallelScans, when true, indicates that the TableReader DistSQL
   416  	// processors should parallelize scans across ranges. Note that the
   417  	// parallelization will still be disabled for queries with LIMITs, and it can
   418  	// lead to increased likelihood of OOMs.
   419  	UnboundedParallelScans bool `protobuf:"varint,101,opt,name=unbounded_parallel_scans,json=unboundedParallelScans,proto3" json:"unbounded_parallel_scans,omitempty"`
   420  	// OptimizerHoistUncorrelatedEqualitySubqueries, when true, causes the
   421  	// optimizer to hoist uncorrelated subqueries that are part of an equality
   422  	// expression with a column reference, which can produce more efficient query
   423  	// plans.
   424  	OptimizerHoistUncorrelatedEqualitySubqueries bool `protobuf:"varint,102,opt,name=optimizer_hoist_uncorrelated_equality_subqueries,json=optimizerHoistUncorrelatedEqualitySubqueries,proto3" json:"optimizer_hoist_uncorrelated_equality_subqueries,omitempty"`
   425  	// TestingOptimizerInjectPanics indicates whether random panics are injected
   426  	// during optimization. The goal of this setting is to flush out cases where
   427  	// panics used for error-propagation are uncaught.
   428  	TestingOptimizerInjectPanics bool `protobuf:"varint,103,opt,name=testing_optimizer_inject_panics,json=testingOptimizerInjectPanics,proto3" json:"testing_optimizer_inject_panics,omitempty"`
   429  	// OptimizerUseImprovedComputedColumnFiltersDerivation, when true, causes the
   430  	// optimizer to derive filters on computed columns in more cases. Previously,
   431  	// filters could only be derived when the expression defining the computed
   432  	// column involved a single column and that column was equated with a single
   433  	// constant value in a WHERE clause filter.
   434  	OptimizerUseImprovedComputedColumnFiltersDerivation bool `protobuf:"varint,104,opt,name=optimizer_use_improved_computed_column_filters_derivation,json=optimizerUseImprovedComputedColumnFiltersDerivation,proto3" json:"optimizer_use_improved_computed_column_filters_derivation,omitempty"`
   435  	// DefaultTxnIsolationLevel indicates the default isolation level of newly
   436  	// created transactions.
   437  	// NOTE: we'd prefer to use tree.IsolationLevel here, but doing so would
   438  	// introduce a package dependency cycle.
   439  	DefaultTxnIsolationLevel int64 `protobuf:"varint,105,opt,name=default_txn_isolation_level,json=defaultTxnIsolationLevel,proto3" json:"default_txn_isolation_level,omitempty"`
   440  	// ReplicationMode represents the replication parameter passed in during
   441  	// connection time.
   442  	ReplicationMode ReplicationMode `protobuf:"varint,106,opt,name=replication_mode,json=replicationMode,proto3,enum=cockroach.sql.sessiondatapb.ReplicationMode" json:"replication_mode,omitempty"`
   443  	// OptimizerUseImprovedJoinElimination, when true, allows the optimizer to
   444  	// eliminate joins in more cases by remapping columns from the eliminated
   445  	// input of the join to equivalent columns from the preserved input.
   446  	OptimizerUseImprovedJoinElimination bool `protobuf:"varint,107,opt,name=optimizer_use_improved_join_elimination,json=optimizerUseImprovedJoinElimination,proto3" json:"optimizer_use_improved_join_elimination,omitempty"`
   447  	// ImplicitFKLockingForSerializable is true if FOR SHARE locking may be used
   448  	// while checking the referenced table during an insert or update to a table
   449  	// with a foreign key under serializable isolation. (Under weaker isolation
   450  	// levels foreign key checks of the parent table always use FOR SHARE
   451  	// locking.)
   452  	ImplicitFKLockingForSerializable bool `protobuf:"varint,108,opt,name=implicit_fk_locking_for_serializable,json=implicitFkLockingForSerializable,proto3" json:"implicit_fk_locking_for_serializable,omitempty"`
   453  	// DurableLockingForSerializable is true if we should use durable locking for
   454  	// SELECT FOR UPDATE statements, SELECT FOR SHARE statements, and constraint
   455  	// checks under serializable isolation. (Serializable isolation does not
   456  	// require locking for correctness, so by default we use best-effort locks for
   457  	// better performance.) Weaker isolation levels always use durable locking.
   458  	DurableLockingForSerializable bool `protobuf:"varint,109,opt,name=durable_locking_for_serializable,json=durableLockingForSerializable,proto3" json:"durable_locking_for_serializable,omitempty"`
   459  	// SharedLockingForSerializable, if set to true, means SELECT FOR SHARE and
   460  	// SELECT FOR KEY SHARE statements issued by transactions that run with
   461  	// serializable isolation will acquire shared locks; otherwise, they'll
   462  	// perform non-locking reads.
   463  	//
   464  	// Weaker isolation levels always acquire shared locks for SELECT FOR SHARE
   465  	// and SELECT FOR KEY SHARE statements, regardless of this session setting.
   466  	SharedLockingForSerializable bool `protobuf:"varint,112,opt,name=shared_locking_for_serializable,json=sharedLockingForSerializable,proto3" json:"shared_locking_for_serializable,omitempty"`
   467  	// MaxRetriesForReadCommitted indicates the maximum number of
   468  	// automatic retries to perform for statements in explicit READ COMMITTED
   469  	// transactions that see a transaction retry error.
   470  	MaxRetriesForReadCommitted int32 `protobuf:"varint,110,opt,name=max_retries_for_read_committed,json=maxRetriesForReadCommitted,proto3" json:"max_retries_for_read_committed,omitempty"`
   471  	// StrictDDLAtomicity causes errors when the client attempts DDL
   472  	// operations inside an explicit txn and CockroachDB cannot
   473  	// guarantee the DDL to be performed atomically.
   474  	//
   475  	// When this is not set, a transaction may commit its DML
   476  	// statements but fail its DDL statements, resulting
   477  	// in error XXA00 - TransactionCommittedWithSchemaChangeFailure.
   478  	//
   479  	// When this is set, that particular atomicity violation should
   480  	// not occur any more (at the expense of disabling certain
   481  	// forms of DDL inside explicit txns).
   482  	StrictDDLAtomicity bool `protobuf:"varint,111,opt,name=strict_ddl_atomicity,json=strictDdlAtomicity,proto3" json:"strict_ddl_atomicity,omitempty"`
   483  	// UnsafeSettingInterlockKey needs to be set to a special string
   484  	// before SET CLUSTER SETTING is allowed on an unsafe setting.
   485  	UnsafeSettingInterlockKey string `protobuf:"bytes,113,opt,name=unsafe_setting_interlock_key,json=unsafeSettingInterlockKey,proto3" json:"unsafe_setting_interlock_key,omitempty"`
   486  	// OptimizerUseLockOpForSerializable, when true, instructs the optimizer to
   487  	// implement SELECT FOR UPDATE and SELECT FOR SHARE statements using the Lock
   488  	// operator under serializable isolation.
   489  	//
   490  	// For correctness, under weaker isolation levels the optimizer always
   491  	// implements SELECT FOR UPDATE and SELECT FOR SHARE using the Lock operator,
   492  	// regardless of this setting.
   493  	OptimizerUseLockOpForSerializable bool `protobuf:"varint,114,opt,name=optimizer_use_lock_op_for_serializable,json=optimizerUseLockOpForSerializable,proto3" json:"optimizer_use_lock_op_for_serializable,omitempty"`
   494  	// OptimizerUseProvidedOrderingFix, when true, causes the optimizer to
   495  	// reconcile provided orderings with required ordering choices. This prevents
   496  	// internal errors due to incomplete functional dependencies, and also
   497  	// fixes a bug that incorrectly truncated the provided ordering (see #113072).
   498  	OptimizerUseProvidedOrderingFix bool `protobuf:"varint,115,opt,name=optimizer_use_provided_ordering_fix,json=optimizerUseProvidedOrderingFix,proto3" json:"optimizer_use_provided_ordering_fix,omitempty"`
   499  	// DisableChangefeedReplication, when true, disables changefeed events from
   500  	// being emitted for changes to data made in a session.
   501  	DisableChangefeedReplication bool `protobuf:"varint,116,opt,name=disable_changefeed_replication,json=disableChangefeedReplication,proto3" json:"disable_changefeed_replication,omitempty"`
   502  	// CopyTxnQualityOfService indicates the default QoSLevel/WorkPriority of the
   503  	// transactions used to evaluate COPY commands.
   504  	CopyTxnQualityOfService QoSLevel `protobuf:"varint,117,opt,name=copy_txn_quality_of_service,json=copyTxnQualityOfService,proto3,casttype=QoSLevel" json:"copy_txn_quality_of_service,omitempty"`
   505  	// CopyWritePipeliningEnabled indicates whether the write pipelining is
   506  	// enabled for implicit txns used by COPY.
   507  	CopyWritePipeliningEnabled bool `protobuf:"varint,118,opt,name=copy_write_pipelining_enabled,json=copyWritePipeliningEnabled,proto3" json:"copy_write_pipelining_enabled,omitempty"`
   508  	// CopyNumRetriesPerBatch determines the number of times a single batch of
   509  	// rows can be retried for non-atomic COPY.
   510  	CopyNumRetriesPerBatch int32 `protobuf:"varint,120,opt,name=copy_num_retries_per_batch,json=copyNumRetriesPerBatch,proto3" json:"copy_num_retries_per_batch,omitempty"`
   511  }
   512  
   513  func (m *LocalOnlySessionData) Reset()         { *m = LocalOnlySessionData{} }
   514  func (m *LocalOnlySessionData) String() string { return proto.CompactTextString(m) }
   515  func (*LocalOnlySessionData) ProtoMessage()    {}
   516  func (*LocalOnlySessionData) Descriptor() ([]byte, []int) {
   517  	return fileDescriptor_21ead158cf36da28, []int{0}
   518  }
   519  func (m *LocalOnlySessionData) XXX_Unmarshal(b []byte) error {
   520  	return m.Unmarshal(b)
   521  }
   522  func (m *LocalOnlySessionData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   523  	b = b[:cap(b)]
   524  	n, err := m.MarshalToSizedBuffer(b)
   525  	if err != nil {
   526  		return nil, err
   527  	}
   528  	return b[:n], nil
   529  }
   530  func (m *LocalOnlySessionData) XXX_Merge(src proto.Message) {
   531  	xxx_messageInfo_LocalOnlySessionData.Merge(m, src)
   532  }
   533  func (m *LocalOnlySessionData) XXX_Size() int {
   534  	return m.Size()
   535  }
   536  func (m *LocalOnlySessionData) XXX_DiscardUnknown() {
   537  	xxx_messageInfo_LocalOnlySessionData.DiscardUnknown(m)
   538  }
   539  
   540  var xxx_messageInfo_LocalOnlySessionData proto.InternalMessageInfo
   541  
   542  // SequenceCacheEntry is an entry in a SequenceCache.
   543  type SequenceCacheEntry struct {
   544  	// CachedVersion stores the descpb.DescriptorVersion that cached values are associated with.
   545  	// The version is checked to determine if cache needs to be invalidated. The version is stored as
   546  	// a uint32 to prevent an import cycle with the descpb package.
   547  	CachedVersion uint32 `protobuf:"varint,1,opt,name=cached_version,json=cachedVersion,proto3" json:"cached_version,omitempty"`
   548  	// CurrentValue stores the present value of the sequence to be given out.
   549  	CurrentValue int64 `protobuf:"varint,2,opt,name=current_value,json=currentValue,proto3" json:"current_value,omitempty"`
   550  	// Increment stores the amount to Increment the currentVal by each time the
   551  	// currentVal is used. This value corresponds to descpb.TableDescriptor_SequenceOpts.Increment.
   552  	Increment int64 `protobuf:"varint,3,opt,name=increment,proto3" json:"increment,omitempty"`
   553  	// NumValues represents the number of values to cache. The cache is considered
   554  	// to be empty when NumValues is 0.
   555  	NumValues int64 `protobuf:"varint,4,opt,name=num_values,json=numValues,proto3" json:"num_values,omitempty"`
   556  }
   557  
   558  func (m *SequenceCacheEntry) Reset()         { *m = SequenceCacheEntry{} }
   559  func (m *SequenceCacheEntry) String() string { return proto.CompactTextString(m) }
   560  func (*SequenceCacheEntry) ProtoMessage()    {}
   561  func (*SequenceCacheEntry) Descriptor() ([]byte, []int) {
   562  	return fileDescriptor_21ead158cf36da28, []int{1}
   563  }
   564  func (m *SequenceCacheEntry) XXX_Unmarshal(b []byte) error {
   565  	return m.Unmarshal(b)
   566  }
   567  func (m *SequenceCacheEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   568  	b = b[:cap(b)]
   569  	n, err := m.MarshalToSizedBuffer(b)
   570  	if err != nil {
   571  		return nil, err
   572  	}
   573  	return b[:n], nil
   574  }
   575  func (m *SequenceCacheEntry) XXX_Merge(src proto.Message) {
   576  	xxx_messageInfo_SequenceCacheEntry.Merge(m, src)
   577  }
   578  func (m *SequenceCacheEntry) XXX_Size() int {
   579  	return m.Size()
   580  }
   581  func (m *SequenceCacheEntry) XXX_DiscardUnknown() {
   582  	xxx_messageInfo_SequenceCacheEntry.DiscardUnknown(m)
   583  }
   584  
   585  var xxx_messageInfo_SequenceCacheEntry proto.InternalMessageInfo
   586  
   587  func init() {
   588  	proto.RegisterEnum("cockroach.parser.sql.sessiondatapb.ReplicationMode", ReplicationMode_name, ReplicationMode_value)
   589  	proto.RegisterType((*LocalOnlySessionData)(nil), "cockroach.parser.sql.sessiondatapb.LocalOnlySessionData")
   590  	proto.RegisterMapType((map[string]string)(nil), "cockroach.parser.sql.sessiondatapb.LocalOnlySessionData.CustomOptionsEntry")
   591  	proto.RegisterMapType((SequenceCache)(nil), "cockroach.parser.sql.sessiondatapb.LocalOnlySessionData.SequenceCacheEntry")
   592  	proto.RegisterType((*SequenceCacheEntry)(nil), "cockroach.parser.sql.sessiondatapb.SequenceCacheEntry")
   593  }
   594  
   595  func init() {
   596  	proto.RegisterFile("sql/sessiondatapb/local_only_session_data.proto", fileDescriptor_21ead158cf36da28)
   597  }
   598  
   599  var fileDescriptor_21ead158cf36da28 = []byte{
   600  	// 3770 bytes of a gzipped FileDescriptorProto
   601  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5a, 0x5b, 0x77, 0x14, 0x49,
   602  	0x72, 0x46, 0x03, 0xb3, 0x86, 0xe4, 0x26, 0x0a, 0x31, 0x2a, 0x24, 0x50, 0x8b, 0xeb, 0x68, 0x98,
   603  	0x41, 0x9a, 0x85, 0xf5, 0x2c, 0x33, 0xeb, 0xf5, 0x8e, 0xd4, 0x17, 0x68, 0x10, 0x74, 0xd3, 0x2d,
   604  	0x60, 0x87, 0xf1, 0x6e, 0x3a, 0x55, 0x95, 0xdd, 0x9d, 0xa8, 0xba, 0xb2, 0x94, 0x99, 0x25, 0xd4,
   605  	0x3c, 0xd8, 0x7f, 0xc1, 0xe7, 0xf8, 0xd9, 0xff, 0x67, 0x1f, 0xf7, 0x71, 0x9e, 0x74, 0x6c, 0xcd,
   606  	0x4f, 0xf0, 0x1b, 0x4f, 0x3e, 0x11, 0x99, 0x59, 0x5d, 0xad, 0xcb, 0xd8, 0xc7, 0x67, 0xdf, 0x44,
   607  	0xc6, 0x17, 0x91, 0x99, 0x51, 0x91, 0x11, 0x5f, 0x44, 0x43, 0x56, 0xf4, 0x76, 0xb2, 0xa2, 0xb9,
   608  	0xd6, 0x42, 0xa6, 0x31, 0x33, 0x2c, 0xdb, 0x5c, 0x49, 0x64, 0xc4, 0x12, 0x2a, 0xd3, 0x64, 0x44,
   609  	0x9d, 0x80, 0x82, 0x64, 0x39, 0x53, 0xd2, 0xc8, 0x60, 0x3e, 0x92, 0xd1, 0x96, 0x92, 0x2c, 0x1a,
   610  	0x2c, 0xeb, 0xed, 0x64, 0x79, 0x42, 0x75, 0x6e, 0xa6, 0x2f, 0xfb, 0x12, 0x71, 0x2b, 0xf0, 0x97,
   611  	0x55, 0xb9, 0xf9, 0xdf, 0xab, 0x64, 0x66, 0x1d, 0x8c, 0xb6, 0xd2, 0x64, 0xd4, 0xb5, 0x0a, 0x35,
   612  	0x66, 0x58, 0xf0, 0x15, 0x09, 0x34, 0xdb, 0xe1, 0xd4, 0xb0, 0xcd, 0x84, 0x6b, 0x9a, 0x29, 0xde,
   613  	0x13, 0xbb, 0xe1, 0xd4, 0xe2, 0xd4, 0xd2, 0x99, 0xce, 0x34, 0x48, 0x36, 0x50, 0xd0, 0xc6, 0xf5,
   614  	0xe0, 0x47, 0x32, 0x2f, 0x33, 0x23, 0x86, 0xe2, 0x03, 0x57, 0xb4, 0xb7, 0x45, 0x23, 0xa6, 0x23,
   615  	0x16, 0x73, 0x4d, 0x13, 0x31, 0x14, 0x26, 0xfc, 0x64, 0x71, 0x6a, 0xe9, 0xe4, 0xda, 0xb5, 0xfd,
   616  	0xbd, 0x4a, 0xd8, 0xf2, 0xb0, 0xc6, 0xb3, 0xaa, 0x03, 0xad, 0x03, 0xa6, 0x13, 0x16, 0x06, 0x1a,
   617  	0x5b, 0x13, 0x92, 0xe0, 0x37, 0xe4, 0x9c, 0x36, 0x43, 0x43, 0x8d, 0x18, 0x72, 0x99, 0x9b, 0xf0,
   618  	0x24, 0x5a, 0xbb, 0xf4, 0x71, 0xaf, 0x72, 0x1e, 0x96, 0x96, 0x6b, 0xb9, 0x62, 0x46, 0xc8, 0xb4,
   619  	0x73, 0x16, 0x60, 0x1b, 0x16, 0x15, 0x3c, 0x21, 0xb3, 0x22, 0x4e, 0x38, 0x15, 0x69, 0xe1, 0x2a,
   620  	0x6f, 0xe0, 0xd4, 0x71, 0x06, 0x66, 0x40, 0xa3, 0x99, 0x3a, 0x3f, 0x78, 0x4b, 0x94, 0xdc, 0xf2,
   621  	0x96, 0x8c, 0x62, 0xa9, 0x66, 0x11, 0x80, 0x0f, 0x59, 0xfd, 0xf4, 0x38, 0xab, 0x15, 0x6b, 0x75,
   622  	0x63, 0xac, 0x7b, 0x60, 0x83, 0x6f, 0xc8, 0x6c, 0x2a, 0x8d, 0x88, 0x38, 0x8d, 0x85, 0xce, 0x12,
   623  	0x06, 0x1f, 0x77, 0x87, 0x2b, 0x61, 0x46, 0xe1, 0xaf, 0x16, 0xa7, 0x96, 0xce, 0x77, 0xae, 0x58,
   624  	0x71, 0xcd, 0x4a, 0xbb, 0x4e, 0x18, 0x2c, 0x93, 0xcb, 0x8a, 0x4b, 0x15, 0x73, 0x45, 0xdf, 0x49,
   625  	0x91, 0x7a, 0x6f, 0xff, 0x1d, 0x1c, 0xa4, 0x73, 0xc9, 0x89, 0x9e, 0x82, 0xc4, 0x3a, 0xf2, 0x6b,
   626  	0x32, 0x13, 0xf3, 0x1e, 0xcb, 0x13, 0x43, 0xcd, 0x6e, 0x4a, 0x33, 0x25, 0x24, 0x6e, 0x72, 0x1a,
   627  	0x15, 0x02, 0x27, 0xdb, 0xd8, 0x4d, 0xdb, 0x4e, 0x12, 0xfc, 0x9a, 0x5c, 0x29, 0x6b, 0x28, 0xce,
   628  	0x62, 0x8c, 0xbe, 0xf0, 0xcc, 0xe2, 0xd4, 0xd2, 0xe9, 0xb2, 0x4a, 0x87, 0xb3, 0x18, 0x62, 0x28,
   629  	0x58, 0x23, 0x0b, 0x65, 0x95, 0x5c, 0x73, 0xda, 0x93, 0x49, 0x22, 0xdf, 0x73, 0x85, 0xfa, 0x3a,
   630  	0x24, 0xa8, 0x3b, 0x37, 0xd6, 0x7d, 0xa5, 0x79, 0xc3, 0x41, 0xc0, 0x8c, 0x0e, 0x5a, 0xe4, 0x76,
   631  	0xc6, 0x94, 0x11, 0x2c, 0x49, 0x46, 0xe0, 0x13, 0xa3, 0xc4, 0x66, 0x6e, 0x78, 0x4c, 0xb3, 0x84,
   632  	0xa5, 0x1a, 0x56, 0x20, 0xf8, 0xe2, 0xf0, 0x2c, 0x5a, 0xba, 0x51, 0x60, 0x6b, 0x63, 0x68, 0x1b,
   633  	0x90, 0x35, 0x07, 0x0c, 0x1e, 0x91, 0x71, 0x78, 0xe1, 0x91, 0x06, 0x42, 0x1b, 0xd9, 0x57, 0x6c,
   634  	0xa8, 0xc3, 0x73, 0x68, 0xe4, 0xb3, 0x42, 0xfe, 0x4a, 0xf3, 0x27, 0x85, 0x34, 0xf8, 0x9e, 0x5c,
   635  	0x9f, 0xd4, 0x1c, 0xe6, 0x89, 0x11, 0x34, 0x92, 0x09, 0xd5, 0x86, 0x19, 0x1d, 0x9e, 0x47, 0xf5,
   636  	0xab, 0x65, 0xf5, 0xe7, 0x00, 0xa9, 0xca, 0xa4, 0x0b, 0x80, 0xe0, 0x3b, 0x72, 0x15, 0x9f, 0xad,
   637  	0x30, 0x23, 0xea, 0x51, 0x31, 0xd5, 0x9c, 0xa9, 0x68, 0x10, 0x5e, 0x40, 0xed, 0x59, 0x0f, 0xf0,
   638  	0xaf, 0x23, 0xee, 0xa2, 0x38, 0xb8, 0x41, 0xce, 0x69, 0xd6, 0xe3, 0x34, 0xcf, 0x62, 0x66, 0xb8,
   639  	0x0e, 0x2f, 0x22, 0xfc, 0x2c, 0xac, 0xbd, 0xb2, 0x4b, 0xc1, 0x0f, 0x64, 0x1e, 0x1e, 0x27, 0x57,
   640  	0x34, 0x91, 0x72, 0x2b, 0xcf, 0x5c, 0x28, 0xf4, 0x24, 0x3c, 0x44, 0x1d, 0x4e, 0x83, 0xc6, 0xda,
   641  	0xfc, 0xfe, 0x5e, 0x65, 0xb6, 0x8d, 0xb0, 0x75, 0x44, 0x61, 0x54, 0x34, 0xa4, 0x6a, 0x3c, 0xd3,
   642  	0x9d, 0xd9, 0xec, 0x28, 0xc1, 0x96, 0x86, 0xf8, 0xfa, 0x20, 0xfa, 0x1f, 0x58, 0x1f, 0x6d, 0x52,
   643  	0x9e, 0x5a, 0xaf, 0x5f, 0xc2, 0x43, 0x5c, 0xb2, 0x22, 0xc0, 0xd7, 0xad, 0x20, 0x58, 0x25, 0xd7,
   644  	0x15, 0xdf, 0xce, 0x85, 0xe2, 0x94, 0xef, 0x66, 0x89, 0x88, 0x84, 0x81, 0x20, 0x1b, 0x32, 0x35,
   645  	0xa2, 0x5b, 0x7c, 0xa4, 0xc3, 0xc0, 0x7e, 0x79, 0x07, 0xaa, 0x3b, 0x4c, 0xdb, 0x42, 0x9e, 0xf1,
   646  	0x91, 0x86, 0xa7, 0xd0, 0x93, 0x2a, 0xe2, 0x14, 0x52, 0x4c, 0x26, 0x45, 0x6a, 0xa8, 0xe2, 0xda,
   647  	0x30, 0x65, 0xc2, 0xcb, 0xa8, 0x7c, 0x05, 0xc5, 0x5d, 0x2f, 0xed, 0x58, 0x61, 0xf0, 0x88, 0x5c,
   648  	0x65, 0x10, 0x41, 0x90, 0xa8, 0x32, 0xa6, 0x38, 0x65, 0x1a, 0x9c, 0x8d, 0x01, 0x13, 0xce, 0x58,
   649  	0x4d, 0x04, 0xb4, 0xad, 0x7c, 0x55, 0xb7, 0x32, 0x03, 0x31, 0x02, 0x97, 0x34, 0x7c, 0x98, 0xf9,
   650  	0x44, 0xe7, 0x2f, 0x79, 0xc5, 0x5e, 0x12, 0x44, 0x36, 0xd3, 0xf9, 0x4b, 0xb6, 0xc8, 0x6d, 0x31,
   651  	0x74, 0x97, 0x8b, 0x64, 0x92, 0x0f, 0x53, 0x8a, 0xf1, 0x07, 0xef, 0x5a, 0xa4, 0xfd, 0xc2, 0xc0,
   652  	0x67, 0x36, 0x36, 0x3d, 0xb6, 0x8a, 0xd0, 0x76, 0x09, 0xe9, 0x0d, 0xbe, 0x21, 0x5f, 0xc8, 0x1d,
   653  	0xae, 0x94, 0x88, 0x7d, 0x70, 0x29, 0xde, 0x87, 0xc4, 0xf2, 0x41, 0xa6, 0x9c, 0x46, 0x32, 0xed,
   654  	0x89, 0xb1, 0xd5, 0x10, 0xad, 0xde, 0xf6, 0x0a, 0x18, 0x69, 0x1d, 0x84, 0xbf, 0x95, 0x29, 0xaf,
   655  	0x22, 0xd8, 0x1b, 0xfe, 0x96, 0x5c, 0x85, 0x97, 0x82, 0x6e, 0xe9, 0xe5, 0x49, 0x62, 0xaf, 0x48,
   656  	0x75, 0xc4, 0x52, 0x1d, 0xce, 0xd9, 0xa8, 0xf7, 0x80, 0x46, 0x9e, 0x24, 0x78, 0xcf, 0x2e, 0x48,
   657  	0x83, 0xdf, 0x91, 0xb9, 0xe2, 0x92, 0x9a, 0x27, 0x3c, 0x32, 0x18, 0x50, 0x36, 0x0c, 0xc3, 0x79,
   658  	0x1b, 0xb4, 0x1e, 0xd1, 0x45, 0x40, 0x43, 0x2a, 0x1b, 0x92, 0xc1, 0x12, 0x99, 0x16, 0xa9, 0xe6,
   659  	0xca, 0xd0, 0x1e, 0xd3, 0x86, 0x66, 0xcc, 0x0c, 0xc2, 0x6b, 0xa8, 0x72, 0xc1, 0xae, 0x37, 0x98,
   660  	0x36, 0x6d, 0x66, 0x06, 0xc1, 0x13, 0x72, 0x83, 0x25, 0x86, 0x2b, 0xef, 0x48, 0x33, 0xca, 0x38,
   661  	0xed, 0xf3, 0x94, 0x2b, 0x96, 0x14, 0x57, 0xbe, 0x8e, 0xaa, 0xd7, 0x11, 0x68, 0xbd, 0xb8, 0x31,
   662  	0xca, 0xf8, 0x63, 0x8b, 0xf2, 0x77, 0xbd, 0x4f, 0x02, 0x3d, 0x4a, 0xa3, 0x81, 0x92, 0xa9, 0xcc,
   663  	0x35, 0x8d, 0xe4, 0x10, 0x32, 0xe1, 0x82, 0xfd, 0x88, 0x25, 0x49, 0x15, 0x05, 0xc1, 0x5d, 0x72,
   664  	0xd1, 0x9a, 0xa7, 0x9a, 0x6f, 0xa3, 0x47, 0xc2, 0x0a, 0x62, 0xcf, 0xdb, 0xe5, 0x2e, 0xdf, 0x06,
   665  	0x47, 0x04, 0x1b, 0xe4, 0x73, 0x87, 0xcb, 0x53, 0xb1, 0x9d, 0x73, 0xfa, 0x5e, 0x98, 0x81, 0xcc,
   666  	0x0d, 0x15, 0x69, 0xcc, 0x77, 0xe1, 0xe3, 0x68, 0xa3, 0x98, 0x48, 0x8d, 0x0e, 0x6f, 0xa0, 0xfe,
   667  	0x2d, 0x0b, 0x7f, 0x85, 0xe8, 0x37, 0x16, 0xdc, 0x04, 0x6c, 0x75, 0x0c, 0x0d, 0x7e, 0x4f, 0xe6,
   668  	0xb5, 0xc9, 0x37, 0x69, 0xc4, 0x0c, 0x4b, 0x64, 0xff, 0x60, 0xe8, 0xdd, 0x44, 0x4b, 0x21, 0x40,
   669  	0xaa, 0x16, 0x31, 0x19, 0x81, 0x2f, 0xc9, 0x1d, 0xbe, 0x9b, 0x71, 0x25, 0x86, 0x3c, 0x35, 0x2c,
   670  	0x81, 0xcb, 0x66, 0x98, 0x1d, 0x9d, 0x17, 0x15, 0x7f, 0xaf, 0x04, 0x64, 0x8b, 0x5b, 0x58, 0xad,
   671  	0x6f, 0x96, 0xc1, 0x55, 0x87, 0xb5, 0x8e, 0xec, 0x38, 0x24, 0xe4, 0x28, 0xef, 0x0f, 0xa3, 0x38,
   672  	0x1b, 0x52, 0xc5, 0xe1, 0xdb, 0x62, 0xfd, 0x0a, 0xef, 0xd8, 0xcf, 0xed, 0x3c, 0x83, 0xf2, 0xce,
   673  	0x58, 0x6c, 0xab, 0x90, 0xce, 0x13, 0xa3, 0xe9, 0x66, 0xde, 0x83, 0x44, 0xa4, 0xc5, 0x07, 0x1e,
   674  	0xde, 0xf5, 0x55, 0x08, 0x45, 0x6b, 0x28, 0xe9, 0x8a, 0x0f, 0x1c, 0x72, 0x71, 0xa6, 0x64, 0xc6,
   675  	0xfa, 0xcc, 0x40, 0x4d, 0xcd, 0x72, 0x43, 0xb1, 0x50, 0x89, 0xb4, 0x1f, 0x7e, 0x6e, 0xa3, 0xb2,
   676  	0x90, 0x37, 0x41, 0xdc, 0x72, 0xd2, 0xe0, 0xdf, 0xa7, 0xc8, 0xc4, 0x65, 0xb0, 0x34, 0xe8, 0xed,
   677  	0x04, 0x5f, 0x39, 0x3e, 0xbe, 0xa1, 0x8c, 0x79, 0xb8, 0x84, 0x85, 0xb8, 0xb1, 0xbf, 0x57, 0xa9,
   678  	0xd4, 0x4b, 0x68, 0x28, 0x0e, 0xdd, 0x97, 0xeb, 0x6d, 0x87, 0x7d, 0x2e, 0x63, 0xfe, 0xf1, 0x7f,
   679  	0x87, 0x74, 0x2a, 0xfc, 0x00, 0x40, 0x6f, 0x27, 0x65, 0x40, 0xd0, 0x20, 0xe7, 0xe1, 0x1c, 0x14,
   680  	0x0e, 0x82, 0xfb, 0x7f, 0x81, 0xfb, 0xdf, 0xdc, 0xdf, 0xab, 0x9c, 0x75, 0x06, 0xdd, 0x5e, 0x17,
   681  	0xdd, 0x3f, 0xeb, 0xbb, 0x3c, 0x42, 0xdb, 0x67, 0x41, 0xb1, 0xbb, 0x9d, 0xa0, 0x9d, 0x37, 0xe4,
   682  	0xaa, 0xe6, 0x4a, 0xb0, 0x84, 0xa6, 0x52, 0x0d, 0x59, 0x22, 0x3e, 0xa0, 0x7f, 0xad, 0xcd, 0x7b,
   683  	0x68, 0x73, 0xfe, 0xe3, 0x5e, 0x65, 0xb6, 0x8b, 0xa0, 0x17, 0x65, 0x0c, 0x1a, 0x9b, 0xd5, 0x47,
   684  	0x0b, 0x82, 0x16, 0x99, 0x4d, 0xf9, 0x7b, 0xaa, 0xa3, 0x01, 0x1f, 0x32, 0x1a, 0x0d, 0x58, 0xda,
   685  	0xe7, 0xca, 0x9a, 0xfd, 0x12, 0xcd, 0x86, 0x1f, 0xf7, 0x2a, 0x33, 0x2f, 0xf8, 0xfb, 0x2e, 0x22,
   686  	0xaa, 0x16, 0x80, 0x36, 0x67, 0xd2, 0x23, 0x56, 0x83, 0x7f, 0x21, 0x17, 0x34, 0xdf, 0xce, 0x79,
   687  	0x1a, 0x71, 0x1a, 0xb1, 0x68, 0xc0, 0xc3, 0xaf, 0x16, 0x4f, 0x2e, 0x9d, 0x7d, 0x50, 0x5b, 0xfe,
   688  	0x05, 0x02, 0xba, 0x7c, 0x14, 0xcd, 0x5c, 0xee, 0x3a, 0x3b, 0x55, 0x30, 0x53, 0x4f, 0x8d, 0x1a,
   689  	0x59, 0x06, 0x35, 0xb1, 0xde, 0x39, 0xaf, 0xcb, 0xff, 0x0c, 0xbe, 0x24, 0x97, 0xb2, 0x84, 0x45,
   690  	0x1c, 0xbe, 0x49, 0xf1, 0x6a, 0xee, 0x63, 0xe8, 0x4c, 0x17, 0x02, 0xff, 0x5a, 0x46, 0x24, 0xf0,
   691  	0x4c, 0x2d, 0xd7, 0x5c, 0x51, 0xe4, 0xbd, 0xe1, 0x32, 0x3c, 0x8d, 0xb5, 0x67, 0x1f, 0xf7, 0x2a,
   692  	0x8f, 0xfb, 0xc2, 0x0c, 0xf2, 0xcd, 0xe5, 0x48, 0x0e, 0x57, 0x8a, 0xe3, 0xc7, 0x9b, 0xe3, 0xbf,
   693  	0x57, 0xb2, 0xad, 0xfe, 0x8a, 0xe6, 0x51, 0x0e, 0x8c, 0x68, 0x05, 0x6c, 0xa4, 0x6c, 0xc8, 0x97,
   694  	0xbb, 0x2f, 0xd7, 0x5f, 0xb9, 0xbf, 0xdb, 0x60, 0xb2, 0x33, 0xed, 0xb6, 0x81, 0x55, 0x5c, 0x09,
   695  	0x56, 0xc8, 0x0c, 0xb2, 0x26, 0xf9, 0x5e, 0x53, 0x78, 0x68, 0x86, 0xa7, 0x34, 0x91, 0xfd, 0x70,
   696  	0xc5, 0x3e, 0x0d, 0xb3, 0x9b, 0x76, 0xe4, 0x7b, 0xfd, 0xc6, 0x4a, 0xd6, 0x65, 0xff, 0x48, 0x05,
   697  	0xae, 0x54, 0xf8, 0xf5, 0x51, 0x0a, 0x75, 0xa5, 0x82, 0x2f, 0xc8, 0xa5, 0x42, 0x01, 0xc9, 0x19,
   698  	0x98, 0xff, 0x35, 0xa2, 0x2f, 0x38, 0x34, 0x30, 0x2a, 0xb0, 0x7d, 0x08, 0x0a, 0x86, 0x1f, 0x1c,
   699  	0x82, 0x82, 0xd5, 0x07, 0xe4, 0x0a, 0xcb, 0x8d, 0xa4, 0x8a, 0x0f, 0xe4, 0xb0, 0x5c, 0xd3, 0x1e,
   700  	0xa2, 0x8f, 0x2f, 0x83, 0xb0, 0xe3, 0x64, 0xde, 0xcd, 0x37, 0xc8, 0x39, 0xa1, 0xa9, 0xce, 0x33,
   701  	0xae, 0xc0, 0x45, 0xe1, 0x6f, 0x2c, 0x53, 0x11, 0xba, 0xeb, 0x97, 0xe0, 0x76, 0x09, 0x53, 0x7d,
   702  	0x6e, 0x8b, 0x11, 0x24, 0x5d, 0x3c, 0x4d, 0xf8, 0xf7, 0x8b, 0x53, 0x4b, 0x53, 0x9d, 0x4b, 0x28,
   703  	0x83, 0x3a, 0x04, 0x99, 0x17, 0x8e, 0x03, 0x79, 0x52, 0xa4, 0xef, 0xa0, 0xf8, 0x28, 0x6e, 0xd4,
   704  	0x08, 0x4e, 0x2c, 0xd5, 0x38, 0x4f, 0x7e, 0x63, 0xf3, 0xa4, 0x85, 0x74, 0x00, 0x51, 0x47, 0x80,
   705  	0x3f, 0xd2, 0x3d, 0x72, 0x29, 0x85, 0x9d, 0x30, 0xbb, 0xf0, 0x98, 0x26, 0x4c, 0x9b, 0xf0, 0xb7,
   706  	0xa8, 0x74, 0x11, 0x04, 0x2d, 0xbb, 0xbe, 0xce, 0xb4, 0x81, 0x76, 0xc7, 0xb1, 0x4a, 0x4c, 0x26,
   707  	0xb4, 0x0f, 0x0f, 0x3d, 0x7c, 0x64, 0x63, 0xca, 0x49, 0xe0, 0xd5, 0x3f, 0x86, 0xf5, 0x60, 0x8b,
   708  	0x5c, 0x88, 0x72, 0x6d, 0xe4, 0x10, 0x09, 0x9d, 0x4c, 0x75, 0xf8, 0xed, 0xff, 0xf7, 0x01, 0x54,
   709  	0xd1, 0x4e, 0xcb, 0x9a, 0xc1, 0x07, 0xd0, 0x39, 0x1f, 0x95, 0xd7, 0x82, 0x35, 0x72, 0xdd, 0x56,
   710  	0x1b, 0xc5, 0xa1, 0xac, 0x71, 0x30, 0x07, 0x82, 0xc2, 0x0f, 0xdf, 0xe1, 0x29, 0xe7, 0x11, 0xd4,
   711  	0x99, 0xc4, 0x78, 0x57, 0x7c, 0x4e, 0x2e, 0xb2, 0x1d, 0x29, 0x62, 0x97, 0xa1, 0x21, 0xd5, 0xfe,
   712  	0xce, 0x56, 0x64, 0x5c, 0x5e, 0xf3, 0xab, 0xf0, 0xe9, 0xa3, 0x01, 0x8f, 0xb6, 0x68, 0x2f, 0x4f,
   713  	0x6d, 0x9b, 0xb3, 0x29, 0x63, 0xc1, 0x75, 0xf8, 0x0f, 0xf6, 0xd3, 0xa3, 0xb0, 0xe1, 0x64, 0x6b,
   714  	0x28, 0x0a, 0xea, 0x64, 0x31, 0x92, 0x90, 0x00, 0x81, 0x3a, 0x60, 0x85, 0xa4, 0xbe, 0x03, 0x40,
   715  	0x9a, 0x0c, 0xd5, 0xe0, 0xf7, 0xf6, 0x8c, 0x80, 0x43, 0x86, 0x01, 0xa5, 0xb1, 0x66, 0x41, 0x40,
   716  	0x94, 0xa1, 0x2e, 0xb4, 0x27, 0x1b, 0x87, 0xed, 0xdc, 0x51, 0xe6, 0x1e, 0xd5, 0x5c, 0xed, 0x88,
   717  	0x88, 0x87, 0xff, 0xb8, 0x38, 0xb5, 0xf4, 0xe9, 0xda, 0xb9, 0x8f, 0x7b, 0x95, 0xd3, 0x2f, 0x65,
   718  	0x77, 0x9d, 0xef, 0xf0, 0xa4, 0xdc, 0x46, 0xbc, 0xb4, 0x1a, 0xad, 0x5e, 0xd7, 0xe2, 0x21, 0xe0,
   719  	0x80, 0x03, 0xea, 0x2c, 0x11, 0xf6, 0x74, 0xae, 0x41, 0xfa, 0x03, 0xd8, 0xe9, 0x5c, 0x92, 0x99,
   720  	0xe9, 0x82, 0x08, 0x0e, 0x54, 0x34, 0x48, 0xbe, 0x0c, 0x42, 0xd4, 0x3a, 0x22, 0xa6, 0xc3, 0xef,
   721  	0x6d, 0xb7, 0xe3, 0x2a, 0x20, 0x88, 0x2c, 0xe7, 0xd2, 0xc1, 0x9f, 0xc9, 0xfd, 0x82, 0xbc, 0x59,
   722  	0x2a, 0xe3, 0x09, 0xaf, 0x23, 0x71, 0xd0, 0x7e, 0x96, 0x6c, 0x85, 0xab, 0x68, 0xea, 0x73, 0xaf,
   723  	0xb4, 0x0a, 0x3a, 0x8e, 0x00, 0x5b, 0x9b, 0xcd, 0xb4, 0xb4, 0x41, 0xc0, 0xc9, 0xd7, 0xee, 0x44,
   724  	0x05, 0x1f, 0x2b, 0xf7, 0xa0, 0x40, 0xca, 0x36, 0x99, 0x89, 0x06, 0xd8, 0x8c, 0x60, 0xde, 0xd3,
   725  	0xe1, 0x1a, 0x6e, 0xf1, 0xa5, 0xd5, 0x6b, 0x3a, 0xb5, 0x52, 0xf7, 0xd9, 0x90, 0x6a, 0x0d, 0x74,
   726  	0xba, 0x85, 0x4a, 0xf0, 0x27, 0x72, 0x1f, 0xca, 0x5c, 0x64, 0x28, 0x4b, 0x63, 0x2a, 0xfa, 0xa9,
   727  	0x54, 0x9c, 0xa6, 0xd2, 0xd0, 0x1d, 0xa1, 0x05, 0xec, 0x6e, 0xa9, 0x85, 0x86, 0xeb, 0x44, 0x32,
   728  	0x1b, 0x85, 0x55, 0xdc, 0xe3, 0xae, 0x55, 0x5a, 0x4d, 0xe3, 0x26, 0xaa, 0xbc, 0x90, 0xe6, 0xb5,
   729  	0x55, 0xb0, 0xfc, 0x42, 0x37, 0xd3, 0xaa, 0xcc, 0x46, 0x41, 0x9d, 0x54, 0x90, 0xd9, 0x66, 0x09,
   730  	0x87, 0xba, 0x23, 0x7a, 0x8e, 0x3b, 0x68, 0xf8, 0xba, 0xc8, 0x7e, 0xc2, 0x1a, 0x1a, 0xbc, 0xe6,
   731  	0x61, 0xcf, 0xcb, 0xa8, 0x56, 0x0f, 0x09, 0x50, 0xd0, 0x27, 0x0f, 0xf4, 0x00, 0x39, 0x7e, 0xd1,
   732  	0x53, 0x94, 0x28, 0x18, 0x95, 0xe9, 0x51, 0x47, 0x0e, 0xeb, 0xd6, 0x1d, 0xa0, 0x39, 0xee, 0x34,
   733  	0xc6, 0x74, 0xac, 0x95, 0x1e, 0x3a, 0x35, 0x34, 0x32, 0x86, 0x6b, 0x03, 0xa9, 0x6f, 0xdc, 0xfc,
   734  	0x29, 0x96, 0xc6, 0x72, 0x48, 0x35, 0xe7, 0x71, 0xd8, 0xc0, 0xbc, 0x39, 0xe7, 0x40, 0xc5, 0x4c,
   735  	0xa3, 0x83, 0x90, 0x2e, 0xe7, 0x71, 0x40, 0xc9, 0xfd, 0x3c, 0x2d, 0x0e, 0xc7, 0x63, 0x9a, 0x4a,
   736  	0x70, 0xdd, 0x0e, 0x3e, 0x33, 0x47, 0x1f, 0x31, 0x24, 0xfd, 0x2b, 0x7e, 0x8c, 0xc7, 0x5c, 0x9a,
   737  	0x50, 0x7a, 0x21, 0xd3, 0xaa, 0x53, 0x41, 0x12, 0x09, 0x91, 0xea, 0x9f, 0xf4, 0x73, 0x72, 0xeb,
   738  	0xf0, 0x19, 0xf1, 0x1d, 0x66, 0x5c, 0x99, 0x5c, 0x6d, 0x5a, 0xf2, 0xf6, 0x04, 0x93, 0xeb, 0xe2,
   739  	0xc1, 0x93, 0x56, 0xa5, 0x36, 0xed, 0x12, 0x2e, 0x78, 0x4b, 0xee, 0x1d, 0x36, 0xe7, 0x53, 0xa2,
   740  	0xca, 0x21, 0x2f, 0x2a, 0xb9, 0xc9, 0x36, 0x05, 0x3c, 0xb1, 0xb0, 0x89, 0x56, 0xef, 0x1e, 0xb4,
   741  	0xea, 0xfa, 0xed, 0x4e, 0x9e, 0x40, 0x4d, 0xf4, 0x68, 0xa0, 0xf9, 0x93, 0x3d, 0x74, 0xf9, 0x33,
   742  	0xa1, 0x2b, 0xb8, 0x0e, 0x9f, 0x5a, 0x9a, 0x5f, 0xee, 0xa3, 0xc7, 0x1f, 0xa6, 0x69, 0x41, 0xc1,
   743  	0x43, 0xf2, 0x19, 0x84, 0xdf, 0xb8, 0xb1, 0x28, 0xdc, 0xf7, 0xcc, 0xe5, 0x27, 0x99, 0x8d, 0x7c,
   744  	0x7b, 0xe1, 0x3d, 0xf5, 0x23, 0xf9, 0xd2, 0x5f, 0x64, 0x20, 0x81, 0xa9, 0x65, 0x4a, 0x42, 0xc9,
   745  	0x70, 0xcf, 0x13, 0x7b, 0x5b, 0x4c, 0x0c, 0xd6, 0x63, 0xeb, 0x36, 0xb4, 0x9d, 0xca, 0x13, 0xd0,
   746  	0x68, 0x17, 0x0a, 0xcd, 0x14, 0x1a, 0xde, 0xf5, 0x02, 0x1d, 0xfc, 0x96, 0x84, 0xf6, 0x44, 0x4a,
   747  	0x0e, 0x29, 0x33, 0x72, 0x28, 0xa2, 0xe2, 0x4c, 0xcf, 0x6d, 0xdf, 0x89, 0x67, 0x52, 0x72, 0xb8,
   748  	0x8a, 0x52, 0x7f, 0xaa, 0x65, 0x72, 0x99, 0xa7, 0xb6, 0xd7, 0x1d, 0xc8, 0x21, 0xf7, 0xf9, 0xe1,
   749  	0x85, 0x6d, 0x59, 0x9c, 0xe8, 0x89, 0x1c, 0x72, 0x97, 0x09, 0xbe, 0x21, 0xb3, 0x93, 0x4e, 0xec,
   750  	0x49, 0xc5, 0x23, 0x06, 0x65, 0xaa, 0x65, 0xf7, 0x29, 0xbb, 0xae, 0xe1, 0x85, 0xd0, 0xc2, 0xec,
   751  	0x30, 0x25, 0x6c, 0x0e, 0x49, 0xb9, 0x4f, 0xab, 0xa5, 0x61, 0x41, 0x71, 0xde, 0xb6, 0x6d, 0x61,
   752  	0x3c, 0xbc, 0x59, 0xa0, 0xc7, 0xa3, 0x01, 0x7f, 0xfa, 0x35, 0x72, 0xb9, 0x9c, 0x87, 0xfc, 0x0c,
   753  	0xec, 0xe5, 0x71, 0x33, 0xb0, 0xa0, 0x84, 0xf6, 0x63, 0xaf, 0x7f, 0x25, 0x57, 0xf4, 0x48, 0x1b,
   754  	0x3e, 0xa4, 0x22, 0xe6, 0xa9, 0x81, 0x53, 0x59, 0x72, 0xd6, 0xf9, 0xdb, 0x93, 0xb3, 0xcb, 0x76,
   755  	0xa7, 0xa6, 0xdb, 0xc8, 0xf2, 0xb3, 0xb7, 0x64, 0x2e, 0xe6, 0x3a, 0x52, 0x22, 0x33, 0x52, 0xd1,
   756  	0x1d, 0x96, 0x88, 0xb8, 0x44, 0xb9, 0xbb, 0x76, 0x68, 0xf9, 0x71, 0xaf, 0x12, 0xd6, 0x0a, 0xd4,
   757  	0xeb, 0x02, 0x84, 0xfc, 0x38, 0x8c, 0x8f, 0x91, 0x04, 0x2f, 0xc8, 0xed, 0x89, 0x56, 0x65, 0xc0,
   758  	0xf4, 0x80, 0xf6, 0x95, 0x3c, 0xe8, 0xf3, 0x0d, 0xf4, 0xf9, 0x62, 0x19, 0xfb, 0x84, 0xe9, 0xc1,
   759  	0x63, 0x40, 0x96, 0x1d, 0x5e, 0x27, 0x15, 0xdb, 0xc9, 0x4b, 0x15, 0x8b, 0x14, 0xbb, 0x3e, 0xd7,
   760  	0xec, 0xf5, 0xb8, 0x02, 0x6a, 0xac, 0xc3, 0x57, 0x36, 0x85, 0x22, 0xac, 0x65, 0x51, 0xbe, 0xcd,
   761  	0xf3, 0x98, 0xe0, 0x35, 0x59, 0x9a, 0x8c, 0x22, 0x31, 0xcc, 0x94, 0xdc, 0xe1, 0x31, 0xbc, 0xf5,
   762  	0x77, 0xbe, 0xe6, 0xdb, 0xc9, 0xd6, 0x6b, 0x37, 0x6b, 0x28, 0x85, 0x55, 0xd3, 0xa1, 0x6b, 0x63,
   763  	0xb0, 0x1d, 0x72, 0x09, 0xf2, 0x70, 0xd2, 0x2e, 0x3e, 0xa8, 0xa2, 0xb1, 0xc3, 0x42, 0x65, 0x5b,
   764  	0x4b, 0xf8, 0x97, 0xf5, 0xc3, 0xe6, 0x28, 0xfc, 0x23, 0x6e, 0xf1, 0x55, 0x79, 0x0b, 0x7c, 0x5b,
   765  	0xbe, 0xe5, 0x6b, 0x48, 0xd5, 0xf5, 0x5a, 0xe8, 0x92, 0xb5, 0x51, 0xf0, 0x2d, 0xb9, 0x3a, 0x7e,
   766  	0x71, 0x40, 0x0c, 0x45, 0xa9, 0x77, 0xfe, 0xc1, 0x36, 0x90, 0xfe, 0xc9, 0x75, 0xac, 0xd8, 0x3b,
   767  	0xf1, 0x35, 0x59, 0x8a, 0x79, 0x94, 0x30, 0xc5, 0x69, 0x94, 0x2b, 0x8d, 0x67, 0x72, 0x35, 0xd0,
   768  	0x87, 0x70, 0x61, 0xe9, 0xad, 0xbd, 0xbd, 0xc3, 0x57, 0x11, 0x5e, 0x54, 0x4c, 0x17, 0xc2, 0xde,
   769  	0xee, 0x80, 0x3c, 0x38, 0xc6, 0xab, 0x96, 0x7b, 0x94, 0x7d, 0x0b, 0x9e, 0xc0, 0x11, 0x5d, 0xf8,
   770  	0xe3, 0xe1, 0xcb, 0x7b, 0xff, 0x22, 0x2f, 0x29, 0x39, 0xb9, 0x21, 0xed, 0x1c, 0x37, 0x68, 0x91,
   771  	0x3b, 0x47, 0x51, 0x62, 0xac, 0x2d, 0x43, 0xf0, 0xb8, 0x3f, 0xfe, 0x3f, 0xd9, 0xb8, 0x3a, 0x44,
   772  	0x8e, 0x5b, 0xa9, 0x1d, 0x81, 0xf8, 0xa3, 0xff, 0x40, 0xee, 0x1d, 0x91, 0x86, 0x0e, 0x8c, 0x6c,
   773  	0x0b, 0xab, 0x7f, 0x42, 0xab, 0x77, 0x0e, 0x65, 0xa7, 0x89, 0xf1, 0x6d, 0x29, 0x64, 0xc7, 0x5e,
   774  	0x61, 0xc9, 0x7b, 0x36, 0xd2, 0x07, 0x67, 0xaf, 0x7f, 0xb6, 0x21, 0x5b, 0xc0, 0x56, 0x11, 0x35,
   775  	0x39, 0x81, 0x7d, 0x4a, 0x6e, 0x3a, 0x0a, 0x14, 0x29, 0xce, 0x0c, 0xb7, 0xd1, 0x49, 0x73, 0x8d,
   776  	0x9d, 0xc9, 0xae, 0x51, 0x7c, 0xc8, 0x75, 0x48, 0xd1, 0xd2, 0x82, 0x45, 0x56, 0x11, 0x88, 0x91,
   777  	0xf9, 0x0a, 0x60, 0x75, 0x87, 0x0a, 0xde, 0x91, 0x87, 0xf6, 0x15, 0x29, 0x09, 0x54, 0x84, 0x0f,
   778  	0x37, 0xb9, 0xd2, 0x03, 0x91, 0x69, 0x6a, 0xa4, 0xeb, 0x8c, 0x69, 0x9c, 0x63, 0xc4, 0x96, 0x12,
   779  	0x56, 0xf8, 0xcf, 0x68, 0xfc, 0x3e, 0xaa, 0x76, 0x64, 0xc2, 0x9f, 0x8f, 0x15, 0x37, 0xa4, 0xed,
   780  	0x8c, 0x6b, 0xa8, 0x55, 0x62, 0x59, 0x41, 0x95, 0x2c, 0xb8, 0x61, 0x64, 0x5c, 0x62, 0x67, 0xb6,
   781  	0x61, 0xb6, 0xa4, 0x98, 0x21, 0x8b, 0x98, 0xf7, 0xa8, 0x31, 0x1f, 0xc3, 0x36, 0x17, 0x49, 0xf1,
   782  	0x17, 0x64, 0xda, 0x3e, 0x1b, 0xae, 0x8a, 0x8f, 0xb0, 0x69, 0x5b, 0x18, 0xbf, 0xee, 0xdd, 0xfd,
   783  	0x07, 0x72, 0xcd, 0x97, 0xb9, 0x58, 0xc9, 0x8c, 0xee, 0x08, 0x65, 0x72, 0x48, 0x14, 0x49, 0xae,
   784  	0x0d, 0x57, 0x61, 0x64, 0x07, 0xd5, 0x0e, 0x53, 0x53, 0x32, 0x7b, 0x6d, 0x11, 0x55, 0x0b, 0x98,
   785  	0x60, 0x69, 0x70, 0x87, 0x1d, 0x4e, 0x33, 0xa9, 0x0c, 0x4b, 0xc6, 0xdf, 0x3f, 0x9e, 0x64, 0x69,
   786  	0xab, 0x88, 0x6a, 0x5b, 0x90, 0x3f, 0xc7, 0x23, 0x12, 0xe6, 0xe9, 0xa6, 0xcc, 0xd3, 0x98, 0xc7,
   787  	0x34, 0x63, 0x8a, 0x25, 0x09, 0x4f, 0xdc, 0xd4, 0x91, 0xdb, 0xe7, 0x59, 0xc8, 0xdb, 0x4e, 0x6c,
   788  	0xa7, 0x8e, 0x3d, 0xf2, 0xf5, 0x38, 0x60, 0x6c, 0xa9, 0x06, 0x3a, 0xa4, 0x14, 0x4f, 0x98, 0xe1,
   789  	0x31, 0x2d, 0x8a, 0x97, 0xce, 0x37, 0xb7, 0x73, 0x0e, 0x2f, 0x3b, 0xec, 0x1d, 0x78, 0x44, 0x58,
   790  	0xaf, 0x5f, 0x95, 0xb4, 0xea, 0x4e, 0xa9, 0x5b, 0xe8, 0xc0, 0x45, 0x0f, 0x73, 0x1d, 0xf7, 0xac,
   791  	0x32, 0x96, 0x8a, 0x48, 0x87, 0x7d, 0x7b, 0xd1, 0x83, 0x04, 0xa7, 0x89, 0xa0, 0x36, 0x62, 0x82,
   792  	0x1d, 0xf2, 0xed, 0x31, 0xaf, 0xfe, 0xe0, 0x44, 0xae, 0x27, 0x80, 0xe6, 0x6b, 0x0a, 0x49, 0x6d,
   793  	0xc7, 0xb2, 0x8c, 0x01, 0x6e, 0xf0, 0xf0, 0xa8, 0xc7, 0x3f, 0x39, 0xa3, 0x6b, 0x58, 0xdd, 0x5a,
   794  	0xa1, 0x0a, 0x6d, 0x71, 0xb9, 0x51, 0x12, 0x5a, 0x26, 0xb6, 0x6c, 0x25, 0xd0, 0x11, 0x85, 0x02,
   795  	0xa3, 0x2a, 0x1c, 0xf7, 0x45, 0x4d, 0x0f, 0xc0, 0x8e, 0x29, 0x78, 0x43, 0xa6, 0x4b, 0xd3, 0x3d,
   796  	0x5b, 0xeb, 0xde, 0x2d, 0x4e, 0x2d, 0x5d, 0x78, 0xf0, 0xd5, 0x2f, 0xb6, 0xaf, 0xa5, 0x99, 0x1f,
   797  	0xd6, 0xbe, 0x8b, 0x6a, 0x72, 0x01, 0x98, 0xc6, 0x31, 0xfe, 0xb0, 0x15, 0x0f, 0x4a, 0x42, 0x6a,
   798  	0x6f, 0xbf, 0x65, 0x99, 0xc6, 0x51, 0xb7, 0xc7, 0xa2, 0x37, 0x86, 0x06, 0xa6, 0x34, 0x6f, 0xef,
   799  	0x6d, 0xd1, 0x44, 0x46, 0x5b, 0x45, 0x41, 0xc1, 0x81, 0x97, 0xf8, 0x80, 0x0d, 0x44, 0x82, 0x3f,
   800  	0x74, 0xdc, 0xde, 0xdf, 0xab, 0x2c, 0xfa, 0x9e, 0xa7, 0xf1, 0x6c, 0xdd, 0xa2, 0xa1, 0x8c, 0x94,
   801  	0xb0, 0x9d, 0x45, 0x6f, 0xb1, 0xb1, 0x75, 0x34, 0x22, 0x78, 0x4c, 0x16, 0xe3, 0x5c, 0xe1, 0x63,
   802  	0x3a, 0x76, 0xc7, 0xa1, 0x65, 0xac, 0x0e, 0x77, 0x8c, 0xa1, 0x3a, 0xa9, 0xe8, 0x01, 0xe6, 0x80,
   803  	0x63, 0xed, 0x64, 0x36, 0xd6, 0x2c, 0xec, 0x18, 0x33, 0x6b, 0x64, 0x61, 0xc8, 0x76, 0x8b, 0x72,
   804  	0x07, 0x36, 0x70, 0x88, 0x63, 0xb3, 0xbe, 0xe1, 0x71, 0x98, 0x62, 0x53, 0x3b, 0x37, 0x64, 0xbb,
   805  	0xae, 0xe8, 0x35, 0x24, 0xa6, 0xe3, 0xaa, 0x47, 0x04, 0x4f, 0xc8, 0x8c, 0x36, 0x4a, 0x44, 0x86,
   806  	0xc6, 0x71, 0xe2, 0xb8, 0x2a, 0x90, 0x79, 0x89, 0x9e, 0xfb, 0x6c, 0x7f, 0xaf, 0x12, 0x74, 0x51,
   807  	0x5e, 0xab, 0xad, 0xaf, 0x7a, 0x69, 0x27, 0xb0, 0x3a, 0xb5, 0x38, 0x29, 0xd6, 0x20, 0xd5, 0xe4,
   808  	0x29, 0xfe, 0x30, 0xa5, 0xb9, 0x31, 0xb6, 0xa1, 0x31, 0x5c, 0xc1, 0x0d, 0xa1, 0x29, 0x0b, 0xb7,
   809  	0x71, 0xf0, 0x7c, 0xd5, 0x62, 0xba, 0x16, 0xd2, 0xf4, 0x88, 0x67, 0x7c, 0x14, 0xbc, 0x24, 0x77,
   810  	0x0f, 0xd0, 0x05, 0x50, 0x95, 0xd9, 0x61, 0xe7, 0x28, 0xfb, 0x33, 0xca, 0x04, 0x43, 0x90, 0xd1,
   811  	0x56, 0x2b, 0x3b, 0xe8, 0xa1, 0x75, 0x72, 0x6b, 0xd2, 0x24, 0x84, 0x93, 0x80, 0x1c, 0x34, 0x26,
   812  	0x21, 0x62, 0x37, 0xd4, 0x68, 0xaf, 0x52, 0xb6, 0xd7, 0x76, 0xc0, 0x82, 0x74, 0x88, 0xdd, 0xa0,
   813  	0x46, 0x16, 0x7c, 0x32, 0xb5, 0x65, 0xa1, 0xc7, 0x79, 0x3c, 0x31, 0x15, 0x37, 0xf6, 0xab, 0x39,
   814  	0x54, 0xb5, 0x00, 0x95, 0x47, 0xe3, 0x4f, 0xc9, 0x3c, 0x52, 0x95, 0x63, 0xe6, 0x19, 0xf9, 0x11,
   815  	0xf3, 0x8c, 0x59, 0x50, 0x38, 0x6a, 0x98, 0xb1, 0x4a, 0xae, 0xa3, 0x2d, 0x9c, 0xd8, 0xd3, 0x4c,
   816  	0x64, 0x3c, 0x11, 0x13, 0x3f, 0x38, 0xed, 0xd8, 0x1f, 0xd7, 0x00, 0xf4, 0x06, 0x30, 0xed, 0x02,
   817  	0xe2, 0x33, 0xf3, 0x77, 0x04, 0xa5, 0x34, 0xcd, 0xc7, 0xc4, 0x29, 0xe3, 0x6e, 0x82, 0x10, 0xee,
   818  	0x62, 0x00, 0x21, 0x75, 0x7a, 0x91, 0x7b, 0xe6, 0xd4, 0xe6, 0x76, 0x56, 0x30, 0xb7, 0x4d, 0x82,
   819  	0xc3, 0xb3, 0xda, 0x60, 0x9a, 0x9c, 0x84, 0xef, 0x3d, 0x85, 0xbf, 0x52, 0xc3, 0x9f, 0x41, 0x9d,
   820  	0x7c, 0xba, 0xc3, 0x92, 0x9c, 0xe3, 0x6f, 0xfe, 0x67, 0x1f, 0xac, 0xfc, 0x62, 0x4a, 0x39, 0x6c,
   821  	0xb1, 0x63, 0xb5, 0xbf, 0xfb, 0xe4, 0xd1, 0xd4, 0xdc, 0xf7, 0x24, 0x38, 0x3c, 0x1d, 0x2b, 0x6f,
   822  	0x79, 0xc6, 0x6e, 0x39, 0x53, 0xde, 0xf2, 0x4c, 0xc9, 0xc2, 0xd3, 0x53, 0xa7, 0x67, 0xa7, 0xc3,
   823  	0xa7, 0xa7, 0x4e, 0x5f, 0x9d, 0x9e, 0x7b, 0x7a, 0xea, 0xf4, 0xe2, 0xf4, 0x8d, 0xa7, 0xa7, 0x4e,
   824  	0xdf, 0x9e, 0xbe, 0x73, 0xf3, 0x3f, 0xa6, 0x8e, 0xbc, 0xcd, 0x1d, 0x72, 0x01, 0xab, 0x73, 0x4c,
   825  	0x77, 0xb8, 0x82, 0x63, 0xba, 0x8b, 0x9d, 0xb7, 0xab, 0xaf, 0xed, 0x62, 0x70, 0x8b, 0x9c, 0x8f,
   826  	0x72, 0xa5, 0x80, 0x34, 0x8e, 0xf7, 0x3d, 0xd9, 0x39, 0xe7, 0x16, 0x5f, 0xc3, 0x5a, 0x70, 0x8d,
   827  	0x9c, 0x11, 0x69, 0xa4, 0xb0, 0x9e, 0xdb, 0xff, 0xb1, 0xd0, 0x19, 0x2f, 0x04, 0xd7, 0x09, 0x81,
   828  	0x8f, 0x80, 0xea, 0xda, 0xfe, 0x7f, 0x84, 0xce, 0x99, 0x34, 0x1f, 0xa2, 0xae, 0xbe, 0x37, 0x24,
   829  	0x17, 0x0f, 0x64, 0xdb, 0xe0, 0x3a, 0xb9, 0xda, 0xa9, 0xb7, 0xd7, 0x9b, 0xd5, 0xd5, 0x8d, 0x66,
   830  	0xeb, 0x05, 0x7d, 0xde, 0xaa, 0xd5, 0x69, 0xad, 0xd9, 0x5d, 0x5d, 0x5b, 0xaf, 0xd7, 0xa6, 0x4f,
   831  	0x04, 0xd7, 0x48, 0x78, 0x48, 0x5c, 0x7f, 0x61, 0xa5, 0x53, 0x47, 0x2b, 0xaf, 0x6e, 0xac, 0xae,
   832  	0xad, 0x76, 0xeb, 0xd3, 0x9f, 0xac, 0xfd, 0xf1, 0x2f, 0xff, 0xb5, 0x70, 0xe2, 0x2f, 0xfb, 0x0b,
   833  	0x53, 0x7f, 0xdd, 0x5f, 0x98, 0xfa, 0x69, 0x7f, 0x61, 0xea, 0x3f, 0xf7, 0x17, 0xa6, 0xfe, 0xed,
   834  	0xe7, 0x85, 0x13, 0x7f, 0xfd, 0x79, 0xe1, 0xc4, 0x4f, 0x3f, 0x2f, 0x9c, 0x78, 0xfb, 0xcd, 0xff,
   835  	0xad, 0x0f, 0x3b, 0xf8, 0xff, 0x55, 0x36, 0x7f, 0x85, 0x0d, 0xdd, 0xc3, 0xff, 0x09, 0x00, 0x00,
   836  	0xff, 0xff, 0xee, 0x80, 0x86, 0x04, 0xcb, 0x22, 0x00, 0x00,
   837  }
   838  
   839  func (m *LocalOnlySessionData) Marshal() (dAtA []byte, err error) {
   840  	size := m.Size()
   841  	dAtA = make([]byte, size)
   842  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   843  	if err != nil {
   844  		return nil, err
   845  	}
   846  	return dAtA[:n], nil
   847  }
   848  
   849  func (m *LocalOnlySessionData) MarshalTo(dAtA []byte) (int, error) {
   850  	size := m.Size()
   851  	return m.MarshalToSizedBuffer(dAtA[:size])
   852  }
   853  
   854  func (m *LocalOnlySessionData) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   855  	i := len(dAtA)
   856  	_ = i
   857  	var l int
   858  	_ = l
   859  	if m.CopyNumRetriesPerBatch != 0 {
   860  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.CopyNumRetriesPerBatch))
   861  		i--
   862  		dAtA[i] = 0x7
   863  		i--
   864  		dAtA[i] = 0xc0
   865  	}
   866  	if m.CopyWritePipeliningEnabled {
   867  		i--
   868  		if m.CopyWritePipeliningEnabled {
   869  			dAtA[i] = 1
   870  		} else {
   871  			dAtA[i] = 0
   872  		}
   873  		i--
   874  		dAtA[i] = 0x7
   875  		i--
   876  		dAtA[i] = 0xb0
   877  	}
   878  	if m.CopyTxnQualityOfService != 0 {
   879  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.CopyTxnQualityOfService))
   880  		i--
   881  		dAtA[i] = 0x7
   882  		i--
   883  		dAtA[i] = 0xa8
   884  	}
   885  	if m.DisableChangefeedReplication {
   886  		i--
   887  		if m.DisableChangefeedReplication {
   888  			dAtA[i] = 1
   889  		} else {
   890  			dAtA[i] = 0
   891  		}
   892  		i--
   893  		dAtA[i] = 0x7
   894  		i--
   895  		dAtA[i] = 0xa0
   896  	}
   897  	if m.OptimizerUseProvidedOrderingFix {
   898  		i--
   899  		if m.OptimizerUseProvidedOrderingFix {
   900  			dAtA[i] = 1
   901  		} else {
   902  			dAtA[i] = 0
   903  		}
   904  		i--
   905  		dAtA[i] = 0x7
   906  		i--
   907  		dAtA[i] = 0x98
   908  	}
   909  	if m.OptimizerUseLockOpForSerializable {
   910  		i--
   911  		if m.OptimizerUseLockOpForSerializable {
   912  			dAtA[i] = 1
   913  		} else {
   914  			dAtA[i] = 0
   915  		}
   916  		i--
   917  		dAtA[i] = 0x7
   918  		i--
   919  		dAtA[i] = 0x90
   920  	}
   921  	if len(m.UnsafeSettingInterlockKey) > 0 {
   922  		i -= len(m.UnsafeSettingInterlockKey)
   923  		copy(dAtA[i:], m.UnsafeSettingInterlockKey)
   924  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(len(m.UnsafeSettingInterlockKey)))
   925  		i--
   926  		dAtA[i] = 0x7
   927  		i--
   928  		dAtA[i] = 0x8a
   929  	}
   930  	if m.SharedLockingForSerializable {
   931  		i--
   932  		if m.SharedLockingForSerializable {
   933  			dAtA[i] = 1
   934  		} else {
   935  			dAtA[i] = 0
   936  		}
   937  		i--
   938  		dAtA[i] = 0x7
   939  		i--
   940  		dAtA[i] = 0x80
   941  	}
   942  	if m.StrictDDLAtomicity {
   943  		i--
   944  		if m.StrictDDLAtomicity {
   945  			dAtA[i] = 1
   946  		} else {
   947  			dAtA[i] = 0
   948  		}
   949  		i--
   950  		dAtA[i] = 0x6
   951  		i--
   952  		dAtA[i] = 0xf8
   953  	}
   954  	if m.MaxRetriesForReadCommitted != 0 {
   955  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.MaxRetriesForReadCommitted))
   956  		i--
   957  		dAtA[i] = 0x6
   958  		i--
   959  		dAtA[i] = 0xf0
   960  	}
   961  	if m.DurableLockingForSerializable {
   962  		i--
   963  		if m.DurableLockingForSerializable {
   964  			dAtA[i] = 1
   965  		} else {
   966  			dAtA[i] = 0
   967  		}
   968  		i--
   969  		dAtA[i] = 0x6
   970  		i--
   971  		dAtA[i] = 0xe8
   972  	}
   973  	if m.ImplicitFKLockingForSerializable {
   974  		i--
   975  		if m.ImplicitFKLockingForSerializable {
   976  			dAtA[i] = 1
   977  		} else {
   978  			dAtA[i] = 0
   979  		}
   980  		i--
   981  		dAtA[i] = 0x6
   982  		i--
   983  		dAtA[i] = 0xe0
   984  	}
   985  	if m.OptimizerUseImprovedJoinElimination {
   986  		i--
   987  		if m.OptimizerUseImprovedJoinElimination {
   988  			dAtA[i] = 1
   989  		} else {
   990  			dAtA[i] = 0
   991  		}
   992  		i--
   993  		dAtA[i] = 0x6
   994  		i--
   995  		dAtA[i] = 0xd8
   996  	}
   997  	if m.ReplicationMode != 0 {
   998  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.ReplicationMode))
   999  		i--
  1000  		dAtA[i] = 0x6
  1001  		i--
  1002  		dAtA[i] = 0xd0
  1003  	}
  1004  	if m.DefaultTxnIsolationLevel != 0 {
  1005  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.DefaultTxnIsolationLevel))
  1006  		i--
  1007  		dAtA[i] = 0x6
  1008  		i--
  1009  		dAtA[i] = 0xc8
  1010  	}
  1011  	if m.OptimizerUseImprovedComputedColumnFiltersDerivation {
  1012  		i--
  1013  		if m.OptimizerUseImprovedComputedColumnFiltersDerivation {
  1014  			dAtA[i] = 1
  1015  		} else {
  1016  			dAtA[i] = 0
  1017  		}
  1018  		i--
  1019  		dAtA[i] = 0x6
  1020  		i--
  1021  		dAtA[i] = 0xc0
  1022  	}
  1023  	if m.TestingOptimizerInjectPanics {
  1024  		i--
  1025  		if m.TestingOptimizerInjectPanics {
  1026  			dAtA[i] = 1
  1027  		} else {
  1028  			dAtA[i] = 0
  1029  		}
  1030  		i--
  1031  		dAtA[i] = 0x6
  1032  		i--
  1033  		dAtA[i] = 0xb8
  1034  	}
  1035  	if m.OptimizerHoistUncorrelatedEqualitySubqueries {
  1036  		i--
  1037  		if m.OptimizerHoistUncorrelatedEqualitySubqueries {
  1038  			dAtA[i] = 1
  1039  		} else {
  1040  			dAtA[i] = 0
  1041  		}
  1042  		i--
  1043  		dAtA[i] = 0x6
  1044  		i--
  1045  		dAtA[i] = 0xb0
  1046  	}
  1047  	if m.UnboundedParallelScans {
  1048  		i--
  1049  		if m.UnboundedParallelScans {
  1050  			dAtA[i] = 1
  1051  		} else {
  1052  			dAtA[i] = 0
  1053  		}
  1054  		i--
  1055  		dAtA[i] = 0x6
  1056  		i--
  1057  		dAtA[i] = 0xa8
  1058  	}
  1059  	if m.MultipleActivePortalsEnabled {
  1060  		i--
  1061  		if m.MultipleActivePortalsEnabled {
  1062  			dAtA[i] = 1
  1063  		} else {
  1064  			dAtA[i] = 0
  1065  		}
  1066  		i--
  1067  		dAtA[i] = 0x6
  1068  		i--
  1069  		dAtA[i] = 0xa0
  1070  	}
  1071  	if m.DisableDropVirtualCluster {
  1072  		i--
  1073  		if m.DisableDropVirtualCluster {
  1074  			dAtA[i] = 1
  1075  		} else {
  1076  			dAtA[i] = 0
  1077  		}
  1078  		i--
  1079  		dAtA[i] = 0x6
  1080  		i--
  1081  		dAtA[i] = 0x98
  1082  	}
  1083  	if m.StreamerEnabled {
  1084  		i--
  1085  		if m.StreamerEnabled {
  1086  			dAtA[i] = 1
  1087  		} else {
  1088  			dAtA[i] = 0
  1089  		}
  1090  		i--
  1091  		dAtA[i] = 0x6
  1092  		i--
  1093  		dAtA[i] = 0x90
  1094  	}
  1095  	if m.PreparedStatementsCacheSize != 0 {
  1096  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.PreparedStatementsCacheSize))
  1097  		i--
  1098  		dAtA[i] = 0x6
  1099  		i--
  1100  		dAtA[i] = 0x88
  1101  	}
  1102  	if m.AllowRoleMembershipsToChangeDuringTransaction {
  1103  		i--
  1104  		if m.AllowRoleMembershipsToChangeDuringTransaction {
  1105  			dAtA[i] = 1
  1106  		} else {
  1107  			dAtA[i] = 0
  1108  		}
  1109  		i--
  1110  		dAtA[i] = 0x6
  1111  		i--
  1112  		dAtA[i] = 0x80
  1113  	}
  1114  	if m.EnableCreateStatsUsingExtremes {
  1115  		i--
  1116  		if m.EnableCreateStatsUsingExtremes {
  1117  			dAtA[i] = 1
  1118  		} else {
  1119  			dAtA[i] = 0
  1120  		}
  1121  		i--
  1122  		dAtA[i] = 0x5
  1123  		i--
  1124  		dAtA[i] = 0xf8
  1125  	}
  1126  	if m.OptimizerAlwaysUseHistograms {
  1127  		i--
  1128  		if m.OptimizerAlwaysUseHistograms {
  1129  			dAtA[i] = 1
  1130  		} else {
  1131  			dAtA[i] = 0
  1132  		}
  1133  		i--
  1134  		dAtA[i] = 0x5
  1135  		i--
  1136  		dAtA[i] = 0xf0
  1137  	}
  1138  	if m.EnforceHomeRegionFollowerReadsEnabled {
  1139  		i--
  1140  		if m.EnforceHomeRegionFollowerReadsEnabled {
  1141  			dAtA[i] = 1
  1142  		} else {
  1143  			dAtA[i] = 0
  1144  		}
  1145  		i--
  1146  		dAtA[i] = 0x5
  1147  		i--
  1148  		dAtA[i] = 0xe8
  1149  	}
  1150  	if m.InjectRetryErrorsOnCommitEnabled {
  1151  		i--
  1152  		if m.InjectRetryErrorsOnCommitEnabled {
  1153  			dAtA[i] = 1
  1154  		} else {
  1155  			dAtA[i] = 0
  1156  		}
  1157  		i--
  1158  		dAtA[i] = 0x5
  1159  		i--
  1160  		dAtA[i] = 0xe0
  1161  	}
  1162  	if m.OptimizerUseImprovedSplitDisjunctionForJoins {
  1163  		i--
  1164  		if m.OptimizerUseImprovedSplitDisjunctionForJoins {
  1165  			dAtA[i] = 1
  1166  		} else {
  1167  			dAtA[i] = 0
  1168  		}
  1169  		i--
  1170  		dAtA[i] = 0x5
  1171  		i--
  1172  		dAtA[i] = 0xd8
  1173  	}
  1174  	if m.DeclareCursorStatementTimeoutEnabled {
  1175  		i--
  1176  		if m.DeclareCursorStatementTimeoutEnabled {
  1177  			dAtA[i] = 1
  1178  		} else {
  1179  			dAtA[i] = 0
  1180  		}
  1181  		i--
  1182  		dAtA[i] = 0x5
  1183  		i--
  1184  		dAtA[i] = 0xd0
  1185  	}
  1186  	if m.CopyFromRetriesEnabled {
  1187  		i--
  1188  		if m.CopyFromRetriesEnabled {
  1189  			dAtA[i] = 1
  1190  		} else {
  1191  			dAtA[i] = 0
  1192  		}
  1193  		i--
  1194  		dAtA[i] = 0x5
  1195  		i--
  1196  		dAtA[i] = 0xc8
  1197  	}
  1198  	if m.OptimizerUseLimitOrderingForStreamingGroupBy {
  1199  		i--
  1200  		if m.OptimizerUseLimitOrderingForStreamingGroupBy {
  1201  			dAtA[i] = 1
  1202  		} else {
  1203  			dAtA[i] = 0
  1204  		}
  1205  		i--
  1206  		dAtA[i] = 0x5
  1207  		i--
  1208  		dAtA[i] = 0xc0
  1209  	}
  1210  	if m.OptimizerUseImprovedDisjunctionStats {
  1211  		i--
  1212  		if m.OptimizerUseImprovedDisjunctionStats {
  1213  			dAtA[i] = 1
  1214  		} else {
  1215  			dAtA[i] = 0
  1216  		}
  1217  		i--
  1218  		dAtA[i] = 0x5
  1219  		i--
  1220  		dAtA[i] = 0xb0
  1221  	}
  1222  	if m.AllowOrdinalColumnReferences {
  1223  		i--
  1224  		if m.AllowOrdinalColumnReferences {
  1225  			dAtA[i] = 1
  1226  		} else {
  1227  			dAtA[i] = 0
  1228  		}
  1229  		i--
  1230  		dAtA[i] = 0x5
  1231  		i--
  1232  		dAtA[i] = 0xa8
  1233  	}
  1234  	if m.ExperimentalHashGroupJoinEnabled {
  1235  		i--
  1236  		if m.ExperimentalHashGroupJoinEnabled {
  1237  			dAtA[i] = 1
  1238  		} else {
  1239  			dAtA[i] = 0
  1240  		}
  1241  		i--
  1242  		dAtA[i] = 0x5
  1243  		i--
  1244  		dAtA[i] = 0xa0
  1245  	}
  1246  	if m.DescriptorValidationMode != 0 {
  1247  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.DescriptorValidationMode))
  1248  		i--
  1249  		dAtA[i] = 0x5
  1250  		i--
  1251  		dAtA[i] = 0x98
  1252  	}
  1253  	if len(m.SystemIdentityProto) > 0 {
  1254  		i -= len(m.SystemIdentityProto)
  1255  		copy(dAtA[i:], m.SystemIdentityProto)
  1256  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(len(m.SystemIdentityProto)))
  1257  		i--
  1258  		dAtA[i] = 0x5
  1259  		i--
  1260  		dAtA[i] = 0x92
  1261  	}
  1262  	if m.TransactionTimeout != 0 {
  1263  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.TransactionTimeout))
  1264  		i--
  1265  		dAtA[i] = 0x5
  1266  		i--
  1267  		dAtA[i] = 0x88
  1268  	}
  1269  	if m.VariableInequalityLookupJoinEnabled {
  1270  		i--
  1271  		if m.VariableInequalityLookupJoinEnabled {
  1272  			dAtA[i] = 1
  1273  		} else {
  1274  			dAtA[i] = 0
  1275  		}
  1276  		i--
  1277  		dAtA[i] = 0x5
  1278  		i--
  1279  		dAtA[i] = 0x80
  1280  	}
  1281  	if m.OptimizerUseForecasts {
  1282  		i--
  1283  		if m.OptimizerUseForecasts {
  1284  			dAtA[i] = 1
  1285  		} else {
  1286  			dAtA[i] = 0
  1287  		}
  1288  		i--
  1289  		dAtA[i] = 0x4
  1290  		i--
  1291  		dAtA[i] = 0xf8
  1292  	}
  1293  	if m.EnforceHomeRegion {
  1294  		i--
  1295  		if m.EnforceHomeRegion {
  1296  			dAtA[i] = 1
  1297  		} else {
  1298  			dAtA[i] = 0
  1299  		}
  1300  		i--
  1301  		dAtA[i] = 0x4
  1302  		i--
  1303  		dAtA[i] = 0xf0
  1304  	}
  1305  	if m.CopyFromAtomicEnabled {
  1306  		i--
  1307  		if m.CopyFromAtomicEnabled {
  1308  			dAtA[i] = 1
  1309  		} else {
  1310  			dAtA[i] = 0
  1311  		}
  1312  		i--
  1313  		dAtA[i] = 0x4
  1314  		i--
  1315  		dAtA[i] = 0xe8
  1316  	}
  1317  	if m.DisableHoistProjectionInJoinLimitation {
  1318  		i--
  1319  		if m.DisableHoistProjectionInJoinLimitation {
  1320  			dAtA[i] = 1
  1321  		} else {
  1322  			dAtA[i] = 0
  1323  		}
  1324  		i--
  1325  		dAtA[i] = 0x4
  1326  		i--
  1327  		dAtA[i] = 0xe0
  1328  	}
  1329  	if m.CopyFastPathEnabled {
  1330  		i--
  1331  		if m.CopyFastPathEnabled {
  1332  			dAtA[i] = 1
  1333  		} else {
  1334  			dAtA[i] = 0
  1335  		}
  1336  		i--
  1337  		dAtA[i] = 0x4
  1338  		i--
  1339  		dAtA[i] = 0xd8
  1340  	}
  1341  	if m.OptimizerUseNotVisibleIndexes {
  1342  		i--
  1343  		if m.OptimizerUseNotVisibleIndexes {
  1344  			dAtA[i] = 1
  1345  		} else {
  1346  			dAtA[i] = 0
  1347  		}
  1348  		i--
  1349  		dAtA[i] = 0x4
  1350  		i--
  1351  		dAtA[i] = 0xd0
  1352  	}
  1353  	if m.TestingOptimizerDisableRuleProbability != 0 {
  1354  		i -= 8
  1355  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.TestingOptimizerDisableRuleProbability))))
  1356  		i--
  1357  		dAtA[i] = 0x4
  1358  		i--
  1359  		dAtA[i] = 0xc9
  1360  	}
  1361  	if m.TestingOptimizerCostPerturbation != 0 {
  1362  		i -= 8
  1363  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.TestingOptimizerCostPerturbation))))
  1364  		i--
  1365  		dAtA[i] = 0x4
  1366  		i--
  1367  		dAtA[i] = 0xc1
  1368  	}
  1369  	if m.UnconstrainedNonCoveringIndexScanEnabled {
  1370  		i--
  1371  		if m.UnconstrainedNonCoveringIndexScanEnabled {
  1372  			dAtA[i] = 1
  1373  		} else {
  1374  			dAtA[i] = 0
  1375  		}
  1376  		i--
  1377  		dAtA[i] = 0x4
  1378  		i--
  1379  		dAtA[i] = 0xb8
  1380  	}
  1381  	if m.TestingOptimizerRandomSeed != 0 {
  1382  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.TestingOptimizerRandomSeed))
  1383  		i--
  1384  		dAtA[i] = 0x4
  1385  		i--
  1386  		dAtA[i] = 0xb0
  1387  	}
  1388  	if m.ShowPrimaryKeyConstraintOnNotVisibleColumns {
  1389  		i--
  1390  		if m.ShowPrimaryKeyConstraintOnNotVisibleColumns {
  1391  			dAtA[i] = 1
  1392  		} else {
  1393  			dAtA[i] = 0
  1394  		}
  1395  		i--
  1396  		dAtA[i] = 0x4
  1397  		i--
  1398  		dAtA[i] = 0xa8
  1399  	}
  1400  	if m.MultipleModificationsOfTable {
  1401  		i--
  1402  		if m.MultipleModificationsOfTable {
  1403  			dAtA[i] = 1
  1404  		} else {
  1405  			dAtA[i] = 0
  1406  		}
  1407  		i--
  1408  		dAtA[i] = 0x4
  1409  		i--
  1410  		dAtA[i] = 0xa0
  1411  	}
  1412  	if m.ExpectAndIgnoreNotVisibleColumnsInCopy {
  1413  		i--
  1414  		if m.ExpectAndIgnoreNotVisibleColumnsInCopy {
  1415  			dAtA[i] = 1
  1416  		} else {
  1417  			dAtA[i] = 0
  1418  		}
  1419  		i--
  1420  		dAtA[i] = 0x4
  1421  		i--
  1422  		dAtA[i] = 0x98
  1423  	}
  1424  	if m.EnableImplicitTransactionForBatchStatements {
  1425  		i--
  1426  		if m.EnableImplicitTransactionForBatchStatements {
  1427  			dAtA[i] = 1
  1428  		} else {
  1429  			dAtA[i] = 0
  1430  		}
  1431  		i--
  1432  		dAtA[i] = 0x4
  1433  		i--
  1434  		dAtA[i] = 0x90
  1435  	}
  1436  	if m.OverrideAlterPrimaryRegionInSuperRegion {
  1437  		i--
  1438  		if m.OverrideAlterPrimaryRegionInSuperRegion {
  1439  			dAtA[i] = 1
  1440  		} else {
  1441  			dAtA[i] = 0
  1442  		}
  1443  		i--
  1444  		dAtA[i] = 0x4
  1445  		i--
  1446  		dAtA[i] = 0x88
  1447  	}
  1448  	if m.EnableSuperRegions {
  1449  		i--
  1450  		if m.EnableSuperRegions {
  1451  			dAtA[i] = 1
  1452  		} else {
  1453  			dAtA[i] = 0
  1454  		}
  1455  		i--
  1456  		dAtA[i] = 0x4
  1457  		i--
  1458  		dAtA[i] = 0x80
  1459  	}
  1460  	if m.OptSplitScanLimit != 0 {
  1461  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.OptSplitScanLimit))
  1462  		i--
  1463  		dAtA[i] = 0x3
  1464  		i--
  1465  		dAtA[i] = 0xf8
  1466  	}
  1467  	if m.DefaultTxnQualityOfService != 0 {
  1468  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.DefaultTxnQualityOfService))
  1469  		i--
  1470  		dAtA[i] = 0x3
  1471  		i--
  1472  		dAtA[i] = 0xf0
  1473  	}
  1474  	if m.CostScansWithDefaultColSize {
  1475  		i--
  1476  		if m.CostScansWithDefaultColSize {
  1477  			dAtA[i] = 1
  1478  		} else {
  1479  			dAtA[i] = 0
  1480  		}
  1481  		i--
  1482  		dAtA[i] = 0x3
  1483  		i--
  1484  		dAtA[i] = 0xe8
  1485  	}
  1486  	if m.CheckFunctionBodies {
  1487  		i--
  1488  		if m.CheckFunctionBodies {
  1489  			dAtA[i] = 1
  1490  		} else {
  1491  			dAtA[i] = 0
  1492  		}
  1493  		i--
  1494  		dAtA[i] = 0x3
  1495  		i--
  1496  		dAtA[i] = 0xe0
  1497  	}
  1498  	if m.AvoidBuffering {
  1499  		i--
  1500  		if m.AvoidBuffering {
  1501  			dAtA[i] = 1
  1502  		} else {
  1503  			dAtA[i] = 0
  1504  		}
  1505  		i--
  1506  		dAtA[i] = 0x3
  1507  		i--
  1508  		dAtA[i] = 0xd8
  1509  	}
  1510  	if m.IndexRecommendationsEnabled {
  1511  		i--
  1512  		if m.IndexRecommendationsEnabled {
  1513  			dAtA[i] = 1
  1514  		} else {
  1515  			dAtA[i] = 0
  1516  		}
  1517  		i--
  1518  		dAtA[i] = 0x3
  1519  		i--
  1520  		dAtA[i] = 0xd0
  1521  	}
  1522  	if len(m.CustomOptions) > 0 {
  1523  		keysForCustomOptions := make([]string, 0, len(m.CustomOptions))
  1524  		for k := range m.CustomOptions {
  1525  			keysForCustomOptions = append(keysForCustomOptions, string(k))
  1526  		}
  1527  		github_com_gogo_protobuf_sortkeys.Strings(keysForCustomOptions)
  1528  		for iNdEx := len(keysForCustomOptions) - 1; iNdEx >= 0; iNdEx-- {
  1529  			v := m.CustomOptions[string(keysForCustomOptions[iNdEx])]
  1530  			baseI := i
  1531  			i -= len(v)
  1532  			copy(dAtA[i:], v)
  1533  			i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(len(v)))
  1534  			i--
  1535  			dAtA[i] = 0x12
  1536  			i -= len(keysForCustomOptions[iNdEx])
  1537  			copy(dAtA[i:], keysForCustomOptions[iNdEx])
  1538  			i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(len(keysForCustomOptions[iNdEx])))
  1539  			i--
  1540  			dAtA[i] = 0xa
  1541  			i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(baseI-i))
  1542  			i--
  1543  			dAtA[i] = 0x3
  1544  			i--
  1545  			dAtA[i] = 0xca
  1546  		}
  1547  	}
  1548  	if m.DisablePlanGists {
  1549  		i--
  1550  		if m.DisablePlanGists {
  1551  			dAtA[i] = 1
  1552  		} else {
  1553  			dAtA[i] = 0
  1554  		}
  1555  		i--
  1556  		dAtA[i] = 0x3
  1557  		i--
  1558  		dAtA[i] = 0xc0
  1559  	}
  1560  	if m.NullOrderedLast {
  1561  		i--
  1562  		if m.NullOrderedLast {
  1563  			dAtA[i] = 1
  1564  		} else {
  1565  			dAtA[i] = 0
  1566  		}
  1567  		i--
  1568  		dAtA[i] = 0x3
  1569  		i--
  1570  		dAtA[i] = 0xb8
  1571  	}
  1572  	if m.InjectRetryErrorsEnabled {
  1573  		i--
  1574  		if m.InjectRetryErrorsEnabled {
  1575  			dAtA[i] = 1
  1576  		} else {
  1577  			dAtA[i] = 0
  1578  		}
  1579  		i--
  1580  		dAtA[i] = 0x3
  1581  		i--
  1582  		dAtA[i] = 0xb0
  1583  	}
  1584  	if m.LargeFullScanRows != 0 {
  1585  		i -= 8
  1586  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.LargeFullScanRows))))
  1587  		i--
  1588  		dAtA[i] = 0x3
  1589  		i--
  1590  		dAtA[i] = 0xa9
  1591  	}
  1592  	if m.IsSuperuser {
  1593  		i--
  1594  		if m.IsSuperuser {
  1595  			dAtA[i] = 1
  1596  		} else {
  1597  			dAtA[i] = 0
  1598  		}
  1599  		i--
  1600  		dAtA[i] = 0x3
  1601  		i--
  1602  		dAtA[i] = 0xa0
  1603  	}
  1604  	if m.AutoRehomingEnabled {
  1605  		i--
  1606  		if m.AutoRehomingEnabled {
  1607  			dAtA[i] = 1
  1608  		} else {
  1609  			dAtA[i] = 0
  1610  		}
  1611  		i--
  1612  		dAtA[i] = 0x3
  1613  		i--
  1614  		dAtA[i] = 0x98
  1615  	}
  1616  	if m.TxnRowsReadErr != 0 {
  1617  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.TxnRowsReadErr))
  1618  		i--
  1619  		dAtA[i] = 0x3
  1620  		i--
  1621  		dAtA[i] = 0x90
  1622  	}
  1623  	if m.TxnRowsReadLog != 0 {
  1624  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.TxnRowsReadLog))
  1625  		i--
  1626  		dAtA[i] = 0x3
  1627  		i--
  1628  		dAtA[i] = 0x88
  1629  	}
  1630  	if m.TxnRowsWrittenErr != 0 {
  1631  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.TxnRowsWrittenErr))
  1632  		i--
  1633  		dAtA[i] = 0x3
  1634  		i--
  1635  		dAtA[i] = 0x80
  1636  	}
  1637  	if m.TxnRowsWrittenLog != 0 {
  1638  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.TxnRowsWrittenLog))
  1639  		i--
  1640  		dAtA[i] = 0x2
  1641  		i--
  1642  		dAtA[i] = 0xf8
  1643  	}
  1644  	if len(m.SessionUserProto) > 0 {
  1645  		i -= len(m.SessionUserProto)
  1646  		copy(dAtA[i:], m.SessionUserProto)
  1647  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(len(m.SessionUserProto)))
  1648  		i--
  1649  		dAtA[i] = 0x2
  1650  		i--
  1651  		dAtA[i] = 0xf2
  1652  	}
  1653  	if m.PlacementEnabled {
  1654  		i--
  1655  		if m.PlacementEnabled {
  1656  			dAtA[i] = 1
  1657  		} else {
  1658  			dAtA[i] = 0
  1659  		}
  1660  		i--
  1661  		dAtA[i] = 0x2
  1662  		i--
  1663  		dAtA[i] = 0xe8
  1664  	}
  1665  	if len(m.SequenceCache) > 0 {
  1666  		keysForSequenceCache := make([]uint32, 0, len(m.SequenceCache))
  1667  		for k := range m.SequenceCache {
  1668  			keysForSequenceCache = append(keysForSequenceCache, uint32(k))
  1669  		}
  1670  		github_com_gogo_protobuf_sortkeys.Uint32s(keysForSequenceCache)
  1671  		for iNdEx := len(keysForSequenceCache) - 1; iNdEx >= 0; iNdEx-- {
  1672  			v := m.SequenceCache[uint32(keysForSequenceCache[iNdEx])]
  1673  			baseI := i
  1674  			if v != nil {
  1675  				{
  1676  					size, err := v.MarshalToSizedBuffer(dAtA[:i])
  1677  					if err != nil {
  1678  						return 0, err
  1679  					}
  1680  					i -= size
  1681  					i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(size))
  1682  				}
  1683  				i--
  1684  				dAtA[i] = 0x12
  1685  			}
  1686  			i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(keysForSequenceCache[iNdEx]))
  1687  			i--
  1688  			dAtA[i] = 0x8
  1689  			i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(baseI-i))
  1690  			i--
  1691  			dAtA[i] = 0x2
  1692  			i--
  1693  			dAtA[i] = 0xe2
  1694  		}
  1695  	}
  1696  	if m.NewSchemaChangerMode != 0 {
  1697  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.NewSchemaChangerMode))
  1698  		i--
  1699  		dAtA[i] = 0x2
  1700  		i--
  1701  		dAtA[i] = 0xd8
  1702  	}
  1703  	if m.SerialNormalizationMode != 0 {
  1704  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.SerialNormalizationMode))
  1705  		i--
  1706  		dAtA[i] = 0x2
  1707  		i--
  1708  		dAtA[i] = 0xd0
  1709  	}
  1710  	if m.DistSQLMode != 0 {
  1711  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.DistSQLMode))
  1712  		i--
  1713  		dAtA[i] = 0x2
  1714  		i--
  1715  		dAtA[i] = 0xc8
  1716  	}
  1717  	if m.ExperimentalDistSQLPlanningMode != 0 {
  1718  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.ExperimentalDistSQLPlanningMode))
  1719  		i--
  1720  		dAtA[i] = 0x2
  1721  		i--
  1722  		dAtA[i] = 0xc0
  1723  	}
  1724  	if m.PropagateInputOrdering {
  1725  		i--
  1726  		if m.PropagateInputOrdering {
  1727  			dAtA[i] = 1
  1728  		} else {
  1729  			dAtA[i] = 0
  1730  		}
  1731  		i--
  1732  		dAtA[i] = 0x2
  1733  		i--
  1734  		dAtA[i] = 0xb8
  1735  	}
  1736  	if m.ResultsBufferSize != 0 {
  1737  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.ResultsBufferSize))
  1738  		i--
  1739  		dAtA[i] = 0x2
  1740  		i--
  1741  		dAtA[i] = 0xb0
  1742  	}
  1743  	if m.EnableStreamReplication {
  1744  		i--
  1745  		if m.EnableStreamReplication {
  1746  			dAtA[i] = 1
  1747  		} else {
  1748  			dAtA[i] = 0
  1749  		}
  1750  		i--
  1751  		dAtA[i] = 0x2
  1752  		i--
  1753  		dAtA[i] = 0xa8
  1754  	}
  1755  	if len(m.ExperimentalComputedColumnRewrites) > 0 {
  1756  		i -= len(m.ExperimentalComputedColumnRewrites)
  1757  		copy(dAtA[i:], m.ExperimentalComputedColumnRewrites)
  1758  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(len(m.ExperimentalComputedColumnRewrites)))
  1759  		i--
  1760  		dAtA[i] = 0x2
  1761  		i--
  1762  		dAtA[i] = 0x9a
  1763  	}
  1764  	if m.StubCatalogTablesEnabled {
  1765  		i--
  1766  		if m.StubCatalogTablesEnabled {
  1767  			dAtA[i] = 1
  1768  		} else {
  1769  			dAtA[i] = 0
  1770  		}
  1771  		i--
  1772  		dAtA[i] = 0x2
  1773  		i--
  1774  		dAtA[i] = 0x90
  1775  	}
  1776  	if m.EnableUniqueWithoutIndexConstraints {
  1777  		i--
  1778  		if m.EnableUniqueWithoutIndexConstraints {
  1779  			dAtA[i] = 1
  1780  		} else {
  1781  			dAtA[i] = 0
  1782  		}
  1783  		i--
  1784  		dAtA[i] = 0x2
  1785  		i--
  1786  		dAtA[i] = 0x88
  1787  	}
  1788  	if m.EnableSeqScan {
  1789  		i--
  1790  		if m.EnableSeqScan {
  1791  			dAtA[i] = 1
  1792  		} else {
  1793  			dAtA[i] = 0
  1794  		}
  1795  		i--
  1796  		dAtA[i] = 0x1
  1797  		i--
  1798  		dAtA[i] = 0xf8
  1799  	}
  1800  	if m.SynchronousCommit {
  1801  		i--
  1802  		if m.SynchronousCommit {
  1803  			dAtA[i] = 1
  1804  		} else {
  1805  			dAtA[i] = 0
  1806  		}
  1807  		i--
  1808  		dAtA[i] = 0x1
  1809  		i--
  1810  		dAtA[i] = 0xf0
  1811  	}
  1812  	if m.AlterColumnTypeGeneralEnabled {
  1813  		i--
  1814  		if m.AlterColumnTypeGeneralEnabled {
  1815  			dAtA[i] = 1
  1816  		} else {
  1817  			dAtA[i] = 0
  1818  		}
  1819  		i--
  1820  		dAtA[i] = 0x1
  1821  		i--
  1822  		dAtA[i] = 0xe8
  1823  	}
  1824  	if m.InsertFastPath {
  1825  		i--
  1826  		if m.InsertFastPath {
  1827  			dAtA[i] = 1
  1828  		} else {
  1829  			dAtA[i] = 0
  1830  		}
  1831  		i--
  1832  		dAtA[i] = 0x1
  1833  		i--
  1834  		dAtA[i] = 0xe0
  1835  	}
  1836  	if m.ImplicitSelectForUpdate {
  1837  		i--
  1838  		if m.ImplicitSelectForUpdate {
  1839  			dAtA[i] = 1
  1840  		} else {
  1841  			dAtA[i] = 0
  1842  		}
  1843  		i--
  1844  		dAtA[i] = 0x1
  1845  		i--
  1846  		dAtA[i] = 0xd8
  1847  	}
  1848  	if m.DisallowFullTableScans {
  1849  		i--
  1850  		if m.DisallowFullTableScans {
  1851  			dAtA[i] = 1
  1852  		} else {
  1853  			dAtA[i] = 0
  1854  		}
  1855  		i--
  1856  		dAtA[i] = 0x1
  1857  		i--
  1858  		dAtA[i] = 0xd0
  1859  	}
  1860  	if m.OverrideMultiRegionZoneConfigEnabled {
  1861  		i--
  1862  		if m.OverrideMultiRegionZoneConfigEnabled {
  1863  			dAtA[i] = 1
  1864  		} else {
  1865  			dAtA[i] = 0
  1866  		}
  1867  		i--
  1868  		dAtA[i] = 0x1
  1869  		i--
  1870  		dAtA[i] = 0xc0
  1871  	}
  1872  	if m.ImplicitColumnPartitioningEnabled {
  1873  		i--
  1874  		if m.ImplicitColumnPartitioningEnabled {
  1875  			dAtA[i] = 1
  1876  		} else {
  1877  			dAtA[i] = 0
  1878  		}
  1879  		i--
  1880  		dAtA[i] = 0x1
  1881  		i--
  1882  		dAtA[i] = 0xb0
  1883  	}
  1884  	if m.TempTablesEnabled {
  1885  		i--
  1886  		if m.TempTablesEnabled {
  1887  			dAtA[i] = 1
  1888  		} else {
  1889  			dAtA[i] = 0
  1890  		}
  1891  		i--
  1892  		dAtA[i] = 0x1
  1893  		i--
  1894  		dAtA[i] = 0xa8
  1895  	}
  1896  	if m.AllowPrepareAsOptPlan {
  1897  		i--
  1898  		if m.AllowPrepareAsOptPlan {
  1899  			dAtA[i] = 1
  1900  		} else {
  1901  			dAtA[i] = 0
  1902  		}
  1903  		i--
  1904  		dAtA[i] = 0x1
  1905  		i--
  1906  		dAtA[i] = 0xa0
  1907  	}
  1908  	if m.ForceSavepointRestart {
  1909  		i--
  1910  		if m.ForceSavepointRestart {
  1911  			dAtA[i] = 1
  1912  		} else {
  1913  			dAtA[i] = 0
  1914  		}
  1915  		i--
  1916  		dAtA[i] = 0x1
  1917  		i--
  1918  		dAtA[i] = 0x98
  1919  	}
  1920  	if m.RequireExplicitPrimaryKeys {
  1921  		i--
  1922  		if m.RequireExplicitPrimaryKeys {
  1923  			dAtA[i] = 1
  1924  		} else {
  1925  			dAtA[i] = 0
  1926  		}
  1927  		i--
  1928  		dAtA[i] = 0x1
  1929  		i--
  1930  		dAtA[i] = 0x90
  1931  	}
  1932  	if m.ZigzagJoinEnabled {
  1933  		i--
  1934  		if m.ZigzagJoinEnabled {
  1935  			dAtA[i] = 1
  1936  		} else {
  1937  			dAtA[i] = 0
  1938  		}
  1939  		i--
  1940  		dAtA[i] = 0x1
  1941  		i--
  1942  		dAtA[i] = 0x88
  1943  	}
  1944  	if m.PreferLookupJoinsForFKs {
  1945  		i--
  1946  		if m.PreferLookupJoinsForFKs {
  1947  			dAtA[i] = 1
  1948  		} else {
  1949  			dAtA[i] = 0
  1950  		}
  1951  		i--
  1952  		dAtA[i] = 0x1
  1953  		i--
  1954  		dAtA[i] = 0x80
  1955  	}
  1956  	if m.SafeUpdates {
  1957  		i--
  1958  		if m.SafeUpdates {
  1959  			dAtA[i] = 1
  1960  		} else {
  1961  			dAtA[i] = 0
  1962  		}
  1963  		i--
  1964  		dAtA[i] = 0x78
  1965  	}
  1966  	if m.LocalityOptimizedSearch {
  1967  		i--
  1968  		if m.LocalityOptimizedSearch {
  1969  			dAtA[i] = 1
  1970  		} else {
  1971  			dAtA[i] = 0
  1972  		}
  1973  		i--
  1974  		dAtA[i] = 0x70
  1975  	}
  1976  	if m.OptimizerUseMultiColStats {
  1977  		i--
  1978  		if m.OptimizerUseMultiColStats {
  1979  			dAtA[i] = 1
  1980  		} else {
  1981  			dAtA[i] = 0
  1982  		}
  1983  		i--
  1984  		dAtA[i] = 0x68
  1985  	}
  1986  	if m.OptimizerUseHistograms {
  1987  		i--
  1988  		if m.OptimizerUseHistograms {
  1989  			dAtA[i] = 1
  1990  		} else {
  1991  			dAtA[i] = 0
  1992  		}
  1993  		i--
  1994  		dAtA[i] = 0x60
  1995  	}
  1996  	if m.PartiallyDistributedPlansDisabled {
  1997  		i--
  1998  		if m.PartiallyDistributedPlansDisabled {
  1999  			dAtA[i] = 1
  2000  		} else {
  2001  			dAtA[i] = 0
  2002  		}
  2003  		i--
  2004  		dAtA[i] = 0x58
  2005  	}
  2006  	if m.DefaultTxnUseFollowerReads {
  2007  		i--
  2008  		if m.DefaultTxnUseFollowerReads {
  2009  			dAtA[i] = 1
  2010  		} else {
  2011  			dAtA[i] = 0
  2012  		}
  2013  		i--
  2014  		dAtA[i] = 0x50
  2015  	}
  2016  	if m.DefaultTxnReadOnly {
  2017  		i--
  2018  		if m.DefaultTxnReadOnly {
  2019  			dAtA[i] = 1
  2020  		} else {
  2021  			dAtA[i] = 0
  2022  		}
  2023  		i--
  2024  		dAtA[i] = 0x48
  2025  	}
  2026  	if m.DefaultTxnPriority != 0 {
  2027  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.DefaultTxnPriority))
  2028  		i--
  2029  		dAtA[i] = 0x40
  2030  	}
  2031  	if m.ReorderJoinsLimit != 0 {
  2032  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.ReorderJoinsLimit))
  2033  		i--
  2034  		dAtA[i] = 0x38
  2035  	}
  2036  	if m.NoticeDisplaySeverity != 0 {
  2037  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.NoticeDisplaySeverity))
  2038  		i--
  2039  		dAtA[i] = 0x30
  2040  	}
  2041  	if m.IdleInTransactionSessionTimeout != 0 {
  2042  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.IdleInTransactionSessionTimeout))
  2043  		i--
  2044  		dAtA[i] = 0x28
  2045  	}
  2046  	if m.IdleInSessionTimeout != 0 {
  2047  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.IdleInSessionTimeout))
  2048  		i--
  2049  		dAtA[i] = 0x20
  2050  	}
  2051  	if m.StmtTimeout != 0 {
  2052  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.StmtTimeout))
  2053  		i--
  2054  		dAtA[i] = 0x18
  2055  	}
  2056  	if m.OptimizerFKCascadesLimit != 0 {
  2057  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.OptimizerFKCascadesLimit))
  2058  		i--
  2059  		dAtA[i] = 0x10
  2060  	}
  2061  	if len(m.SaveTablesPrefix) > 0 {
  2062  		i -= len(m.SaveTablesPrefix)
  2063  		copy(dAtA[i:], m.SaveTablesPrefix)
  2064  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(len(m.SaveTablesPrefix)))
  2065  		i--
  2066  		dAtA[i] = 0xa
  2067  	}
  2068  	return len(dAtA) - i, nil
  2069  }
  2070  
  2071  func (m *SequenceCacheEntry) Marshal() (dAtA []byte, err error) {
  2072  	size := m.Size()
  2073  	dAtA = make([]byte, size)
  2074  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2075  	if err != nil {
  2076  		return nil, err
  2077  	}
  2078  	return dAtA[:n], nil
  2079  }
  2080  
  2081  func (m *SequenceCacheEntry) MarshalTo(dAtA []byte) (int, error) {
  2082  	size := m.Size()
  2083  	return m.MarshalToSizedBuffer(dAtA[:size])
  2084  }
  2085  
  2086  func (m *SequenceCacheEntry) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2087  	i := len(dAtA)
  2088  	_ = i
  2089  	var l int
  2090  	_ = l
  2091  	if m.NumValues != 0 {
  2092  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.NumValues))
  2093  		i--
  2094  		dAtA[i] = 0x20
  2095  	}
  2096  	if m.Increment != 0 {
  2097  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.Increment))
  2098  		i--
  2099  		dAtA[i] = 0x18
  2100  	}
  2101  	if m.CurrentValue != 0 {
  2102  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.CurrentValue))
  2103  		i--
  2104  		dAtA[i] = 0x10
  2105  	}
  2106  	if m.CachedVersion != 0 {
  2107  		i = encodeVarintLocalOnlySessionData(dAtA, i, uint64(m.CachedVersion))
  2108  		i--
  2109  		dAtA[i] = 0x8
  2110  	}
  2111  	return len(dAtA) - i, nil
  2112  }
  2113  
  2114  func encodeVarintLocalOnlySessionData(dAtA []byte, offset int, v uint64) int {
  2115  	offset -= sovLocalOnlySessionData(v)
  2116  	base := offset
  2117  	for v >= 1<<7 {
  2118  		dAtA[offset] = uint8(v&0x7f | 0x80)
  2119  		v >>= 7
  2120  		offset++
  2121  	}
  2122  	dAtA[offset] = uint8(v)
  2123  	return base
  2124  }
  2125  func (m *LocalOnlySessionData) Size() (n int) {
  2126  	if m == nil {
  2127  		return 0
  2128  	}
  2129  	var l int
  2130  	_ = l
  2131  	l = len(m.SaveTablesPrefix)
  2132  	if l > 0 {
  2133  		n += 1 + l + sovLocalOnlySessionData(uint64(l))
  2134  	}
  2135  	if m.OptimizerFKCascadesLimit != 0 {
  2136  		n += 1 + sovLocalOnlySessionData(uint64(m.OptimizerFKCascadesLimit))
  2137  	}
  2138  	if m.StmtTimeout != 0 {
  2139  		n += 1 + sovLocalOnlySessionData(uint64(m.StmtTimeout))
  2140  	}
  2141  	if m.IdleInSessionTimeout != 0 {
  2142  		n += 1 + sovLocalOnlySessionData(uint64(m.IdleInSessionTimeout))
  2143  	}
  2144  	if m.IdleInTransactionSessionTimeout != 0 {
  2145  		n += 1 + sovLocalOnlySessionData(uint64(m.IdleInTransactionSessionTimeout))
  2146  	}
  2147  	if m.NoticeDisplaySeverity != 0 {
  2148  		n += 1 + sovLocalOnlySessionData(uint64(m.NoticeDisplaySeverity))
  2149  	}
  2150  	if m.ReorderJoinsLimit != 0 {
  2151  		n += 1 + sovLocalOnlySessionData(uint64(m.ReorderJoinsLimit))
  2152  	}
  2153  	if m.DefaultTxnPriority != 0 {
  2154  		n += 1 + sovLocalOnlySessionData(uint64(m.DefaultTxnPriority))
  2155  	}
  2156  	if m.DefaultTxnReadOnly {
  2157  		n += 2
  2158  	}
  2159  	if m.DefaultTxnUseFollowerReads {
  2160  		n += 2
  2161  	}
  2162  	if m.PartiallyDistributedPlansDisabled {
  2163  		n += 2
  2164  	}
  2165  	if m.OptimizerUseHistograms {
  2166  		n += 2
  2167  	}
  2168  	if m.OptimizerUseMultiColStats {
  2169  		n += 2
  2170  	}
  2171  	if m.LocalityOptimizedSearch {
  2172  		n += 2
  2173  	}
  2174  	if m.SafeUpdates {
  2175  		n += 2
  2176  	}
  2177  	if m.PreferLookupJoinsForFKs {
  2178  		n += 3
  2179  	}
  2180  	if m.ZigzagJoinEnabled {
  2181  		n += 3
  2182  	}
  2183  	if m.RequireExplicitPrimaryKeys {
  2184  		n += 3
  2185  	}
  2186  	if m.ForceSavepointRestart {
  2187  		n += 3
  2188  	}
  2189  	if m.AllowPrepareAsOptPlan {
  2190  		n += 3
  2191  	}
  2192  	if m.TempTablesEnabled {
  2193  		n += 3
  2194  	}
  2195  	if m.ImplicitColumnPartitioningEnabled {
  2196  		n += 3
  2197  	}
  2198  	if m.OverrideMultiRegionZoneConfigEnabled {
  2199  		n += 3
  2200  	}
  2201  	if m.DisallowFullTableScans {
  2202  		n += 3
  2203  	}
  2204  	if m.ImplicitSelectForUpdate {
  2205  		n += 3
  2206  	}
  2207  	if m.InsertFastPath {
  2208  		n += 3
  2209  	}
  2210  	if m.AlterColumnTypeGeneralEnabled {
  2211  		n += 3
  2212  	}
  2213  	if m.SynchronousCommit {
  2214  		n += 3
  2215  	}
  2216  	if m.EnableSeqScan {
  2217  		n += 3
  2218  	}
  2219  	if m.EnableUniqueWithoutIndexConstraints {
  2220  		n += 3
  2221  	}
  2222  	if m.StubCatalogTablesEnabled {
  2223  		n += 3
  2224  	}
  2225  	l = len(m.ExperimentalComputedColumnRewrites)
  2226  	if l > 0 {
  2227  		n += 2 + l + sovLocalOnlySessionData(uint64(l))
  2228  	}
  2229  	if m.EnableStreamReplication {
  2230  		n += 3
  2231  	}
  2232  	if m.ResultsBufferSize != 0 {
  2233  		n += 2 + sovLocalOnlySessionData(uint64(m.ResultsBufferSize))
  2234  	}
  2235  	if m.PropagateInputOrdering {
  2236  		n += 3
  2237  	}
  2238  	if m.ExperimentalDistSQLPlanningMode != 0 {
  2239  		n += 2 + sovLocalOnlySessionData(uint64(m.ExperimentalDistSQLPlanningMode))
  2240  	}
  2241  	if m.DistSQLMode != 0 {
  2242  		n += 2 + sovLocalOnlySessionData(uint64(m.DistSQLMode))
  2243  	}
  2244  	if m.SerialNormalizationMode != 0 {
  2245  		n += 2 + sovLocalOnlySessionData(uint64(m.SerialNormalizationMode))
  2246  	}
  2247  	if m.NewSchemaChangerMode != 0 {
  2248  		n += 2 + sovLocalOnlySessionData(uint64(m.NewSchemaChangerMode))
  2249  	}
  2250  	if len(m.SequenceCache) > 0 {
  2251  		for k, v := range m.SequenceCache {
  2252  			_ = k
  2253  			_ = v
  2254  			l = 0
  2255  			if v != nil {
  2256  				l = v.Size()
  2257  				l += 1 + sovLocalOnlySessionData(uint64(l))
  2258  			}
  2259  			mapEntrySize := 1 + sovLocalOnlySessionData(uint64(k)) + l
  2260  			n += mapEntrySize + 2 + sovLocalOnlySessionData(uint64(mapEntrySize))
  2261  		}
  2262  	}
  2263  	if m.PlacementEnabled {
  2264  		n += 3
  2265  	}
  2266  	l = len(m.SessionUserProto)
  2267  	if l > 0 {
  2268  		n += 2 + l + sovLocalOnlySessionData(uint64(l))
  2269  	}
  2270  	if m.TxnRowsWrittenLog != 0 {
  2271  		n += 2 + sovLocalOnlySessionData(uint64(m.TxnRowsWrittenLog))
  2272  	}
  2273  	if m.TxnRowsWrittenErr != 0 {
  2274  		n += 2 + sovLocalOnlySessionData(uint64(m.TxnRowsWrittenErr))
  2275  	}
  2276  	if m.TxnRowsReadLog != 0 {
  2277  		n += 2 + sovLocalOnlySessionData(uint64(m.TxnRowsReadLog))
  2278  	}
  2279  	if m.TxnRowsReadErr != 0 {
  2280  		n += 2 + sovLocalOnlySessionData(uint64(m.TxnRowsReadErr))
  2281  	}
  2282  	if m.AutoRehomingEnabled {
  2283  		n += 3
  2284  	}
  2285  	if m.IsSuperuser {
  2286  		n += 3
  2287  	}
  2288  	if m.LargeFullScanRows != 0 {
  2289  		n += 10
  2290  	}
  2291  	if m.InjectRetryErrorsEnabled {
  2292  		n += 3
  2293  	}
  2294  	if m.NullOrderedLast {
  2295  		n += 3
  2296  	}
  2297  	if m.DisablePlanGists {
  2298  		n += 3
  2299  	}
  2300  	if len(m.CustomOptions) > 0 {
  2301  		for k, v := range m.CustomOptions {
  2302  			_ = k
  2303  			_ = v
  2304  			mapEntrySize := 1 + len(k) + sovLocalOnlySessionData(uint64(len(k))) + 1 + len(v) + sovLocalOnlySessionData(uint64(len(v)))
  2305  			n += mapEntrySize + 2 + sovLocalOnlySessionData(uint64(mapEntrySize))
  2306  		}
  2307  	}
  2308  	if m.IndexRecommendationsEnabled {
  2309  		n += 3
  2310  	}
  2311  	if m.AvoidBuffering {
  2312  		n += 3
  2313  	}
  2314  	if m.CheckFunctionBodies {
  2315  		n += 3
  2316  	}
  2317  	if m.CostScansWithDefaultColSize {
  2318  		n += 3
  2319  	}
  2320  	if m.DefaultTxnQualityOfService != 0 {
  2321  		n += 2 + sovLocalOnlySessionData(uint64(m.DefaultTxnQualityOfService))
  2322  	}
  2323  	if m.OptSplitScanLimit != 0 {
  2324  		n += 2 + sovLocalOnlySessionData(uint64(m.OptSplitScanLimit))
  2325  	}
  2326  	if m.EnableSuperRegions {
  2327  		n += 3
  2328  	}
  2329  	if m.OverrideAlterPrimaryRegionInSuperRegion {
  2330  		n += 3
  2331  	}
  2332  	if m.EnableImplicitTransactionForBatchStatements {
  2333  		n += 3
  2334  	}
  2335  	if m.ExpectAndIgnoreNotVisibleColumnsInCopy {
  2336  		n += 3
  2337  	}
  2338  	if m.MultipleModificationsOfTable {
  2339  		n += 3
  2340  	}
  2341  	if m.ShowPrimaryKeyConstraintOnNotVisibleColumns {
  2342  		n += 3
  2343  	}
  2344  	if m.TestingOptimizerRandomSeed != 0 {
  2345  		n += 2 + sovLocalOnlySessionData(uint64(m.TestingOptimizerRandomSeed))
  2346  	}
  2347  	if m.UnconstrainedNonCoveringIndexScanEnabled {
  2348  		n += 3
  2349  	}
  2350  	if m.TestingOptimizerCostPerturbation != 0 {
  2351  		n += 10
  2352  	}
  2353  	if m.TestingOptimizerDisableRuleProbability != 0 {
  2354  		n += 10
  2355  	}
  2356  	if m.OptimizerUseNotVisibleIndexes {
  2357  		n += 3
  2358  	}
  2359  	if m.CopyFastPathEnabled {
  2360  		n += 3
  2361  	}
  2362  	if m.DisableHoistProjectionInJoinLimitation {
  2363  		n += 3
  2364  	}
  2365  	if m.CopyFromAtomicEnabled {
  2366  		n += 3
  2367  	}
  2368  	if m.EnforceHomeRegion {
  2369  		n += 3
  2370  	}
  2371  	if m.OptimizerUseForecasts {
  2372  		n += 3
  2373  	}
  2374  	if m.VariableInequalityLookupJoinEnabled {
  2375  		n += 3
  2376  	}
  2377  	if m.TransactionTimeout != 0 {
  2378  		n += 2 + sovLocalOnlySessionData(uint64(m.TransactionTimeout))
  2379  	}
  2380  	l = len(m.SystemIdentityProto)
  2381  	if l > 0 {
  2382  		n += 2 + l + sovLocalOnlySessionData(uint64(l))
  2383  	}
  2384  	if m.DescriptorValidationMode != 0 {
  2385  		n += 2 + sovLocalOnlySessionData(uint64(m.DescriptorValidationMode))
  2386  	}
  2387  	if m.ExperimentalHashGroupJoinEnabled {
  2388  		n += 3
  2389  	}
  2390  	if m.AllowOrdinalColumnReferences {
  2391  		n += 3
  2392  	}
  2393  	if m.OptimizerUseImprovedDisjunctionStats {
  2394  		n += 3
  2395  	}
  2396  	if m.OptimizerUseLimitOrderingForStreamingGroupBy {
  2397  		n += 3
  2398  	}
  2399  	if m.CopyFromRetriesEnabled {
  2400  		n += 3
  2401  	}
  2402  	if m.DeclareCursorStatementTimeoutEnabled {
  2403  		n += 3
  2404  	}
  2405  	if m.OptimizerUseImprovedSplitDisjunctionForJoins {
  2406  		n += 3
  2407  	}
  2408  	if m.InjectRetryErrorsOnCommitEnabled {
  2409  		n += 3
  2410  	}
  2411  	if m.EnforceHomeRegionFollowerReadsEnabled {
  2412  		n += 3
  2413  	}
  2414  	if m.OptimizerAlwaysUseHistograms {
  2415  		n += 3
  2416  	}
  2417  	if m.EnableCreateStatsUsingExtremes {
  2418  		n += 3
  2419  	}
  2420  	if m.AllowRoleMembershipsToChangeDuringTransaction {
  2421  		n += 3
  2422  	}
  2423  	if m.PreparedStatementsCacheSize != 0 {
  2424  		n += 2 + sovLocalOnlySessionData(uint64(m.PreparedStatementsCacheSize))
  2425  	}
  2426  	if m.StreamerEnabled {
  2427  		n += 3
  2428  	}
  2429  	if m.DisableDropVirtualCluster {
  2430  		n += 3
  2431  	}
  2432  	if m.MultipleActivePortalsEnabled {
  2433  		n += 3
  2434  	}
  2435  	if m.UnboundedParallelScans {
  2436  		n += 3
  2437  	}
  2438  	if m.OptimizerHoistUncorrelatedEqualitySubqueries {
  2439  		n += 3
  2440  	}
  2441  	if m.TestingOptimizerInjectPanics {
  2442  		n += 3
  2443  	}
  2444  	if m.OptimizerUseImprovedComputedColumnFiltersDerivation {
  2445  		n += 3
  2446  	}
  2447  	if m.DefaultTxnIsolationLevel != 0 {
  2448  		n += 2 + sovLocalOnlySessionData(uint64(m.DefaultTxnIsolationLevel))
  2449  	}
  2450  	if m.ReplicationMode != 0 {
  2451  		n += 2 + sovLocalOnlySessionData(uint64(m.ReplicationMode))
  2452  	}
  2453  	if m.OptimizerUseImprovedJoinElimination {
  2454  		n += 3
  2455  	}
  2456  	if m.ImplicitFKLockingForSerializable {
  2457  		n += 3
  2458  	}
  2459  	if m.DurableLockingForSerializable {
  2460  		n += 3
  2461  	}
  2462  	if m.MaxRetriesForReadCommitted != 0 {
  2463  		n += 2 + sovLocalOnlySessionData(uint64(m.MaxRetriesForReadCommitted))
  2464  	}
  2465  	if m.StrictDDLAtomicity {
  2466  		n += 3
  2467  	}
  2468  	if m.SharedLockingForSerializable {
  2469  		n += 3
  2470  	}
  2471  	l = len(m.UnsafeSettingInterlockKey)
  2472  	if l > 0 {
  2473  		n += 2 + l + sovLocalOnlySessionData(uint64(l))
  2474  	}
  2475  	if m.OptimizerUseLockOpForSerializable {
  2476  		n += 3
  2477  	}
  2478  	if m.OptimizerUseProvidedOrderingFix {
  2479  		n += 3
  2480  	}
  2481  	if m.DisableChangefeedReplication {
  2482  		n += 3
  2483  	}
  2484  	if m.CopyTxnQualityOfService != 0 {
  2485  		n += 2 + sovLocalOnlySessionData(uint64(m.CopyTxnQualityOfService))
  2486  	}
  2487  	if m.CopyWritePipeliningEnabled {
  2488  		n += 3
  2489  	}
  2490  	if m.CopyNumRetriesPerBatch != 0 {
  2491  		n += 2 + sovLocalOnlySessionData(uint64(m.CopyNumRetriesPerBatch))
  2492  	}
  2493  	return n
  2494  }
  2495  
  2496  func (m *SequenceCacheEntry) Size() (n int) {
  2497  	if m == nil {
  2498  		return 0
  2499  	}
  2500  	var l int
  2501  	_ = l
  2502  	if m.CachedVersion != 0 {
  2503  		n += 1 + sovLocalOnlySessionData(uint64(m.CachedVersion))
  2504  	}
  2505  	if m.CurrentValue != 0 {
  2506  		n += 1 + sovLocalOnlySessionData(uint64(m.CurrentValue))
  2507  	}
  2508  	if m.Increment != 0 {
  2509  		n += 1 + sovLocalOnlySessionData(uint64(m.Increment))
  2510  	}
  2511  	if m.NumValues != 0 {
  2512  		n += 1 + sovLocalOnlySessionData(uint64(m.NumValues))
  2513  	}
  2514  	return n
  2515  }
  2516  
  2517  func sovLocalOnlySessionData(x uint64) (n int) {
  2518  	return (math_bits.Len64(x|1) + 6) / 7
  2519  }
  2520  func sozLocalOnlySessionData(x uint64) (n int) {
  2521  	return sovLocalOnlySessionData(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  2522  }
  2523  func (m *LocalOnlySessionData) Unmarshal(dAtA []byte) error {
  2524  	l := len(dAtA)
  2525  	iNdEx := 0
  2526  	for iNdEx < l {
  2527  		preIndex := iNdEx
  2528  		var wire uint64
  2529  		for shift := uint(0); ; shift += 7 {
  2530  			if shift >= 64 {
  2531  				return ErrIntOverflowLocalOnlySessionData
  2532  			}
  2533  			if iNdEx >= l {
  2534  				return io.ErrUnexpectedEOF
  2535  			}
  2536  			b := dAtA[iNdEx]
  2537  			iNdEx++
  2538  			wire |= uint64(b&0x7F) << shift
  2539  			if b < 0x80 {
  2540  				break
  2541  			}
  2542  		}
  2543  		fieldNum := int32(wire >> 3)
  2544  		wireType := int(wire & 0x7)
  2545  		if wireType == 4 {
  2546  			return fmt.Errorf("proto: LocalOnlySessionData: wiretype end group for non-group")
  2547  		}
  2548  		if fieldNum <= 0 {
  2549  			return fmt.Errorf("proto: LocalOnlySessionData: illegal tag %d (wire type %d)", fieldNum, wire)
  2550  		}
  2551  		switch fieldNum {
  2552  		case 1:
  2553  			if wireType != 2 {
  2554  				return fmt.Errorf("proto: wrong wireType = %d for field SaveTablesPrefix", wireType)
  2555  			}
  2556  			var stringLen uint64
  2557  			for shift := uint(0); ; shift += 7 {
  2558  				if shift >= 64 {
  2559  					return ErrIntOverflowLocalOnlySessionData
  2560  				}
  2561  				if iNdEx >= l {
  2562  					return io.ErrUnexpectedEOF
  2563  				}
  2564  				b := dAtA[iNdEx]
  2565  				iNdEx++
  2566  				stringLen |= uint64(b&0x7F) << shift
  2567  				if b < 0x80 {
  2568  					break
  2569  				}
  2570  			}
  2571  			intStringLen := int(stringLen)
  2572  			if intStringLen < 0 {
  2573  				return ErrInvalidLengthLocalOnlySessionData
  2574  			}
  2575  			postIndex := iNdEx + intStringLen
  2576  			if postIndex < 0 {
  2577  				return ErrInvalidLengthLocalOnlySessionData
  2578  			}
  2579  			if postIndex > l {
  2580  				return io.ErrUnexpectedEOF
  2581  			}
  2582  			m.SaveTablesPrefix = string(dAtA[iNdEx:postIndex])
  2583  			iNdEx = postIndex
  2584  		case 2:
  2585  			if wireType != 0 {
  2586  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerFKCascadesLimit", wireType)
  2587  			}
  2588  			m.OptimizerFKCascadesLimit = 0
  2589  			for shift := uint(0); ; shift += 7 {
  2590  				if shift >= 64 {
  2591  					return ErrIntOverflowLocalOnlySessionData
  2592  				}
  2593  				if iNdEx >= l {
  2594  					return io.ErrUnexpectedEOF
  2595  				}
  2596  				b := dAtA[iNdEx]
  2597  				iNdEx++
  2598  				m.OptimizerFKCascadesLimit |= int64(b&0x7F) << shift
  2599  				if b < 0x80 {
  2600  					break
  2601  				}
  2602  			}
  2603  		case 3:
  2604  			if wireType != 0 {
  2605  				return fmt.Errorf("proto: wrong wireType = %d for field StmtTimeout", wireType)
  2606  			}
  2607  			m.StmtTimeout = 0
  2608  			for shift := uint(0); ; shift += 7 {
  2609  				if shift >= 64 {
  2610  					return ErrIntOverflowLocalOnlySessionData
  2611  				}
  2612  				if iNdEx >= l {
  2613  					return io.ErrUnexpectedEOF
  2614  				}
  2615  				b := dAtA[iNdEx]
  2616  				iNdEx++
  2617  				m.StmtTimeout |= time.Duration(b&0x7F) << shift
  2618  				if b < 0x80 {
  2619  					break
  2620  				}
  2621  			}
  2622  		case 4:
  2623  			if wireType != 0 {
  2624  				return fmt.Errorf("proto: wrong wireType = %d for field IdleInSessionTimeout", wireType)
  2625  			}
  2626  			m.IdleInSessionTimeout = 0
  2627  			for shift := uint(0); ; shift += 7 {
  2628  				if shift >= 64 {
  2629  					return ErrIntOverflowLocalOnlySessionData
  2630  				}
  2631  				if iNdEx >= l {
  2632  					return io.ErrUnexpectedEOF
  2633  				}
  2634  				b := dAtA[iNdEx]
  2635  				iNdEx++
  2636  				m.IdleInSessionTimeout |= time.Duration(b&0x7F) << shift
  2637  				if b < 0x80 {
  2638  					break
  2639  				}
  2640  			}
  2641  		case 5:
  2642  			if wireType != 0 {
  2643  				return fmt.Errorf("proto: wrong wireType = %d for field IdleInTransactionSessionTimeout", wireType)
  2644  			}
  2645  			m.IdleInTransactionSessionTimeout = 0
  2646  			for shift := uint(0); ; shift += 7 {
  2647  				if shift >= 64 {
  2648  					return ErrIntOverflowLocalOnlySessionData
  2649  				}
  2650  				if iNdEx >= l {
  2651  					return io.ErrUnexpectedEOF
  2652  				}
  2653  				b := dAtA[iNdEx]
  2654  				iNdEx++
  2655  				m.IdleInTransactionSessionTimeout |= time.Duration(b&0x7F) << shift
  2656  				if b < 0x80 {
  2657  					break
  2658  				}
  2659  			}
  2660  		case 6:
  2661  			if wireType != 0 {
  2662  				return fmt.Errorf("proto: wrong wireType = %d for field NoticeDisplaySeverity", wireType)
  2663  			}
  2664  			m.NoticeDisplaySeverity = 0
  2665  			for shift := uint(0); ; shift += 7 {
  2666  				if shift >= 64 {
  2667  					return ErrIntOverflowLocalOnlySessionData
  2668  				}
  2669  				if iNdEx >= l {
  2670  					return io.ErrUnexpectedEOF
  2671  				}
  2672  				b := dAtA[iNdEx]
  2673  				iNdEx++
  2674  				m.NoticeDisplaySeverity |= uint32(b&0x7F) << shift
  2675  				if b < 0x80 {
  2676  					break
  2677  				}
  2678  			}
  2679  		case 7:
  2680  			if wireType != 0 {
  2681  				return fmt.Errorf("proto: wrong wireType = %d for field ReorderJoinsLimit", wireType)
  2682  			}
  2683  			m.ReorderJoinsLimit = 0
  2684  			for shift := uint(0); ; shift += 7 {
  2685  				if shift >= 64 {
  2686  					return ErrIntOverflowLocalOnlySessionData
  2687  				}
  2688  				if iNdEx >= l {
  2689  					return io.ErrUnexpectedEOF
  2690  				}
  2691  				b := dAtA[iNdEx]
  2692  				iNdEx++
  2693  				m.ReorderJoinsLimit |= int64(b&0x7F) << shift
  2694  				if b < 0x80 {
  2695  					break
  2696  				}
  2697  			}
  2698  		case 8:
  2699  			if wireType != 0 {
  2700  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultTxnPriority", wireType)
  2701  			}
  2702  			m.DefaultTxnPriority = 0
  2703  			for shift := uint(0); ; shift += 7 {
  2704  				if shift >= 64 {
  2705  					return ErrIntOverflowLocalOnlySessionData
  2706  				}
  2707  				if iNdEx >= l {
  2708  					return io.ErrUnexpectedEOF
  2709  				}
  2710  				b := dAtA[iNdEx]
  2711  				iNdEx++
  2712  				m.DefaultTxnPriority |= int64(b&0x7F) << shift
  2713  				if b < 0x80 {
  2714  					break
  2715  				}
  2716  			}
  2717  		case 9:
  2718  			if wireType != 0 {
  2719  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultTxnReadOnly", wireType)
  2720  			}
  2721  			var v int
  2722  			for shift := uint(0); ; shift += 7 {
  2723  				if shift >= 64 {
  2724  					return ErrIntOverflowLocalOnlySessionData
  2725  				}
  2726  				if iNdEx >= l {
  2727  					return io.ErrUnexpectedEOF
  2728  				}
  2729  				b := dAtA[iNdEx]
  2730  				iNdEx++
  2731  				v |= int(b&0x7F) << shift
  2732  				if b < 0x80 {
  2733  					break
  2734  				}
  2735  			}
  2736  			m.DefaultTxnReadOnly = bool(v != 0)
  2737  		case 10:
  2738  			if wireType != 0 {
  2739  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultTxnUseFollowerReads", wireType)
  2740  			}
  2741  			var v int
  2742  			for shift := uint(0); ; shift += 7 {
  2743  				if shift >= 64 {
  2744  					return ErrIntOverflowLocalOnlySessionData
  2745  				}
  2746  				if iNdEx >= l {
  2747  					return io.ErrUnexpectedEOF
  2748  				}
  2749  				b := dAtA[iNdEx]
  2750  				iNdEx++
  2751  				v |= int(b&0x7F) << shift
  2752  				if b < 0x80 {
  2753  					break
  2754  				}
  2755  			}
  2756  			m.DefaultTxnUseFollowerReads = bool(v != 0)
  2757  		case 11:
  2758  			if wireType != 0 {
  2759  				return fmt.Errorf("proto: wrong wireType = %d for field PartiallyDistributedPlansDisabled", wireType)
  2760  			}
  2761  			var v int
  2762  			for shift := uint(0); ; shift += 7 {
  2763  				if shift >= 64 {
  2764  					return ErrIntOverflowLocalOnlySessionData
  2765  				}
  2766  				if iNdEx >= l {
  2767  					return io.ErrUnexpectedEOF
  2768  				}
  2769  				b := dAtA[iNdEx]
  2770  				iNdEx++
  2771  				v |= int(b&0x7F) << shift
  2772  				if b < 0x80 {
  2773  					break
  2774  				}
  2775  			}
  2776  			m.PartiallyDistributedPlansDisabled = bool(v != 0)
  2777  		case 12:
  2778  			if wireType != 0 {
  2779  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerUseHistograms", wireType)
  2780  			}
  2781  			var v int
  2782  			for shift := uint(0); ; shift += 7 {
  2783  				if shift >= 64 {
  2784  					return ErrIntOverflowLocalOnlySessionData
  2785  				}
  2786  				if iNdEx >= l {
  2787  					return io.ErrUnexpectedEOF
  2788  				}
  2789  				b := dAtA[iNdEx]
  2790  				iNdEx++
  2791  				v |= int(b&0x7F) << shift
  2792  				if b < 0x80 {
  2793  					break
  2794  				}
  2795  			}
  2796  			m.OptimizerUseHistograms = bool(v != 0)
  2797  		case 13:
  2798  			if wireType != 0 {
  2799  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerUseMultiColStats", wireType)
  2800  			}
  2801  			var v int
  2802  			for shift := uint(0); ; shift += 7 {
  2803  				if shift >= 64 {
  2804  					return ErrIntOverflowLocalOnlySessionData
  2805  				}
  2806  				if iNdEx >= l {
  2807  					return io.ErrUnexpectedEOF
  2808  				}
  2809  				b := dAtA[iNdEx]
  2810  				iNdEx++
  2811  				v |= int(b&0x7F) << shift
  2812  				if b < 0x80 {
  2813  					break
  2814  				}
  2815  			}
  2816  			m.OptimizerUseMultiColStats = bool(v != 0)
  2817  		case 14:
  2818  			if wireType != 0 {
  2819  				return fmt.Errorf("proto: wrong wireType = %d for field LocalityOptimizedSearch", wireType)
  2820  			}
  2821  			var v int
  2822  			for shift := uint(0); ; shift += 7 {
  2823  				if shift >= 64 {
  2824  					return ErrIntOverflowLocalOnlySessionData
  2825  				}
  2826  				if iNdEx >= l {
  2827  					return io.ErrUnexpectedEOF
  2828  				}
  2829  				b := dAtA[iNdEx]
  2830  				iNdEx++
  2831  				v |= int(b&0x7F) << shift
  2832  				if b < 0x80 {
  2833  					break
  2834  				}
  2835  			}
  2836  			m.LocalityOptimizedSearch = bool(v != 0)
  2837  		case 15:
  2838  			if wireType != 0 {
  2839  				return fmt.Errorf("proto: wrong wireType = %d for field SafeUpdates", wireType)
  2840  			}
  2841  			var v int
  2842  			for shift := uint(0); ; shift += 7 {
  2843  				if shift >= 64 {
  2844  					return ErrIntOverflowLocalOnlySessionData
  2845  				}
  2846  				if iNdEx >= l {
  2847  					return io.ErrUnexpectedEOF
  2848  				}
  2849  				b := dAtA[iNdEx]
  2850  				iNdEx++
  2851  				v |= int(b&0x7F) << shift
  2852  				if b < 0x80 {
  2853  					break
  2854  				}
  2855  			}
  2856  			m.SafeUpdates = bool(v != 0)
  2857  		case 16:
  2858  			if wireType != 0 {
  2859  				return fmt.Errorf("proto: wrong wireType = %d for field PreferLookupJoinsForFKs", wireType)
  2860  			}
  2861  			var v int
  2862  			for shift := uint(0); ; shift += 7 {
  2863  				if shift >= 64 {
  2864  					return ErrIntOverflowLocalOnlySessionData
  2865  				}
  2866  				if iNdEx >= l {
  2867  					return io.ErrUnexpectedEOF
  2868  				}
  2869  				b := dAtA[iNdEx]
  2870  				iNdEx++
  2871  				v |= int(b&0x7F) << shift
  2872  				if b < 0x80 {
  2873  					break
  2874  				}
  2875  			}
  2876  			m.PreferLookupJoinsForFKs = bool(v != 0)
  2877  		case 17:
  2878  			if wireType != 0 {
  2879  				return fmt.Errorf("proto: wrong wireType = %d for field ZigzagJoinEnabled", wireType)
  2880  			}
  2881  			var v int
  2882  			for shift := uint(0); ; shift += 7 {
  2883  				if shift >= 64 {
  2884  					return ErrIntOverflowLocalOnlySessionData
  2885  				}
  2886  				if iNdEx >= l {
  2887  					return io.ErrUnexpectedEOF
  2888  				}
  2889  				b := dAtA[iNdEx]
  2890  				iNdEx++
  2891  				v |= int(b&0x7F) << shift
  2892  				if b < 0x80 {
  2893  					break
  2894  				}
  2895  			}
  2896  			m.ZigzagJoinEnabled = bool(v != 0)
  2897  		case 18:
  2898  			if wireType != 0 {
  2899  				return fmt.Errorf("proto: wrong wireType = %d for field RequireExplicitPrimaryKeys", wireType)
  2900  			}
  2901  			var v int
  2902  			for shift := uint(0); ; shift += 7 {
  2903  				if shift >= 64 {
  2904  					return ErrIntOverflowLocalOnlySessionData
  2905  				}
  2906  				if iNdEx >= l {
  2907  					return io.ErrUnexpectedEOF
  2908  				}
  2909  				b := dAtA[iNdEx]
  2910  				iNdEx++
  2911  				v |= int(b&0x7F) << shift
  2912  				if b < 0x80 {
  2913  					break
  2914  				}
  2915  			}
  2916  			m.RequireExplicitPrimaryKeys = bool(v != 0)
  2917  		case 19:
  2918  			if wireType != 0 {
  2919  				return fmt.Errorf("proto: wrong wireType = %d for field ForceSavepointRestart", wireType)
  2920  			}
  2921  			var v int
  2922  			for shift := uint(0); ; shift += 7 {
  2923  				if shift >= 64 {
  2924  					return ErrIntOverflowLocalOnlySessionData
  2925  				}
  2926  				if iNdEx >= l {
  2927  					return io.ErrUnexpectedEOF
  2928  				}
  2929  				b := dAtA[iNdEx]
  2930  				iNdEx++
  2931  				v |= int(b&0x7F) << shift
  2932  				if b < 0x80 {
  2933  					break
  2934  				}
  2935  			}
  2936  			m.ForceSavepointRestart = bool(v != 0)
  2937  		case 20:
  2938  			if wireType != 0 {
  2939  				return fmt.Errorf("proto: wrong wireType = %d for field AllowPrepareAsOptPlan", wireType)
  2940  			}
  2941  			var v int
  2942  			for shift := uint(0); ; shift += 7 {
  2943  				if shift >= 64 {
  2944  					return ErrIntOverflowLocalOnlySessionData
  2945  				}
  2946  				if iNdEx >= l {
  2947  					return io.ErrUnexpectedEOF
  2948  				}
  2949  				b := dAtA[iNdEx]
  2950  				iNdEx++
  2951  				v |= int(b&0x7F) << shift
  2952  				if b < 0x80 {
  2953  					break
  2954  				}
  2955  			}
  2956  			m.AllowPrepareAsOptPlan = bool(v != 0)
  2957  		case 21:
  2958  			if wireType != 0 {
  2959  				return fmt.Errorf("proto: wrong wireType = %d for field TempTablesEnabled", wireType)
  2960  			}
  2961  			var v int
  2962  			for shift := uint(0); ; shift += 7 {
  2963  				if shift >= 64 {
  2964  					return ErrIntOverflowLocalOnlySessionData
  2965  				}
  2966  				if iNdEx >= l {
  2967  					return io.ErrUnexpectedEOF
  2968  				}
  2969  				b := dAtA[iNdEx]
  2970  				iNdEx++
  2971  				v |= int(b&0x7F) << shift
  2972  				if b < 0x80 {
  2973  					break
  2974  				}
  2975  			}
  2976  			m.TempTablesEnabled = bool(v != 0)
  2977  		case 22:
  2978  			if wireType != 0 {
  2979  				return fmt.Errorf("proto: wrong wireType = %d for field ImplicitColumnPartitioningEnabled", wireType)
  2980  			}
  2981  			var v int
  2982  			for shift := uint(0); ; shift += 7 {
  2983  				if shift >= 64 {
  2984  					return ErrIntOverflowLocalOnlySessionData
  2985  				}
  2986  				if iNdEx >= l {
  2987  					return io.ErrUnexpectedEOF
  2988  				}
  2989  				b := dAtA[iNdEx]
  2990  				iNdEx++
  2991  				v |= int(b&0x7F) << shift
  2992  				if b < 0x80 {
  2993  					break
  2994  				}
  2995  			}
  2996  			m.ImplicitColumnPartitioningEnabled = bool(v != 0)
  2997  		case 24:
  2998  			if wireType != 0 {
  2999  				return fmt.Errorf("proto: wrong wireType = %d for field OverrideMultiRegionZoneConfigEnabled", wireType)
  3000  			}
  3001  			var v int
  3002  			for shift := uint(0); ; shift += 7 {
  3003  				if shift >= 64 {
  3004  					return ErrIntOverflowLocalOnlySessionData
  3005  				}
  3006  				if iNdEx >= l {
  3007  					return io.ErrUnexpectedEOF
  3008  				}
  3009  				b := dAtA[iNdEx]
  3010  				iNdEx++
  3011  				v |= int(b&0x7F) << shift
  3012  				if b < 0x80 {
  3013  					break
  3014  				}
  3015  			}
  3016  			m.OverrideMultiRegionZoneConfigEnabled = bool(v != 0)
  3017  		case 26:
  3018  			if wireType != 0 {
  3019  				return fmt.Errorf("proto: wrong wireType = %d for field DisallowFullTableScans", wireType)
  3020  			}
  3021  			var v int
  3022  			for shift := uint(0); ; shift += 7 {
  3023  				if shift >= 64 {
  3024  					return ErrIntOverflowLocalOnlySessionData
  3025  				}
  3026  				if iNdEx >= l {
  3027  					return io.ErrUnexpectedEOF
  3028  				}
  3029  				b := dAtA[iNdEx]
  3030  				iNdEx++
  3031  				v |= int(b&0x7F) << shift
  3032  				if b < 0x80 {
  3033  					break
  3034  				}
  3035  			}
  3036  			m.DisallowFullTableScans = bool(v != 0)
  3037  		case 27:
  3038  			if wireType != 0 {
  3039  				return fmt.Errorf("proto: wrong wireType = %d for field ImplicitSelectForUpdate", wireType)
  3040  			}
  3041  			var v int
  3042  			for shift := uint(0); ; shift += 7 {
  3043  				if shift >= 64 {
  3044  					return ErrIntOverflowLocalOnlySessionData
  3045  				}
  3046  				if iNdEx >= l {
  3047  					return io.ErrUnexpectedEOF
  3048  				}
  3049  				b := dAtA[iNdEx]
  3050  				iNdEx++
  3051  				v |= int(b&0x7F) << shift
  3052  				if b < 0x80 {
  3053  					break
  3054  				}
  3055  			}
  3056  			m.ImplicitSelectForUpdate = bool(v != 0)
  3057  		case 28:
  3058  			if wireType != 0 {
  3059  				return fmt.Errorf("proto: wrong wireType = %d for field InsertFastPath", wireType)
  3060  			}
  3061  			var v int
  3062  			for shift := uint(0); ; shift += 7 {
  3063  				if shift >= 64 {
  3064  					return ErrIntOverflowLocalOnlySessionData
  3065  				}
  3066  				if iNdEx >= l {
  3067  					return io.ErrUnexpectedEOF
  3068  				}
  3069  				b := dAtA[iNdEx]
  3070  				iNdEx++
  3071  				v |= int(b&0x7F) << shift
  3072  				if b < 0x80 {
  3073  					break
  3074  				}
  3075  			}
  3076  			m.InsertFastPath = bool(v != 0)
  3077  		case 29:
  3078  			if wireType != 0 {
  3079  				return fmt.Errorf("proto: wrong wireType = %d for field AlterColumnTypeGeneralEnabled", wireType)
  3080  			}
  3081  			var v int
  3082  			for shift := uint(0); ; shift += 7 {
  3083  				if shift >= 64 {
  3084  					return ErrIntOverflowLocalOnlySessionData
  3085  				}
  3086  				if iNdEx >= l {
  3087  					return io.ErrUnexpectedEOF
  3088  				}
  3089  				b := dAtA[iNdEx]
  3090  				iNdEx++
  3091  				v |= int(b&0x7F) << shift
  3092  				if b < 0x80 {
  3093  					break
  3094  				}
  3095  			}
  3096  			m.AlterColumnTypeGeneralEnabled = bool(v != 0)
  3097  		case 30:
  3098  			if wireType != 0 {
  3099  				return fmt.Errorf("proto: wrong wireType = %d for field SynchronousCommit", wireType)
  3100  			}
  3101  			var v int
  3102  			for shift := uint(0); ; shift += 7 {
  3103  				if shift >= 64 {
  3104  					return ErrIntOverflowLocalOnlySessionData
  3105  				}
  3106  				if iNdEx >= l {
  3107  					return io.ErrUnexpectedEOF
  3108  				}
  3109  				b := dAtA[iNdEx]
  3110  				iNdEx++
  3111  				v |= int(b&0x7F) << shift
  3112  				if b < 0x80 {
  3113  					break
  3114  				}
  3115  			}
  3116  			m.SynchronousCommit = bool(v != 0)
  3117  		case 31:
  3118  			if wireType != 0 {
  3119  				return fmt.Errorf("proto: wrong wireType = %d for field EnableSeqScan", wireType)
  3120  			}
  3121  			var v int
  3122  			for shift := uint(0); ; shift += 7 {
  3123  				if shift >= 64 {
  3124  					return ErrIntOverflowLocalOnlySessionData
  3125  				}
  3126  				if iNdEx >= l {
  3127  					return io.ErrUnexpectedEOF
  3128  				}
  3129  				b := dAtA[iNdEx]
  3130  				iNdEx++
  3131  				v |= int(b&0x7F) << shift
  3132  				if b < 0x80 {
  3133  					break
  3134  				}
  3135  			}
  3136  			m.EnableSeqScan = bool(v != 0)
  3137  		case 33:
  3138  			if wireType != 0 {
  3139  				return fmt.Errorf("proto: wrong wireType = %d for field EnableUniqueWithoutIndexConstraints", wireType)
  3140  			}
  3141  			var v int
  3142  			for shift := uint(0); ; shift += 7 {
  3143  				if shift >= 64 {
  3144  					return ErrIntOverflowLocalOnlySessionData
  3145  				}
  3146  				if iNdEx >= l {
  3147  					return io.ErrUnexpectedEOF
  3148  				}
  3149  				b := dAtA[iNdEx]
  3150  				iNdEx++
  3151  				v |= int(b&0x7F) << shift
  3152  				if b < 0x80 {
  3153  					break
  3154  				}
  3155  			}
  3156  			m.EnableUniqueWithoutIndexConstraints = bool(v != 0)
  3157  		case 34:
  3158  			if wireType != 0 {
  3159  				return fmt.Errorf("proto: wrong wireType = %d for field StubCatalogTablesEnabled", wireType)
  3160  			}
  3161  			var v int
  3162  			for shift := uint(0); ; shift += 7 {
  3163  				if shift >= 64 {
  3164  					return ErrIntOverflowLocalOnlySessionData
  3165  				}
  3166  				if iNdEx >= l {
  3167  					return io.ErrUnexpectedEOF
  3168  				}
  3169  				b := dAtA[iNdEx]
  3170  				iNdEx++
  3171  				v |= int(b&0x7F) << shift
  3172  				if b < 0x80 {
  3173  					break
  3174  				}
  3175  			}
  3176  			m.StubCatalogTablesEnabled = bool(v != 0)
  3177  		case 35:
  3178  			if wireType != 2 {
  3179  				return fmt.Errorf("proto: wrong wireType = %d for field ExperimentalComputedColumnRewrites", wireType)
  3180  			}
  3181  			var stringLen uint64
  3182  			for shift := uint(0); ; shift += 7 {
  3183  				if shift >= 64 {
  3184  					return ErrIntOverflowLocalOnlySessionData
  3185  				}
  3186  				if iNdEx >= l {
  3187  					return io.ErrUnexpectedEOF
  3188  				}
  3189  				b := dAtA[iNdEx]
  3190  				iNdEx++
  3191  				stringLen |= uint64(b&0x7F) << shift
  3192  				if b < 0x80 {
  3193  					break
  3194  				}
  3195  			}
  3196  			intStringLen := int(stringLen)
  3197  			if intStringLen < 0 {
  3198  				return ErrInvalidLengthLocalOnlySessionData
  3199  			}
  3200  			postIndex := iNdEx + intStringLen
  3201  			if postIndex < 0 {
  3202  				return ErrInvalidLengthLocalOnlySessionData
  3203  			}
  3204  			if postIndex > l {
  3205  				return io.ErrUnexpectedEOF
  3206  			}
  3207  			m.ExperimentalComputedColumnRewrites = string(dAtA[iNdEx:postIndex])
  3208  			iNdEx = postIndex
  3209  		case 37:
  3210  			if wireType != 0 {
  3211  				return fmt.Errorf("proto: wrong wireType = %d for field EnableStreamReplication", wireType)
  3212  			}
  3213  			var v int
  3214  			for shift := uint(0); ; shift += 7 {
  3215  				if shift >= 64 {
  3216  					return ErrIntOverflowLocalOnlySessionData
  3217  				}
  3218  				if iNdEx >= l {
  3219  					return io.ErrUnexpectedEOF
  3220  				}
  3221  				b := dAtA[iNdEx]
  3222  				iNdEx++
  3223  				v |= int(b&0x7F) << shift
  3224  				if b < 0x80 {
  3225  					break
  3226  				}
  3227  			}
  3228  			m.EnableStreamReplication = bool(v != 0)
  3229  		case 38:
  3230  			if wireType != 0 {
  3231  				return fmt.Errorf("proto: wrong wireType = %d for field ResultsBufferSize", wireType)
  3232  			}
  3233  			m.ResultsBufferSize = 0
  3234  			for shift := uint(0); ; shift += 7 {
  3235  				if shift >= 64 {
  3236  					return ErrIntOverflowLocalOnlySessionData
  3237  				}
  3238  				if iNdEx >= l {
  3239  					return io.ErrUnexpectedEOF
  3240  				}
  3241  				b := dAtA[iNdEx]
  3242  				iNdEx++
  3243  				m.ResultsBufferSize |= int64(b&0x7F) << shift
  3244  				if b < 0x80 {
  3245  					break
  3246  				}
  3247  			}
  3248  		case 39:
  3249  			if wireType != 0 {
  3250  				return fmt.Errorf("proto: wrong wireType = %d for field PropagateInputOrdering", wireType)
  3251  			}
  3252  			var v int
  3253  			for shift := uint(0); ; shift += 7 {
  3254  				if shift >= 64 {
  3255  					return ErrIntOverflowLocalOnlySessionData
  3256  				}
  3257  				if iNdEx >= l {
  3258  					return io.ErrUnexpectedEOF
  3259  				}
  3260  				b := dAtA[iNdEx]
  3261  				iNdEx++
  3262  				v |= int(b&0x7F) << shift
  3263  				if b < 0x80 {
  3264  					break
  3265  				}
  3266  			}
  3267  			m.PropagateInputOrdering = bool(v != 0)
  3268  		case 40:
  3269  			if wireType != 0 {
  3270  				return fmt.Errorf("proto: wrong wireType = %d for field ExperimentalDistSQLPlanningMode", wireType)
  3271  			}
  3272  			m.ExperimentalDistSQLPlanningMode = 0
  3273  			for shift := uint(0); ; shift += 7 {
  3274  				if shift >= 64 {
  3275  					return ErrIntOverflowLocalOnlySessionData
  3276  				}
  3277  				if iNdEx >= l {
  3278  					return io.ErrUnexpectedEOF
  3279  				}
  3280  				b := dAtA[iNdEx]
  3281  				iNdEx++
  3282  				m.ExperimentalDistSQLPlanningMode |= ExperimentalDistSQLPlanningMode(b&0x7F) << shift
  3283  				if b < 0x80 {
  3284  					break
  3285  				}
  3286  			}
  3287  		case 41:
  3288  			if wireType != 0 {
  3289  				return fmt.Errorf("proto: wrong wireType = %d for field DistSQLMode", wireType)
  3290  			}
  3291  			m.DistSQLMode = 0
  3292  			for shift := uint(0); ; shift += 7 {
  3293  				if shift >= 64 {
  3294  					return ErrIntOverflowLocalOnlySessionData
  3295  				}
  3296  				if iNdEx >= l {
  3297  					return io.ErrUnexpectedEOF
  3298  				}
  3299  				b := dAtA[iNdEx]
  3300  				iNdEx++
  3301  				m.DistSQLMode |= DistSQLExecMode(b&0x7F) << shift
  3302  				if b < 0x80 {
  3303  					break
  3304  				}
  3305  			}
  3306  		case 42:
  3307  			if wireType != 0 {
  3308  				return fmt.Errorf("proto: wrong wireType = %d for field SerialNormalizationMode", wireType)
  3309  			}
  3310  			m.SerialNormalizationMode = 0
  3311  			for shift := uint(0); ; shift += 7 {
  3312  				if shift >= 64 {
  3313  					return ErrIntOverflowLocalOnlySessionData
  3314  				}
  3315  				if iNdEx >= l {
  3316  					return io.ErrUnexpectedEOF
  3317  				}
  3318  				b := dAtA[iNdEx]
  3319  				iNdEx++
  3320  				m.SerialNormalizationMode |= SerialNormalizationMode(b&0x7F) << shift
  3321  				if b < 0x80 {
  3322  					break
  3323  				}
  3324  			}
  3325  		case 43:
  3326  			if wireType != 0 {
  3327  				return fmt.Errorf("proto: wrong wireType = %d for field NewSchemaChangerMode", wireType)
  3328  			}
  3329  			m.NewSchemaChangerMode = 0
  3330  			for shift := uint(0); ; shift += 7 {
  3331  				if shift >= 64 {
  3332  					return ErrIntOverflowLocalOnlySessionData
  3333  				}
  3334  				if iNdEx >= l {
  3335  					return io.ErrUnexpectedEOF
  3336  				}
  3337  				b := dAtA[iNdEx]
  3338  				iNdEx++
  3339  				m.NewSchemaChangerMode |= NewSchemaChangerMode(b&0x7F) << shift
  3340  				if b < 0x80 {
  3341  					break
  3342  				}
  3343  			}
  3344  		case 44:
  3345  			if wireType != 2 {
  3346  				return fmt.Errorf("proto: wrong wireType = %d for field SequenceCache", wireType)
  3347  			}
  3348  			var msglen int
  3349  			for shift := uint(0); ; shift += 7 {
  3350  				if shift >= 64 {
  3351  					return ErrIntOverflowLocalOnlySessionData
  3352  				}
  3353  				if iNdEx >= l {
  3354  					return io.ErrUnexpectedEOF
  3355  				}
  3356  				b := dAtA[iNdEx]
  3357  				iNdEx++
  3358  				msglen |= int(b&0x7F) << shift
  3359  				if b < 0x80 {
  3360  					break
  3361  				}
  3362  			}
  3363  			if msglen < 0 {
  3364  				return ErrInvalidLengthLocalOnlySessionData
  3365  			}
  3366  			postIndex := iNdEx + msglen
  3367  			if postIndex < 0 {
  3368  				return ErrInvalidLengthLocalOnlySessionData
  3369  			}
  3370  			if postIndex > l {
  3371  				return io.ErrUnexpectedEOF
  3372  			}
  3373  			if m.SequenceCache == nil {
  3374  				m.SequenceCache = make(SequenceCache)
  3375  			}
  3376  			var mapkey uint32
  3377  			var mapvalue *SequenceCacheEntry
  3378  			for iNdEx < postIndex {
  3379  				entryPreIndex := iNdEx
  3380  				var wire uint64
  3381  				for shift := uint(0); ; shift += 7 {
  3382  					if shift >= 64 {
  3383  						return ErrIntOverflowLocalOnlySessionData
  3384  					}
  3385  					if iNdEx >= l {
  3386  						return io.ErrUnexpectedEOF
  3387  					}
  3388  					b := dAtA[iNdEx]
  3389  					iNdEx++
  3390  					wire |= uint64(b&0x7F) << shift
  3391  					if b < 0x80 {
  3392  						break
  3393  					}
  3394  				}
  3395  				fieldNum := int32(wire >> 3)
  3396  				if fieldNum == 1 {
  3397  					for shift := uint(0); ; shift += 7 {
  3398  						if shift >= 64 {
  3399  							return ErrIntOverflowLocalOnlySessionData
  3400  						}
  3401  						if iNdEx >= l {
  3402  							return io.ErrUnexpectedEOF
  3403  						}
  3404  						b := dAtA[iNdEx]
  3405  						iNdEx++
  3406  						mapkey |= uint32(b&0x7F) << shift
  3407  						if b < 0x80 {
  3408  							break
  3409  						}
  3410  					}
  3411  				} else if fieldNum == 2 {
  3412  					var mapmsglen int
  3413  					for shift := uint(0); ; shift += 7 {
  3414  						if shift >= 64 {
  3415  							return ErrIntOverflowLocalOnlySessionData
  3416  						}
  3417  						if iNdEx >= l {
  3418  							return io.ErrUnexpectedEOF
  3419  						}
  3420  						b := dAtA[iNdEx]
  3421  						iNdEx++
  3422  						mapmsglen |= int(b&0x7F) << shift
  3423  						if b < 0x80 {
  3424  							break
  3425  						}
  3426  					}
  3427  					if mapmsglen < 0 {
  3428  						return ErrInvalidLengthLocalOnlySessionData
  3429  					}
  3430  					postmsgIndex := iNdEx + mapmsglen
  3431  					if postmsgIndex < 0 {
  3432  						return ErrInvalidLengthLocalOnlySessionData
  3433  					}
  3434  					if postmsgIndex > l {
  3435  						return io.ErrUnexpectedEOF
  3436  					}
  3437  					mapvalue = &SequenceCacheEntry{}
  3438  					if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
  3439  						return err
  3440  					}
  3441  					iNdEx = postmsgIndex
  3442  				} else {
  3443  					iNdEx = entryPreIndex
  3444  					skippy, err := skipLocalOnlySessionData(dAtA[iNdEx:])
  3445  					if err != nil {
  3446  						return err
  3447  					}
  3448  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  3449  						return ErrInvalidLengthLocalOnlySessionData
  3450  					}
  3451  					if (iNdEx + skippy) > postIndex {
  3452  						return io.ErrUnexpectedEOF
  3453  					}
  3454  					iNdEx += skippy
  3455  				}
  3456  			}
  3457  			m.SequenceCache[mapkey] = mapvalue
  3458  			iNdEx = postIndex
  3459  		case 45:
  3460  			if wireType != 0 {
  3461  				return fmt.Errorf("proto: wrong wireType = %d for field PlacementEnabled", wireType)
  3462  			}
  3463  			var v int
  3464  			for shift := uint(0); ; shift += 7 {
  3465  				if shift >= 64 {
  3466  					return ErrIntOverflowLocalOnlySessionData
  3467  				}
  3468  				if iNdEx >= l {
  3469  					return io.ErrUnexpectedEOF
  3470  				}
  3471  				b := dAtA[iNdEx]
  3472  				iNdEx++
  3473  				v |= int(b&0x7F) << shift
  3474  				if b < 0x80 {
  3475  					break
  3476  				}
  3477  			}
  3478  			m.PlacementEnabled = bool(v != 0)
  3479  		case 46:
  3480  			if wireType != 2 {
  3481  				return fmt.Errorf("proto: wrong wireType = %d for field SessionUserProto", wireType)
  3482  			}
  3483  			var stringLen uint64
  3484  			for shift := uint(0); ; shift += 7 {
  3485  				if shift >= 64 {
  3486  					return ErrIntOverflowLocalOnlySessionData
  3487  				}
  3488  				if iNdEx >= l {
  3489  					return io.ErrUnexpectedEOF
  3490  				}
  3491  				b := dAtA[iNdEx]
  3492  				iNdEx++
  3493  				stringLen |= uint64(b&0x7F) << shift
  3494  				if b < 0x80 {
  3495  					break
  3496  				}
  3497  			}
  3498  			intStringLen := int(stringLen)
  3499  			if intStringLen < 0 {
  3500  				return ErrInvalidLengthLocalOnlySessionData
  3501  			}
  3502  			postIndex := iNdEx + intStringLen
  3503  			if postIndex < 0 {
  3504  				return ErrInvalidLengthLocalOnlySessionData
  3505  			}
  3506  			if postIndex > l {
  3507  				return io.ErrUnexpectedEOF
  3508  			}
  3509  			m.SessionUserProto = github_com_cockroachdb_cockroach_pkg_security_username.SQLUsernameProto(dAtA[iNdEx:postIndex])
  3510  			iNdEx = postIndex
  3511  		case 47:
  3512  			if wireType != 0 {
  3513  				return fmt.Errorf("proto: wrong wireType = %d for field TxnRowsWrittenLog", wireType)
  3514  			}
  3515  			m.TxnRowsWrittenLog = 0
  3516  			for shift := uint(0); ; shift += 7 {
  3517  				if shift >= 64 {
  3518  					return ErrIntOverflowLocalOnlySessionData
  3519  				}
  3520  				if iNdEx >= l {
  3521  					return io.ErrUnexpectedEOF
  3522  				}
  3523  				b := dAtA[iNdEx]
  3524  				iNdEx++
  3525  				m.TxnRowsWrittenLog |= int64(b&0x7F) << shift
  3526  				if b < 0x80 {
  3527  					break
  3528  				}
  3529  			}
  3530  		case 48:
  3531  			if wireType != 0 {
  3532  				return fmt.Errorf("proto: wrong wireType = %d for field TxnRowsWrittenErr", wireType)
  3533  			}
  3534  			m.TxnRowsWrittenErr = 0
  3535  			for shift := uint(0); ; shift += 7 {
  3536  				if shift >= 64 {
  3537  					return ErrIntOverflowLocalOnlySessionData
  3538  				}
  3539  				if iNdEx >= l {
  3540  					return io.ErrUnexpectedEOF
  3541  				}
  3542  				b := dAtA[iNdEx]
  3543  				iNdEx++
  3544  				m.TxnRowsWrittenErr |= int64(b&0x7F) << shift
  3545  				if b < 0x80 {
  3546  					break
  3547  				}
  3548  			}
  3549  		case 49:
  3550  			if wireType != 0 {
  3551  				return fmt.Errorf("proto: wrong wireType = %d for field TxnRowsReadLog", wireType)
  3552  			}
  3553  			m.TxnRowsReadLog = 0
  3554  			for shift := uint(0); ; shift += 7 {
  3555  				if shift >= 64 {
  3556  					return ErrIntOverflowLocalOnlySessionData
  3557  				}
  3558  				if iNdEx >= l {
  3559  					return io.ErrUnexpectedEOF
  3560  				}
  3561  				b := dAtA[iNdEx]
  3562  				iNdEx++
  3563  				m.TxnRowsReadLog |= int64(b&0x7F) << shift
  3564  				if b < 0x80 {
  3565  					break
  3566  				}
  3567  			}
  3568  		case 50:
  3569  			if wireType != 0 {
  3570  				return fmt.Errorf("proto: wrong wireType = %d for field TxnRowsReadErr", wireType)
  3571  			}
  3572  			m.TxnRowsReadErr = 0
  3573  			for shift := uint(0); ; shift += 7 {
  3574  				if shift >= 64 {
  3575  					return ErrIntOverflowLocalOnlySessionData
  3576  				}
  3577  				if iNdEx >= l {
  3578  					return io.ErrUnexpectedEOF
  3579  				}
  3580  				b := dAtA[iNdEx]
  3581  				iNdEx++
  3582  				m.TxnRowsReadErr |= int64(b&0x7F) << shift
  3583  				if b < 0x80 {
  3584  					break
  3585  				}
  3586  			}
  3587  		case 51:
  3588  			if wireType != 0 {
  3589  				return fmt.Errorf("proto: wrong wireType = %d for field AutoRehomingEnabled", wireType)
  3590  			}
  3591  			var v int
  3592  			for shift := uint(0); ; shift += 7 {
  3593  				if shift >= 64 {
  3594  					return ErrIntOverflowLocalOnlySessionData
  3595  				}
  3596  				if iNdEx >= l {
  3597  					return io.ErrUnexpectedEOF
  3598  				}
  3599  				b := dAtA[iNdEx]
  3600  				iNdEx++
  3601  				v |= int(b&0x7F) << shift
  3602  				if b < 0x80 {
  3603  					break
  3604  				}
  3605  			}
  3606  			m.AutoRehomingEnabled = bool(v != 0)
  3607  		case 52:
  3608  			if wireType != 0 {
  3609  				return fmt.Errorf("proto: wrong wireType = %d for field IsSuperuser", wireType)
  3610  			}
  3611  			var v int
  3612  			for shift := uint(0); ; shift += 7 {
  3613  				if shift >= 64 {
  3614  					return ErrIntOverflowLocalOnlySessionData
  3615  				}
  3616  				if iNdEx >= l {
  3617  					return io.ErrUnexpectedEOF
  3618  				}
  3619  				b := dAtA[iNdEx]
  3620  				iNdEx++
  3621  				v |= int(b&0x7F) << shift
  3622  				if b < 0x80 {
  3623  					break
  3624  				}
  3625  			}
  3626  			m.IsSuperuser = bool(v != 0)
  3627  		case 53:
  3628  			if wireType != 1 {
  3629  				return fmt.Errorf("proto: wrong wireType = %d for field LargeFullScanRows", wireType)
  3630  			}
  3631  			var v uint64
  3632  			if (iNdEx + 8) > l {
  3633  				return io.ErrUnexpectedEOF
  3634  			}
  3635  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  3636  			iNdEx += 8
  3637  			m.LargeFullScanRows = float64(math.Float64frombits(v))
  3638  		case 54:
  3639  			if wireType != 0 {
  3640  				return fmt.Errorf("proto: wrong wireType = %d for field InjectRetryErrorsEnabled", wireType)
  3641  			}
  3642  			var v int
  3643  			for shift := uint(0); ; shift += 7 {
  3644  				if shift >= 64 {
  3645  					return ErrIntOverflowLocalOnlySessionData
  3646  				}
  3647  				if iNdEx >= l {
  3648  					return io.ErrUnexpectedEOF
  3649  				}
  3650  				b := dAtA[iNdEx]
  3651  				iNdEx++
  3652  				v |= int(b&0x7F) << shift
  3653  				if b < 0x80 {
  3654  					break
  3655  				}
  3656  			}
  3657  			m.InjectRetryErrorsEnabled = bool(v != 0)
  3658  		case 55:
  3659  			if wireType != 0 {
  3660  				return fmt.Errorf("proto: wrong wireType = %d for field NullOrderedLast", wireType)
  3661  			}
  3662  			var v int
  3663  			for shift := uint(0); ; shift += 7 {
  3664  				if shift >= 64 {
  3665  					return ErrIntOverflowLocalOnlySessionData
  3666  				}
  3667  				if iNdEx >= l {
  3668  					return io.ErrUnexpectedEOF
  3669  				}
  3670  				b := dAtA[iNdEx]
  3671  				iNdEx++
  3672  				v |= int(b&0x7F) << shift
  3673  				if b < 0x80 {
  3674  					break
  3675  				}
  3676  			}
  3677  			m.NullOrderedLast = bool(v != 0)
  3678  		case 56:
  3679  			if wireType != 0 {
  3680  				return fmt.Errorf("proto: wrong wireType = %d for field DisablePlanGists", wireType)
  3681  			}
  3682  			var v int
  3683  			for shift := uint(0); ; shift += 7 {
  3684  				if shift >= 64 {
  3685  					return ErrIntOverflowLocalOnlySessionData
  3686  				}
  3687  				if iNdEx >= l {
  3688  					return io.ErrUnexpectedEOF
  3689  				}
  3690  				b := dAtA[iNdEx]
  3691  				iNdEx++
  3692  				v |= int(b&0x7F) << shift
  3693  				if b < 0x80 {
  3694  					break
  3695  				}
  3696  			}
  3697  			m.DisablePlanGists = bool(v != 0)
  3698  		case 57:
  3699  			if wireType != 2 {
  3700  				return fmt.Errorf("proto: wrong wireType = %d for field CustomOptions", wireType)
  3701  			}
  3702  			var msglen int
  3703  			for shift := uint(0); ; shift += 7 {
  3704  				if shift >= 64 {
  3705  					return ErrIntOverflowLocalOnlySessionData
  3706  				}
  3707  				if iNdEx >= l {
  3708  					return io.ErrUnexpectedEOF
  3709  				}
  3710  				b := dAtA[iNdEx]
  3711  				iNdEx++
  3712  				msglen |= int(b&0x7F) << shift
  3713  				if b < 0x80 {
  3714  					break
  3715  				}
  3716  			}
  3717  			if msglen < 0 {
  3718  				return ErrInvalidLengthLocalOnlySessionData
  3719  			}
  3720  			postIndex := iNdEx + msglen
  3721  			if postIndex < 0 {
  3722  				return ErrInvalidLengthLocalOnlySessionData
  3723  			}
  3724  			if postIndex > l {
  3725  				return io.ErrUnexpectedEOF
  3726  			}
  3727  			if m.CustomOptions == nil {
  3728  				m.CustomOptions = make(map[string]string)
  3729  			}
  3730  			var mapkey string
  3731  			var mapvalue string
  3732  			for iNdEx < postIndex {
  3733  				entryPreIndex := iNdEx
  3734  				var wire uint64
  3735  				for shift := uint(0); ; shift += 7 {
  3736  					if shift >= 64 {
  3737  						return ErrIntOverflowLocalOnlySessionData
  3738  					}
  3739  					if iNdEx >= l {
  3740  						return io.ErrUnexpectedEOF
  3741  					}
  3742  					b := dAtA[iNdEx]
  3743  					iNdEx++
  3744  					wire |= uint64(b&0x7F) << shift
  3745  					if b < 0x80 {
  3746  						break
  3747  					}
  3748  				}
  3749  				fieldNum := int32(wire >> 3)
  3750  				if fieldNum == 1 {
  3751  					var stringLenmapkey uint64
  3752  					for shift := uint(0); ; shift += 7 {
  3753  						if shift >= 64 {
  3754  							return ErrIntOverflowLocalOnlySessionData
  3755  						}
  3756  						if iNdEx >= l {
  3757  							return io.ErrUnexpectedEOF
  3758  						}
  3759  						b := dAtA[iNdEx]
  3760  						iNdEx++
  3761  						stringLenmapkey |= uint64(b&0x7F) << shift
  3762  						if b < 0x80 {
  3763  							break
  3764  						}
  3765  					}
  3766  					intStringLenmapkey := int(stringLenmapkey)
  3767  					if intStringLenmapkey < 0 {
  3768  						return ErrInvalidLengthLocalOnlySessionData
  3769  					}
  3770  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  3771  					if postStringIndexmapkey < 0 {
  3772  						return ErrInvalidLengthLocalOnlySessionData
  3773  					}
  3774  					if postStringIndexmapkey > l {
  3775  						return io.ErrUnexpectedEOF
  3776  					}
  3777  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  3778  					iNdEx = postStringIndexmapkey
  3779  				} else if fieldNum == 2 {
  3780  					var stringLenmapvalue uint64
  3781  					for shift := uint(0); ; shift += 7 {
  3782  						if shift >= 64 {
  3783  							return ErrIntOverflowLocalOnlySessionData
  3784  						}
  3785  						if iNdEx >= l {
  3786  							return io.ErrUnexpectedEOF
  3787  						}
  3788  						b := dAtA[iNdEx]
  3789  						iNdEx++
  3790  						stringLenmapvalue |= uint64(b&0x7F) << shift
  3791  						if b < 0x80 {
  3792  							break
  3793  						}
  3794  					}
  3795  					intStringLenmapvalue := int(stringLenmapvalue)
  3796  					if intStringLenmapvalue < 0 {
  3797  						return ErrInvalidLengthLocalOnlySessionData
  3798  					}
  3799  					postStringIndexmapvalue := iNdEx + intStringLenmapvalue
  3800  					if postStringIndexmapvalue < 0 {
  3801  						return ErrInvalidLengthLocalOnlySessionData
  3802  					}
  3803  					if postStringIndexmapvalue > l {
  3804  						return io.ErrUnexpectedEOF
  3805  					}
  3806  					mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
  3807  					iNdEx = postStringIndexmapvalue
  3808  				} else {
  3809  					iNdEx = entryPreIndex
  3810  					skippy, err := skipLocalOnlySessionData(dAtA[iNdEx:])
  3811  					if err != nil {
  3812  						return err
  3813  					}
  3814  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  3815  						return ErrInvalidLengthLocalOnlySessionData
  3816  					}
  3817  					if (iNdEx + skippy) > postIndex {
  3818  						return io.ErrUnexpectedEOF
  3819  					}
  3820  					iNdEx += skippy
  3821  				}
  3822  			}
  3823  			m.CustomOptions[mapkey] = mapvalue
  3824  			iNdEx = postIndex
  3825  		case 58:
  3826  			if wireType != 0 {
  3827  				return fmt.Errorf("proto: wrong wireType = %d for field IndexRecommendationsEnabled", wireType)
  3828  			}
  3829  			var v int
  3830  			for shift := uint(0); ; shift += 7 {
  3831  				if shift >= 64 {
  3832  					return ErrIntOverflowLocalOnlySessionData
  3833  				}
  3834  				if iNdEx >= l {
  3835  					return io.ErrUnexpectedEOF
  3836  				}
  3837  				b := dAtA[iNdEx]
  3838  				iNdEx++
  3839  				v |= int(b&0x7F) << shift
  3840  				if b < 0x80 {
  3841  					break
  3842  				}
  3843  			}
  3844  			m.IndexRecommendationsEnabled = bool(v != 0)
  3845  		case 59:
  3846  			if wireType != 0 {
  3847  				return fmt.Errorf("proto: wrong wireType = %d for field AvoidBuffering", wireType)
  3848  			}
  3849  			var v int
  3850  			for shift := uint(0); ; shift += 7 {
  3851  				if shift >= 64 {
  3852  					return ErrIntOverflowLocalOnlySessionData
  3853  				}
  3854  				if iNdEx >= l {
  3855  					return io.ErrUnexpectedEOF
  3856  				}
  3857  				b := dAtA[iNdEx]
  3858  				iNdEx++
  3859  				v |= int(b&0x7F) << shift
  3860  				if b < 0x80 {
  3861  					break
  3862  				}
  3863  			}
  3864  			m.AvoidBuffering = bool(v != 0)
  3865  		case 60:
  3866  			if wireType != 0 {
  3867  				return fmt.Errorf("proto: wrong wireType = %d for field CheckFunctionBodies", wireType)
  3868  			}
  3869  			var v int
  3870  			for shift := uint(0); ; shift += 7 {
  3871  				if shift >= 64 {
  3872  					return ErrIntOverflowLocalOnlySessionData
  3873  				}
  3874  				if iNdEx >= l {
  3875  					return io.ErrUnexpectedEOF
  3876  				}
  3877  				b := dAtA[iNdEx]
  3878  				iNdEx++
  3879  				v |= int(b&0x7F) << shift
  3880  				if b < 0x80 {
  3881  					break
  3882  				}
  3883  			}
  3884  			m.CheckFunctionBodies = bool(v != 0)
  3885  		case 61:
  3886  			if wireType != 0 {
  3887  				return fmt.Errorf("proto: wrong wireType = %d for field CostScansWithDefaultColSize", wireType)
  3888  			}
  3889  			var v int
  3890  			for shift := uint(0); ; shift += 7 {
  3891  				if shift >= 64 {
  3892  					return ErrIntOverflowLocalOnlySessionData
  3893  				}
  3894  				if iNdEx >= l {
  3895  					return io.ErrUnexpectedEOF
  3896  				}
  3897  				b := dAtA[iNdEx]
  3898  				iNdEx++
  3899  				v |= int(b&0x7F) << shift
  3900  				if b < 0x80 {
  3901  					break
  3902  				}
  3903  			}
  3904  			m.CostScansWithDefaultColSize = bool(v != 0)
  3905  		case 62:
  3906  			if wireType != 0 {
  3907  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultTxnQualityOfService", wireType)
  3908  			}
  3909  			m.DefaultTxnQualityOfService = 0
  3910  			for shift := uint(0); ; shift += 7 {
  3911  				if shift >= 64 {
  3912  					return ErrIntOverflowLocalOnlySessionData
  3913  				}
  3914  				if iNdEx >= l {
  3915  					return io.ErrUnexpectedEOF
  3916  				}
  3917  				b := dAtA[iNdEx]
  3918  				iNdEx++
  3919  				m.DefaultTxnQualityOfService |= QoSLevel(b&0x7F) << shift
  3920  				if b < 0x80 {
  3921  					break
  3922  				}
  3923  			}
  3924  		case 63:
  3925  			if wireType != 0 {
  3926  				return fmt.Errorf("proto: wrong wireType = %d for field OptSplitScanLimit", wireType)
  3927  			}
  3928  			m.OptSplitScanLimit = 0
  3929  			for shift := uint(0); ; shift += 7 {
  3930  				if shift >= 64 {
  3931  					return ErrIntOverflowLocalOnlySessionData
  3932  				}
  3933  				if iNdEx >= l {
  3934  					return io.ErrUnexpectedEOF
  3935  				}
  3936  				b := dAtA[iNdEx]
  3937  				iNdEx++
  3938  				m.OptSplitScanLimit |= int32(b&0x7F) << shift
  3939  				if b < 0x80 {
  3940  					break
  3941  				}
  3942  			}
  3943  		case 64:
  3944  			if wireType != 0 {
  3945  				return fmt.Errorf("proto: wrong wireType = %d for field EnableSuperRegions", wireType)
  3946  			}
  3947  			var v int
  3948  			for shift := uint(0); ; shift += 7 {
  3949  				if shift >= 64 {
  3950  					return ErrIntOverflowLocalOnlySessionData
  3951  				}
  3952  				if iNdEx >= l {
  3953  					return io.ErrUnexpectedEOF
  3954  				}
  3955  				b := dAtA[iNdEx]
  3956  				iNdEx++
  3957  				v |= int(b&0x7F) << shift
  3958  				if b < 0x80 {
  3959  					break
  3960  				}
  3961  			}
  3962  			m.EnableSuperRegions = bool(v != 0)
  3963  		case 65:
  3964  			if wireType != 0 {
  3965  				return fmt.Errorf("proto: wrong wireType = %d for field OverrideAlterPrimaryRegionInSuperRegion", wireType)
  3966  			}
  3967  			var v int
  3968  			for shift := uint(0); ; shift += 7 {
  3969  				if shift >= 64 {
  3970  					return ErrIntOverflowLocalOnlySessionData
  3971  				}
  3972  				if iNdEx >= l {
  3973  					return io.ErrUnexpectedEOF
  3974  				}
  3975  				b := dAtA[iNdEx]
  3976  				iNdEx++
  3977  				v |= int(b&0x7F) << shift
  3978  				if b < 0x80 {
  3979  					break
  3980  				}
  3981  			}
  3982  			m.OverrideAlterPrimaryRegionInSuperRegion = bool(v != 0)
  3983  		case 66:
  3984  			if wireType != 0 {
  3985  				return fmt.Errorf("proto: wrong wireType = %d for field EnableImplicitTransactionForBatchStatements", wireType)
  3986  			}
  3987  			var v int
  3988  			for shift := uint(0); ; shift += 7 {
  3989  				if shift >= 64 {
  3990  					return ErrIntOverflowLocalOnlySessionData
  3991  				}
  3992  				if iNdEx >= l {
  3993  					return io.ErrUnexpectedEOF
  3994  				}
  3995  				b := dAtA[iNdEx]
  3996  				iNdEx++
  3997  				v |= int(b&0x7F) << shift
  3998  				if b < 0x80 {
  3999  					break
  4000  				}
  4001  			}
  4002  			m.EnableImplicitTransactionForBatchStatements = bool(v != 0)
  4003  		case 67:
  4004  			if wireType != 0 {
  4005  				return fmt.Errorf("proto: wrong wireType = %d for field ExpectAndIgnoreNotVisibleColumnsInCopy", wireType)
  4006  			}
  4007  			var v int
  4008  			for shift := uint(0); ; shift += 7 {
  4009  				if shift >= 64 {
  4010  					return ErrIntOverflowLocalOnlySessionData
  4011  				}
  4012  				if iNdEx >= l {
  4013  					return io.ErrUnexpectedEOF
  4014  				}
  4015  				b := dAtA[iNdEx]
  4016  				iNdEx++
  4017  				v |= int(b&0x7F) << shift
  4018  				if b < 0x80 {
  4019  					break
  4020  				}
  4021  			}
  4022  			m.ExpectAndIgnoreNotVisibleColumnsInCopy = bool(v != 0)
  4023  		case 68:
  4024  			if wireType != 0 {
  4025  				return fmt.Errorf("proto: wrong wireType = %d for field MultipleModificationsOfTable", wireType)
  4026  			}
  4027  			var v int
  4028  			for shift := uint(0); ; shift += 7 {
  4029  				if shift >= 64 {
  4030  					return ErrIntOverflowLocalOnlySessionData
  4031  				}
  4032  				if iNdEx >= l {
  4033  					return io.ErrUnexpectedEOF
  4034  				}
  4035  				b := dAtA[iNdEx]
  4036  				iNdEx++
  4037  				v |= int(b&0x7F) << shift
  4038  				if b < 0x80 {
  4039  					break
  4040  				}
  4041  			}
  4042  			m.MultipleModificationsOfTable = bool(v != 0)
  4043  		case 69:
  4044  			if wireType != 0 {
  4045  				return fmt.Errorf("proto: wrong wireType = %d for field ShowPrimaryKeyConstraintOnNotVisibleColumns", wireType)
  4046  			}
  4047  			var v int
  4048  			for shift := uint(0); ; shift += 7 {
  4049  				if shift >= 64 {
  4050  					return ErrIntOverflowLocalOnlySessionData
  4051  				}
  4052  				if iNdEx >= l {
  4053  					return io.ErrUnexpectedEOF
  4054  				}
  4055  				b := dAtA[iNdEx]
  4056  				iNdEx++
  4057  				v |= int(b&0x7F) << shift
  4058  				if b < 0x80 {
  4059  					break
  4060  				}
  4061  			}
  4062  			m.ShowPrimaryKeyConstraintOnNotVisibleColumns = bool(v != 0)
  4063  		case 70:
  4064  			if wireType != 0 {
  4065  				return fmt.Errorf("proto: wrong wireType = %d for field TestingOptimizerRandomSeed", wireType)
  4066  			}
  4067  			m.TestingOptimizerRandomSeed = 0
  4068  			for shift := uint(0); ; shift += 7 {
  4069  				if shift >= 64 {
  4070  					return ErrIntOverflowLocalOnlySessionData
  4071  				}
  4072  				if iNdEx >= l {
  4073  					return io.ErrUnexpectedEOF
  4074  				}
  4075  				b := dAtA[iNdEx]
  4076  				iNdEx++
  4077  				m.TestingOptimizerRandomSeed |= int64(b&0x7F) << shift
  4078  				if b < 0x80 {
  4079  					break
  4080  				}
  4081  			}
  4082  		case 71:
  4083  			if wireType != 0 {
  4084  				return fmt.Errorf("proto: wrong wireType = %d for field UnconstrainedNonCoveringIndexScanEnabled", wireType)
  4085  			}
  4086  			var v int
  4087  			for shift := uint(0); ; shift += 7 {
  4088  				if shift >= 64 {
  4089  					return ErrIntOverflowLocalOnlySessionData
  4090  				}
  4091  				if iNdEx >= l {
  4092  					return io.ErrUnexpectedEOF
  4093  				}
  4094  				b := dAtA[iNdEx]
  4095  				iNdEx++
  4096  				v |= int(b&0x7F) << shift
  4097  				if b < 0x80 {
  4098  					break
  4099  				}
  4100  			}
  4101  			m.UnconstrainedNonCoveringIndexScanEnabled = bool(v != 0)
  4102  		case 72:
  4103  			if wireType != 1 {
  4104  				return fmt.Errorf("proto: wrong wireType = %d for field TestingOptimizerCostPerturbation", wireType)
  4105  			}
  4106  			var v uint64
  4107  			if (iNdEx + 8) > l {
  4108  				return io.ErrUnexpectedEOF
  4109  			}
  4110  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  4111  			iNdEx += 8
  4112  			m.TestingOptimizerCostPerturbation = float64(math.Float64frombits(v))
  4113  		case 73:
  4114  			if wireType != 1 {
  4115  				return fmt.Errorf("proto: wrong wireType = %d for field TestingOptimizerDisableRuleProbability", wireType)
  4116  			}
  4117  			var v uint64
  4118  			if (iNdEx + 8) > l {
  4119  				return io.ErrUnexpectedEOF
  4120  			}
  4121  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  4122  			iNdEx += 8
  4123  			m.TestingOptimizerDisableRuleProbability = float64(math.Float64frombits(v))
  4124  		case 74:
  4125  			if wireType != 0 {
  4126  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerUseNotVisibleIndexes", wireType)
  4127  			}
  4128  			var v int
  4129  			for shift := uint(0); ; shift += 7 {
  4130  				if shift >= 64 {
  4131  					return ErrIntOverflowLocalOnlySessionData
  4132  				}
  4133  				if iNdEx >= l {
  4134  					return io.ErrUnexpectedEOF
  4135  				}
  4136  				b := dAtA[iNdEx]
  4137  				iNdEx++
  4138  				v |= int(b&0x7F) << shift
  4139  				if b < 0x80 {
  4140  					break
  4141  				}
  4142  			}
  4143  			m.OptimizerUseNotVisibleIndexes = bool(v != 0)
  4144  		case 75:
  4145  			if wireType != 0 {
  4146  				return fmt.Errorf("proto: wrong wireType = %d for field CopyFastPathEnabled", wireType)
  4147  			}
  4148  			var v int
  4149  			for shift := uint(0); ; shift += 7 {
  4150  				if shift >= 64 {
  4151  					return ErrIntOverflowLocalOnlySessionData
  4152  				}
  4153  				if iNdEx >= l {
  4154  					return io.ErrUnexpectedEOF
  4155  				}
  4156  				b := dAtA[iNdEx]
  4157  				iNdEx++
  4158  				v |= int(b&0x7F) << shift
  4159  				if b < 0x80 {
  4160  					break
  4161  				}
  4162  			}
  4163  			m.CopyFastPathEnabled = bool(v != 0)
  4164  		case 76:
  4165  			if wireType != 0 {
  4166  				return fmt.Errorf("proto: wrong wireType = %d for field DisableHoistProjectionInJoinLimitation", wireType)
  4167  			}
  4168  			var v int
  4169  			for shift := uint(0); ; shift += 7 {
  4170  				if shift >= 64 {
  4171  					return ErrIntOverflowLocalOnlySessionData
  4172  				}
  4173  				if iNdEx >= l {
  4174  					return io.ErrUnexpectedEOF
  4175  				}
  4176  				b := dAtA[iNdEx]
  4177  				iNdEx++
  4178  				v |= int(b&0x7F) << shift
  4179  				if b < 0x80 {
  4180  					break
  4181  				}
  4182  			}
  4183  			m.DisableHoistProjectionInJoinLimitation = bool(v != 0)
  4184  		case 77:
  4185  			if wireType != 0 {
  4186  				return fmt.Errorf("proto: wrong wireType = %d for field CopyFromAtomicEnabled", wireType)
  4187  			}
  4188  			var v int
  4189  			for shift := uint(0); ; shift += 7 {
  4190  				if shift >= 64 {
  4191  					return ErrIntOverflowLocalOnlySessionData
  4192  				}
  4193  				if iNdEx >= l {
  4194  					return io.ErrUnexpectedEOF
  4195  				}
  4196  				b := dAtA[iNdEx]
  4197  				iNdEx++
  4198  				v |= int(b&0x7F) << shift
  4199  				if b < 0x80 {
  4200  					break
  4201  				}
  4202  			}
  4203  			m.CopyFromAtomicEnabled = bool(v != 0)
  4204  		case 78:
  4205  			if wireType != 0 {
  4206  				return fmt.Errorf("proto: wrong wireType = %d for field EnforceHomeRegion", wireType)
  4207  			}
  4208  			var v int
  4209  			for shift := uint(0); ; shift += 7 {
  4210  				if shift >= 64 {
  4211  					return ErrIntOverflowLocalOnlySessionData
  4212  				}
  4213  				if iNdEx >= l {
  4214  					return io.ErrUnexpectedEOF
  4215  				}
  4216  				b := dAtA[iNdEx]
  4217  				iNdEx++
  4218  				v |= int(b&0x7F) << shift
  4219  				if b < 0x80 {
  4220  					break
  4221  				}
  4222  			}
  4223  			m.EnforceHomeRegion = bool(v != 0)
  4224  		case 79:
  4225  			if wireType != 0 {
  4226  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerUseForecasts", wireType)
  4227  			}
  4228  			var v int
  4229  			for shift := uint(0); ; shift += 7 {
  4230  				if shift >= 64 {
  4231  					return ErrIntOverflowLocalOnlySessionData
  4232  				}
  4233  				if iNdEx >= l {
  4234  					return io.ErrUnexpectedEOF
  4235  				}
  4236  				b := dAtA[iNdEx]
  4237  				iNdEx++
  4238  				v |= int(b&0x7F) << shift
  4239  				if b < 0x80 {
  4240  					break
  4241  				}
  4242  			}
  4243  			m.OptimizerUseForecasts = bool(v != 0)
  4244  		case 80:
  4245  			if wireType != 0 {
  4246  				return fmt.Errorf("proto: wrong wireType = %d for field VariableInequalityLookupJoinEnabled", wireType)
  4247  			}
  4248  			var v int
  4249  			for shift := uint(0); ; shift += 7 {
  4250  				if shift >= 64 {
  4251  					return ErrIntOverflowLocalOnlySessionData
  4252  				}
  4253  				if iNdEx >= l {
  4254  					return io.ErrUnexpectedEOF
  4255  				}
  4256  				b := dAtA[iNdEx]
  4257  				iNdEx++
  4258  				v |= int(b&0x7F) << shift
  4259  				if b < 0x80 {
  4260  					break
  4261  				}
  4262  			}
  4263  			m.VariableInequalityLookupJoinEnabled = bool(v != 0)
  4264  		case 81:
  4265  			if wireType != 0 {
  4266  				return fmt.Errorf("proto: wrong wireType = %d for field TransactionTimeout", wireType)
  4267  			}
  4268  			m.TransactionTimeout = 0
  4269  			for shift := uint(0); ; shift += 7 {
  4270  				if shift >= 64 {
  4271  					return ErrIntOverflowLocalOnlySessionData
  4272  				}
  4273  				if iNdEx >= l {
  4274  					return io.ErrUnexpectedEOF
  4275  				}
  4276  				b := dAtA[iNdEx]
  4277  				iNdEx++
  4278  				m.TransactionTimeout |= time.Duration(b&0x7F) << shift
  4279  				if b < 0x80 {
  4280  					break
  4281  				}
  4282  			}
  4283  		case 82:
  4284  			if wireType != 2 {
  4285  				return fmt.Errorf("proto: wrong wireType = %d for field SystemIdentityProto", wireType)
  4286  			}
  4287  			var stringLen uint64
  4288  			for shift := uint(0); ; shift += 7 {
  4289  				if shift >= 64 {
  4290  					return ErrIntOverflowLocalOnlySessionData
  4291  				}
  4292  				if iNdEx >= l {
  4293  					return io.ErrUnexpectedEOF
  4294  				}
  4295  				b := dAtA[iNdEx]
  4296  				iNdEx++
  4297  				stringLen |= uint64(b&0x7F) << shift
  4298  				if b < 0x80 {
  4299  					break
  4300  				}
  4301  			}
  4302  			intStringLen := int(stringLen)
  4303  			if intStringLen < 0 {
  4304  				return ErrInvalidLengthLocalOnlySessionData
  4305  			}
  4306  			postIndex := iNdEx + intStringLen
  4307  			if postIndex < 0 {
  4308  				return ErrInvalidLengthLocalOnlySessionData
  4309  			}
  4310  			if postIndex > l {
  4311  				return io.ErrUnexpectedEOF
  4312  			}
  4313  			m.SystemIdentityProto = github_com_cockroachdb_cockroach_pkg_security_username.SQLUsernameProto(dAtA[iNdEx:postIndex])
  4314  			iNdEx = postIndex
  4315  		case 83:
  4316  			if wireType != 0 {
  4317  				return fmt.Errorf("proto: wrong wireType = %d for field DescriptorValidationMode", wireType)
  4318  			}
  4319  			m.DescriptorValidationMode = 0
  4320  			for shift := uint(0); ; shift += 7 {
  4321  				if shift >= 64 {
  4322  					return ErrIntOverflowLocalOnlySessionData
  4323  				}
  4324  				if iNdEx >= l {
  4325  					return io.ErrUnexpectedEOF
  4326  				}
  4327  				b := dAtA[iNdEx]
  4328  				iNdEx++
  4329  				m.DescriptorValidationMode |= DescriptorValidationMode(b&0x7F) << shift
  4330  				if b < 0x80 {
  4331  					break
  4332  				}
  4333  			}
  4334  		case 84:
  4335  			if wireType != 0 {
  4336  				return fmt.Errorf("proto: wrong wireType = %d for field ExperimentalHashGroupJoinEnabled", wireType)
  4337  			}
  4338  			var v int
  4339  			for shift := uint(0); ; shift += 7 {
  4340  				if shift >= 64 {
  4341  					return ErrIntOverflowLocalOnlySessionData
  4342  				}
  4343  				if iNdEx >= l {
  4344  					return io.ErrUnexpectedEOF
  4345  				}
  4346  				b := dAtA[iNdEx]
  4347  				iNdEx++
  4348  				v |= int(b&0x7F) << shift
  4349  				if b < 0x80 {
  4350  					break
  4351  				}
  4352  			}
  4353  			m.ExperimentalHashGroupJoinEnabled = bool(v != 0)
  4354  		case 85:
  4355  			if wireType != 0 {
  4356  				return fmt.Errorf("proto: wrong wireType = %d for field AllowOrdinalColumnReferences", wireType)
  4357  			}
  4358  			var v int
  4359  			for shift := uint(0); ; shift += 7 {
  4360  				if shift >= 64 {
  4361  					return ErrIntOverflowLocalOnlySessionData
  4362  				}
  4363  				if iNdEx >= l {
  4364  					return io.ErrUnexpectedEOF
  4365  				}
  4366  				b := dAtA[iNdEx]
  4367  				iNdEx++
  4368  				v |= int(b&0x7F) << shift
  4369  				if b < 0x80 {
  4370  					break
  4371  				}
  4372  			}
  4373  			m.AllowOrdinalColumnReferences = bool(v != 0)
  4374  		case 86:
  4375  			if wireType != 0 {
  4376  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerUseImprovedDisjunctionStats", wireType)
  4377  			}
  4378  			var v int
  4379  			for shift := uint(0); ; shift += 7 {
  4380  				if shift >= 64 {
  4381  					return ErrIntOverflowLocalOnlySessionData
  4382  				}
  4383  				if iNdEx >= l {
  4384  					return io.ErrUnexpectedEOF
  4385  				}
  4386  				b := dAtA[iNdEx]
  4387  				iNdEx++
  4388  				v |= int(b&0x7F) << shift
  4389  				if b < 0x80 {
  4390  					break
  4391  				}
  4392  			}
  4393  			m.OptimizerUseImprovedDisjunctionStats = bool(v != 0)
  4394  		case 88:
  4395  			if wireType != 0 {
  4396  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerUseLimitOrderingForStreamingGroupBy", wireType)
  4397  			}
  4398  			var v int
  4399  			for shift := uint(0); ; shift += 7 {
  4400  				if shift >= 64 {
  4401  					return ErrIntOverflowLocalOnlySessionData
  4402  				}
  4403  				if iNdEx >= l {
  4404  					return io.ErrUnexpectedEOF
  4405  				}
  4406  				b := dAtA[iNdEx]
  4407  				iNdEx++
  4408  				v |= int(b&0x7F) << shift
  4409  				if b < 0x80 {
  4410  					break
  4411  				}
  4412  			}
  4413  			m.OptimizerUseLimitOrderingForStreamingGroupBy = bool(v != 0)
  4414  		case 89:
  4415  			if wireType != 0 {
  4416  				return fmt.Errorf("proto: wrong wireType = %d for field CopyFromRetriesEnabled", wireType)
  4417  			}
  4418  			var v int
  4419  			for shift := uint(0); ; shift += 7 {
  4420  				if shift >= 64 {
  4421  					return ErrIntOverflowLocalOnlySessionData
  4422  				}
  4423  				if iNdEx >= l {
  4424  					return io.ErrUnexpectedEOF
  4425  				}
  4426  				b := dAtA[iNdEx]
  4427  				iNdEx++
  4428  				v |= int(b&0x7F) << shift
  4429  				if b < 0x80 {
  4430  					break
  4431  				}
  4432  			}
  4433  			m.CopyFromRetriesEnabled = bool(v != 0)
  4434  		case 90:
  4435  			if wireType != 0 {
  4436  				return fmt.Errorf("proto: wrong wireType = %d for field DeclareCursorStatementTimeoutEnabled", wireType)
  4437  			}
  4438  			var v int
  4439  			for shift := uint(0); ; shift += 7 {
  4440  				if shift >= 64 {
  4441  					return ErrIntOverflowLocalOnlySessionData
  4442  				}
  4443  				if iNdEx >= l {
  4444  					return io.ErrUnexpectedEOF
  4445  				}
  4446  				b := dAtA[iNdEx]
  4447  				iNdEx++
  4448  				v |= int(b&0x7F) << shift
  4449  				if b < 0x80 {
  4450  					break
  4451  				}
  4452  			}
  4453  			m.DeclareCursorStatementTimeoutEnabled = bool(v != 0)
  4454  		case 91:
  4455  			if wireType != 0 {
  4456  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerUseImprovedSplitDisjunctionForJoins", wireType)
  4457  			}
  4458  			var v int
  4459  			for shift := uint(0); ; shift += 7 {
  4460  				if shift >= 64 {
  4461  					return ErrIntOverflowLocalOnlySessionData
  4462  				}
  4463  				if iNdEx >= l {
  4464  					return io.ErrUnexpectedEOF
  4465  				}
  4466  				b := dAtA[iNdEx]
  4467  				iNdEx++
  4468  				v |= int(b&0x7F) << shift
  4469  				if b < 0x80 {
  4470  					break
  4471  				}
  4472  			}
  4473  			m.OptimizerUseImprovedSplitDisjunctionForJoins = bool(v != 0)
  4474  		case 92:
  4475  			if wireType != 0 {
  4476  				return fmt.Errorf("proto: wrong wireType = %d for field InjectRetryErrorsOnCommitEnabled", wireType)
  4477  			}
  4478  			var v int
  4479  			for shift := uint(0); ; shift += 7 {
  4480  				if shift >= 64 {
  4481  					return ErrIntOverflowLocalOnlySessionData
  4482  				}
  4483  				if iNdEx >= l {
  4484  					return io.ErrUnexpectedEOF
  4485  				}
  4486  				b := dAtA[iNdEx]
  4487  				iNdEx++
  4488  				v |= int(b&0x7F) << shift
  4489  				if b < 0x80 {
  4490  					break
  4491  				}
  4492  			}
  4493  			m.InjectRetryErrorsOnCommitEnabled = bool(v != 0)
  4494  		case 93:
  4495  			if wireType != 0 {
  4496  				return fmt.Errorf("proto: wrong wireType = %d for field EnforceHomeRegionFollowerReadsEnabled", wireType)
  4497  			}
  4498  			var v int
  4499  			for shift := uint(0); ; shift += 7 {
  4500  				if shift >= 64 {
  4501  					return ErrIntOverflowLocalOnlySessionData
  4502  				}
  4503  				if iNdEx >= l {
  4504  					return io.ErrUnexpectedEOF
  4505  				}
  4506  				b := dAtA[iNdEx]
  4507  				iNdEx++
  4508  				v |= int(b&0x7F) << shift
  4509  				if b < 0x80 {
  4510  					break
  4511  				}
  4512  			}
  4513  			m.EnforceHomeRegionFollowerReadsEnabled = bool(v != 0)
  4514  		case 94:
  4515  			if wireType != 0 {
  4516  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerAlwaysUseHistograms", wireType)
  4517  			}
  4518  			var v int
  4519  			for shift := uint(0); ; shift += 7 {
  4520  				if shift >= 64 {
  4521  					return ErrIntOverflowLocalOnlySessionData
  4522  				}
  4523  				if iNdEx >= l {
  4524  					return io.ErrUnexpectedEOF
  4525  				}
  4526  				b := dAtA[iNdEx]
  4527  				iNdEx++
  4528  				v |= int(b&0x7F) << shift
  4529  				if b < 0x80 {
  4530  					break
  4531  				}
  4532  			}
  4533  			m.OptimizerAlwaysUseHistograms = bool(v != 0)
  4534  		case 95:
  4535  			if wireType != 0 {
  4536  				return fmt.Errorf("proto: wrong wireType = %d for field EnableCreateStatsUsingExtremes", wireType)
  4537  			}
  4538  			var v int
  4539  			for shift := uint(0); ; shift += 7 {
  4540  				if shift >= 64 {
  4541  					return ErrIntOverflowLocalOnlySessionData
  4542  				}
  4543  				if iNdEx >= l {
  4544  					return io.ErrUnexpectedEOF
  4545  				}
  4546  				b := dAtA[iNdEx]
  4547  				iNdEx++
  4548  				v |= int(b&0x7F) << shift
  4549  				if b < 0x80 {
  4550  					break
  4551  				}
  4552  			}
  4553  			m.EnableCreateStatsUsingExtremes = bool(v != 0)
  4554  		case 96:
  4555  			if wireType != 0 {
  4556  				return fmt.Errorf("proto: wrong wireType = %d for field AllowRoleMembershipsToChangeDuringTransaction", wireType)
  4557  			}
  4558  			var v int
  4559  			for shift := uint(0); ; shift += 7 {
  4560  				if shift >= 64 {
  4561  					return ErrIntOverflowLocalOnlySessionData
  4562  				}
  4563  				if iNdEx >= l {
  4564  					return io.ErrUnexpectedEOF
  4565  				}
  4566  				b := dAtA[iNdEx]
  4567  				iNdEx++
  4568  				v |= int(b&0x7F) << shift
  4569  				if b < 0x80 {
  4570  					break
  4571  				}
  4572  			}
  4573  			m.AllowRoleMembershipsToChangeDuringTransaction = bool(v != 0)
  4574  		case 97:
  4575  			if wireType != 0 {
  4576  				return fmt.Errorf("proto: wrong wireType = %d for field PreparedStatementsCacheSize", wireType)
  4577  			}
  4578  			m.PreparedStatementsCacheSize = 0
  4579  			for shift := uint(0); ; shift += 7 {
  4580  				if shift >= 64 {
  4581  					return ErrIntOverflowLocalOnlySessionData
  4582  				}
  4583  				if iNdEx >= l {
  4584  					return io.ErrUnexpectedEOF
  4585  				}
  4586  				b := dAtA[iNdEx]
  4587  				iNdEx++
  4588  				m.PreparedStatementsCacheSize |= int64(b&0x7F) << shift
  4589  				if b < 0x80 {
  4590  					break
  4591  				}
  4592  			}
  4593  		case 98:
  4594  			if wireType != 0 {
  4595  				return fmt.Errorf("proto: wrong wireType = %d for field StreamerEnabled", wireType)
  4596  			}
  4597  			var v int
  4598  			for shift := uint(0); ; shift += 7 {
  4599  				if shift >= 64 {
  4600  					return ErrIntOverflowLocalOnlySessionData
  4601  				}
  4602  				if iNdEx >= l {
  4603  					return io.ErrUnexpectedEOF
  4604  				}
  4605  				b := dAtA[iNdEx]
  4606  				iNdEx++
  4607  				v |= int(b&0x7F) << shift
  4608  				if b < 0x80 {
  4609  					break
  4610  				}
  4611  			}
  4612  			m.StreamerEnabled = bool(v != 0)
  4613  		case 99:
  4614  			if wireType != 0 {
  4615  				return fmt.Errorf("proto: wrong wireType = %d for field DisableDropVirtualCluster", wireType)
  4616  			}
  4617  			var v int
  4618  			for shift := uint(0); ; shift += 7 {
  4619  				if shift >= 64 {
  4620  					return ErrIntOverflowLocalOnlySessionData
  4621  				}
  4622  				if iNdEx >= l {
  4623  					return io.ErrUnexpectedEOF
  4624  				}
  4625  				b := dAtA[iNdEx]
  4626  				iNdEx++
  4627  				v |= int(b&0x7F) << shift
  4628  				if b < 0x80 {
  4629  					break
  4630  				}
  4631  			}
  4632  			m.DisableDropVirtualCluster = bool(v != 0)
  4633  		case 100:
  4634  			if wireType != 0 {
  4635  				return fmt.Errorf("proto: wrong wireType = %d for field MultipleActivePortalsEnabled", wireType)
  4636  			}
  4637  			var v int
  4638  			for shift := uint(0); ; shift += 7 {
  4639  				if shift >= 64 {
  4640  					return ErrIntOverflowLocalOnlySessionData
  4641  				}
  4642  				if iNdEx >= l {
  4643  					return io.ErrUnexpectedEOF
  4644  				}
  4645  				b := dAtA[iNdEx]
  4646  				iNdEx++
  4647  				v |= int(b&0x7F) << shift
  4648  				if b < 0x80 {
  4649  					break
  4650  				}
  4651  			}
  4652  			m.MultipleActivePortalsEnabled = bool(v != 0)
  4653  		case 101:
  4654  			if wireType != 0 {
  4655  				return fmt.Errorf("proto: wrong wireType = %d for field UnboundedParallelScans", wireType)
  4656  			}
  4657  			var v int
  4658  			for shift := uint(0); ; shift += 7 {
  4659  				if shift >= 64 {
  4660  					return ErrIntOverflowLocalOnlySessionData
  4661  				}
  4662  				if iNdEx >= l {
  4663  					return io.ErrUnexpectedEOF
  4664  				}
  4665  				b := dAtA[iNdEx]
  4666  				iNdEx++
  4667  				v |= int(b&0x7F) << shift
  4668  				if b < 0x80 {
  4669  					break
  4670  				}
  4671  			}
  4672  			m.UnboundedParallelScans = bool(v != 0)
  4673  		case 102:
  4674  			if wireType != 0 {
  4675  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerHoistUncorrelatedEqualitySubqueries", wireType)
  4676  			}
  4677  			var v int
  4678  			for shift := uint(0); ; shift += 7 {
  4679  				if shift >= 64 {
  4680  					return ErrIntOverflowLocalOnlySessionData
  4681  				}
  4682  				if iNdEx >= l {
  4683  					return io.ErrUnexpectedEOF
  4684  				}
  4685  				b := dAtA[iNdEx]
  4686  				iNdEx++
  4687  				v |= int(b&0x7F) << shift
  4688  				if b < 0x80 {
  4689  					break
  4690  				}
  4691  			}
  4692  			m.OptimizerHoistUncorrelatedEqualitySubqueries = bool(v != 0)
  4693  		case 103:
  4694  			if wireType != 0 {
  4695  				return fmt.Errorf("proto: wrong wireType = %d for field TestingOptimizerInjectPanics", wireType)
  4696  			}
  4697  			var v int
  4698  			for shift := uint(0); ; shift += 7 {
  4699  				if shift >= 64 {
  4700  					return ErrIntOverflowLocalOnlySessionData
  4701  				}
  4702  				if iNdEx >= l {
  4703  					return io.ErrUnexpectedEOF
  4704  				}
  4705  				b := dAtA[iNdEx]
  4706  				iNdEx++
  4707  				v |= int(b&0x7F) << shift
  4708  				if b < 0x80 {
  4709  					break
  4710  				}
  4711  			}
  4712  			m.TestingOptimizerInjectPanics = bool(v != 0)
  4713  		case 104:
  4714  			if wireType != 0 {
  4715  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerUseImprovedComputedColumnFiltersDerivation", wireType)
  4716  			}
  4717  			var v int
  4718  			for shift := uint(0); ; shift += 7 {
  4719  				if shift >= 64 {
  4720  					return ErrIntOverflowLocalOnlySessionData
  4721  				}
  4722  				if iNdEx >= l {
  4723  					return io.ErrUnexpectedEOF
  4724  				}
  4725  				b := dAtA[iNdEx]
  4726  				iNdEx++
  4727  				v |= int(b&0x7F) << shift
  4728  				if b < 0x80 {
  4729  					break
  4730  				}
  4731  			}
  4732  			m.OptimizerUseImprovedComputedColumnFiltersDerivation = bool(v != 0)
  4733  		case 105:
  4734  			if wireType != 0 {
  4735  				return fmt.Errorf("proto: wrong wireType = %d for field DefaultTxnIsolationLevel", wireType)
  4736  			}
  4737  			m.DefaultTxnIsolationLevel = 0
  4738  			for shift := uint(0); ; shift += 7 {
  4739  				if shift >= 64 {
  4740  					return ErrIntOverflowLocalOnlySessionData
  4741  				}
  4742  				if iNdEx >= l {
  4743  					return io.ErrUnexpectedEOF
  4744  				}
  4745  				b := dAtA[iNdEx]
  4746  				iNdEx++
  4747  				m.DefaultTxnIsolationLevel |= int64(b&0x7F) << shift
  4748  				if b < 0x80 {
  4749  					break
  4750  				}
  4751  			}
  4752  		case 106:
  4753  			if wireType != 0 {
  4754  				return fmt.Errorf("proto: wrong wireType = %d for field ReplicationMode", wireType)
  4755  			}
  4756  			m.ReplicationMode = 0
  4757  			for shift := uint(0); ; shift += 7 {
  4758  				if shift >= 64 {
  4759  					return ErrIntOverflowLocalOnlySessionData
  4760  				}
  4761  				if iNdEx >= l {
  4762  					return io.ErrUnexpectedEOF
  4763  				}
  4764  				b := dAtA[iNdEx]
  4765  				iNdEx++
  4766  				m.ReplicationMode |= ReplicationMode(b&0x7F) << shift
  4767  				if b < 0x80 {
  4768  					break
  4769  				}
  4770  			}
  4771  		case 107:
  4772  			if wireType != 0 {
  4773  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerUseImprovedJoinElimination", wireType)
  4774  			}
  4775  			var v int
  4776  			for shift := uint(0); ; shift += 7 {
  4777  				if shift >= 64 {
  4778  					return ErrIntOverflowLocalOnlySessionData
  4779  				}
  4780  				if iNdEx >= l {
  4781  					return io.ErrUnexpectedEOF
  4782  				}
  4783  				b := dAtA[iNdEx]
  4784  				iNdEx++
  4785  				v |= int(b&0x7F) << shift
  4786  				if b < 0x80 {
  4787  					break
  4788  				}
  4789  			}
  4790  			m.OptimizerUseImprovedJoinElimination = bool(v != 0)
  4791  		case 108:
  4792  			if wireType != 0 {
  4793  				return fmt.Errorf("proto: wrong wireType = %d for field ImplicitFKLockingForSerializable", wireType)
  4794  			}
  4795  			var v int
  4796  			for shift := uint(0); ; shift += 7 {
  4797  				if shift >= 64 {
  4798  					return ErrIntOverflowLocalOnlySessionData
  4799  				}
  4800  				if iNdEx >= l {
  4801  					return io.ErrUnexpectedEOF
  4802  				}
  4803  				b := dAtA[iNdEx]
  4804  				iNdEx++
  4805  				v |= int(b&0x7F) << shift
  4806  				if b < 0x80 {
  4807  					break
  4808  				}
  4809  			}
  4810  			m.ImplicitFKLockingForSerializable = bool(v != 0)
  4811  		case 109:
  4812  			if wireType != 0 {
  4813  				return fmt.Errorf("proto: wrong wireType = %d for field DurableLockingForSerializable", wireType)
  4814  			}
  4815  			var v int
  4816  			for shift := uint(0); ; shift += 7 {
  4817  				if shift >= 64 {
  4818  					return ErrIntOverflowLocalOnlySessionData
  4819  				}
  4820  				if iNdEx >= l {
  4821  					return io.ErrUnexpectedEOF
  4822  				}
  4823  				b := dAtA[iNdEx]
  4824  				iNdEx++
  4825  				v |= int(b&0x7F) << shift
  4826  				if b < 0x80 {
  4827  					break
  4828  				}
  4829  			}
  4830  			m.DurableLockingForSerializable = bool(v != 0)
  4831  		case 110:
  4832  			if wireType != 0 {
  4833  				return fmt.Errorf("proto: wrong wireType = %d for field MaxRetriesForReadCommitted", wireType)
  4834  			}
  4835  			m.MaxRetriesForReadCommitted = 0
  4836  			for shift := uint(0); ; shift += 7 {
  4837  				if shift >= 64 {
  4838  					return ErrIntOverflowLocalOnlySessionData
  4839  				}
  4840  				if iNdEx >= l {
  4841  					return io.ErrUnexpectedEOF
  4842  				}
  4843  				b := dAtA[iNdEx]
  4844  				iNdEx++
  4845  				m.MaxRetriesForReadCommitted |= int32(b&0x7F) << shift
  4846  				if b < 0x80 {
  4847  					break
  4848  				}
  4849  			}
  4850  		case 111:
  4851  			if wireType != 0 {
  4852  				return fmt.Errorf("proto: wrong wireType = %d for field StrictDDLAtomicity", wireType)
  4853  			}
  4854  			var v int
  4855  			for shift := uint(0); ; shift += 7 {
  4856  				if shift >= 64 {
  4857  					return ErrIntOverflowLocalOnlySessionData
  4858  				}
  4859  				if iNdEx >= l {
  4860  					return io.ErrUnexpectedEOF
  4861  				}
  4862  				b := dAtA[iNdEx]
  4863  				iNdEx++
  4864  				v |= int(b&0x7F) << shift
  4865  				if b < 0x80 {
  4866  					break
  4867  				}
  4868  			}
  4869  			m.StrictDDLAtomicity = bool(v != 0)
  4870  		case 112:
  4871  			if wireType != 0 {
  4872  				return fmt.Errorf("proto: wrong wireType = %d for field SharedLockingForSerializable", wireType)
  4873  			}
  4874  			var v int
  4875  			for shift := uint(0); ; shift += 7 {
  4876  				if shift >= 64 {
  4877  					return ErrIntOverflowLocalOnlySessionData
  4878  				}
  4879  				if iNdEx >= l {
  4880  					return io.ErrUnexpectedEOF
  4881  				}
  4882  				b := dAtA[iNdEx]
  4883  				iNdEx++
  4884  				v |= int(b&0x7F) << shift
  4885  				if b < 0x80 {
  4886  					break
  4887  				}
  4888  			}
  4889  			m.SharedLockingForSerializable = bool(v != 0)
  4890  		case 113:
  4891  			if wireType != 2 {
  4892  				return fmt.Errorf("proto: wrong wireType = %d for field UnsafeSettingInterlockKey", wireType)
  4893  			}
  4894  			var stringLen uint64
  4895  			for shift := uint(0); ; shift += 7 {
  4896  				if shift >= 64 {
  4897  					return ErrIntOverflowLocalOnlySessionData
  4898  				}
  4899  				if iNdEx >= l {
  4900  					return io.ErrUnexpectedEOF
  4901  				}
  4902  				b := dAtA[iNdEx]
  4903  				iNdEx++
  4904  				stringLen |= uint64(b&0x7F) << shift
  4905  				if b < 0x80 {
  4906  					break
  4907  				}
  4908  			}
  4909  			intStringLen := int(stringLen)
  4910  			if intStringLen < 0 {
  4911  				return ErrInvalidLengthLocalOnlySessionData
  4912  			}
  4913  			postIndex := iNdEx + intStringLen
  4914  			if postIndex < 0 {
  4915  				return ErrInvalidLengthLocalOnlySessionData
  4916  			}
  4917  			if postIndex > l {
  4918  				return io.ErrUnexpectedEOF
  4919  			}
  4920  			m.UnsafeSettingInterlockKey = string(dAtA[iNdEx:postIndex])
  4921  			iNdEx = postIndex
  4922  		case 114:
  4923  			if wireType != 0 {
  4924  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerUseLockOpForSerializable", wireType)
  4925  			}
  4926  			var v int
  4927  			for shift := uint(0); ; shift += 7 {
  4928  				if shift >= 64 {
  4929  					return ErrIntOverflowLocalOnlySessionData
  4930  				}
  4931  				if iNdEx >= l {
  4932  					return io.ErrUnexpectedEOF
  4933  				}
  4934  				b := dAtA[iNdEx]
  4935  				iNdEx++
  4936  				v |= int(b&0x7F) << shift
  4937  				if b < 0x80 {
  4938  					break
  4939  				}
  4940  			}
  4941  			m.OptimizerUseLockOpForSerializable = bool(v != 0)
  4942  		case 115:
  4943  			if wireType != 0 {
  4944  				return fmt.Errorf("proto: wrong wireType = %d for field OptimizerUseProvidedOrderingFix", wireType)
  4945  			}
  4946  			var v int
  4947  			for shift := uint(0); ; shift += 7 {
  4948  				if shift >= 64 {
  4949  					return ErrIntOverflowLocalOnlySessionData
  4950  				}
  4951  				if iNdEx >= l {
  4952  					return io.ErrUnexpectedEOF
  4953  				}
  4954  				b := dAtA[iNdEx]
  4955  				iNdEx++
  4956  				v |= int(b&0x7F) << shift
  4957  				if b < 0x80 {
  4958  					break
  4959  				}
  4960  			}
  4961  			m.OptimizerUseProvidedOrderingFix = bool(v != 0)
  4962  		case 116:
  4963  			if wireType != 0 {
  4964  				return fmt.Errorf("proto: wrong wireType = %d for field DisableChangefeedReplication", wireType)
  4965  			}
  4966  			var v int
  4967  			for shift := uint(0); ; shift += 7 {
  4968  				if shift >= 64 {
  4969  					return ErrIntOverflowLocalOnlySessionData
  4970  				}
  4971  				if iNdEx >= l {
  4972  					return io.ErrUnexpectedEOF
  4973  				}
  4974  				b := dAtA[iNdEx]
  4975  				iNdEx++
  4976  				v |= int(b&0x7F) << shift
  4977  				if b < 0x80 {
  4978  					break
  4979  				}
  4980  			}
  4981  			m.DisableChangefeedReplication = bool(v != 0)
  4982  		case 117:
  4983  			if wireType != 0 {
  4984  				return fmt.Errorf("proto: wrong wireType = %d for field CopyTxnQualityOfService", wireType)
  4985  			}
  4986  			m.CopyTxnQualityOfService = 0
  4987  			for shift := uint(0); ; shift += 7 {
  4988  				if shift >= 64 {
  4989  					return ErrIntOverflowLocalOnlySessionData
  4990  				}
  4991  				if iNdEx >= l {
  4992  					return io.ErrUnexpectedEOF
  4993  				}
  4994  				b := dAtA[iNdEx]
  4995  				iNdEx++
  4996  				m.CopyTxnQualityOfService |= QoSLevel(b&0x7F) << shift
  4997  				if b < 0x80 {
  4998  					break
  4999  				}
  5000  			}
  5001  		case 118:
  5002  			if wireType != 0 {
  5003  				return fmt.Errorf("proto: wrong wireType = %d for field CopyWritePipeliningEnabled", wireType)
  5004  			}
  5005  			var v int
  5006  			for shift := uint(0); ; shift += 7 {
  5007  				if shift >= 64 {
  5008  					return ErrIntOverflowLocalOnlySessionData
  5009  				}
  5010  				if iNdEx >= l {
  5011  					return io.ErrUnexpectedEOF
  5012  				}
  5013  				b := dAtA[iNdEx]
  5014  				iNdEx++
  5015  				v |= int(b&0x7F) << shift
  5016  				if b < 0x80 {
  5017  					break
  5018  				}
  5019  			}
  5020  			m.CopyWritePipeliningEnabled = bool(v != 0)
  5021  		case 120:
  5022  			if wireType != 0 {
  5023  				return fmt.Errorf("proto: wrong wireType = %d for field CopyNumRetriesPerBatch", wireType)
  5024  			}
  5025  			m.CopyNumRetriesPerBatch = 0
  5026  			for shift := uint(0); ; shift += 7 {
  5027  				if shift >= 64 {
  5028  					return ErrIntOverflowLocalOnlySessionData
  5029  				}
  5030  				if iNdEx >= l {
  5031  					return io.ErrUnexpectedEOF
  5032  				}
  5033  				b := dAtA[iNdEx]
  5034  				iNdEx++
  5035  				m.CopyNumRetriesPerBatch |= int32(b&0x7F) << shift
  5036  				if b < 0x80 {
  5037  					break
  5038  				}
  5039  			}
  5040  		default:
  5041  			iNdEx = preIndex
  5042  			skippy, err := skipLocalOnlySessionData(dAtA[iNdEx:])
  5043  			if err != nil {
  5044  				return err
  5045  			}
  5046  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  5047  				return ErrInvalidLengthLocalOnlySessionData
  5048  			}
  5049  			if (iNdEx + skippy) > l {
  5050  				return io.ErrUnexpectedEOF
  5051  			}
  5052  			iNdEx += skippy
  5053  		}
  5054  	}
  5055  
  5056  	if iNdEx > l {
  5057  		return io.ErrUnexpectedEOF
  5058  	}
  5059  	return nil
  5060  }
  5061  func (m *SequenceCacheEntry) Unmarshal(dAtA []byte) error {
  5062  	l := len(dAtA)
  5063  	iNdEx := 0
  5064  	for iNdEx < l {
  5065  		preIndex := iNdEx
  5066  		var wire uint64
  5067  		for shift := uint(0); ; shift += 7 {
  5068  			if shift >= 64 {
  5069  				return ErrIntOverflowLocalOnlySessionData
  5070  			}
  5071  			if iNdEx >= l {
  5072  				return io.ErrUnexpectedEOF
  5073  			}
  5074  			b := dAtA[iNdEx]
  5075  			iNdEx++
  5076  			wire |= uint64(b&0x7F) << shift
  5077  			if b < 0x80 {
  5078  				break
  5079  			}
  5080  		}
  5081  		fieldNum := int32(wire >> 3)
  5082  		wireType := int(wire & 0x7)
  5083  		if wireType == 4 {
  5084  			return fmt.Errorf("proto: SequenceCacheEntry: wiretype end group for non-group")
  5085  		}
  5086  		if fieldNum <= 0 {
  5087  			return fmt.Errorf("proto: SequenceCacheEntry: illegal tag %d (wire type %d)", fieldNum, wire)
  5088  		}
  5089  		switch fieldNum {
  5090  		case 1:
  5091  			if wireType != 0 {
  5092  				return fmt.Errorf("proto: wrong wireType = %d for field CachedVersion", wireType)
  5093  			}
  5094  			m.CachedVersion = 0
  5095  			for shift := uint(0); ; shift += 7 {
  5096  				if shift >= 64 {
  5097  					return ErrIntOverflowLocalOnlySessionData
  5098  				}
  5099  				if iNdEx >= l {
  5100  					return io.ErrUnexpectedEOF
  5101  				}
  5102  				b := dAtA[iNdEx]
  5103  				iNdEx++
  5104  				m.CachedVersion |= uint32(b&0x7F) << shift
  5105  				if b < 0x80 {
  5106  					break
  5107  				}
  5108  			}
  5109  		case 2:
  5110  			if wireType != 0 {
  5111  				return fmt.Errorf("proto: wrong wireType = %d for field CurrentValue", wireType)
  5112  			}
  5113  			m.CurrentValue = 0
  5114  			for shift := uint(0); ; shift += 7 {
  5115  				if shift >= 64 {
  5116  					return ErrIntOverflowLocalOnlySessionData
  5117  				}
  5118  				if iNdEx >= l {
  5119  					return io.ErrUnexpectedEOF
  5120  				}
  5121  				b := dAtA[iNdEx]
  5122  				iNdEx++
  5123  				m.CurrentValue |= int64(b&0x7F) << shift
  5124  				if b < 0x80 {
  5125  					break
  5126  				}
  5127  			}
  5128  		case 3:
  5129  			if wireType != 0 {
  5130  				return fmt.Errorf("proto: wrong wireType = %d for field Increment", wireType)
  5131  			}
  5132  			m.Increment = 0
  5133  			for shift := uint(0); ; shift += 7 {
  5134  				if shift >= 64 {
  5135  					return ErrIntOverflowLocalOnlySessionData
  5136  				}
  5137  				if iNdEx >= l {
  5138  					return io.ErrUnexpectedEOF
  5139  				}
  5140  				b := dAtA[iNdEx]
  5141  				iNdEx++
  5142  				m.Increment |= int64(b&0x7F) << shift
  5143  				if b < 0x80 {
  5144  					break
  5145  				}
  5146  			}
  5147  		case 4:
  5148  			if wireType != 0 {
  5149  				return fmt.Errorf("proto: wrong wireType = %d for field NumValues", wireType)
  5150  			}
  5151  			m.NumValues = 0
  5152  			for shift := uint(0); ; shift += 7 {
  5153  				if shift >= 64 {
  5154  					return ErrIntOverflowLocalOnlySessionData
  5155  				}
  5156  				if iNdEx >= l {
  5157  					return io.ErrUnexpectedEOF
  5158  				}
  5159  				b := dAtA[iNdEx]
  5160  				iNdEx++
  5161  				m.NumValues |= int64(b&0x7F) << shift
  5162  				if b < 0x80 {
  5163  					break
  5164  				}
  5165  			}
  5166  		default:
  5167  			iNdEx = preIndex
  5168  			skippy, err := skipLocalOnlySessionData(dAtA[iNdEx:])
  5169  			if err != nil {
  5170  				return err
  5171  			}
  5172  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  5173  				return ErrInvalidLengthLocalOnlySessionData
  5174  			}
  5175  			if (iNdEx + skippy) > l {
  5176  				return io.ErrUnexpectedEOF
  5177  			}
  5178  			iNdEx += skippy
  5179  		}
  5180  	}
  5181  
  5182  	if iNdEx > l {
  5183  		return io.ErrUnexpectedEOF
  5184  	}
  5185  	return nil
  5186  }
  5187  func skipLocalOnlySessionData(dAtA []byte) (n int, err error) {
  5188  	l := len(dAtA)
  5189  	iNdEx := 0
  5190  	depth := 0
  5191  	for iNdEx < l {
  5192  		var wire uint64
  5193  		for shift := uint(0); ; shift += 7 {
  5194  			if shift >= 64 {
  5195  				return 0, ErrIntOverflowLocalOnlySessionData
  5196  			}
  5197  			if iNdEx >= l {
  5198  				return 0, io.ErrUnexpectedEOF
  5199  			}
  5200  			b := dAtA[iNdEx]
  5201  			iNdEx++
  5202  			wire |= (uint64(b) & 0x7F) << shift
  5203  			if b < 0x80 {
  5204  				break
  5205  			}
  5206  		}
  5207  		wireType := int(wire & 0x7)
  5208  		switch wireType {
  5209  		case 0:
  5210  			for shift := uint(0); ; shift += 7 {
  5211  				if shift >= 64 {
  5212  					return 0, ErrIntOverflowLocalOnlySessionData
  5213  				}
  5214  				if iNdEx >= l {
  5215  					return 0, io.ErrUnexpectedEOF
  5216  				}
  5217  				iNdEx++
  5218  				if dAtA[iNdEx-1] < 0x80 {
  5219  					break
  5220  				}
  5221  			}
  5222  		case 1:
  5223  			iNdEx += 8
  5224  		case 2:
  5225  			var length int
  5226  			for shift := uint(0); ; shift += 7 {
  5227  				if shift >= 64 {
  5228  					return 0, ErrIntOverflowLocalOnlySessionData
  5229  				}
  5230  				if iNdEx >= l {
  5231  					return 0, io.ErrUnexpectedEOF
  5232  				}
  5233  				b := dAtA[iNdEx]
  5234  				iNdEx++
  5235  				length |= (int(b) & 0x7F) << shift
  5236  				if b < 0x80 {
  5237  					break
  5238  				}
  5239  			}
  5240  			if length < 0 {
  5241  				return 0, ErrInvalidLengthLocalOnlySessionData
  5242  			}
  5243  			iNdEx += length
  5244  		case 3:
  5245  			depth++
  5246  		case 4:
  5247  			if depth == 0 {
  5248  				return 0, ErrUnexpectedEndOfGroupLocalOnlySessionData
  5249  			}
  5250  			depth--
  5251  		case 5:
  5252  			iNdEx += 4
  5253  		default:
  5254  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  5255  		}
  5256  		if iNdEx < 0 {
  5257  			return 0, ErrInvalidLengthLocalOnlySessionData
  5258  		}
  5259  		if depth == 0 {
  5260  			return iNdEx, nil
  5261  		}
  5262  	}
  5263  	return 0, io.ErrUnexpectedEOF
  5264  }
  5265  
  5266  var (
  5267  	ErrInvalidLengthLocalOnlySessionData        = fmt.Errorf("proto: negative length found during unmarshaling")
  5268  	ErrIntOverflowLocalOnlySessionData          = fmt.Errorf("proto: integer overflow")
  5269  	ErrUnexpectedEndOfGroupLocalOnlySessionData = fmt.Errorf("proto: unexpected end of group")
  5270  )
  5271