github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/roachpb/batch_generated.go (about)

     1  // Code generated by gen_batch.go; DO NOT EDIT.
     2  // GENERATED FILE DO NOT EDIT
     3  
     4  package roachpb
     5  
     6  import (
     7  	"fmt"
     8  	"strconv"
     9  	"strings"
    10  )
    11  
    12  // GetInner returns the error contained in the union.
    13  func (ru ErrorDetail) GetInner() error {
    14  	switch t := ru.GetValue().(type) {
    15  	case *ErrorDetail_NotLeaseHolder:
    16  		return t.NotLeaseHolder
    17  	case *ErrorDetail_RangeNotFound:
    18  		return t.RangeNotFound
    19  	case *ErrorDetail_RangeKeyMismatch:
    20  		return t.RangeKeyMismatch
    21  	case *ErrorDetail_ReadWithinUncertaintyInterval:
    22  		return t.ReadWithinUncertaintyInterval
    23  	case *ErrorDetail_TransactionAborted:
    24  		return t.TransactionAborted
    25  	case *ErrorDetail_TransactionPush:
    26  		return t.TransactionPush
    27  	case *ErrorDetail_TransactionRetry:
    28  		return t.TransactionRetry
    29  	case *ErrorDetail_TransactionStatus:
    30  		return t.TransactionStatus
    31  	case *ErrorDetail_WriteIntent:
    32  		return t.WriteIntent
    33  	case *ErrorDetail_WriteTooOld:
    34  		return t.WriteTooOld
    35  	case *ErrorDetail_OpRequiresTxn:
    36  		return t.OpRequiresTxn
    37  	case *ErrorDetail_ConditionFailed:
    38  		return t.ConditionFailed
    39  	case *ErrorDetail_LeaseRejected:
    40  		return t.LeaseRejected
    41  	case *ErrorDetail_NodeUnavailable:
    42  		return t.NodeUnavailable
    43  	case *ErrorDetail_Send:
    44  		return t.Send
    45  	case *ErrorDetail_RaftGroupDeleted:
    46  		return t.RaftGroupDeleted
    47  	case *ErrorDetail_ReplicaCorruption:
    48  		return t.ReplicaCorruption
    49  	case *ErrorDetail_ReplicaTooOld:
    50  		return t.ReplicaTooOld
    51  	case *ErrorDetail_AmbiguousResult:
    52  		return t.AmbiguousResult
    53  	case *ErrorDetail_StoreNotFound:
    54  		return t.StoreNotFound
    55  	case *ErrorDetail_TransactionRetryWithProtoRefresh:
    56  		return t.TransactionRetryWithProtoRefresh
    57  	case *ErrorDetail_IntegerOverflow:
    58  		return t.IntegerOverflow
    59  	case *ErrorDetail_UnsupportedRequest:
    60  		return t.UnsupportedRequest
    61  	case *ErrorDetail_TimestampBefore:
    62  		return t.TimestampBefore
    63  	case *ErrorDetail_TxnAlreadyEncounteredError:
    64  		return t.TxnAlreadyEncounteredError
    65  	case *ErrorDetail_IntentMissing:
    66  		return t.IntentMissing
    67  	case *ErrorDetail_MergeInProgress:
    68  		return t.MergeInProgress
    69  	case *ErrorDetail_RangefeedRetry:
    70  		return t.RangefeedRetry
    71  	case *ErrorDetail_IndeterminateCommit:
    72  		return t.IndeterminateCommit
    73  	default:
    74  		return nil
    75  	}
    76  }
    77  
    78  // GetInner returns the Request contained in the union.
    79  func (ru RequestUnion) GetInner() Request {
    80  	switch t := ru.GetValue().(type) {
    81  	case *RequestUnion_Get:
    82  		return t.Get
    83  	case *RequestUnion_Put:
    84  		return t.Put
    85  	case *RequestUnion_ConditionalPut:
    86  		return t.ConditionalPut
    87  	case *RequestUnion_Increment:
    88  		return t.Increment
    89  	case *RequestUnion_Delete:
    90  		return t.Delete
    91  	case *RequestUnion_DeleteRange:
    92  		return t.DeleteRange
    93  	case *RequestUnion_ClearRange:
    94  		return t.ClearRange
    95  	case *RequestUnion_RevertRange:
    96  		return t.RevertRange
    97  	case *RequestUnion_Scan:
    98  		return t.Scan
    99  	case *RequestUnion_EndTxn:
   100  		return t.EndTxn
   101  	case *RequestUnion_AdminSplit:
   102  		return t.AdminSplit
   103  	case *RequestUnion_AdminUnsplit:
   104  		return t.AdminUnsplit
   105  	case *RequestUnion_AdminMerge:
   106  		return t.AdminMerge
   107  	case *RequestUnion_AdminTransferLease:
   108  		return t.AdminTransferLease
   109  	case *RequestUnion_AdminChangeReplicas:
   110  		return t.AdminChangeReplicas
   111  	case *RequestUnion_AdminRelocateRange:
   112  		return t.AdminRelocateRange
   113  	case *RequestUnion_HeartbeatTxn:
   114  		return t.HeartbeatTxn
   115  	case *RequestUnion_Gc:
   116  		return t.Gc
   117  	case *RequestUnion_PushTxn:
   118  		return t.PushTxn
   119  	case *RequestUnion_RecoverTxn:
   120  		return t.RecoverTxn
   121  	case *RequestUnion_ResolveIntent:
   122  		return t.ResolveIntent
   123  	case *RequestUnion_ResolveIntentRange:
   124  		return t.ResolveIntentRange
   125  	case *RequestUnion_Merge:
   126  		return t.Merge
   127  	case *RequestUnion_TruncateLog:
   128  		return t.TruncateLog
   129  	case *RequestUnion_RequestLease:
   130  		return t.RequestLease
   131  	case *RequestUnion_ReverseScan:
   132  		return t.ReverseScan
   133  	case *RequestUnion_ComputeChecksum:
   134  		return t.ComputeChecksum
   135  	case *RequestUnion_CheckConsistency:
   136  		return t.CheckConsistency
   137  	case *RequestUnion_InitPut:
   138  		return t.InitPut
   139  	case *RequestUnion_TransferLease:
   140  		return t.TransferLease
   141  	case *RequestUnion_LeaseInfo:
   142  		return t.LeaseInfo
   143  	case *RequestUnion_WriteBatch:
   144  		return t.WriteBatch
   145  	case *RequestUnion_Export:
   146  		return t.Export
   147  	case *RequestUnion_Import:
   148  		return t.Import
   149  	case *RequestUnion_QueryTxn:
   150  		return t.QueryTxn
   151  	case *RequestUnion_QueryIntent:
   152  		return t.QueryIntent
   153  	case *RequestUnion_AdminScatter:
   154  		return t.AdminScatter
   155  	case *RequestUnion_AddSstable:
   156  		return t.AddSstable
   157  	case *RequestUnion_RecomputeStats:
   158  		return t.RecomputeStats
   159  	case *RequestUnion_Refresh:
   160  		return t.Refresh
   161  	case *RequestUnion_RefreshRange:
   162  		return t.RefreshRange
   163  	case *RequestUnion_Subsume:
   164  		return t.Subsume
   165  	case *RequestUnion_RangeStats:
   166  		return t.RangeStats
   167  	case *RequestUnion_AdminVerifyProtectedTimestamp:
   168  		return t.AdminVerifyProtectedTimestamp
   169  	default:
   170  		return nil
   171  	}
   172  }
   173  
   174  // GetInner returns the Response contained in the union.
   175  func (ru ResponseUnion) GetInner() Response {
   176  	switch t := ru.GetValue().(type) {
   177  	case *ResponseUnion_Get:
   178  		return t.Get
   179  	case *ResponseUnion_Put:
   180  		return t.Put
   181  	case *ResponseUnion_ConditionalPut:
   182  		return t.ConditionalPut
   183  	case *ResponseUnion_Increment:
   184  		return t.Increment
   185  	case *ResponseUnion_Delete:
   186  		return t.Delete
   187  	case *ResponseUnion_DeleteRange:
   188  		return t.DeleteRange
   189  	case *ResponseUnion_ClearRange:
   190  		return t.ClearRange
   191  	case *ResponseUnion_RevertRange:
   192  		return t.RevertRange
   193  	case *ResponseUnion_Scan:
   194  		return t.Scan
   195  	case *ResponseUnion_EndTxn:
   196  		return t.EndTxn
   197  	case *ResponseUnion_AdminSplit:
   198  		return t.AdminSplit
   199  	case *ResponseUnion_AdminUnsplit:
   200  		return t.AdminUnsplit
   201  	case *ResponseUnion_AdminMerge:
   202  		return t.AdminMerge
   203  	case *ResponseUnion_AdminTransferLease:
   204  		return t.AdminTransferLease
   205  	case *ResponseUnion_AdminChangeReplicas:
   206  		return t.AdminChangeReplicas
   207  	case *ResponseUnion_AdminRelocateRange:
   208  		return t.AdminRelocateRange
   209  	case *ResponseUnion_HeartbeatTxn:
   210  		return t.HeartbeatTxn
   211  	case *ResponseUnion_Gc:
   212  		return t.Gc
   213  	case *ResponseUnion_PushTxn:
   214  		return t.PushTxn
   215  	case *ResponseUnion_RecoverTxn:
   216  		return t.RecoverTxn
   217  	case *ResponseUnion_ResolveIntent:
   218  		return t.ResolveIntent
   219  	case *ResponseUnion_ResolveIntentRange:
   220  		return t.ResolveIntentRange
   221  	case *ResponseUnion_Merge:
   222  		return t.Merge
   223  	case *ResponseUnion_TruncateLog:
   224  		return t.TruncateLog
   225  	case *ResponseUnion_RequestLease:
   226  		return t.RequestLease
   227  	case *ResponseUnion_ReverseScan:
   228  		return t.ReverseScan
   229  	case *ResponseUnion_ComputeChecksum:
   230  		return t.ComputeChecksum
   231  	case *ResponseUnion_CheckConsistency:
   232  		return t.CheckConsistency
   233  	case *ResponseUnion_InitPut:
   234  		return t.InitPut
   235  	case *ResponseUnion_LeaseInfo:
   236  		return t.LeaseInfo
   237  	case *ResponseUnion_WriteBatch:
   238  		return t.WriteBatch
   239  	case *ResponseUnion_Export:
   240  		return t.Export
   241  	case *ResponseUnion_Import:
   242  		return t.Import
   243  	case *ResponseUnion_QueryTxn:
   244  		return t.QueryTxn
   245  	case *ResponseUnion_QueryIntent:
   246  		return t.QueryIntent
   247  	case *ResponseUnion_AdminScatter:
   248  		return t.AdminScatter
   249  	case *ResponseUnion_AddSstable:
   250  		return t.AddSstable
   251  	case *ResponseUnion_RecomputeStats:
   252  		return t.RecomputeStats
   253  	case *ResponseUnion_Refresh:
   254  		return t.Refresh
   255  	case *ResponseUnion_RefreshRange:
   256  		return t.RefreshRange
   257  	case *ResponseUnion_Subsume:
   258  		return t.Subsume
   259  	case *ResponseUnion_RangeStats:
   260  		return t.RangeStats
   261  	case *ResponseUnion_AdminVerifyProtectedTimestamp:
   262  		return t.AdminVerifyProtectedTimestamp
   263  	default:
   264  		return nil
   265  	}
   266  }
   267  
   268  // SetInner sets the error in the union.
   269  func (ru *ErrorDetail) SetInner(r error) bool {
   270  	var union isErrorDetail_Value
   271  	switch t := r.(type) {
   272  	case *NotLeaseHolderError:
   273  		union = &ErrorDetail_NotLeaseHolder{t}
   274  	case *RangeNotFoundError:
   275  		union = &ErrorDetail_RangeNotFound{t}
   276  	case *RangeKeyMismatchError:
   277  		union = &ErrorDetail_RangeKeyMismatch{t}
   278  	case *ReadWithinUncertaintyIntervalError:
   279  		union = &ErrorDetail_ReadWithinUncertaintyInterval{t}
   280  	case *TransactionAbortedError:
   281  		union = &ErrorDetail_TransactionAborted{t}
   282  	case *TransactionPushError:
   283  		union = &ErrorDetail_TransactionPush{t}
   284  	case *TransactionRetryError:
   285  		union = &ErrorDetail_TransactionRetry{t}
   286  	case *TransactionStatusError:
   287  		union = &ErrorDetail_TransactionStatus{t}
   288  	case *WriteIntentError:
   289  		union = &ErrorDetail_WriteIntent{t}
   290  	case *WriteTooOldError:
   291  		union = &ErrorDetail_WriteTooOld{t}
   292  	case *OpRequiresTxnError:
   293  		union = &ErrorDetail_OpRequiresTxn{t}
   294  	case *ConditionFailedError:
   295  		union = &ErrorDetail_ConditionFailed{t}
   296  	case *LeaseRejectedError:
   297  		union = &ErrorDetail_LeaseRejected{t}
   298  	case *NodeUnavailableError:
   299  		union = &ErrorDetail_NodeUnavailable{t}
   300  	case *SendError:
   301  		union = &ErrorDetail_Send{t}
   302  	case *RaftGroupDeletedError:
   303  		union = &ErrorDetail_RaftGroupDeleted{t}
   304  	case *ReplicaCorruptionError:
   305  		union = &ErrorDetail_ReplicaCorruption{t}
   306  	case *ReplicaTooOldError:
   307  		union = &ErrorDetail_ReplicaTooOld{t}
   308  	case *AmbiguousResultError:
   309  		union = &ErrorDetail_AmbiguousResult{t}
   310  	case *StoreNotFoundError:
   311  		union = &ErrorDetail_StoreNotFound{t}
   312  	case *TransactionRetryWithProtoRefreshError:
   313  		union = &ErrorDetail_TransactionRetryWithProtoRefresh{t}
   314  	case *IntegerOverflowError:
   315  		union = &ErrorDetail_IntegerOverflow{t}
   316  	case *UnsupportedRequestError:
   317  		union = &ErrorDetail_UnsupportedRequest{t}
   318  	case *BatchTimestampBeforeGCError:
   319  		union = &ErrorDetail_TimestampBefore{t}
   320  	case *TxnAlreadyEncounteredErrorError:
   321  		union = &ErrorDetail_TxnAlreadyEncounteredError{t}
   322  	case *IntentMissingError:
   323  		union = &ErrorDetail_IntentMissing{t}
   324  	case *MergeInProgressError:
   325  		union = &ErrorDetail_MergeInProgress{t}
   326  	case *RangeFeedRetryError:
   327  		union = &ErrorDetail_RangefeedRetry{t}
   328  	case *IndeterminateCommitError:
   329  		union = &ErrorDetail_IndeterminateCommit{t}
   330  	default:
   331  		return false
   332  	}
   333  	ru.Value = union
   334  	return true
   335  }
   336  
   337  // SetInner sets the Request in the union.
   338  func (ru *RequestUnion) SetInner(r Request) bool {
   339  	var union isRequestUnion_Value
   340  	switch t := r.(type) {
   341  	case *GetRequest:
   342  		union = &RequestUnion_Get{t}
   343  	case *PutRequest:
   344  		union = &RequestUnion_Put{t}
   345  	case *ConditionalPutRequest:
   346  		union = &RequestUnion_ConditionalPut{t}
   347  	case *IncrementRequest:
   348  		union = &RequestUnion_Increment{t}
   349  	case *DeleteRequest:
   350  		union = &RequestUnion_Delete{t}
   351  	case *DeleteRangeRequest:
   352  		union = &RequestUnion_DeleteRange{t}
   353  	case *ClearRangeRequest:
   354  		union = &RequestUnion_ClearRange{t}
   355  	case *RevertRangeRequest:
   356  		union = &RequestUnion_RevertRange{t}
   357  	case *ScanRequest:
   358  		union = &RequestUnion_Scan{t}
   359  	case *EndTxnRequest:
   360  		union = &RequestUnion_EndTxn{t}
   361  	case *AdminSplitRequest:
   362  		union = &RequestUnion_AdminSplit{t}
   363  	case *AdminUnsplitRequest:
   364  		union = &RequestUnion_AdminUnsplit{t}
   365  	case *AdminMergeRequest:
   366  		union = &RequestUnion_AdminMerge{t}
   367  	case *AdminTransferLeaseRequest:
   368  		union = &RequestUnion_AdminTransferLease{t}
   369  	case *AdminChangeReplicasRequest:
   370  		union = &RequestUnion_AdminChangeReplicas{t}
   371  	case *AdminRelocateRangeRequest:
   372  		union = &RequestUnion_AdminRelocateRange{t}
   373  	case *HeartbeatTxnRequest:
   374  		union = &RequestUnion_HeartbeatTxn{t}
   375  	case *GCRequest:
   376  		union = &RequestUnion_Gc{t}
   377  	case *PushTxnRequest:
   378  		union = &RequestUnion_PushTxn{t}
   379  	case *RecoverTxnRequest:
   380  		union = &RequestUnion_RecoverTxn{t}
   381  	case *ResolveIntentRequest:
   382  		union = &RequestUnion_ResolveIntent{t}
   383  	case *ResolveIntentRangeRequest:
   384  		union = &RequestUnion_ResolveIntentRange{t}
   385  	case *MergeRequest:
   386  		union = &RequestUnion_Merge{t}
   387  	case *TruncateLogRequest:
   388  		union = &RequestUnion_TruncateLog{t}
   389  	case *RequestLeaseRequest:
   390  		union = &RequestUnion_RequestLease{t}
   391  	case *ReverseScanRequest:
   392  		union = &RequestUnion_ReverseScan{t}
   393  	case *ComputeChecksumRequest:
   394  		union = &RequestUnion_ComputeChecksum{t}
   395  	case *CheckConsistencyRequest:
   396  		union = &RequestUnion_CheckConsistency{t}
   397  	case *InitPutRequest:
   398  		union = &RequestUnion_InitPut{t}
   399  	case *TransferLeaseRequest:
   400  		union = &RequestUnion_TransferLease{t}
   401  	case *LeaseInfoRequest:
   402  		union = &RequestUnion_LeaseInfo{t}
   403  	case *WriteBatchRequest:
   404  		union = &RequestUnion_WriteBatch{t}
   405  	case *ExportRequest:
   406  		union = &RequestUnion_Export{t}
   407  	case *ImportRequest:
   408  		union = &RequestUnion_Import{t}
   409  	case *QueryTxnRequest:
   410  		union = &RequestUnion_QueryTxn{t}
   411  	case *QueryIntentRequest:
   412  		union = &RequestUnion_QueryIntent{t}
   413  	case *AdminScatterRequest:
   414  		union = &RequestUnion_AdminScatter{t}
   415  	case *AddSSTableRequest:
   416  		union = &RequestUnion_AddSstable{t}
   417  	case *RecomputeStatsRequest:
   418  		union = &RequestUnion_RecomputeStats{t}
   419  	case *RefreshRequest:
   420  		union = &RequestUnion_Refresh{t}
   421  	case *RefreshRangeRequest:
   422  		union = &RequestUnion_RefreshRange{t}
   423  	case *SubsumeRequest:
   424  		union = &RequestUnion_Subsume{t}
   425  	case *RangeStatsRequest:
   426  		union = &RequestUnion_RangeStats{t}
   427  	case *AdminVerifyProtectedTimestampRequest:
   428  		union = &RequestUnion_AdminVerifyProtectedTimestamp{t}
   429  	default:
   430  		return false
   431  	}
   432  	ru.Value = union
   433  	return true
   434  }
   435  
   436  // SetInner sets the Response in the union.
   437  func (ru *ResponseUnion) SetInner(r Response) bool {
   438  	var union isResponseUnion_Value
   439  	switch t := r.(type) {
   440  	case *GetResponse:
   441  		union = &ResponseUnion_Get{t}
   442  	case *PutResponse:
   443  		union = &ResponseUnion_Put{t}
   444  	case *ConditionalPutResponse:
   445  		union = &ResponseUnion_ConditionalPut{t}
   446  	case *IncrementResponse:
   447  		union = &ResponseUnion_Increment{t}
   448  	case *DeleteResponse:
   449  		union = &ResponseUnion_Delete{t}
   450  	case *DeleteRangeResponse:
   451  		union = &ResponseUnion_DeleteRange{t}
   452  	case *ClearRangeResponse:
   453  		union = &ResponseUnion_ClearRange{t}
   454  	case *RevertRangeResponse:
   455  		union = &ResponseUnion_RevertRange{t}
   456  	case *ScanResponse:
   457  		union = &ResponseUnion_Scan{t}
   458  	case *EndTxnResponse:
   459  		union = &ResponseUnion_EndTxn{t}
   460  	case *AdminSplitResponse:
   461  		union = &ResponseUnion_AdminSplit{t}
   462  	case *AdminUnsplitResponse:
   463  		union = &ResponseUnion_AdminUnsplit{t}
   464  	case *AdminMergeResponse:
   465  		union = &ResponseUnion_AdminMerge{t}
   466  	case *AdminTransferLeaseResponse:
   467  		union = &ResponseUnion_AdminTransferLease{t}
   468  	case *AdminChangeReplicasResponse:
   469  		union = &ResponseUnion_AdminChangeReplicas{t}
   470  	case *AdminRelocateRangeResponse:
   471  		union = &ResponseUnion_AdminRelocateRange{t}
   472  	case *HeartbeatTxnResponse:
   473  		union = &ResponseUnion_HeartbeatTxn{t}
   474  	case *GCResponse:
   475  		union = &ResponseUnion_Gc{t}
   476  	case *PushTxnResponse:
   477  		union = &ResponseUnion_PushTxn{t}
   478  	case *RecoverTxnResponse:
   479  		union = &ResponseUnion_RecoverTxn{t}
   480  	case *ResolveIntentResponse:
   481  		union = &ResponseUnion_ResolveIntent{t}
   482  	case *ResolveIntentRangeResponse:
   483  		union = &ResponseUnion_ResolveIntentRange{t}
   484  	case *MergeResponse:
   485  		union = &ResponseUnion_Merge{t}
   486  	case *TruncateLogResponse:
   487  		union = &ResponseUnion_TruncateLog{t}
   488  	case *RequestLeaseResponse:
   489  		union = &ResponseUnion_RequestLease{t}
   490  	case *ReverseScanResponse:
   491  		union = &ResponseUnion_ReverseScan{t}
   492  	case *ComputeChecksumResponse:
   493  		union = &ResponseUnion_ComputeChecksum{t}
   494  	case *CheckConsistencyResponse:
   495  		union = &ResponseUnion_CheckConsistency{t}
   496  	case *InitPutResponse:
   497  		union = &ResponseUnion_InitPut{t}
   498  	case *LeaseInfoResponse:
   499  		union = &ResponseUnion_LeaseInfo{t}
   500  	case *WriteBatchResponse:
   501  		union = &ResponseUnion_WriteBatch{t}
   502  	case *ExportResponse:
   503  		union = &ResponseUnion_Export{t}
   504  	case *ImportResponse:
   505  		union = &ResponseUnion_Import{t}
   506  	case *QueryTxnResponse:
   507  		union = &ResponseUnion_QueryTxn{t}
   508  	case *QueryIntentResponse:
   509  		union = &ResponseUnion_QueryIntent{t}
   510  	case *AdminScatterResponse:
   511  		union = &ResponseUnion_AdminScatter{t}
   512  	case *AddSSTableResponse:
   513  		union = &ResponseUnion_AddSstable{t}
   514  	case *RecomputeStatsResponse:
   515  		union = &ResponseUnion_RecomputeStats{t}
   516  	case *RefreshResponse:
   517  		union = &ResponseUnion_Refresh{t}
   518  	case *RefreshRangeResponse:
   519  		union = &ResponseUnion_RefreshRange{t}
   520  	case *SubsumeResponse:
   521  		union = &ResponseUnion_Subsume{t}
   522  	case *RangeStatsResponse:
   523  		union = &ResponseUnion_RangeStats{t}
   524  	case *AdminVerifyProtectedTimestampResponse:
   525  		union = &ResponseUnion_AdminVerifyProtectedTimestamp{t}
   526  	default:
   527  		return false
   528  	}
   529  	ru.Value = union
   530  	return true
   531  }
   532  
   533  type reqCounts [44]int32
   534  
   535  // getReqCounts returns the number of times each
   536  // request type appears in the batch.
   537  func (ba *BatchRequest) getReqCounts() reqCounts {
   538  	var counts reqCounts
   539  	for _, ru := range ba.Requests {
   540  		switch ru.GetValue().(type) {
   541  		case *RequestUnion_Get:
   542  			counts[0]++
   543  		case *RequestUnion_Put:
   544  			counts[1]++
   545  		case *RequestUnion_ConditionalPut:
   546  			counts[2]++
   547  		case *RequestUnion_Increment:
   548  			counts[3]++
   549  		case *RequestUnion_Delete:
   550  			counts[4]++
   551  		case *RequestUnion_DeleteRange:
   552  			counts[5]++
   553  		case *RequestUnion_ClearRange:
   554  			counts[6]++
   555  		case *RequestUnion_RevertRange:
   556  			counts[7]++
   557  		case *RequestUnion_Scan:
   558  			counts[8]++
   559  		case *RequestUnion_EndTxn:
   560  			counts[9]++
   561  		case *RequestUnion_AdminSplit:
   562  			counts[10]++
   563  		case *RequestUnion_AdminUnsplit:
   564  			counts[11]++
   565  		case *RequestUnion_AdminMerge:
   566  			counts[12]++
   567  		case *RequestUnion_AdminTransferLease:
   568  			counts[13]++
   569  		case *RequestUnion_AdminChangeReplicas:
   570  			counts[14]++
   571  		case *RequestUnion_AdminRelocateRange:
   572  			counts[15]++
   573  		case *RequestUnion_HeartbeatTxn:
   574  			counts[16]++
   575  		case *RequestUnion_Gc:
   576  			counts[17]++
   577  		case *RequestUnion_PushTxn:
   578  			counts[18]++
   579  		case *RequestUnion_RecoverTxn:
   580  			counts[19]++
   581  		case *RequestUnion_ResolveIntent:
   582  			counts[20]++
   583  		case *RequestUnion_ResolveIntentRange:
   584  			counts[21]++
   585  		case *RequestUnion_Merge:
   586  			counts[22]++
   587  		case *RequestUnion_TruncateLog:
   588  			counts[23]++
   589  		case *RequestUnion_RequestLease:
   590  			counts[24]++
   591  		case *RequestUnion_ReverseScan:
   592  			counts[25]++
   593  		case *RequestUnion_ComputeChecksum:
   594  			counts[26]++
   595  		case *RequestUnion_CheckConsistency:
   596  			counts[27]++
   597  		case *RequestUnion_InitPut:
   598  			counts[28]++
   599  		case *RequestUnion_TransferLease:
   600  			counts[29]++
   601  		case *RequestUnion_LeaseInfo:
   602  			counts[30]++
   603  		case *RequestUnion_WriteBatch:
   604  			counts[31]++
   605  		case *RequestUnion_Export:
   606  			counts[32]++
   607  		case *RequestUnion_Import:
   608  			counts[33]++
   609  		case *RequestUnion_QueryTxn:
   610  			counts[34]++
   611  		case *RequestUnion_QueryIntent:
   612  			counts[35]++
   613  		case *RequestUnion_AdminScatter:
   614  			counts[36]++
   615  		case *RequestUnion_AddSstable:
   616  			counts[37]++
   617  		case *RequestUnion_RecomputeStats:
   618  			counts[38]++
   619  		case *RequestUnion_Refresh:
   620  			counts[39]++
   621  		case *RequestUnion_RefreshRange:
   622  			counts[40]++
   623  		case *RequestUnion_Subsume:
   624  			counts[41]++
   625  		case *RequestUnion_RangeStats:
   626  			counts[42]++
   627  		case *RequestUnion_AdminVerifyProtectedTimestamp:
   628  			counts[43]++
   629  		default:
   630  			panic(fmt.Sprintf("unsupported request: %+v", ru))
   631  		}
   632  	}
   633  	return counts
   634  }
   635  
   636  var requestNames = []string{
   637  	"Get",
   638  	"Put",
   639  	"CPut",
   640  	"Inc",
   641  	"Del",
   642  	"DelRng",
   643  	"ClearRng",
   644  	"RevertRng",
   645  	"Scan",
   646  	"EndTxn",
   647  	"AdmSplit",
   648  	"AdmUnsplit",
   649  	"AdmMerge",
   650  	"AdmTransferLease",
   651  	"AdmChangeReplicas",
   652  	"AdmRelocateRng",
   653  	"HeartbeatTxn",
   654  	"Gc",
   655  	"PushTxn",
   656  	"RecoverTxn",
   657  	"ResolveIntent",
   658  	"ResolveIntentRng",
   659  	"Merge",
   660  	"TruncLog",
   661  	"RequestLease",
   662  	"RevScan",
   663  	"ComputeChksum",
   664  	"ChkConsistency",
   665  	"InitPut",
   666  	"TransferLease",
   667  	"LeaseInfo",
   668  	"WriteBatch",
   669  	"Export",
   670  	"Import",
   671  	"QueryTxn",
   672  	"QueryIntent",
   673  	"AdmScatter",
   674  	"AddSstable",
   675  	"RecomputeStats",
   676  	"Refresh",
   677  	"RefreshRng",
   678  	"Subsume",
   679  	"RngStats",
   680  	"AdmVerifyProtectedTimestamp",
   681  }
   682  
   683  // Summary prints a short summary of the requests in a batch.
   684  func (ba *BatchRequest) Summary() string {
   685  	var b strings.Builder
   686  	ba.WriteSummary(&b)
   687  	return b.String()
   688  }
   689  
   690  // WriteSummary writes a short summary of the requests in a batch
   691  // to the provided builder.
   692  func (ba *BatchRequest) WriteSummary(b *strings.Builder) {
   693  	if len(ba.Requests) == 0 {
   694  		b.WriteString("empty batch")
   695  		return
   696  	}
   697  	counts := ba.getReqCounts()
   698  	var tmp [10]byte
   699  	var comma bool
   700  	for i, v := range counts {
   701  		if v != 0 {
   702  			if comma {
   703  				b.WriteString(", ")
   704  			}
   705  			comma = true
   706  
   707  			b.Write(strconv.AppendInt(tmp[:0], int64(v), 10))
   708  			b.WriteString(" ")
   709  			b.WriteString(requestNames[i])
   710  		}
   711  	}
   712  }
   713  
   714  // The following types are used to group the allocations of Responses
   715  // and their corresponding isResponseUnion_Value union wrappers together.
   716  type getResponseAlloc struct {
   717  	union ResponseUnion_Get
   718  	resp  GetResponse
   719  }
   720  type putResponseAlloc struct {
   721  	union ResponseUnion_Put
   722  	resp  PutResponse
   723  }
   724  type conditionalPutResponseAlloc struct {
   725  	union ResponseUnion_ConditionalPut
   726  	resp  ConditionalPutResponse
   727  }
   728  type incrementResponseAlloc struct {
   729  	union ResponseUnion_Increment
   730  	resp  IncrementResponse
   731  }
   732  type deleteResponseAlloc struct {
   733  	union ResponseUnion_Delete
   734  	resp  DeleteResponse
   735  }
   736  type deleteRangeResponseAlloc struct {
   737  	union ResponseUnion_DeleteRange
   738  	resp  DeleteRangeResponse
   739  }
   740  type clearRangeResponseAlloc struct {
   741  	union ResponseUnion_ClearRange
   742  	resp  ClearRangeResponse
   743  }
   744  type revertRangeResponseAlloc struct {
   745  	union ResponseUnion_RevertRange
   746  	resp  RevertRangeResponse
   747  }
   748  type scanResponseAlloc struct {
   749  	union ResponseUnion_Scan
   750  	resp  ScanResponse
   751  }
   752  type endTxnResponseAlloc struct {
   753  	union ResponseUnion_EndTxn
   754  	resp  EndTxnResponse
   755  }
   756  type adminSplitResponseAlloc struct {
   757  	union ResponseUnion_AdminSplit
   758  	resp  AdminSplitResponse
   759  }
   760  type adminUnsplitResponseAlloc struct {
   761  	union ResponseUnion_AdminUnsplit
   762  	resp  AdminUnsplitResponse
   763  }
   764  type adminMergeResponseAlloc struct {
   765  	union ResponseUnion_AdminMerge
   766  	resp  AdminMergeResponse
   767  }
   768  type adminTransferLeaseResponseAlloc struct {
   769  	union ResponseUnion_AdminTransferLease
   770  	resp  AdminTransferLeaseResponse
   771  }
   772  type adminChangeReplicasResponseAlloc struct {
   773  	union ResponseUnion_AdminChangeReplicas
   774  	resp  AdminChangeReplicasResponse
   775  }
   776  type adminRelocateRangeResponseAlloc struct {
   777  	union ResponseUnion_AdminRelocateRange
   778  	resp  AdminRelocateRangeResponse
   779  }
   780  type heartbeatTxnResponseAlloc struct {
   781  	union ResponseUnion_HeartbeatTxn
   782  	resp  HeartbeatTxnResponse
   783  }
   784  type gCResponseAlloc struct {
   785  	union ResponseUnion_Gc
   786  	resp  GCResponse
   787  }
   788  type pushTxnResponseAlloc struct {
   789  	union ResponseUnion_PushTxn
   790  	resp  PushTxnResponse
   791  }
   792  type recoverTxnResponseAlloc struct {
   793  	union ResponseUnion_RecoverTxn
   794  	resp  RecoverTxnResponse
   795  }
   796  type resolveIntentResponseAlloc struct {
   797  	union ResponseUnion_ResolveIntent
   798  	resp  ResolveIntentResponse
   799  }
   800  type resolveIntentRangeResponseAlloc struct {
   801  	union ResponseUnion_ResolveIntentRange
   802  	resp  ResolveIntentRangeResponse
   803  }
   804  type mergeResponseAlloc struct {
   805  	union ResponseUnion_Merge
   806  	resp  MergeResponse
   807  }
   808  type truncateLogResponseAlloc struct {
   809  	union ResponseUnion_TruncateLog
   810  	resp  TruncateLogResponse
   811  }
   812  type requestLeaseResponseAlloc struct {
   813  	union ResponseUnion_RequestLease
   814  	resp  RequestLeaseResponse
   815  }
   816  type reverseScanResponseAlloc struct {
   817  	union ResponseUnion_ReverseScan
   818  	resp  ReverseScanResponse
   819  }
   820  type computeChecksumResponseAlloc struct {
   821  	union ResponseUnion_ComputeChecksum
   822  	resp  ComputeChecksumResponse
   823  }
   824  type checkConsistencyResponseAlloc struct {
   825  	union ResponseUnion_CheckConsistency
   826  	resp  CheckConsistencyResponse
   827  }
   828  type initPutResponseAlloc struct {
   829  	union ResponseUnion_InitPut
   830  	resp  InitPutResponse
   831  }
   832  type leaseInfoResponseAlloc struct {
   833  	union ResponseUnion_LeaseInfo
   834  	resp  LeaseInfoResponse
   835  }
   836  type writeBatchResponseAlloc struct {
   837  	union ResponseUnion_WriteBatch
   838  	resp  WriteBatchResponse
   839  }
   840  type exportResponseAlloc struct {
   841  	union ResponseUnion_Export
   842  	resp  ExportResponse
   843  }
   844  type importResponseAlloc struct {
   845  	union ResponseUnion_Import
   846  	resp  ImportResponse
   847  }
   848  type queryTxnResponseAlloc struct {
   849  	union ResponseUnion_QueryTxn
   850  	resp  QueryTxnResponse
   851  }
   852  type queryIntentResponseAlloc struct {
   853  	union ResponseUnion_QueryIntent
   854  	resp  QueryIntentResponse
   855  }
   856  type adminScatterResponseAlloc struct {
   857  	union ResponseUnion_AdminScatter
   858  	resp  AdminScatterResponse
   859  }
   860  type addSSTableResponseAlloc struct {
   861  	union ResponseUnion_AddSstable
   862  	resp  AddSSTableResponse
   863  }
   864  type recomputeStatsResponseAlloc struct {
   865  	union ResponseUnion_RecomputeStats
   866  	resp  RecomputeStatsResponse
   867  }
   868  type refreshResponseAlloc struct {
   869  	union ResponseUnion_Refresh
   870  	resp  RefreshResponse
   871  }
   872  type refreshRangeResponseAlloc struct {
   873  	union ResponseUnion_RefreshRange
   874  	resp  RefreshRangeResponse
   875  }
   876  type subsumeResponseAlloc struct {
   877  	union ResponseUnion_Subsume
   878  	resp  SubsumeResponse
   879  }
   880  type rangeStatsResponseAlloc struct {
   881  	union ResponseUnion_RangeStats
   882  	resp  RangeStatsResponse
   883  }
   884  type adminVerifyProtectedTimestampResponseAlloc struct {
   885  	union ResponseUnion_AdminVerifyProtectedTimestamp
   886  	resp  AdminVerifyProtectedTimestampResponse
   887  }
   888  
   889  // CreateReply creates replies for each of the contained requests, wrapped in a
   890  // BatchResponse. The response objects are batch allocated to minimize
   891  // allocation overhead.
   892  func (ba *BatchRequest) CreateReply() *BatchResponse {
   893  	br := &BatchResponse{}
   894  	br.Responses = make([]ResponseUnion, len(ba.Requests))
   895  
   896  	counts := ba.getReqCounts()
   897  
   898  	var buf0 []getResponseAlloc
   899  	var buf1 []putResponseAlloc
   900  	var buf2 []conditionalPutResponseAlloc
   901  	var buf3 []incrementResponseAlloc
   902  	var buf4 []deleteResponseAlloc
   903  	var buf5 []deleteRangeResponseAlloc
   904  	var buf6 []clearRangeResponseAlloc
   905  	var buf7 []revertRangeResponseAlloc
   906  	var buf8 []scanResponseAlloc
   907  	var buf9 []endTxnResponseAlloc
   908  	var buf10 []adminSplitResponseAlloc
   909  	var buf11 []adminUnsplitResponseAlloc
   910  	var buf12 []adminMergeResponseAlloc
   911  	var buf13 []adminTransferLeaseResponseAlloc
   912  	var buf14 []adminChangeReplicasResponseAlloc
   913  	var buf15 []adminRelocateRangeResponseAlloc
   914  	var buf16 []heartbeatTxnResponseAlloc
   915  	var buf17 []gCResponseAlloc
   916  	var buf18 []pushTxnResponseAlloc
   917  	var buf19 []recoverTxnResponseAlloc
   918  	var buf20 []resolveIntentResponseAlloc
   919  	var buf21 []resolveIntentRangeResponseAlloc
   920  	var buf22 []mergeResponseAlloc
   921  	var buf23 []truncateLogResponseAlloc
   922  	var buf24 []requestLeaseResponseAlloc
   923  	var buf25 []reverseScanResponseAlloc
   924  	var buf26 []computeChecksumResponseAlloc
   925  	var buf27 []checkConsistencyResponseAlloc
   926  	var buf28 []initPutResponseAlloc
   927  	var buf29 []requestLeaseResponseAlloc
   928  	var buf30 []leaseInfoResponseAlloc
   929  	var buf31 []writeBatchResponseAlloc
   930  	var buf32 []exportResponseAlloc
   931  	var buf33 []importResponseAlloc
   932  	var buf34 []queryTxnResponseAlloc
   933  	var buf35 []queryIntentResponseAlloc
   934  	var buf36 []adminScatterResponseAlloc
   935  	var buf37 []addSSTableResponseAlloc
   936  	var buf38 []recomputeStatsResponseAlloc
   937  	var buf39 []refreshResponseAlloc
   938  	var buf40 []refreshRangeResponseAlloc
   939  	var buf41 []subsumeResponseAlloc
   940  	var buf42 []rangeStatsResponseAlloc
   941  	var buf43 []adminVerifyProtectedTimestampResponseAlloc
   942  
   943  	for i, r := range ba.Requests {
   944  		switch r.GetValue().(type) {
   945  		case *RequestUnion_Get:
   946  			if buf0 == nil {
   947  				buf0 = make([]getResponseAlloc, counts[0])
   948  			}
   949  			buf0[0].union.Get = &buf0[0].resp
   950  			br.Responses[i].Value = &buf0[0].union
   951  			buf0 = buf0[1:]
   952  		case *RequestUnion_Put:
   953  			if buf1 == nil {
   954  				buf1 = make([]putResponseAlloc, counts[1])
   955  			}
   956  			buf1[0].union.Put = &buf1[0].resp
   957  			br.Responses[i].Value = &buf1[0].union
   958  			buf1 = buf1[1:]
   959  		case *RequestUnion_ConditionalPut:
   960  			if buf2 == nil {
   961  				buf2 = make([]conditionalPutResponseAlloc, counts[2])
   962  			}
   963  			buf2[0].union.ConditionalPut = &buf2[0].resp
   964  			br.Responses[i].Value = &buf2[0].union
   965  			buf2 = buf2[1:]
   966  		case *RequestUnion_Increment:
   967  			if buf3 == nil {
   968  				buf3 = make([]incrementResponseAlloc, counts[3])
   969  			}
   970  			buf3[0].union.Increment = &buf3[0].resp
   971  			br.Responses[i].Value = &buf3[0].union
   972  			buf3 = buf3[1:]
   973  		case *RequestUnion_Delete:
   974  			if buf4 == nil {
   975  				buf4 = make([]deleteResponseAlloc, counts[4])
   976  			}
   977  			buf4[0].union.Delete = &buf4[0].resp
   978  			br.Responses[i].Value = &buf4[0].union
   979  			buf4 = buf4[1:]
   980  		case *RequestUnion_DeleteRange:
   981  			if buf5 == nil {
   982  				buf5 = make([]deleteRangeResponseAlloc, counts[5])
   983  			}
   984  			buf5[0].union.DeleteRange = &buf5[0].resp
   985  			br.Responses[i].Value = &buf5[0].union
   986  			buf5 = buf5[1:]
   987  		case *RequestUnion_ClearRange:
   988  			if buf6 == nil {
   989  				buf6 = make([]clearRangeResponseAlloc, counts[6])
   990  			}
   991  			buf6[0].union.ClearRange = &buf6[0].resp
   992  			br.Responses[i].Value = &buf6[0].union
   993  			buf6 = buf6[1:]
   994  		case *RequestUnion_RevertRange:
   995  			if buf7 == nil {
   996  				buf7 = make([]revertRangeResponseAlloc, counts[7])
   997  			}
   998  			buf7[0].union.RevertRange = &buf7[0].resp
   999  			br.Responses[i].Value = &buf7[0].union
  1000  			buf7 = buf7[1:]
  1001  		case *RequestUnion_Scan:
  1002  			if buf8 == nil {
  1003  				buf8 = make([]scanResponseAlloc, counts[8])
  1004  			}
  1005  			buf8[0].union.Scan = &buf8[0].resp
  1006  			br.Responses[i].Value = &buf8[0].union
  1007  			buf8 = buf8[1:]
  1008  		case *RequestUnion_EndTxn:
  1009  			if buf9 == nil {
  1010  				buf9 = make([]endTxnResponseAlloc, counts[9])
  1011  			}
  1012  			buf9[0].union.EndTxn = &buf9[0].resp
  1013  			br.Responses[i].Value = &buf9[0].union
  1014  			buf9 = buf9[1:]
  1015  		case *RequestUnion_AdminSplit:
  1016  			if buf10 == nil {
  1017  				buf10 = make([]adminSplitResponseAlloc, counts[10])
  1018  			}
  1019  			buf10[0].union.AdminSplit = &buf10[0].resp
  1020  			br.Responses[i].Value = &buf10[0].union
  1021  			buf10 = buf10[1:]
  1022  		case *RequestUnion_AdminUnsplit:
  1023  			if buf11 == nil {
  1024  				buf11 = make([]adminUnsplitResponseAlloc, counts[11])
  1025  			}
  1026  			buf11[0].union.AdminUnsplit = &buf11[0].resp
  1027  			br.Responses[i].Value = &buf11[0].union
  1028  			buf11 = buf11[1:]
  1029  		case *RequestUnion_AdminMerge:
  1030  			if buf12 == nil {
  1031  				buf12 = make([]adminMergeResponseAlloc, counts[12])
  1032  			}
  1033  			buf12[0].union.AdminMerge = &buf12[0].resp
  1034  			br.Responses[i].Value = &buf12[0].union
  1035  			buf12 = buf12[1:]
  1036  		case *RequestUnion_AdminTransferLease:
  1037  			if buf13 == nil {
  1038  				buf13 = make([]adminTransferLeaseResponseAlloc, counts[13])
  1039  			}
  1040  			buf13[0].union.AdminTransferLease = &buf13[0].resp
  1041  			br.Responses[i].Value = &buf13[0].union
  1042  			buf13 = buf13[1:]
  1043  		case *RequestUnion_AdminChangeReplicas:
  1044  			if buf14 == nil {
  1045  				buf14 = make([]adminChangeReplicasResponseAlloc, counts[14])
  1046  			}
  1047  			buf14[0].union.AdminChangeReplicas = &buf14[0].resp
  1048  			br.Responses[i].Value = &buf14[0].union
  1049  			buf14 = buf14[1:]
  1050  		case *RequestUnion_AdminRelocateRange:
  1051  			if buf15 == nil {
  1052  				buf15 = make([]adminRelocateRangeResponseAlloc, counts[15])
  1053  			}
  1054  			buf15[0].union.AdminRelocateRange = &buf15[0].resp
  1055  			br.Responses[i].Value = &buf15[0].union
  1056  			buf15 = buf15[1:]
  1057  		case *RequestUnion_HeartbeatTxn:
  1058  			if buf16 == nil {
  1059  				buf16 = make([]heartbeatTxnResponseAlloc, counts[16])
  1060  			}
  1061  			buf16[0].union.HeartbeatTxn = &buf16[0].resp
  1062  			br.Responses[i].Value = &buf16[0].union
  1063  			buf16 = buf16[1:]
  1064  		case *RequestUnion_Gc:
  1065  			if buf17 == nil {
  1066  				buf17 = make([]gCResponseAlloc, counts[17])
  1067  			}
  1068  			buf17[0].union.Gc = &buf17[0].resp
  1069  			br.Responses[i].Value = &buf17[0].union
  1070  			buf17 = buf17[1:]
  1071  		case *RequestUnion_PushTxn:
  1072  			if buf18 == nil {
  1073  				buf18 = make([]pushTxnResponseAlloc, counts[18])
  1074  			}
  1075  			buf18[0].union.PushTxn = &buf18[0].resp
  1076  			br.Responses[i].Value = &buf18[0].union
  1077  			buf18 = buf18[1:]
  1078  		case *RequestUnion_RecoverTxn:
  1079  			if buf19 == nil {
  1080  				buf19 = make([]recoverTxnResponseAlloc, counts[19])
  1081  			}
  1082  			buf19[0].union.RecoverTxn = &buf19[0].resp
  1083  			br.Responses[i].Value = &buf19[0].union
  1084  			buf19 = buf19[1:]
  1085  		case *RequestUnion_ResolveIntent:
  1086  			if buf20 == nil {
  1087  				buf20 = make([]resolveIntentResponseAlloc, counts[20])
  1088  			}
  1089  			buf20[0].union.ResolveIntent = &buf20[0].resp
  1090  			br.Responses[i].Value = &buf20[0].union
  1091  			buf20 = buf20[1:]
  1092  		case *RequestUnion_ResolveIntentRange:
  1093  			if buf21 == nil {
  1094  				buf21 = make([]resolveIntentRangeResponseAlloc, counts[21])
  1095  			}
  1096  			buf21[0].union.ResolveIntentRange = &buf21[0].resp
  1097  			br.Responses[i].Value = &buf21[0].union
  1098  			buf21 = buf21[1:]
  1099  		case *RequestUnion_Merge:
  1100  			if buf22 == nil {
  1101  				buf22 = make([]mergeResponseAlloc, counts[22])
  1102  			}
  1103  			buf22[0].union.Merge = &buf22[0].resp
  1104  			br.Responses[i].Value = &buf22[0].union
  1105  			buf22 = buf22[1:]
  1106  		case *RequestUnion_TruncateLog:
  1107  			if buf23 == nil {
  1108  				buf23 = make([]truncateLogResponseAlloc, counts[23])
  1109  			}
  1110  			buf23[0].union.TruncateLog = &buf23[0].resp
  1111  			br.Responses[i].Value = &buf23[0].union
  1112  			buf23 = buf23[1:]
  1113  		case *RequestUnion_RequestLease:
  1114  			if buf24 == nil {
  1115  				buf24 = make([]requestLeaseResponseAlloc, counts[24])
  1116  			}
  1117  			buf24[0].union.RequestLease = &buf24[0].resp
  1118  			br.Responses[i].Value = &buf24[0].union
  1119  			buf24 = buf24[1:]
  1120  		case *RequestUnion_ReverseScan:
  1121  			if buf25 == nil {
  1122  				buf25 = make([]reverseScanResponseAlloc, counts[25])
  1123  			}
  1124  			buf25[0].union.ReverseScan = &buf25[0].resp
  1125  			br.Responses[i].Value = &buf25[0].union
  1126  			buf25 = buf25[1:]
  1127  		case *RequestUnion_ComputeChecksum:
  1128  			if buf26 == nil {
  1129  				buf26 = make([]computeChecksumResponseAlloc, counts[26])
  1130  			}
  1131  			buf26[0].union.ComputeChecksum = &buf26[0].resp
  1132  			br.Responses[i].Value = &buf26[0].union
  1133  			buf26 = buf26[1:]
  1134  		case *RequestUnion_CheckConsistency:
  1135  			if buf27 == nil {
  1136  				buf27 = make([]checkConsistencyResponseAlloc, counts[27])
  1137  			}
  1138  			buf27[0].union.CheckConsistency = &buf27[0].resp
  1139  			br.Responses[i].Value = &buf27[0].union
  1140  			buf27 = buf27[1:]
  1141  		case *RequestUnion_InitPut:
  1142  			if buf28 == nil {
  1143  				buf28 = make([]initPutResponseAlloc, counts[28])
  1144  			}
  1145  			buf28[0].union.InitPut = &buf28[0].resp
  1146  			br.Responses[i].Value = &buf28[0].union
  1147  			buf28 = buf28[1:]
  1148  		case *RequestUnion_TransferLease:
  1149  			if buf29 == nil {
  1150  				buf29 = make([]requestLeaseResponseAlloc, counts[29])
  1151  			}
  1152  			buf29[0].union.RequestLease = &buf29[0].resp
  1153  			br.Responses[i].Value = &buf29[0].union
  1154  			buf29 = buf29[1:]
  1155  		case *RequestUnion_LeaseInfo:
  1156  			if buf30 == nil {
  1157  				buf30 = make([]leaseInfoResponseAlloc, counts[30])
  1158  			}
  1159  			buf30[0].union.LeaseInfo = &buf30[0].resp
  1160  			br.Responses[i].Value = &buf30[0].union
  1161  			buf30 = buf30[1:]
  1162  		case *RequestUnion_WriteBatch:
  1163  			if buf31 == nil {
  1164  				buf31 = make([]writeBatchResponseAlloc, counts[31])
  1165  			}
  1166  			buf31[0].union.WriteBatch = &buf31[0].resp
  1167  			br.Responses[i].Value = &buf31[0].union
  1168  			buf31 = buf31[1:]
  1169  		case *RequestUnion_Export:
  1170  			if buf32 == nil {
  1171  				buf32 = make([]exportResponseAlloc, counts[32])
  1172  			}
  1173  			buf32[0].union.Export = &buf32[0].resp
  1174  			br.Responses[i].Value = &buf32[0].union
  1175  			buf32 = buf32[1:]
  1176  		case *RequestUnion_Import:
  1177  			if buf33 == nil {
  1178  				buf33 = make([]importResponseAlloc, counts[33])
  1179  			}
  1180  			buf33[0].union.Import = &buf33[0].resp
  1181  			br.Responses[i].Value = &buf33[0].union
  1182  			buf33 = buf33[1:]
  1183  		case *RequestUnion_QueryTxn:
  1184  			if buf34 == nil {
  1185  				buf34 = make([]queryTxnResponseAlloc, counts[34])
  1186  			}
  1187  			buf34[0].union.QueryTxn = &buf34[0].resp
  1188  			br.Responses[i].Value = &buf34[0].union
  1189  			buf34 = buf34[1:]
  1190  		case *RequestUnion_QueryIntent:
  1191  			if buf35 == nil {
  1192  				buf35 = make([]queryIntentResponseAlloc, counts[35])
  1193  			}
  1194  			buf35[0].union.QueryIntent = &buf35[0].resp
  1195  			br.Responses[i].Value = &buf35[0].union
  1196  			buf35 = buf35[1:]
  1197  		case *RequestUnion_AdminScatter:
  1198  			if buf36 == nil {
  1199  				buf36 = make([]adminScatterResponseAlloc, counts[36])
  1200  			}
  1201  			buf36[0].union.AdminScatter = &buf36[0].resp
  1202  			br.Responses[i].Value = &buf36[0].union
  1203  			buf36 = buf36[1:]
  1204  		case *RequestUnion_AddSstable:
  1205  			if buf37 == nil {
  1206  				buf37 = make([]addSSTableResponseAlloc, counts[37])
  1207  			}
  1208  			buf37[0].union.AddSstable = &buf37[0].resp
  1209  			br.Responses[i].Value = &buf37[0].union
  1210  			buf37 = buf37[1:]
  1211  		case *RequestUnion_RecomputeStats:
  1212  			if buf38 == nil {
  1213  				buf38 = make([]recomputeStatsResponseAlloc, counts[38])
  1214  			}
  1215  			buf38[0].union.RecomputeStats = &buf38[0].resp
  1216  			br.Responses[i].Value = &buf38[0].union
  1217  			buf38 = buf38[1:]
  1218  		case *RequestUnion_Refresh:
  1219  			if buf39 == nil {
  1220  				buf39 = make([]refreshResponseAlloc, counts[39])
  1221  			}
  1222  			buf39[0].union.Refresh = &buf39[0].resp
  1223  			br.Responses[i].Value = &buf39[0].union
  1224  			buf39 = buf39[1:]
  1225  		case *RequestUnion_RefreshRange:
  1226  			if buf40 == nil {
  1227  				buf40 = make([]refreshRangeResponseAlloc, counts[40])
  1228  			}
  1229  			buf40[0].union.RefreshRange = &buf40[0].resp
  1230  			br.Responses[i].Value = &buf40[0].union
  1231  			buf40 = buf40[1:]
  1232  		case *RequestUnion_Subsume:
  1233  			if buf41 == nil {
  1234  				buf41 = make([]subsumeResponseAlloc, counts[41])
  1235  			}
  1236  			buf41[0].union.Subsume = &buf41[0].resp
  1237  			br.Responses[i].Value = &buf41[0].union
  1238  			buf41 = buf41[1:]
  1239  		case *RequestUnion_RangeStats:
  1240  			if buf42 == nil {
  1241  				buf42 = make([]rangeStatsResponseAlloc, counts[42])
  1242  			}
  1243  			buf42[0].union.RangeStats = &buf42[0].resp
  1244  			br.Responses[i].Value = &buf42[0].union
  1245  			buf42 = buf42[1:]
  1246  		case *RequestUnion_AdminVerifyProtectedTimestamp:
  1247  			if buf43 == nil {
  1248  				buf43 = make([]adminVerifyProtectedTimestampResponseAlloc, counts[43])
  1249  			}
  1250  			buf43[0].union.AdminVerifyProtectedTimestamp = &buf43[0].resp
  1251  			br.Responses[i].Value = &buf43[0].union
  1252  			buf43 = buf43[1:]
  1253  		default:
  1254  			panic(fmt.Sprintf("unsupported request: %+v", r))
  1255  		}
  1256  	}
  1257  	return br
  1258  }