github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/execinfrapb/processors_sql.pb.go (about) 1 // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 // source: sql/execinfrapb/processors_sql.proto 3 4 package execinfrapb 5 6 /* 7 Beware! This package name must not be changed, even though it doesn't match 8 the Go package name, because it defines the Protobuf message names which 9 can't be changed without breaking backward compatibility. 10 */ 11 12 import proto "github.com/gogo/protobuf/proto" 13 import fmt "fmt" 14 import math "math" 15 import invertedexpr "github.com/cockroachdb/cockroach/pkg/sql/opt/invertedexpr" 16 import sqlbase "github.com/cockroachdb/cockroach/pkg/sql/sqlbase" 17 import types "github.com/cockroachdb/cockroach/pkg/sql/types" 18 19 import io "io" 20 21 // Reference imports to suppress errors if they are not otherwise used. 22 var _ = proto.Marshal 23 var _ = fmt.Errorf 24 var _ = math.Inf 25 26 // This is a compile-time assertion to ensure that this generated file 27 // is compatible with the proto package it is being compiled against. 28 // A compilation error at this line likely means your copy of the 29 // proto package needs to be updated. 30 const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package 31 32 // ScanVisibility controls which columns are seen by scans - just normal 33 // columns, or normal columns and also in-progress schema change columns. 34 type ScanVisibility int32 35 36 const ( 37 ScanVisibility_PUBLIC ScanVisibility = 0 38 ScanVisibility_PUBLIC_AND_NOT_PUBLIC ScanVisibility = 1 39 ) 40 41 var ScanVisibility_name = map[int32]string{ 42 0: "PUBLIC", 43 1: "PUBLIC_AND_NOT_PUBLIC", 44 } 45 var ScanVisibility_value = map[string]int32{ 46 "PUBLIC": 0, 47 "PUBLIC_AND_NOT_PUBLIC": 1, 48 } 49 50 func (x ScanVisibility) Enum() *ScanVisibility { 51 p := new(ScanVisibility) 52 *p = x 53 return p 54 } 55 func (x ScanVisibility) String() string { 56 return proto.EnumName(ScanVisibility_name, int32(x)) 57 } 58 func (x *ScanVisibility) UnmarshalJSON(data []byte) error { 59 value, err := proto.UnmarshalJSONEnum(ScanVisibility_value, data, "ScanVisibility") 60 if err != nil { 61 return err 62 } 63 *x = ScanVisibility(value) 64 return nil 65 } 66 func (ScanVisibility) EnumDescriptor() ([]byte, []int) { 67 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{0} 68 } 69 70 // These mirror the aggregate functions supported by sql/parser. See 71 // sql/parser/aggregate_builtins.go. 72 type AggregatorSpec_Func int32 73 74 const ( 75 AggregatorSpec_ANY_NOT_NULL AggregatorSpec_Func = 0 76 AggregatorSpec_AVG AggregatorSpec_Func = 1 77 AggregatorSpec_BOOL_AND AggregatorSpec_Func = 2 78 AggregatorSpec_BOOL_OR AggregatorSpec_Func = 3 79 AggregatorSpec_CONCAT_AGG AggregatorSpec_Func = 4 80 AggregatorSpec_COUNT AggregatorSpec_Func = 5 81 AggregatorSpec_MAX AggregatorSpec_Func = 7 82 AggregatorSpec_MIN AggregatorSpec_Func = 8 83 AggregatorSpec_STDDEV AggregatorSpec_Func = 9 84 AggregatorSpec_SUM AggregatorSpec_Func = 10 85 AggregatorSpec_SUM_INT AggregatorSpec_Func = 11 86 AggregatorSpec_VARIANCE AggregatorSpec_Func = 12 87 AggregatorSpec_XOR_AGG AggregatorSpec_Func = 13 88 AggregatorSpec_COUNT_ROWS AggregatorSpec_Func = 14 89 AggregatorSpec_SQRDIFF AggregatorSpec_Func = 15 90 AggregatorSpec_FINAL_VARIANCE AggregatorSpec_Func = 16 91 AggregatorSpec_FINAL_STDDEV AggregatorSpec_Func = 17 92 AggregatorSpec_ARRAY_AGG AggregatorSpec_Func = 18 93 AggregatorSpec_JSON_AGG AggregatorSpec_Func = 19 94 // JSONB_AGG is an alias for JSON_AGG, they do the same thing. 95 AggregatorSpec_JSONB_AGG AggregatorSpec_Func = 20 96 AggregatorSpec_STRING_AGG AggregatorSpec_Func = 21 97 AggregatorSpec_BIT_AND AggregatorSpec_Func = 22 98 AggregatorSpec_BIT_OR AggregatorSpec_Func = 23 99 AggregatorSpec_CORR AggregatorSpec_Func = 24 100 AggregatorSpec_PERCENTILE_DISC_IMPL AggregatorSpec_Func = 25 101 AggregatorSpec_PERCENTILE_CONT_IMPL AggregatorSpec_Func = 26 102 ) 103 104 var AggregatorSpec_Func_name = map[int32]string{ 105 0: "ANY_NOT_NULL", 106 1: "AVG", 107 2: "BOOL_AND", 108 3: "BOOL_OR", 109 4: "CONCAT_AGG", 110 5: "COUNT", 111 7: "MAX", 112 8: "MIN", 113 9: "STDDEV", 114 10: "SUM", 115 11: "SUM_INT", 116 12: "VARIANCE", 117 13: "XOR_AGG", 118 14: "COUNT_ROWS", 119 15: "SQRDIFF", 120 16: "FINAL_VARIANCE", 121 17: "FINAL_STDDEV", 122 18: "ARRAY_AGG", 123 19: "JSON_AGG", 124 20: "JSONB_AGG", 125 21: "STRING_AGG", 126 22: "BIT_AND", 127 23: "BIT_OR", 128 24: "CORR", 129 25: "PERCENTILE_DISC_IMPL", 130 26: "PERCENTILE_CONT_IMPL", 131 } 132 var AggregatorSpec_Func_value = map[string]int32{ 133 "ANY_NOT_NULL": 0, 134 "AVG": 1, 135 "BOOL_AND": 2, 136 "BOOL_OR": 3, 137 "CONCAT_AGG": 4, 138 "COUNT": 5, 139 "MAX": 7, 140 "MIN": 8, 141 "STDDEV": 9, 142 "SUM": 10, 143 "SUM_INT": 11, 144 "VARIANCE": 12, 145 "XOR_AGG": 13, 146 "COUNT_ROWS": 14, 147 "SQRDIFF": 15, 148 "FINAL_VARIANCE": 16, 149 "FINAL_STDDEV": 17, 150 "ARRAY_AGG": 18, 151 "JSON_AGG": 19, 152 "JSONB_AGG": 20, 153 "STRING_AGG": 21, 154 "BIT_AND": 22, 155 "BIT_OR": 23, 156 "CORR": 24, 157 "PERCENTILE_DISC_IMPL": 25, 158 "PERCENTILE_CONT_IMPL": 26, 159 } 160 161 func (x AggregatorSpec_Func) Enum() *AggregatorSpec_Func { 162 p := new(AggregatorSpec_Func) 163 *p = x 164 return p 165 } 166 func (x AggregatorSpec_Func) String() string { 167 return proto.EnumName(AggregatorSpec_Func_name, int32(x)) 168 } 169 func (x *AggregatorSpec_Func) UnmarshalJSON(data []byte) error { 170 value, err := proto.UnmarshalJSONEnum(AggregatorSpec_Func_value, data, "AggregatorSpec_Func") 171 if err != nil { 172 return err 173 } 174 *x = AggregatorSpec_Func(value) 175 return nil 176 } 177 func (AggregatorSpec_Func) EnumDescriptor() ([]byte, []int) { 178 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{12, 0} 179 } 180 181 type AggregatorSpec_Type int32 182 183 const ( 184 // This setting exists just for backwards compatibility; it's equivalent to 185 // SCALAR when there are no grouping columns, and to NON_SCALAR when there 186 // are grouping columns. 187 AggregatorSpec_AUTO AggregatorSpec_Type = 0 188 // A scalar aggregation has no grouping columns and always returns one 189 // result row. 190 AggregatorSpec_SCALAR AggregatorSpec_Type = 1 191 // A non-scalar aggregation returns no rows if there are no input rows; it 192 // may or may not have grouping columns. 193 AggregatorSpec_NON_SCALAR AggregatorSpec_Type = 2 194 ) 195 196 var AggregatorSpec_Type_name = map[int32]string{ 197 0: "AUTO", 198 1: "SCALAR", 199 2: "NON_SCALAR", 200 } 201 var AggregatorSpec_Type_value = map[string]int32{ 202 "AUTO": 0, 203 "SCALAR": 1, 204 "NON_SCALAR": 2, 205 } 206 207 func (x AggregatorSpec_Type) Enum() *AggregatorSpec_Type { 208 p := new(AggregatorSpec_Type) 209 *p = x 210 return p 211 } 212 func (x AggregatorSpec_Type) String() string { 213 return proto.EnumName(AggregatorSpec_Type_name, int32(x)) 214 } 215 func (x *AggregatorSpec_Type) UnmarshalJSON(data []byte) error { 216 value, err := proto.UnmarshalJSONEnum(AggregatorSpec_Type_value, data, "AggregatorSpec_Type") 217 if err != nil { 218 return err 219 } 220 *x = AggregatorSpec_Type(value) 221 return nil 222 } 223 func (AggregatorSpec_Type) EnumDescriptor() ([]byte, []int) { 224 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{12, 1} 225 } 226 227 type WindowerSpec_WindowFunc int32 228 229 const ( 230 // These mirror window functions from window_builtins.go. 231 WindowerSpec_ROW_NUMBER WindowerSpec_WindowFunc = 0 232 WindowerSpec_RANK WindowerSpec_WindowFunc = 1 233 WindowerSpec_DENSE_RANK WindowerSpec_WindowFunc = 2 234 WindowerSpec_PERCENT_RANK WindowerSpec_WindowFunc = 3 235 WindowerSpec_CUME_DIST WindowerSpec_WindowFunc = 4 236 WindowerSpec_NTILE WindowerSpec_WindowFunc = 5 237 WindowerSpec_LAG WindowerSpec_WindowFunc = 6 238 WindowerSpec_LEAD WindowerSpec_WindowFunc = 7 239 WindowerSpec_FIRST_VALUE WindowerSpec_WindowFunc = 8 240 WindowerSpec_LAST_VALUE WindowerSpec_WindowFunc = 9 241 WindowerSpec_NTH_VALUE WindowerSpec_WindowFunc = 10 242 ) 243 244 var WindowerSpec_WindowFunc_name = map[int32]string{ 245 0: "ROW_NUMBER", 246 1: "RANK", 247 2: "DENSE_RANK", 248 3: "PERCENT_RANK", 249 4: "CUME_DIST", 250 5: "NTILE", 251 6: "LAG", 252 7: "LEAD", 253 8: "FIRST_VALUE", 254 9: "LAST_VALUE", 255 10: "NTH_VALUE", 256 } 257 var WindowerSpec_WindowFunc_value = map[string]int32{ 258 "ROW_NUMBER": 0, 259 "RANK": 1, 260 "DENSE_RANK": 2, 261 "PERCENT_RANK": 3, 262 "CUME_DIST": 4, 263 "NTILE": 5, 264 "LAG": 6, 265 "LEAD": 7, 266 "FIRST_VALUE": 8, 267 "LAST_VALUE": 9, 268 "NTH_VALUE": 10, 269 } 270 271 func (x WindowerSpec_WindowFunc) Enum() *WindowerSpec_WindowFunc { 272 p := new(WindowerSpec_WindowFunc) 273 *p = x 274 return p 275 } 276 func (x WindowerSpec_WindowFunc) String() string { 277 return proto.EnumName(WindowerSpec_WindowFunc_name, int32(x)) 278 } 279 func (x *WindowerSpec_WindowFunc) UnmarshalJSON(data []byte) error { 280 value, err := proto.UnmarshalJSONEnum(WindowerSpec_WindowFunc_value, data, "WindowerSpec_WindowFunc") 281 if err != nil { 282 return err 283 } 284 *x = WindowerSpec_WindowFunc(value) 285 return nil 286 } 287 func (WindowerSpec_WindowFunc) EnumDescriptor() ([]byte, []int) { 288 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{15, 0} 289 } 290 291 // Mode indicates which mode of framing is used. 292 type WindowerSpec_Frame_Mode int32 293 294 const ( 295 // RANGE specifies frame in terms of logical range (e.g. 1 unit cheaper). 296 WindowerSpec_Frame_RANGE WindowerSpec_Frame_Mode = 0 297 // ROWS specifies frame in terms of physical offsets (e.g. 1 row before). 298 WindowerSpec_Frame_ROWS WindowerSpec_Frame_Mode = 1 299 // GROUPS specifies frame in terms of peer groups (where "peers" mean 300 // rows not distinct in the ordering columns). 301 WindowerSpec_Frame_GROUPS WindowerSpec_Frame_Mode = 2 302 ) 303 304 var WindowerSpec_Frame_Mode_name = map[int32]string{ 305 0: "RANGE", 306 1: "ROWS", 307 2: "GROUPS", 308 } 309 var WindowerSpec_Frame_Mode_value = map[string]int32{ 310 "RANGE": 0, 311 "ROWS": 1, 312 "GROUPS": 2, 313 } 314 315 func (x WindowerSpec_Frame_Mode) Enum() *WindowerSpec_Frame_Mode { 316 p := new(WindowerSpec_Frame_Mode) 317 *p = x 318 return p 319 } 320 func (x WindowerSpec_Frame_Mode) String() string { 321 return proto.EnumName(WindowerSpec_Frame_Mode_name, int32(x)) 322 } 323 func (x *WindowerSpec_Frame_Mode) UnmarshalJSON(data []byte) error { 324 value, err := proto.UnmarshalJSONEnum(WindowerSpec_Frame_Mode_value, data, "WindowerSpec_Frame_Mode") 325 if err != nil { 326 return err 327 } 328 *x = WindowerSpec_Frame_Mode(value) 329 return nil 330 } 331 func (WindowerSpec_Frame_Mode) EnumDescriptor() ([]byte, []int) { 332 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{15, 1, 0} 333 } 334 335 // BoundType indicates which type of boundary is used. 336 type WindowerSpec_Frame_BoundType int32 337 338 const ( 339 WindowerSpec_Frame_UNBOUNDED_PRECEDING WindowerSpec_Frame_BoundType = 0 340 WindowerSpec_Frame_UNBOUNDED_FOLLOWING WindowerSpec_Frame_BoundType = 1 341 // Offsets are stored within Bound. 342 WindowerSpec_Frame_OFFSET_PRECEDING WindowerSpec_Frame_BoundType = 2 343 WindowerSpec_Frame_OFFSET_FOLLOWING WindowerSpec_Frame_BoundType = 3 344 WindowerSpec_Frame_CURRENT_ROW WindowerSpec_Frame_BoundType = 4 345 ) 346 347 var WindowerSpec_Frame_BoundType_name = map[int32]string{ 348 0: "UNBOUNDED_PRECEDING", 349 1: "UNBOUNDED_FOLLOWING", 350 2: "OFFSET_PRECEDING", 351 3: "OFFSET_FOLLOWING", 352 4: "CURRENT_ROW", 353 } 354 var WindowerSpec_Frame_BoundType_value = map[string]int32{ 355 "UNBOUNDED_PRECEDING": 0, 356 "UNBOUNDED_FOLLOWING": 1, 357 "OFFSET_PRECEDING": 2, 358 "OFFSET_FOLLOWING": 3, 359 "CURRENT_ROW": 4, 360 } 361 362 func (x WindowerSpec_Frame_BoundType) Enum() *WindowerSpec_Frame_BoundType { 363 p := new(WindowerSpec_Frame_BoundType) 364 *p = x 365 return p 366 } 367 func (x WindowerSpec_Frame_BoundType) String() string { 368 return proto.EnumName(WindowerSpec_Frame_BoundType_name, int32(x)) 369 } 370 func (x *WindowerSpec_Frame_BoundType) UnmarshalJSON(data []byte) error { 371 value, err := proto.UnmarshalJSONEnum(WindowerSpec_Frame_BoundType_value, data, "WindowerSpec_Frame_BoundType") 372 if err != nil { 373 return err 374 } 375 *x = WindowerSpec_Frame_BoundType(value) 376 return nil 377 } 378 func (WindowerSpec_Frame_BoundType) EnumDescriptor() ([]byte, []int) { 379 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{15, 1, 1} 380 } 381 382 // Exclusion specifies the type of frame exclusion. 383 type WindowerSpec_Frame_Exclusion int32 384 385 const ( 386 WindowerSpec_Frame_NO_EXCLUSION WindowerSpec_Frame_Exclusion = 0 387 WindowerSpec_Frame_EXCLUDE_CURRENT_ROW WindowerSpec_Frame_Exclusion = 1 388 WindowerSpec_Frame_EXCLUDE_GROUP WindowerSpec_Frame_Exclusion = 2 389 WindowerSpec_Frame_EXCLUDE_TIES WindowerSpec_Frame_Exclusion = 3 390 ) 391 392 var WindowerSpec_Frame_Exclusion_name = map[int32]string{ 393 0: "NO_EXCLUSION", 394 1: "EXCLUDE_CURRENT_ROW", 395 2: "EXCLUDE_GROUP", 396 3: "EXCLUDE_TIES", 397 } 398 var WindowerSpec_Frame_Exclusion_value = map[string]int32{ 399 "NO_EXCLUSION": 0, 400 "EXCLUDE_CURRENT_ROW": 1, 401 "EXCLUDE_GROUP": 2, 402 "EXCLUDE_TIES": 3, 403 } 404 405 func (x WindowerSpec_Frame_Exclusion) Enum() *WindowerSpec_Frame_Exclusion { 406 p := new(WindowerSpec_Frame_Exclusion) 407 *p = x 408 return p 409 } 410 func (x WindowerSpec_Frame_Exclusion) String() string { 411 return proto.EnumName(WindowerSpec_Frame_Exclusion_name, int32(x)) 412 } 413 func (x *WindowerSpec_Frame_Exclusion) UnmarshalJSON(data []byte) error { 414 value, err := proto.UnmarshalJSONEnum(WindowerSpec_Frame_Exclusion_value, data, "WindowerSpec_Frame_Exclusion") 415 if err != nil { 416 return err 417 } 418 *x = WindowerSpec_Frame_Exclusion(value) 419 return nil 420 } 421 func (WindowerSpec_Frame_Exclusion) EnumDescriptor() ([]byte, []int) { 422 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{15, 1, 2} 423 } 424 425 // ValuesCoreSpec is the core of a processor that has no inputs and generates 426 // "pre-canned" rows. This is not intended to be used for very large datasets. 427 type ValuesCoreSpec struct { 428 // There is one DatumInfo for each element in a row. Can be empty, in which 429 // case raw_bytes must be empty. 430 Columns []DatumInfo `protobuf:"bytes,1,rep,name=columns" json:"columns"` 431 // The number of rows is especially useful when we have zero columns. 432 NumRows uint64 `protobuf:"varint,3,opt,name=num_rows,json=numRows" json:"num_rows"` 433 // Each raw block encodes one or more data rows; each datum is encoded 434 // according to the corresponding DatumInfo. 435 RawBytes [][]byte `protobuf:"bytes,2,rep,name=raw_bytes,json=rawBytes" json:"raw_bytes,omitempty"` 436 } 437 438 func (m *ValuesCoreSpec) Reset() { *m = ValuesCoreSpec{} } 439 func (m *ValuesCoreSpec) String() string { return proto.CompactTextString(m) } 440 func (*ValuesCoreSpec) ProtoMessage() {} 441 func (*ValuesCoreSpec) Descriptor() ([]byte, []int) { 442 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{0} 443 } 444 func (m *ValuesCoreSpec) XXX_Unmarshal(b []byte) error { 445 return m.Unmarshal(b) 446 } 447 func (m *ValuesCoreSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 448 b = b[:cap(b)] 449 n, err := m.MarshalTo(b) 450 if err != nil { 451 return nil, err 452 } 453 return b[:n], nil 454 } 455 func (dst *ValuesCoreSpec) XXX_Merge(src proto.Message) { 456 xxx_messageInfo_ValuesCoreSpec.Merge(dst, src) 457 } 458 func (m *ValuesCoreSpec) XXX_Size() int { 459 return m.Size() 460 } 461 func (m *ValuesCoreSpec) XXX_DiscardUnknown() { 462 xxx_messageInfo_ValuesCoreSpec.DiscardUnknown(m) 463 } 464 465 var xxx_messageInfo_ValuesCoreSpec proto.InternalMessageInfo 466 467 // TableReaderSpec is the specification for a "table reader". A table reader 468 // performs KV operations to retrieve rows for a table and outputs the desired 469 // columns of the rows that pass a filter expression. 470 // 471 // The "internal columns" of a TableReader (see ProcessorSpec) are all the 472 // columns of the table. Internally, only the values for the columns needed by 473 // the post-processing stage are to be populated. If is_check is set, the 474 // TableReader will run additional data checking procedures and the 475 // "internal columns" are: 476 // - Error type (string). 477 // - Primary key as a string, if it was obtainable. 478 // - JSON of all decoded column values. 479 type TableReaderSpec struct { 480 Table sqlbase.TableDescriptor `protobuf:"bytes,1,opt,name=table" json:"table"` 481 // If 0, we use the primary index. If non-zero, we use the index_idx-th index, 482 // i.e. table.indexes[index_idx-1] 483 IndexIdx uint32 `protobuf:"varint,2,opt,name=index_idx,json=indexIdx" json:"index_idx"` 484 Reverse bool `protobuf:"varint,3,opt,name=reverse" json:"reverse"` 485 Spans []TableReaderSpan `protobuf:"bytes,4,rep,name=spans" json:"spans"` 486 // A hint for how many rows the consumer of the table reader output might 487 // need. This is used to size the initial KV batches to try to avoid reading 488 // many more rows than needed by the processor receiving the output. 489 // 490 // Not used if there is a limit set in the PostProcessSpec of this processor 491 // (that value will be used for sizing batches instead). 492 LimitHint int64 `protobuf:"varint,5,opt,name=limit_hint,json=limitHint" json:"limit_hint"` 493 // Indicates whether the TableReader is being run as an exhaustive 494 // check. This is only true during SCRUB commands. 495 IsCheck bool `protobuf:"varint,6,opt,name=is_check,json=isCheck" json:"is_check"` 496 // Indicates the visibility level of the columns that should be returned. 497 // Normally, will be set to PUBLIC. Will be set to PUBLIC_AND_NOT_PUBLIC if 498 // the consumer of this TableReader expects to be able to see in-progress 499 // schema changes. 500 Visibility ScanVisibility `protobuf:"varint,7,opt,name=visibility,enum=cockroach.sql.distsqlrun.ScanVisibility" json:"visibility"` 501 // If non-zero, this is a guarantee for the upper bound of rows a TableReader 502 // will read. If 0, the number of results is unbounded. 503 MaxResults uint64 `protobuf:"varint,8,opt,name=max_results,json=maxResults" json:"max_results"` 504 // If non-zero, this enables inconsistent historical scanning where different 505 // batches can be read with different timestamps. This is used for 506 // long-running table statistics which may outlive the TTL. Using this setting 507 // will cause inconsistencies across rows and even within rows. 508 // 509 // The value is a duration (in nanoseconds), which is the maximum "age" of the 510 // timestamp. If the scan takes long enough for the timestamp to become older, 511 // the timestamp is advanced by however much time passed. 512 // 513 // Example: 514 // 515 // current time: 10 516 // initial timestamp: 0 517 // max timestamp age: 30 518 // 519 // time 520 // 10: start scan, timestamp=0 521 // 10-29: continue scanning at timestamp=0 522 // 30: bump timestamp to 20 523 // 30-49: continue scanning at timestamp=20 524 // 50: bump timestamp to 40 525 // ... 526 // 527 // Note: it is an error to perform a historical read at an initial timestamp 528 // older than this value. 529 // 530 MaxTimestampAgeNanos uint64 `protobuf:"varint,9,opt,name=max_timestamp_age_nanos,json=maxTimestampAgeNanos" json:"max_timestamp_age_nanos"` 531 // Indicates the row-level locking strength to be used by the scan. If set to 532 // FOR_NONE, no row-level locking should be performed. 533 LockingStrength sqlbase.ScanLockingStrength `protobuf:"varint,10,opt,name=locking_strength,json=lockingStrength,enum=cockroach.sql.sqlbase.ScanLockingStrength" json:"locking_strength"` 534 // Indicates the policy to be used by the scan when dealing with rows being 535 // locked. Always set to BLOCK when locking_stength is FOR_NONE. 536 // 537 // NOTE: this is currently set but unused because only the BLOCK wait policy 538 // makes it out of the SQL optimizer without throwing an error. If/when other 539 // wait policies are supported, this field will be plumbed further. 540 LockingWaitPolicy sqlbase.ScanLockingWaitPolicy `protobuf:"varint,11,opt,name=locking_wait_policy,json=lockingWaitPolicy,enum=cockroach.sql.sqlbase.ScanLockingWaitPolicy" json:"locking_wait_policy"` 541 } 542 543 func (m *TableReaderSpec) Reset() { *m = TableReaderSpec{} } 544 func (m *TableReaderSpec) String() string { return proto.CompactTextString(m) } 545 func (*TableReaderSpec) ProtoMessage() {} 546 func (*TableReaderSpec) Descriptor() ([]byte, []int) { 547 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{1} 548 } 549 func (m *TableReaderSpec) XXX_Unmarshal(b []byte) error { 550 return m.Unmarshal(b) 551 } 552 func (m *TableReaderSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 553 b = b[:cap(b)] 554 n, err := m.MarshalTo(b) 555 if err != nil { 556 return nil, err 557 } 558 return b[:n], nil 559 } 560 func (dst *TableReaderSpec) XXX_Merge(src proto.Message) { 561 xxx_messageInfo_TableReaderSpec.Merge(dst, src) 562 } 563 func (m *TableReaderSpec) XXX_Size() int { 564 return m.Size() 565 } 566 func (m *TableReaderSpec) XXX_DiscardUnknown() { 567 xxx_messageInfo_TableReaderSpec.DiscardUnknown(m) 568 } 569 570 var xxx_messageInfo_TableReaderSpec proto.InternalMessageInfo 571 572 // IndexSkipTableReaderSpec is the specification for a table reader that 573 // is performing a loose index scan over rows in the table. This means that 574 // this reader will return distinct rows from the table while using the index 575 // to skip unnecessary rows. This reader is used for different optimizations 576 // when operating on a prefix of a compound key. 577 type IndexSkipTableReaderSpec struct { 578 Table sqlbase.TableDescriptor `protobuf:"bytes,1,opt,name=table" json:"table"` 579 // If 0, we use the primary index. If non-zero, we use the index_idx-th index, 580 // i.e. table.indexes[index_idx-1] 581 IndexIdx uint32 `protobuf:"varint,2,opt,name=index_idx,json=indexIdx" json:"index_idx"` 582 Spans []TableReaderSpan `protobuf:"bytes,3,rep,name=spans" json:"spans"` 583 // Indicates the visibility level of the columns that should be returned. 584 // Normally, will be set to PUBLIC. Will be set to PUBLIC_AND_NOT_PUBLIC if 585 // the consumer of this TableReader expects to be able to see in-progress 586 // schema changes. 587 Visibility ScanVisibility `protobuf:"varint,4,opt,name=visibility,enum=cockroach.sql.distsqlrun.ScanVisibility" json:"visibility"` 588 Reverse bool `protobuf:"varint,5,opt,name=reverse" json:"reverse"` 589 // Indicates the row-level locking strength to be used by the scan. If set to 590 // FOR_NONE, no row-level locking should be performed. 591 LockingStrength sqlbase.ScanLockingStrength `protobuf:"varint,6,opt,name=locking_strength,json=lockingStrength,enum=cockroach.sql.sqlbase.ScanLockingStrength" json:"locking_strength"` 592 // Indicates the policy to be used by the scan when dealing with rows being 593 // locked. Always set to BLOCK when locking_stength is FOR_NONE. 594 // 595 // NOTE: this is currently set but unused because only the BLOCK wait policy 596 // makes it out of the SQL optimizer without throwing an error. If/when other 597 // wait policies are supported, this field will be plumbed further. 598 LockingWaitPolicy sqlbase.ScanLockingWaitPolicy `protobuf:"varint,7,opt,name=locking_wait_policy,json=lockingWaitPolicy,enum=cockroach.sql.sqlbase.ScanLockingWaitPolicy" json:"locking_wait_policy"` 599 } 600 601 func (m *IndexSkipTableReaderSpec) Reset() { *m = IndexSkipTableReaderSpec{} } 602 func (m *IndexSkipTableReaderSpec) String() string { return proto.CompactTextString(m) } 603 func (*IndexSkipTableReaderSpec) ProtoMessage() {} 604 func (*IndexSkipTableReaderSpec) Descriptor() ([]byte, []int) { 605 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{2} 606 } 607 func (m *IndexSkipTableReaderSpec) XXX_Unmarshal(b []byte) error { 608 return m.Unmarshal(b) 609 } 610 func (m *IndexSkipTableReaderSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 611 b = b[:cap(b)] 612 n, err := m.MarshalTo(b) 613 if err != nil { 614 return nil, err 615 } 616 return b[:n], nil 617 } 618 func (dst *IndexSkipTableReaderSpec) XXX_Merge(src proto.Message) { 619 xxx_messageInfo_IndexSkipTableReaderSpec.Merge(dst, src) 620 } 621 func (m *IndexSkipTableReaderSpec) XXX_Size() int { 622 return m.Size() 623 } 624 func (m *IndexSkipTableReaderSpec) XXX_DiscardUnknown() { 625 xxx_messageInfo_IndexSkipTableReaderSpec.DiscardUnknown(m) 626 } 627 628 var xxx_messageInfo_IndexSkipTableReaderSpec proto.InternalMessageInfo 629 630 // JoinReaderSpec is the specification for a "join reader". A join reader 631 // performs KV operations to retrieve specific rows that correspond to the 632 // values in the input stream (join by lookup). The output always preserves the 633 // order of the input rows. 634 // 635 // The "internal columns" of a JoinReader (see ProcessorSpec) are either: 636 // - the columns of the table, if we are performing an index join (no lookup 637 // columns) or if we are performing a semi or anti join, or 638 // - the concatenation of the columns of the input stream with the table 639 // columns. 640 // 641 // Internally, only the values for the columns needed by the post-processing 642 // stage are populated. 643 // 644 // Example: 645 // Input stream columns: | a | b | Table columns: | c | d | e | 646 // 647 // If performing a lookup join on a = c (lookup columns is [0]): 648 // Internal columns: | a | b | c | d | e | 649 // 650 // If performing an index join (where a = c and b = d) (lookup columns is []): 651 // Internal columns: | c | d | e | 652 type JoinReaderSpec struct { 653 Table sqlbase.TableDescriptor `protobuf:"bytes,1,opt,name=table" json:"table"` 654 // If 0, we use the primary index; each row in the input stream has a value 655 // for each primary key. The index must provide all lookup columns. 656 IndexIdx uint32 `protobuf:"varint,2,opt,name=index_idx,json=indexIdx" json:"index_idx"` 657 // Column indexes in the input stream specifying the columns which match with 658 // the index columns. These are the equality columns of the join. 659 // 660 // If empty (index join), the start of the input stream schema is assumed to 661 // match the index columns. The joinReader will perform an index join and the 662 // "internal columns" will be the columns of the table. 663 // 664 // If populated (lookup join), the `joinReader` will perform a lookup join 665 // and the "internal columns" will be the concatenation of the input stream 666 // columns followed by the table columns (except for semi/anti join, which 667 // don't output any table columns). 668 LookupColumns []uint32 `protobuf:"varint,3,rep,packed,name=lookup_columns,json=lookupColumns" json:"lookup_columns,omitempty"` 669 // If set, the lookup columns form a key in the target table and thus each 670 // lookup has at most one result. 671 LookupColumnsAreKey bool `protobuf:"varint,8,opt,name=lookup_columns_are_key,json=lookupColumnsAreKey" json:"lookup_columns_are_key"` 672 // "ON" expression (in addition to the equality constraints captured by the 673 // orderings). Assuming that the left stream has N columns and the right 674 // stream has M columns, in this expression variables @1 to @N refer to 675 // columns of the left stream and variables @N to @(N+M) refer to columns in 676 // the right stream. 677 OnExpr Expression `protobuf:"bytes,4,opt,name=on_expr,json=onExpr" json:"on_expr"` 678 // For lookup joins. Only JoinType_INNER and JoinType_LEFT_OUTER are 679 // supported. 680 Type sqlbase.JoinType `protobuf:"varint,6,opt,name=type,enum=cockroach.sql.sqlbase.JoinType" json:"type"` 681 // For index joins that are sources to mutation statements - what visibility 682 // of columns should we return? Mutations sometimes need to see in-progress 683 // schema change columns, in which case this field will be changed from its 684 // default PUBLIC state. Causes the index join to return these schema change 685 // columns. 686 Visibility ScanVisibility `protobuf:"varint,7,opt,name=visibility,enum=cockroach.sql.distsqlrun.ScanVisibility" json:"visibility"` 687 // Indicates the row-level locking strength to be used by the join. If set to 688 // FOR_NONE, no row-level locking should be performed. 689 LockingStrength sqlbase.ScanLockingStrength `protobuf:"varint,9,opt,name=locking_strength,json=lockingStrength,enum=cockroach.sql.sqlbase.ScanLockingStrength" json:"locking_strength"` 690 // Indicates the policy to be used by the join when dealing with rows being 691 // locked. Always set to BLOCK when locking_stength is FOR_NONE. 692 // 693 // NOTE: this is currently set but unused because only the BLOCK wait policy 694 // makes it out of the SQL optimizer without throwing an error. If/when other 695 // wait policies are supported, this field will be plumbed further. 696 LockingWaitPolicy sqlbase.ScanLockingWaitPolicy `protobuf:"varint,10,opt,name=locking_wait_policy,json=lockingWaitPolicy,enum=cockroach.sql.sqlbase.ScanLockingWaitPolicy" json:"locking_wait_policy"` 697 // Indicates that the join reader should maintain the ordering of the input 698 // stream. This is only applicable to lookup joins, where doing so is 699 // expensive. Index joins do this by default regardless of the parameter. 700 MaintainOrdering bool `protobuf:"varint,11,opt,name=maintain_ordering,json=maintainOrdering" json:"maintain_ordering"` 701 } 702 703 func (m *JoinReaderSpec) Reset() { *m = JoinReaderSpec{} } 704 func (m *JoinReaderSpec) String() string { return proto.CompactTextString(m) } 705 func (*JoinReaderSpec) ProtoMessage() {} 706 func (*JoinReaderSpec) Descriptor() ([]byte, []int) { 707 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{3} 708 } 709 func (m *JoinReaderSpec) XXX_Unmarshal(b []byte) error { 710 return m.Unmarshal(b) 711 } 712 func (m *JoinReaderSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 713 b = b[:cap(b)] 714 n, err := m.MarshalTo(b) 715 if err != nil { 716 return nil, err 717 } 718 return b[:n], nil 719 } 720 func (dst *JoinReaderSpec) XXX_Merge(src proto.Message) { 721 xxx_messageInfo_JoinReaderSpec.Merge(dst, src) 722 } 723 func (m *JoinReaderSpec) XXX_Size() int { 724 return m.Size() 725 } 726 func (m *JoinReaderSpec) XXX_DiscardUnknown() { 727 xxx_messageInfo_JoinReaderSpec.DiscardUnknown(m) 728 } 729 730 var xxx_messageInfo_JoinReaderSpec proto.InternalMessageInfo 731 732 // SorterSpec is the specification for a "sorting aggregator". A sorting 733 // processor sorts elements in the input stream providing a certain output 734 // order guarantee regardless of the input ordering. The output ordering is 735 // according to a configurable set of columns. 736 // 737 // The "internal columns" of a Sorter (see ProcessorSpec) are the same as the 738 // input columns. 739 type SorterSpec struct { 740 OutputOrdering Ordering `protobuf:"bytes,1,opt,name=output_ordering,json=outputOrdering" json:"output_ordering"` 741 // Ordering match length, specifying that the input is already sorted by the 742 // first 'n' output ordering columns, can be optionally specified for 743 // possible speed-ups taking advantage of the partial orderings. 744 OrderingMatchLen uint32 `protobuf:"varint,2,opt,name=ordering_match_len,json=orderingMatchLen" json:"ordering_match_len"` 745 } 746 747 func (m *SorterSpec) Reset() { *m = SorterSpec{} } 748 func (m *SorterSpec) String() string { return proto.CompactTextString(m) } 749 func (*SorterSpec) ProtoMessage() {} 750 func (*SorterSpec) Descriptor() ([]byte, []int) { 751 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{4} 752 } 753 func (m *SorterSpec) XXX_Unmarshal(b []byte) error { 754 return m.Unmarshal(b) 755 } 756 func (m *SorterSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 757 b = b[:cap(b)] 758 n, err := m.MarshalTo(b) 759 if err != nil { 760 return nil, err 761 } 762 return b[:n], nil 763 } 764 func (dst *SorterSpec) XXX_Merge(src proto.Message) { 765 xxx_messageInfo_SorterSpec.Merge(dst, src) 766 } 767 func (m *SorterSpec) XXX_Size() int { 768 return m.Size() 769 } 770 func (m *SorterSpec) XXX_DiscardUnknown() { 771 xxx_messageInfo_SorterSpec.DiscardUnknown(m) 772 } 773 774 var xxx_messageInfo_SorterSpec proto.InternalMessageInfo 775 776 type DistinctSpec struct { 777 // The ordered columns in the input stream can be optionally specified for 778 // possible optimizations. The specific ordering (ascending/descending) of 779 // the column itself is not important nor is the order in which the columns 780 // are specified. The ordered columns must be a subset of the distinct 781 // columns. 782 OrderedColumns []uint32 `protobuf:"varint,1,rep,name=ordered_columns,json=orderedColumns" json:"ordered_columns,omitempty"` 783 // The distinct columns in the input stream are those columns on which we 784 // check for distinct rows. If A,B,C are in distinct_columns and there is a 785 // 4th column D which is not included in distinct_columns, its values are not 786 // considered, so rows A1,B1,C1,D1 and A1,B1,C1,D2 are considered equal and 787 // only one of them (the first) is output. 788 DistinctColumns []uint32 `protobuf:"varint,2,rep,name=distinct_columns,json=distinctColumns" json:"distinct_columns,omitempty"` 789 // If true, then NULL values are treated as not equal to one another. Each NULL 790 // value will cause a new row group to be created. For example: 791 // 792 // c 793 // ---- 794 // NULL 795 // NULL 796 // 797 // A distinct operation on column "c" will result in one output row if 798 // NullsAreDistinct is false, or two output rows if true. This is set to true 799 // for UPSERT and INSERT..ON CONFLICT statements, since they must treat NULL 800 // values as distinct. 801 NullsAreDistinct bool `protobuf:"varint,3,opt,name=nulls_are_distinct,json=nullsAreDistinct" json:"nulls_are_distinct"` 802 // If not empty, then an error with this text will be raised if there are two 803 // rows with duplicate distinct column values. This is used to implement the 804 // UPSERT and INSERT..ON CONFLICT statements, both of which prohibit the same 805 // row from being changed twice. 806 ErrorOnDup string `protobuf:"bytes,4,opt,name=error_on_dup,json=errorOnDup" json:"error_on_dup"` 807 } 808 809 func (m *DistinctSpec) Reset() { *m = DistinctSpec{} } 810 func (m *DistinctSpec) String() string { return proto.CompactTextString(m) } 811 func (*DistinctSpec) ProtoMessage() {} 812 func (*DistinctSpec) Descriptor() ([]byte, []int) { 813 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{5} 814 } 815 func (m *DistinctSpec) XXX_Unmarshal(b []byte) error { 816 return m.Unmarshal(b) 817 } 818 func (m *DistinctSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 819 b = b[:cap(b)] 820 n, err := m.MarshalTo(b) 821 if err != nil { 822 return nil, err 823 } 824 return b[:n], nil 825 } 826 func (dst *DistinctSpec) XXX_Merge(src proto.Message) { 827 xxx_messageInfo_DistinctSpec.Merge(dst, src) 828 } 829 func (m *DistinctSpec) XXX_Size() int { 830 return m.Size() 831 } 832 func (m *DistinctSpec) XXX_DiscardUnknown() { 833 xxx_messageInfo_DistinctSpec.DiscardUnknown(m) 834 } 835 836 var xxx_messageInfo_DistinctSpec proto.InternalMessageInfo 837 838 // The specification for a WITH ORDINALITY processor. It adds a new column to 839 // each resulting row that contains the ordinal number of the row. Since there 840 // are no arguments for this operator, the spec is empty. 841 type OrdinalitySpec struct { 842 } 843 844 func (m *OrdinalitySpec) Reset() { *m = OrdinalitySpec{} } 845 func (m *OrdinalitySpec) String() string { return proto.CompactTextString(m) } 846 func (*OrdinalitySpec) ProtoMessage() {} 847 func (*OrdinalitySpec) Descriptor() ([]byte, []int) { 848 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{6} 849 } 850 func (m *OrdinalitySpec) XXX_Unmarshal(b []byte) error { 851 return m.Unmarshal(b) 852 } 853 func (m *OrdinalitySpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 854 b = b[:cap(b)] 855 n, err := m.MarshalTo(b) 856 if err != nil { 857 return nil, err 858 } 859 return b[:n], nil 860 } 861 func (dst *OrdinalitySpec) XXX_Merge(src proto.Message) { 862 xxx_messageInfo_OrdinalitySpec.Merge(dst, src) 863 } 864 func (m *OrdinalitySpec) XXX_Size() int { 865 return m.Size() 866 } 867 func (m *OrdinalitySpec) XXX_DiscardUnknown() { 868 xxx_messageInfo_OrdinalitySpec.DiscardUnknown(m) 869 } 870 871 var xxx_messageInfo_OrdinalitySpec proto.InternalMessageInfo 872 873 // ZigzagJoinerSpec is the specification for a zigzag join processor. The 874 // processor's current implementation fetches the rows using internal 875 // rowFetchers. 876 // 877 // The "internal columns" of a ZigzagJoiner (see ProcessorSpec) are the 878 // concatenation of all of the columns of the tables specified. The columns 879 // are populated if they are contained in the index specified for that table. 880 type ZigzagJoinerSpec struct { 881 // TODO(pbardea): Replace these with inputs that conform to a RowSource-like 882 // interface. 883 Tables []sqlbase.TableDescriptor `protobuf:"bytes,1,rep,name=tables" json:"tables"` 884 // An array of arrays. The array at eq_columns[side_idx] contains the 885 // equality columns for that side. All arrays in eq_columns should have 886 // equal length. 887 EqColumns []Columns `protobuf:"bytes,2,rep,name=eq_columns,json=eqColumns" json:"eq_columns"` 888 // Each value indicates an index: if 0, primary index; otherwise the n-th 889 // secondary index, i.e. tables[side_idx].indexes[index_ordinals[side_idx]]. 890 IndexOrdinals []uint32 `protobuf:"varint,3,rep,packed,name=index_ordinals,json=indexOrdinals" json:"index_ordinals,omitempty"` 891 // "ON" expression (in addition to the equality constraints captured by the 892 // orderings). Assuming that the left stream has N columns and the right 893 // stream has M columns, in this expression ordinal references @1 to @N refer 894 // to columns of the left stream and variables @(N+1) to @(N+M) refer to 895 // columns in the right stream. 896 OnExpr Expression `protobuf:"bytes,4,opt,name=on_expr,json=onExpr" json:"on_expr"` 897 // Fixed values at the start of indices. 898 FixedValues []*ValuesCoreSpec `protobuf:"bytes,5,rep,name=fixed_values,json=fixedValues" json:"fixed_values,omitempty"` 899 Type sqlbase.JoinType `protobuf:"varint,6,opt,name=type,enum=cockroach.sql.sqlbase.JoinType" json:"type"` 900 } 901 902 func (m *ZigzagJoinerSpec) Reset() { *m = ZigzagJoinerSpec{} } 903 func (m *ZigzagJoinerSpec) String() string { return proto.CompactTextString(m) } 904 func (*ZigzagJoinerSpec) ProtoMessage() {} 905 func (*ZigzagJoinerSpec) Descriptor() ([]byte, []int) { 906 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{7} 907 } 908 func (m *ZigzagJoinerSpec) XXX_Unmarshal(b []byte) error { 909 return m.Unmarshal(b) 910 } 911 func (m *ZigzagJoinerSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 912 b = b[:cap(b)] 913 n, err := m.MarshalTo(b) 914 if err != nil { 915 return nil, err 916 } 917 return b[:n], nil 918 } 919 func (dst *ZigzagJoinerSpec) XXX_Merge(src proto.Message) { 920 xxx_messageInfo_ZigzagJoinerSpec.Merge(dst, src) 921 } 922 func (m *ZigzagJoinerSpec) XXX_Size() int { 923 return m.Size() 924 } 925 func (m *ZigzagJoinerSpec) XXX_DiscardUnknown() { 926 xxx_messageInfo_ZigzagJoinerSpec.DiscardUnknown(m) 927 } 928 929 var xxx_messageInfo_ZigzagJoinerSpec proto.InternalMessageInfo 930 931 // MergeJoinerSpec is the specification for a merge join processor. The processor 932 // has two inputs and one output. The inputs must have the same ordering on the 933 // columns that have equality constraints. For example: 934 // SELECT * FROM T1 INNER JOIN T2 ON T1.C1 = T2.C5 AND T1.C2 = T2.C4 935 // 936 // To perform a merge join, the streams corresponding to T1 and T2 must have the 937 // same ordering on columns C1, C2 and C5, C4 respectively. For example: C1+,C2- 938 // and C5+,C4-. 939 // 940 // The "internal columns" of a MergeJoiner (see ProcessorSpec) are the 941 // concatenation of left input columns and right input columns. If the left 942 // input has N columns and the right input has M columns, the first N columns 943 // contain values from the left side and the following M columns contain values 944 // from the right side. 945 // 946 // In the case of semi-join and anti-join, the processor core outputs only the 947 // left columns. 948 type MergeJoinerSpec struct { 949 // The streams must be ordered according to the columns that have equality 950 // constraints. The first column of the left ordering is constrained to be 951 // equal to the first column in the right ordering and so on. The ordering 952 // lengths and directions must match. 953 // In the example above, left ordering describes C1+,C2- and right ordering 954 // describes C5+,C4-. 955 LeftOrdering Ordering `protobuf:"bytes,1,opt,name=left_ordering,json=leftOrdering" json:"left_ordering"` 956 RightOrdering Ordering `protobuf:"bytes,2,opt,name=right_ordering,json=rightOrdering" json:"right_ordering"` 957 // "ON" expression (in addition to the equality constraints captured by the 958 // orderings). Assuming that the left stream has N columns and the right 959 // stream has M columns, in this expression ordinal references @1 to @N refer 960 // to columns of the left stream and variables @(N+1) to @(N+M) refer to 961 // columns in the right stream. 962 OnExpr Expression `protobuf:"bytes,5,opt,name=on_expr,json=onExpr" json:"on_expr"` 963 Type sqlbase.JoinType `protobuf:"varint,6,opt,name=type,enum=cockroach.sql.sqlbase.JoinType" json:"type"` 964 // NullEquality indicates that NULL = NULL should be considered true. 965 // This allows OUTER JOINs to consider NULL values meaningfully. An 966 // example of this is during SCRUB checks on secondary indexes. 967 NullEquality bool `protobuf:"varint,7,opt,name=null_equality,json=nullEquality" json:"null_equality"` 968 // If true, it is guaranteed that the left equality columns form a key for 969 // the left input. In other words, no two rows from the left input have the 970 // same set of values on the left equality columns. 971 LeftEqColumnsAreKey bool `protobuf:"varint,8,opt,name=left_eq_columns_are_key,json=leftEqColumnsAreKey" json:"left_eq_columns_are_key"` 972 // If true, it is guaranteed that the right equality columns form a key for 973 // the right input. In other words, no two rows from the right input have the 974 // same set of values on the right equality columns. 975 RightEqColumnsAreKey bool `protobuf:"varint,9,opt,name=right_eq_columns_are_key,json=rightEqColumnsAreKey" json:"right_eq_columns_are_key"` 976 } 977 978 func (m *MergeJoinerSpec) Reset() { *m = MergeJoinerSpec{} } 979 func (m *MergeJoinerSpec) String() string { return proto.CompactTextString(m) } 980 func (*MergeJoinerSpec) ProtoMessage() {} 981 func (*MergeJoinerSpec) Descriptor() ([]byte, []int) { 982 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{8} 983 } 984 func (m *MergeJoinerSpec) XXX_Unmarshal(b []byte) error { 985 return m.Unmarshal(b) 986 } 987 func (m *MergeJoinerSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 988 b = b[:cap(b)] 989 n, err := m.MarshalTo(b) 990 if err != nil { 991 return nil, err 992 } 993 return b[:n], nil 994 } 995 func (dst *MergeJoinerSpec) XXX_Merge(src proto.Message) { 996 xxx_messageInfo_MergeJoinerSpec.Merge(dst, src) 997 } 998 func (m *MergeJoinerSpec) XXX_Size() int { 999 return m.Size() 1000 } 1001 func (m *MergeJoinerSpec) XXX_DiscardUnknown() { 1002 xxx_messageInfo_MergeJoinerSpec.DiscardUnknown(m) 1003 } 1004 1005 var xxx_messageInfo_MergeJoinerSpec proto.InternalMessageInfo 1006 1007 // HashJoinerSpec is the specification for a hash join processor. The processor 1008 // has two inputs and one output. 1009 // 1010 // The processor works by reading the entire right input and putting it in a hash 1011 // table. Thus, there is no guarantee on the ordering of results that stem only 1012 // from the right input (in the case of RIGHT_OUTER, FULL_OUTER). However, it is 1013 // guaranteed that results that involve the left stream preserve the ordering; 1014 // i.e. all results that stem from left row (i) precede results that stem from 1015 // left row (i+1). 1016 // 1017 // The "internal columns" of a HashJoiner (see ProcessorSpec) are the 1018 // concatenation of merged columns (if present), left input columns and right 1019 // input columns. Each merged column corresponds to a left and a right equality 1020 // column; its value is the value on the left if it is not NULL, otherwise it is 1021 // the value on the right. There are either zero or 1022 // E=len(left_eq_columns)=len(right_eq_columns) merged columns. 1023 // 1024 // If the left input has N columns and the right input has M columns, the 1025 // first N columns contain values from the left side and the following M columns 1026 // contain values from the right side. If merged columns are present, they 1027 // occupy first E positions followed by N values from the left side and M values 1028 // from the right side. 1029 // 1030 // In the case of semi-join and anti-join, the processor core outputs only the 1031 // left columns. 1032 type HashJoinerSpec struct { 1033 // The join constraints certain columns from the left stream to equal 1034 // corresponding columns on the right stream. These must have the same length. 1035 LeftEqColumns []uint32 `protobuf:"varint,1,rep,packed,name=left_eq_columns,json=leftEqColumns" json:"left_eq_columns,omitempty"` 1036 RightEqColumns []uint32 `protobuf:"varint,2,rep,packed,name=right_eq_columns,json=rightEqColumns" json:"right_eq_columns,omitempty"` 1037 // "ON" expression (in addition to the equality constraints captured by the 1038 // orderings). Assuming that the left stream has N columns and the right 1039 // stream has M columns, in this expression variables @1 to @N refer to 1040 // columns of the left stream and variables @N to @(N+M) refer to columns in 1041 // the right stream. 1042 // Having "ON" expression implies no merged columns. 1043 OnExpr Expression `protobuf:"bytes,5,opt,name=on_expr,json=onExpr" json:"on_expr"` 1044 Type sqlbase.JoinType `protobuf:"varint,6,opt,name=type,enum=cockroach.sql.sqlbase.JoinType" json:"type"` 1045 // If true, it is guaranteed that the left equality columns form a key for 1046 // the left input. In other words, no two rows from the left input have the 1047 // same set of values on the left equality columns. 1048 LeftEqColumnsAreKey bool `protobuf:"varint,8,opt,name=left_eq_columns_are_key,json=leftEqColumnsAreKey" json:"left_eq_columns_are_key"` 1049 // If true, it is guaranteed that the right equality columns form a key for 1050 // the right input. In other words, no two rows from the right input have the 1051 // same set of values on the right equality columns. 1052 RightEqColumnsAreKey bool `protobuf:"varint,9,opt,name=right_eq_columns_are_key,json=rightEqColumnsAreKey" json:"right_eq_columns_are_key"` 1053 // DEPRECATED 1054 // 1055 // Extra merged columns that are added in case of OUTER JOINS. These 1056 // columns occupy first positions in a row amd it's the left value if it's not 1057 // NULL, otherwise it's the right value. In INNER JOIN case no merged columns are 1058 // needed since left stream values are guaranteed to be not NULL. 1059 // 1060 // This has been deprecated; the distsqlrun layer still supports it for 1061 // backward compatibility during upgrade. 1062 MergedColumns bool `protobuf:"varint,7,opt,name=merged_columns,json=mergedColumns" json:"merged_columns"` 1063 } 1064 1065 func (m *HashJoinerSpec) Reset() { *m = HashJoinerSpec{} } 1066 func (m *HashJoinerSpec) String() string { return proto.CompactTextString(m) } 1067 func (*HashJoinerSpec) ProtoMessage() {} 1068 func (*HashJoinerSpec) Descriptor() ([]byte, []int) { 1069 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{9} 1070 } 1071 func (m *HashJoinerSpec) XXX_Unmarshal(b []byte) error { 1072 return m.Unmarshal(b) 1073 } 1074 func (m *HashJoinerSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1075 b = b[:cap(b)] 1076 n, err := m.MarshalTo(b) 1077 if err != nil { 1078 return nil, err 1079 } 1080 return b[:n], nil 1081 } 1082 func (dst *HashJoinerSpec) XXX_Merge(src proto.Message) { 1083 xxx_messageInfo_HashJoinerSpec.Merge(dst, src) 1084 } 1085 func (m *HashJoinerSpec) XXX_Size() int { 1086 return m.Size() 1087 } 1088 func (m *HashJoinerSpec) XXX_DiscardUnknown() { 1089 xxx_messageInfo_HashJoinerSpec.DiscardUnknown(m) 1090 } 1091 1092 var xxx_messageInfo_HashJoinerSpec proto.InternalMessageInfo 1093 1094 // InvertedJoinerSpec is the specification for an inverted join. The processor 1095 // has two inputs and one output. 1096 // 1097 // The processor uses the inverted index on a column of the right input to 1098 // join with a column of the left input. In addition to the InvertedExpr which 1099 // is specified on these two columns, it also evaluates an OnExpr on the 1100 // joined rows that satisfy the InvertedExpr. The "internal columns" of an 1101 // InvertedJoiner for INNER and LEFT_OUTER joins are a concatenation of the 1102 // columns of left and right input. The only columns of the right input that 1103 // are populated are the columns present in the inverted index, except for the 1104 // inverted column (since it does not represent a complete value for the datum 1105 // that was indexed). For LEFT_SEMI and LEFT_ANTI, the "internal columns" are 1106 // the columns of the left input. 1107 // 1108 // Example: 1109 // Input stream columns: | a | b | 1110 // Table columns: | c | d | e | 1111 // The InvertedExpr involves columns b, e and the primary key for the right 1112 // input is c. 1113 // The inverted index has columns: | e' | c | 1114 // where e' is derived from e. For instance, if e is an array, e' will 1115 // correspond to elements of the array. 1116 // The OnExpr can use columns a, b, c, since they are the other columns that 1117 // are present in the input stream and the inverted index. 1118 // 1119 // Internal columns for INNER and LEFT_OUTER: | a | b | c | d | e | 1120 // where d, e are not populated. 1121 // Internal columns for LEFT_SEMI and LEFT_ANTI: | a | b | 1122 type InvertedJoinerSpec struct { 1123 Table sqlbase.TableDescriptor `protobuf:"bytes,1,opt,name=table" json:"table"` 1124 // The ID of the inverted index. The first column in the index is the 1125 // inverted column, and the the remaining columns are the primary key. 1126 IndexIdx uint32 `protobuf:"varint,2,opt,name=index_idx,json=indexIdx" json:"index_idx"` 1127 // Index of the column in the input stream that is to be joined with 1128 // the inverted index. 1129 LookupColumn uint32 `protobuf:"varint,3,opt,name=lookup_column,json=lookupColumn" json:"lookup_column"` 1130 // Expression involving only the indexed column and the lookup column, where 1131 // @1 refers to the lookup column and @2 to the indexed column. The 1132 // expression is used to construct an implementation of 1133 // RowToInvertedIndexExpr which will be fed each input row and output 1134 // an expression to evaluate over the inverted index. 1135 // 1136 // TODO(sumeer): RowToInvertedIndexExpr will be added with the 1137 // invertedJoiner implementation. And update this comment when all the 1138 // expression generation machinery is in place to refer to actual code 1139 // abstractions. 1140 InvertedExpr Expression `protobuf:"bytes,4,opt,name=inverted_expr,json=invertedExpr" json:"inverted_expr"` 1141 // Optional expression involving the columns in the index (other than the 1142 // inverted column) and the columns in the input stream. Assuming that the 1143 // input stream has N columns and the table that has been indexed has M 1144 // columns, in this expression variables @1 to @N refer to columns of the 1145 // input stream and variables @(N+1) to @(N+M) refer to columns in the 1146 // table. The numbering does not omit the column in the table corresponding 1147 // to the inverted column, or other table columns absent from the index, but 1148 // they cannot be present in this expression. 1149 OnExpr Expression `protobuf:"bytes,5,opt,name=on_expr,json=onExpr" json:"on_expr"` 1150 // Only INNER, LEFT_OUTER, LEFT_SEMI, LEFT_ANTI are supported. For indexes 1151 // that produce false positives for user expressions, like geospatial 1152 // indexes, only INNER and LEFT_OUTER are actually useful -- LEFT_SEMI will 1153 // be mapped to INNER by the optimizer, and LEFT_ANTI to LEFT_OUTER, to 1154 // allow the false positives to be eliminated by evaluating the exact 1155 // expression on the rows output by this join. 1156 Type sqlbase.JoinType `protobuf:"varint,6,opt,name=type,enum=cockroach.sql.sqlbase.JoinType" json:"type"` 1157 } 1158 1159 func (m *InvertedJoinerSpec) Reset() { *m = InvertedJoinerSpec{} } 1160 func (m *InvertedJoinerSpec) String() string { return proto.CompactTextString(m) } 1161 func (*InvertedJoinerSpec) ProtoMessage() {} 1162 func (*InvertedJoinerSpec) Descriptor() ([]byte, []int) { 1163 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{10} 1164 } 1165 func (m *InvertedJoinerSpec) XXX_Unmarshal(b []byte) error { 1166 return m.Unmarshal(b) 1167 } 1168 func (m *InvertedJoinerSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1169 b = b[:cap(b)] 1170 n, err := m.MarshalTo(b) 1171 if err != nil { 1172 return nil, err 1173 } 1174 return b[:n], nil 1175 } 1176 func (dst *InvertedJoinerSpec) XXX_Merge(src proto.Message) { 1177 xxx_messageInfo_InvertedJoinerSpec.Merge(dst, src) 1178 } 1179 func (m *InvertedJoinerSpec) XXX_Size() int { 1180 return m.Size() 1181 } 1182 func (m *InvertedJoinerSpec) XXX_DiscardUnknown() { 1183 xxx_messageInfo_InvertedJoinerSpec.DiscardUnknown(m) 1184 } 1185 1186 var xxx_messageInfo_InvertedJoinerSpec proto.InternalMessageInfo 1187 1188 // InvertedFiltererSpec is the specification of a processor that does filtering 1189 // on a table by evaluating an invertedexpr.SpanExpressionProto on an inverted 1190 // index of the table. The input consists of the inverted index rows from 1191 // SpanExpressionProto.SpansToRead. 1192 // 1193 // Example: 1194 // Table columns: | a | b | c | d | 1195 // where a, b are the primary key and d is the column with the inverted index. 1196 // Inverted index columns: | d' | a | b | 1197 // where d' is derived from d. For instance, if d is an array, d' will be 1198 // elements of the array. 1199 // 1200 // Internal columns are | a | b |. 1201 type InvertedFiltererSpec struct { 1202 // The expression to evaluate. 1203 InvertedExpr invertedexpr.SpanExpressionProto `protobuf:"bytes,1,opt,name=inverted_expr,json=invertedExpr" json:"inverted_expr"` 1204 // Optional expression involving the primary key columns, where 1205 // @1 refers to the first PK column, and so on. The inverted index 1206 // column is not part of this numbering. 1207 OnExpr Expression `protobuf:"bytes,2,opt,name=on_expr,json=onExpr" json:"on_expr"` 1208 } 1209 1210 func (m *InvertedFiltererSpec) Reset() { *m = InvertedFiltererSpec{} } 1211 func (m *InvertedFiltererSpec) String() string { return proto.CompactTextString(m) } 1212 func (*InvertedFiltererSpec) ProtoMessage() {} 1213 func (*InvertedFiltererSpec) Descriptor() ([]byte, []int) { 1214 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{11} 1215 } 1216 func (m *InvertedFiltererSpec) XXX_Unmarshal(b []byte) error { 1217 return m.Unmarshal(b) 1218 } 1219 func (m *InvertedFiltererSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1220 b = b[:cap(b)] 1221 n, err := m.MarshalTo(b) 1222 if err != nil { 1223 return nil, err 1224 } 1225 return b[:n], nil 1226 } 1227 func (dst *InvertedFiltererSpec) XXX_Merge(src proto.Message) { 1228 xxx_messageInfo_InvertedFiltererSpec.Merge(dst, src) 1229 } 1230 func (m *InvertedFiltererSpec) XXX_Size() int { 1231 return m.Size() 1232 } 1233 func (m *InvertedFiltererSpec) XXX_DiscardUnknown() { 1234 xxx_messageInfo_InvertedFiltererSpec.DiscardUnknown(m) 1235 } 1236 1237 var xxx_messageInfo_InvertedFiltererSpec proto.InternalMessageInfo 1238 1239 // AggregatorSpec is the specification for an "aggregator" (processor core 1240 // type, not the logical plan computation stage). An aggregator performs 1241 // 'aggregation' in the SQL sense in that it groups rows and computes an aggregate 1242 // for each group. The group is configured using the group key. The aggregator 1243 // can be configured with one or more aggregation functions. 1244 // 1245 // The "internal columns" of an Aggregator map 1-1 to the aggregations. 1246 type AggregatorSpec struct { 1247 Type AggregatorSpec_Type `protobuf:"varint,5,opt,name=type,enum=cockroach.sql.distsqlrun.AggregatorSpec_Type" json:"type"` 1248 // The group key is a subset of the columns in the input stream schema on the 1249 // basis of which we define our groups. 1250 GroupCols []uint32 `protobuf:"varint,2,rep,packed,name=group_cols,json=groupCols" json:"group_cols,omitempty"` 1251 Aggregations []AggregatorSpec_Aggregation `protobuf:"bytes,3,rep,name=aggregations" json:"aggregations"` 1252 // A subset of the GROUP BY columns which are ordered in the input. 1253 OrderedGroupCols []uint32 `protobuf:"varint,4,rep,packed,name=ordered_group_cols,json=orderedGroupCols" json:"ordered_group_cols,omitempty"` 1254 } 1255 1256 func (m *AggregatorSpec) Reset() { *m = AggregatorSpec{} } 1257 func (m *AggregatorSpec) String() string { return proto.CompactTextString(m) } 1258 func (*AggregatorSpec) ProtoMessage() {} 1259 func (*AggregatorSpec) Descriptor() ([]byte, []int) { 1260 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{12} 1261 } 1262 func (m *AggregatorSpec) XXX_Unmarshal(b []byte) error { 1263 return m.Unmarshal(b) 1264 } 1265 func (m *AggregatorSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1266 b = b[:cap(b)] 1267 n, err := m.MarshalTo(b) 1268 if err != nil { 1269 return nil, err 1270 } 1271 return b[:n], nil 1272 } 1273 func (dst *AggregatorSpec) XXX_Merge(src proto.Message) { 1274 xxx_messageInfo_AggregatorSpec.Merge(dst, src) 1275 } 1276 func (m *AggregatorSpec) XXX_Size() int { 1277 return m.Size() 1278 } 1279 func (m *AggregatorSpec) XXX_DiscardUnknown() { 1280 xxx_messageInfo_AggregatorSpec.DiscardUnknown(m) 1281 } 1282 1283 var xxx_messageInfo_AggregatorSpec proto.InternalMessageInfo 1284 1285 type AggregatorSpec_Aggregation struct { 1286 Func AggregatorSpec_Func `protobuf:"varint,1,opt,name=func,enum=cockroach.sql.distsqlrun.AggregatorSpec_Func" json:"func"` 1287 // Aggregation functions with distinct = true functions like you would 1288 // expect '<FUNC> DISTINCT' to operate, the default behavior would be 1289 // the '<FUNC> ALL' operation. 1290 Distinct bool `protobuf:"varint,2,opt,name=distinct" json:"distinct"` 1291 // The column index specifies the argument(s) to the aggregator function. 1292 // 1293 // Most aggregations take one argument 1294 // COUNT_ROWS takes no arguments. 1295 // FINAL_STDDEV and FINAL_VARIANCE take three arguments (SQRDIFF, SUM, 1296 // COUNT). 1297 ColIdx []uint32 `protobuf:"varint,5,rep,name=col_idx,json=colIdx" json:"col_idx,omitempty"` 1298 // If set, this column index specifies a boolean argument; rows for which 1299 // this value is not true don't contribute to this aggregation. This enables 1300 // the filter clause, e.g.: 1301 // SELECT SUM(x) FILTER (WHERE y > 1), SUM(x) FILTER (WHERE y < 1) FROM t 1302 FilterColIdx *uint32 `protobuf:"varint,4,opt,name=filter_col_idx,json=filterColIdx" json:"filter_col_idx,omitempty"` 1303 // Arguments are const expressions passed to aggregation functions. 1304 Arguments []Expression `protobuf:"bytes,6,rep,name=arguments" json:"arguments"` 1305 } 1306 1307 func (m *AggregatorSpec_Aggregation) Reset() { *m = AggregatorSpec_Aggregation{} } 1308 func (m *AggregatorSpec_Aggregation) String() string { return proto.CompactTextString(m) } 1309 func (*AggregatorSpec_Aggregation) ProtoMessage() {} 1310 func (*AggregatorSpec_Aggregation) Descriptor() ([]byte, []int) { 1311 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{12, 0} 1312 } 1313 func (m *AggregatorSpec_Aggregation) XXX_Unmarshal(b []byte) error { 1314 return m.Unmarshal(b) 1315 } 1316 func (m *AggregatorSpec_Aggregation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1317 b = b[:cap(b)] 1318 n, err := m.MarshalTo(b) 1319 if err != nil { 1320 return nil, err 1321 } 1322 return b[:n], nil 1323 } 1324 func (dst *AggregatorSpec_Aggregation) XXX_Merge(src proto.Message) { 1325 xxx_messageInfo_AggregatorSpec_Aggregation.Merge(dst, src) 1326 } 1327 func (m *AggregatorSpec_Aggregation) XXX_Size() int { 1328 return m.Size() 1329 } 1330 func (m *AggregatorSpec_Aggregation) XXX_DiscardUnknown() { 1331 xxx_messageInfo_AggregatorSpec_Aggregation.DiscardUnknown(m) 1332 } 1333 1334 var xxx_messageInfo_AggregatorSpec_Aggregation proto.InternalMessageInfo 1335 1336 // InterleavedReaderJoinerSpec is the specification for a processor that performs 1337 // KV operations to retrieve rows from 2+ tables from an interleaved hierarchy, 1338 // performs intermediate filtering on rows from each table, and performs a 1339 // join on the rows from the 2+ tables. 1340 // 1341 // Limitations: the InterleavedReaderJoiner currently supports only equality INNER joins 1342 // on the full interleave prefix. 1343 // See https://github.com/cockroachdb/cockroach/blob/master/docs/RFCS/20171025_interleaved_table_joins.md. 1344 // 1345 // The "internal columns" of an InterleavedReaderJoiner are the 1346 // concatenation of left input columns and right input columns. If the left 1347 // table has N columns and the right table has M columns, the first N columns 1348 // contain values from the left table and the following M columns contain values 1349 // from the right table. 1350 type InterleavedReaderJoinerSpec struct { 1351 // For the common case of two tables, table at index 0 is the left/parent 1352 // table and table at index 1 is the right/child table. 1353 Tables []InterleavedReaderJoinerSpec_Table `protobuf:"bytes,1,rep,name=tables" json:"tables"` 1354 Reverse bool `protobuf:"varint,2,opt,name=reverse" json:"reverse"` 1355 // A hint for how many joined rows from the tables the consumer of the 1356 // interleavedReaderJoiner might need. This is used to size the initial KV 1357 // batches to try to avoid reading many more rows than needed by the 1358 // processor receiving the output. 1359 // Not used if there is a limit set in the PostProcessSpec of this processor 1360 // (that value will be used for sizing batches instead). 1361 LimitHint int64 `protobuf:"varint,3,opt,name=limit_hint,json=limitHint" json:"limit_hint"` 1362 // Indicates the row-level locking strength to be used by the scan over the 1363 // tables. If set to FOR_NONE, no row-level locking should be performed. 1364 LockingStrength sqlbase.ScanLockingStrength `protobuf:"varint,6,opt,name=locking_strength,json=lockingStrength,enum=cockroach.sql.sqlbase.ScanLockingStrength" json:"locking_strength"` 1365 // Indicates the policy to be used by the scan over the tables when dealing 1366 // with rows being locked. Always set to BLOCK when locking_stength is 1367 // FOR_NONE. 1368 // 1369 // NOTE: this is currently set but unused because only the BLOCK wait policy 1370 // makes it out of the SQL optimizer without throwing an error. If/when other 1371 // wait policies are supported, this field will be plumbed further. 1372 LockingWaitPolicy sqlbase.ScanLockingWaitPolicy `protobuf:"varint,7,opt,name=locking_wait_policy,json=lockingWaitPolicy,enum=cockroach.sql.sqlbase.ScanLockingWaitPolicy" json:"locking_wait_policy"` 1373 // "ON" expression (in addition to the equality constraints captured by the 1374 // orderings). Assuming that the left table has N columns and the second 1375 // table stream has M columns, in this expression ordinal references @1 to @N 1376 // refer to columns of the left table and variables @(N+1) to @(N+M) refer to 1377 // columns in the right table. 1378 OnExpr Expression `protobuf:"bytes,4,opt,name=on_expr,json=onExpr" json:"on_expr"` 1379 Type sqlbase.JoinType `protobuf:"varint,5,opt,name=type,enum=cockroach.sql.sqlbase.JoinType" json:"type"` 1380 } 1381 1382 func (m *InterleavedReaderJoinerSpec) Reset() { *m = InterleavedReaderJoinerSpec{} } 1383 func (m *InterleavedReaderJoinerSpec) String() string { return proto.CompactTextString(m) } 1384 func (*InterleavedReaderJoinerSpec) ProtoMessage() {} 1385 func (*InterleavedReaderJoinerSpec) Descriptor() ([]byte, []int) { 1386 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{13} 1387 } 1388 func (m *InterleavedReaderJoinerSpec) XXX_Unmarshal(b []byte) error { 1389 return m.Unmarshal(b) 1390 } 1391 func (m *InterleavedReaderJoinerSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1392 b = b[:cap(b)] 1393 n, err := m.MarshalTo(b) 1394 if err != nil { 1395 return nil, err 1396 } 1397 return b[:n], nil 1398 } 1399 func (dst *InterleavedReaderJoinerSpec) XXX_Merge(src proto.Message) { 1400 xxx_messageInfo_InterleavedReaderJoinerSpec.Merge(dst, src) 1401 } 1402 func (m *InterleavedReaderJoinerSpec) XXX_Size() int { 1403 return m.Size() 1404 } 1405 func (m *InterleavedReaderJoinerSpec) XXX_DiscardUnknown() { 1406 xxx_messageInfo_InterleavedReaderJoinerSpec.DiscardUnknown(m) 1407 } 1408 1409 var xxx_messageInfo_InterleavedReaderJoinerSpec proto.InternalMessageInfo 1410 1411 type InterleavedReaderJoinerSpec_Table struct { 1412 Desc sqlbase.TableDescriptor `protobuf:"bytes,1,opt,name=desc" json:"desc"` 1413 // If 0, we use the primary index. If non-zero, we use the index_idx-th index, 1414 // i.e. desc.indexes[index_idx-1] 1415 IndexIdx uint32 `protobuf:"varint,2,opt,name=index_idx,json=indexIdx" json:"index_idx"` 1416 // The PostProcessSpecs of the corresponding TableReaderSpecs of each table 1417 // are fed as arguments to InterleavedReaderJoiner. 1418 // 1419 // This is required to properly post-process the rows (i.e. filtering and 1420 // projections) after reading from the table but before joining. 1421 // It may be necessary to modify/introduce additional intermediate filters 1422 // for correctness (see comment above 'spans' under 1423 // InterleavedReaderJoinerSpec). 1424 Post PostProcessSpec `protobuf:"bytes,3,opt,name=post" json:"post"` 1425 // The tables must be ordered according to the columns that have equality 1426 // constraints. The first column of the first table's ordering is constrained 1427 // to be equal to the first column in the second table's ordering and so on 1428 // for the other tables and their corresponding columns. 1429 Ordering Ordering `protobuf:"bytes,4,opt,name=ordering" json:"ordering"` 1430 // The span covering the rows from this table to join. Note the 1431 // InterleavedReaderJoiner processor will taking the union of all spans across 1432 // all tables to do a single pass-through scan. InterleavedReaderJoiner will 1433 // then check if a given row for a table is within any of its spans. 1434 // There must exist at least one non-empty set of spans for some table. 1435 Spans []TableReaderSpan `protobuf:"bytes,5,rep,name=spans" json:"spans"` 1436 } 1437 1438 func (m *InterleavedReaderJoinerSpec_Table) Reset() { *m = InterleavedReaderJoinerSpec_Table{} } 1439 func (m *InterleavedReaderJoinerSpec_Table) String() string { return proto.CompactTextString(m) } 1440 func (*InterleavedReaderJoinerSpec_Table) ProtoMessage() {} 1441 func (*InterleavedReaderJoinerSpec_Table) Descriptor() ([]byte, []int) { 1442 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{13, 0} 1443 } 1444 func (m *InterleavedReaderJoinerSpec_Table) XXX_Unmarshal(b []byte) error { 1445 return m.Unmarshal(b) 1446 } 1447 func (m *InterleavedReaderJoinerSpec_Table) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1448 b = b[:cap(b)] 1449 n, err := m.MarshalTo(b) 1450 if err != nil { 1451 return nil, err 1452 } 1453 return b[:n], nil 1454 } 1455 func (dst *InterleavedReaderJoinerSpec_Table) XXX_Merge(src proto.Message) { 1456 xxx_messageInfo_InterleavedReaderJoinerSpec_Table.Merge(dst, src) 1457 } 1458 func (m *InterleavedReaderJoinerSpec_Table) XXX_Size() int { 1459 return m.Size() 1460 } 1461 func (m *InterleavedReaderJoinerSpec_Table) XXX_DiscardUnknown() { 1462 xxx_messageInfo_InterleavedReaderJoinerSpec_Table.DiscardUnknown(m) 1463 } 1464 1465 var xxx_messageInfo_InterleavedReaderJoinerSpec_Table proto.InternalMessageInfo 1466 1467 // ProjectSetSpec is the specification of a processor which applies a set of 1468 // expressions, which may be set-returning functions, to its input. 1469 type ProjectSetSpec struct { 1470 // Expressions to be applied 1471 Exprs []Expression `protobuf:"bytes,1,rep,name=exprs" json:"exprs"` 1472 // Column types for the generated values 1473 GeneratedColumns []*types.T `protobuf:"bytes,2,rep,name=generated_columns,json=generatedColumns" json:"generated_columns,omitempty"` 1474 // The number of columns each expression returns. Same length as exprs. 1475 NumColsPerGen []uint32 `protobuf:"varint,3,rep,name=num_cols_per_gen,json=numColsPerGen" json:"num_cols_per_gen,omitempty"` 1476 } 1477 1478 func (m *ProjectSetSpec) Reset() { *m = ProjectSetSpec{} } 1479 func (m *ProjectSetSpec) String() string { return proto.CompactTextString(m) } 1480 func (*ProjectSetSpec) ProtoMessage() {} 1481 func (*ProjectSetSpec) Descriptor() ([]byte, []int) { 1482 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{14} 1483 } 1484 func (m *ProjectSetSpec) XXX_Unmarshal(b []byte) error { 1485 return m.Unmarshal(b) 1486 } 1487 func (m *ProjectSetSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1488 b = b[:cap(b)] 1489 n, err := m.MarshalTo(b) 1490 if err != nil { 1491 return nil, err 1492 } 1493 return b[:n], nil 1494 } 1495 func (dst *ProjectSetSpec) XXX_Merge(src proto.Message) { 1496 xxx_messageInfo_ProjectSetSpec.Merge(dst, src) 1497 } 1498 func (m *ProjectSetSpec) XXX_Size() int { 1499 return m.Size() 1500 } 1501 func (m *ProjectSetSpec) XXX_DiscardUnknown() { 1502 xxx_messageInfo_ProjectSetSpec.DiscardUnknown(m) 1503 } 1504 1505 var xxx_messageInfo_ProjectSetSpec proto.InternalMessageInfo 1506 1507 // WindowerSpec is the specification of a processor that performs computations 1508 // of window functions that have the same PARTITION BY clause. For a particular 1509 // windowFn, the processor puts result at windowFn.ArgIdxStart and "consumes" 1510 // all arguments to windowFn (windowFn.ArgCount of them). So if windowFn takes 1511 // no arguments, an extra column is added; if windowFn takes more than one 1512 // argument, (windowFn.ArgCount - 1) columns are removed. 1513 type WindowerSpec struct { 1514 // PartitionBy specifies how to partition rows for all window functions. 1515 PartitionBy []uint32 `protobuf:"varint,1,rep,name=partitionBy" json:"partitionBy,omitempty"` 1516 // WindowFns is the specification of all window functions to be computed. 1517 WindowFns []WindowerSpec_WindowFn `protobuf:"bytes,2,rep,name=windowFns" json:"windowFns"` 1518 } 1519 1520 func (m *WindowerSpec) Reset() { *m = WindowerSpec{} } 1521 func (m *WindowerSpec) String() string { return proto.CompactTextString(m) } 1522 func (*WindowerSpec) ProtoMessage() {} 1523 func (*WindowerSpec) Descriptor() ([]byte, []int) { 1524 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{15} 1525 } 1526 func (m *WindowerSpec) XXX_Unmarshal(b []byte) error { 1527 return m.Unmarshal(b) 1528 } 1529 func (m *WindowerSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1530 b = b[:cap(b)] 1531 n, err := m.MarshalTo(b) 1532 if err != nil { 1533 return nil, err 1534 } 1535 return b[:n], nil 1536 } 1537 func (dst *WindowerSpec) XXX_Merge(src proto.Message) { 1538 xxx_messageInfo_WindowerSpec.Merge(dst, src) 1539 } 1540 func (m *WindowerSpec) XXX_Size() int { 1541 return m.Size() 1542 } 1543 func (m *WindowerSpec) XXX_DiscardUnknown() { 1544 xxx_messageInfo_WindowerSpec.DiscardUnknown(m) 1545 } 1546 1547 var xxx_messageInfo_WindowerSpec proto.InternalMessageInfo 1548 1549 // Func specifies which function to compute. It can either be built-in 1550 // aggregate or built-in window function. 1551 type WindowerSpec_Func struct { 1552 AggregateFunc *AggregatorSpec_Func `protobuf:"varint,1,opt,name=aggregateFunc,enum=cockroach.sql.distsqlrun.AggregatorSpec_Func" json:"aggregateFunc,omitempty"` 1553 WindowFunc *WindowerSpec_WindowFunc `protobuf:"varint,2,opt,name=windowFunc,enum=cockroach.sql.distsqlrun.WindowerSpec_WindowFunc" json:"windowFunc,omitempty"` 1554 } 1555 1556 func (m *WindowerSpec_Func) Reset() { *m = WindowerSpec_Func{} } 1557 func (m *WindowerSpec_Func) String() string { return proto.CompactTextString(m) } 1558 func (*WindowerSpec_Func) ProtoMessage() {} 1559 func (*WindowerSpec_Func) Descriptor() ([]byte, []int) { 1560 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{15, 0} 1561 } 1562 func (m *WindowerSpec_Func) XXX_Unmarshal(b []byte) error { 1563 return m.Unmarshal(b) 1564 } 1565 func (m *WindowerSpec_Func) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1566 b = b[:cap(b)] 1567 n, err := m.MarshalTo(b) 1568 if err != nil { 1569 return nil, err 1570 } 1571 return b[:n], nil 1572 } 1573 func (dst *WindowerSpec_Func) XXX_Merge(src proto.Message) { 1574 xxx_messageInfo_WindowerSpec_Func.Merge(dst, src) 1575 } 1576 func (m *WindowerSpec_Func) XXX_Size() int { 1577 return m.Size() 1578 } 1579 func (m *WindowerSpec_Func) XXX_DiscardUnknown() { 1580 xxx_messageInfo_WindowerSpec_Func.DiscardUnknown(m) 1581 } 1582 1583 var xxx_messageInfo_WindowerSpec_Func proto.InternalMessageInfo 1584 1585 // Frame is the specification of a single window frame for a window function. 1586 type WindowerSpec_Frame struct { 1587 Mode WindowerSpec_Frame_Mode `protobuf:"varint,1,opt,name=mode,enum=cockroach.sql.distsqlrun.WindowerSpec_Frame_Mode" json:"mode"` 1588 Bounds WindowerSpec_Frame_Bounds `protobuf:"bytes,2,opt,name=bounds" json:"bounds"` 1589 Exclusion WindowerSpec_Frame_Exclusion `protobuf:"varint,3,opt,name=exclusion,enum=cockroach.sql.distsqlrun.WindowerSpec_Frame_Exclusion" json:"exclusion"` 1590 } 1591 1592 func (m *WindowerSpec_Frame) Reset() { *m = WindowerSpec_Frame{} } 1593 func (m *WindowerSpec_Frame) String() string { return proto.CompactTextString(m) } 1594 func (*WindowerSpec_Frame) ProtoMessage() {} 1595 func (*WindowerSpec_Frame) Descriptor() ([]byte, []int) { 1596 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{15, 1} 1597 } 1598 func (m *WindowerSpec_Frame) XXX_Unmarshal(b []byte) error { 1599 return m.Unmarshal(b) 1600 } 1601 func (m *WindowerSpec_Frame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1602 b = b[:cap(b)] 1603 n, err := m.MarshalTo(b) 1604 if err != nil { 1605 return nil, err 1606 } 1607 return b[:n], nil 1608 } 1609 func (dst *WindowerSpec_Frame) XXX_Merge(src proto.Message) { 1610 xxx_messageInfo_WindowerSpec_Frame.Merge(dst, src) 1611 } 1612 func (m *WindowerSpec_Frame) XXX_Size() int { 1613 return m.Size() 1614 } 1615 func (m *WindowerSpec_Frame) XXX_DiscardUnknown() { 1616 xxx_messageInfo_WindowerSpec_Frame.DiscardUnknown(m) 1617 } 1618 1619 var xxx_messageInfo_WindowerSpec_Frame proto.InternalMessageInfo 1620 1621 // Bound specifies the type of boundary and the offset (if present). 1622 type WindowerSpec_Frame_Bound struct { 1623 BoundType WindowerSpec_Frame_BoundType `protobuf:"varint,1,opt,name=boundType,enum=cockroach.sql.distsqlrun.WindowerSpec_Frame_BoundType" json:"boundType"` 1624 // For UNBOUNDED_PRECEDING, UNBOUNDED_FOLLOWING, and CURRENT_ROW offset 1625 // is ignored. Integer offset for ROWS and GROUPS modes is stored in 1626 // int_offset while an encoded datum and the type information are stored 1627 // for RANGE mode. 1628 IntOffset uint64 `protobuf:"varint,2,opt,name=int_offset,json=intOffset" json:"int_offset"` 1629 TypedOffset []byte `protobuf:"bytes,3,opt,name=typed_offset,json=typedOffset" json:"typed_offset,omitempty"` 1630 OffsetType DatumInfo `protobuf:"bytes,4,opt,name=offset_type,json=offsetType" json:"offset_type"` 1631 } 1632 1633 func (m *WindowerSpec_Frame_Bound) Reset() { *m = WindowerSpec_Frame_Bound{} } 1634 func (m *WindowerSpec_Frame_Bound) String() string { return proto.CompactTextString(m) } 1635 func (*WindowerSpec_Frame_Bound) ProtoMessage() {} 1636 func (*WindowerSpec_Frame_Bound) Descriptor() ([]byte, []int) { 1637 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{15, 1, 0} 1638 } 1639 func (m *WindowerSpec_Frame_Bound) XXX_Unmarshal(b []byte) error { 1640 return m.Unmarshal(b) 1641 } 1642 func (m *WindowerSpec_Frame_Bound) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1643 b = b[:cap(b)] 1644 n, err := m.MarshalTo(b) 1645 if err != nil { 1646 return nil, err 1647 } 1648 return b[:n], nil 1649 } 1650 func (dst *WindowerSpec_Frame_Bound) XXX_Merge(src proto.Message) { 1651 xxx_messageInfo_WindowerSpec_Frame_Bound.Merge(dst, src) 1652 } 1653 func (m *WindowerSpec_Frame_Bound) XXX_Size() int { 1654 return m.Size() 1655 } 1656 func (m *WindowerSpec_Frame_Bound) XXX_DiscardUnknown() { 1657 xxx_messageInfo_WindowerSpec_Frame_Bound.DiscardUnknown(m) 1658 } 1659 1660 var xxx_messageInfo_WindowerSpec_Frame_Bound proto.InternalMessageInfo 1661 1662 // Bounds specifies boundaries of the window frame. 1663 type WindowerSpec_Frame_Bounds struct { 1664 // Start bound must always be present whereas end bound might be omitted. 1665 Start WindowerSpec_Frame_Bound `protobuf:"bytes,1,opt,name=start" json:"start"` 1666 End *WindowerSpec_Frame_Bound `protobuf:"bytes,2,opt,name=end" json:"end,omitempty"` 1667 } 1668 1669 func (m *WindowerSpec_Frame_Bounds) Reset() { *m = WindowerSpec_Frame_Bounds{} } 1670 func (m *WindowerSpec_Frame_Bounds) String() string { return proto.CompactTextString(m) } 1671 func (*WindowerSpec_Frame_Bounds) ProtoMessage() {} 1672 func (*WindowerSpec_Frame_Bounds) Descriptor() ([]byte, []int) { 1673 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{15, 1, 1} 1674 } 1675 func (m *WindowerSpec_Frame_Bounds) XXX_Unmarshal(b []byte) error { 1676 return m.Unmarshal(b) 1677 } 1678 func (m *WindowerSpec_Frame_Bounds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1679 b = b[:cap(b)] 1680 n, err := m.MarshalTo(b) 1681 if err != nil { 1682 return nil, err 1683 } 1684 return b[:n], nil 1685 } 1686 func (dst *WindowerSpec_Frame_Bounds) XXX_Merge(src proto.Message) { 1687 xxx_messageInfo_WindowerSpec_Frame_Bounds.Merge(dst, src) 1688 } 1689 func (m *WindowerSpec_Frame_Bounds) XXX_Size() int { 1690 return m.Size() 1691 } 1692 func (m *WindowerSpec_Frame_Bounds) XXX_DiscardUnknown() { 1693 xxx_messageInfo_WindowerSpec_Frame_Bounds.DiscardUnknown(m) 1694 } 1695 1696 var xxx_messageInfo_WindowerSpec_Frame_Bounds proto.InternalMessageInfo 1697 1698 // WindowFn is the specification of a single window function. 1699 type WindowerSpec_WindowFn struct { 1700 // Func is which function to compute. 1701 Func WindowerSpec_Func `protobuf:"bytes,1,opt,name=func" json:"func"` 1702 // ArgsIdxs contains indices of the columns that are arguments to the 1703 // window function. 1704 ArgsIdxs []uint32 `protobuf:"varint,7,rep,name=argsIdxs" json:"argsIdxs,omitempty"` 1705 // Ordering specifies in which order rows should be considered by this 1706 // window function. Its contents come from ORDER BY clause of the window 1707 // function. 1708 Ordering Ordering `protobuf:"bytes,4,opt,name=ordering" json:"ordering"` 1709 // Frame specifies over which frame this window function is computed. 1710 Frame *WindowerSpec_Frame `protobuf:"bytes,5,opt,name=frame" json:"frame,omitempty"` 1711 // Optional index of a column over which filtering of rows will be done. 1712 // Special value -1 indicates that filter is not present. 1713 FilterColIdx int32 `protobuf:"varint,6,opt,name=filterColIdx" json:"filterColIdx"` 1714 // OutputColIdx specifies the column index which the window function should 1715 // put its output into. 1716 OutputColIdx uint32 `protobuf:"varint,8,opt,name=outputColIdx" json:"outputColIdx"` 1717 } 1718 1719 func (m *WindowerSpec_WindowFn) Reset() { *m = WindowerSpec_WindowFn{} } 1720 func (m *WindowerSpec_WindowFn) String() string { return proto.CompactTextString(m) } 1721 func (*WindowerSpec_WindowFn) ProtoMessage() {} 1722 func (*WindowerSpec_WindowFn) Descriptor() ([]byte, []int) { 1723 return fileDescriptor_processors_sql_c1e87fb3f4a49645, []int{15, 2} 1724 } 1725 func (m *WindowerSpec_WindowFn) XXX_Unmarshal(b []byte) error { 1726 return m.Unmarshal(b) 1727 } 1728 func (m *WindowerSpec_WindowFn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1729 b = b[:cap(b)] 1730 n, err := m.MarshalTo(b) 1731 if err != nil { 1732 return nil, err 1733 } 1734 return b[:n], nil 1735 } 1736 func (dst *WindowerSpec_WindowFn) XXX_Merge(src proto.Message) { 1737 xxx_messageInfo_WindowerSpec_WindowFn.Merge(dst, src) 1738 } 1739 func (m *WindowerSpec_WindowFn) XXX_Size() int { 1740 return m.Size() 1741 } 1742 func (m *WindowerSpec_WindowFn) XXX_DiscardUnknown() { 1743 xxx_messageInfo_WindowerSpec_WindowFn.DiscardUnknown(m) 1744 } 1745 1746 var xxx_messageInfo_WindowerSpec_WindowFn proto.InternalMessageInfo 1747 1748 func init() { 1749 proto.RegisterType((*ValuesCoreSpec)(nil), "cockroach.sql.distsqlrun.ValuesCoreSpec") 1750 proto.RegisterType((*TableReaderSpec)(nil), "cockroach.sql.distsqlrun.TableReaderSpec") 1751 proto.RegisterType((*IndexSkipTableReaderSpec)(nil), "cockroach.sql.distsqlrun.IndexSkipTableReaderSpec") 1752 proto.RegisterType((*JoinReaderSpec)(nil), "cockroach.sql.distsqlrun.JoinReaderSpec") 1753 proto.RegisterType((*SorterSpec)(nil), "cockroach.sql.distsqlrun.SorterSpec") 1754 proto.RegisterType((*DistinctSpec)(nil), "cockroach.sql.distsqlrun.DistinctSpec") 1755 proto.RegisterType((*OrdinalitySpec)(nil), "cockroach.sql.distsqlrun.OrdinalitySpec") 1756 proto.RegisterType((*ZigzagJoinerSpec)(nil), "cockroach.sql.distsqlrun.ZigzagJoinerSpec") 1757 proto.RegisterType((*MergeJoinerSpec)(nil), "cockroach.sql.distsqlrun.MergeJoinerSpec") 1758 proto.RegisterType((*HashJoinerSpec)(nil), "cockroach.sql.distsqlrun.HashJoinerSpec") 1759 proto.RegisterType((*InvertedJoinerSpec)(nil), "cockroach.sql.distsqlrun.InvertedJoinerSpec") 1760 proto.RegisterType((*InvertedFiltererSpec)(nil), "cockroach.sql.distsqlrun.InvertedFiltererSpec") 1761 proto.RegisterType((*AggregatorSpec)(nil), "cockroach.sql.distsqlrun.AggregatorSpec") 1762 proto.RegisterType((*AggregatorSpec_Aggregation)(nil), "cockroach.sql.distsqlrun.AggregatorSpec.Aggregation") 1763 proto.RegisterType((*InterleavedReaderJoinerSpec)(nil), "cockroach.sql.distsqlrun.InterleavedReaderJoinerSpec") 1764 proto.RegisterType((*InterleavedReaderJoinerSpec_Table)(nil), "cockroach.sql.distsqlrun.InterleavedReaderJoinerSpec.Table") 1765 proto.RegisterType((*ProjectSetSpec)(nil), "cockroach.sql.distsqlrun.ProjectSetSpec") 1766 proto.RegisterType((*WindowerSpec)(nil), "cockroach.sql.distsqlrun.WindowerSpec") 1767 proto.RegisterType((*WindowerSpec_Func)(nil), "cockroach.sql.distsqlrun.WindowerSpec.Func") 1768 proto.RegisterType((*WindowerSpec_Frame)(nil), "cockroach.sql.distsqlrun.WindowerSpec.Frame") 1769 proto.RegisterType((*WindowerSpec_Frame_Bound)(nil), "cockroach.sql.distsqlrun.WindowerSpec.Frame.Bound") 1770 proto.RegisterType((*WindowerSpec_Frame_Bounds)(nil), "cockroach.sql.distsqlrun.WindowerSpec.Frame.Bounds") 1771 proto.RegisterType((*WindowerSpec_WindowFn)(nil), "cockroach.sql.distsqlrun.WindowerSpec.WindowFn") 1772 proto.RegisterEnum("cockroach.sql.distsqlrun.ScanVisibility", ScanVisibility_name, ScanVisibility_value) 1773 proto.RegisterEnum("cockroach.sql.distsqlrun.AggregatorSpec_Func", AggregatorSpec_Func_name, AggregatorSpec_Func_value) 1774 proto.RegisterEnum("cockroach.sql.distsqlrun.AggregatorSpec_Type", AggregatorSpec_Type_name, AggregatorSpec_Type_value) 1775 proto.RegisterEnum("cockroach.sql.distsqlrun.WindowerSpec_WindowFunc", WindowerSpec_WindowFunc_name, WindowerSpec_WindowFunc_value) 1776 proto.RegisterEnum("cockroach.sql.distsqlrun.WindowerSpec_Frame_Mode", WindowerSpec_Frame_Mode_name, WindowerSpec_Frame_Mode_value) 1777 proto.RegisterEnum("cockroach.sql.distsqlrun.WindowerSpec_Frame_BoundType", WindowerSpec_Frame_BoundType_name, WindowerSpec_Frame_BoundType_value) 1778 proto.RegisterEnum("cockroach.sql.distsqlrun.WindowerSpec_Frame_Exclusion", WindowerSpec_Frame_Exclusion_name, WindowerSpec_Frame_Exclusion_value) 1779 } 1780 func (m *ValuesCoreSpec) Marshal() (dAtA []byte, err error) { 1781 size := m.Size() 1782 dAtA = make([]byte, size) 1783 n, err := m.MarshalTo(dAtA) 1784 if err != nil { 1785 return nil, err 1786 } 1787 return dAtA[:n], nil 1788 } 1789 1790 func (m *ValuesCoreSpec) MarshalTo(dAtA []byte) (int, error) { 1791 var i int 1792 _ = i 1793 var l int 1794 _ = l 1795 if len(m.Columns) > 0 { 1796 for _, msg := range m.Columns { 1797 dAtA[i] = 0xa 1798 i++ 1799 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 1800 n, err := msg.MarshalTo(dAtA[i:]) 1801 if err != nil { 1802 return 0, err 1803 } 1804 i += n 1805 } 1806 } 1807 if len(m.RawBytes) > 0 { 1808 for _, b := range m.RawBytes { 1809 dAtA[i] = 0x12 1810 i++ 1811 i = encodeVarintProcessorsSql(dAtA, i, uint64(len(b))) 1812 i += copy(dAtA[i:], b) 1813 } 1814 } 1815 dAtA[i] = 0x18 1816 i++ 1817 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.NumRows)) 1818 return i, nil 1819 } 1820 1821 func (m *TableReaderSpec) Marshal() (dAtA []byte, err error) { 1822 size := m.Size() 1823 dAtA = make([]byte, size) 1824 n, err := m.MarshalTo(dAtA) 1825 if err != nil { 1826 return nil, err 1827 } 1828 return dAtA[:n], nil 1829 } 1830 1831 func (m *TableReaderSpec) MarshalTo(dAtA []byte) (int, error) { 1832 var i int 1833 _ = i 1834 var l int 1835 _ = l 1836 dAtA[i] = 0xa 1837 i++ 1838 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Table.Size())) 1839 n1, err := m.Table.MarshalTo(dAtA[i:]) 1840 if err != nil { 1841 return 0, err 1842 } 1843 i += n1 1844 dAtA[i] = 0x10 1845 i++ 1846 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.IndexIdx)) 1847 dAtA[i] = 0x18 1848 i++ 1849 if m.Reverse { 1850 dAtA[i] = 1 1851 } else { 1852 dAtA[i] = 0 1853 } 1854 i++ 1855 if len(m.Spans) > 0 { 1856 for _, msg := range m.Spans { 1857 dAtA[i] = 0x22 1858 i++ 1859 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 1860 n, err := msg.MarshalTo(dAtA[i:]) 1861 if err != nil { 1862 return 0, err 1863 } 1864 i += n 1865 } 1866 } 1867 dAtA[i] = 0x28 1868 i++ 1869 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LimitHint)) 1870 dAtA[i] = 0x30 1871 i++ 1872 if m.IsCheck { 1873 dAtA[i] = 1 1874 } else { 1875 dAtA[i] = 0 1876 } 1877 i++ 1878 dAtA[i] = 0x38 1879 i++ 1880 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Visibility)) 1881 dAtA[i] = 0x40 1882 i++ 1883 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.MaxResults)) 1884 dAtA[i] = 0x48 1885 i++ 1886 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.MaxTimestampAgeNanos)) 1887 dAtA[i] = 0x50 1888 i++ 1889 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LockingStrength)) 1890 dAtA[i] = 0x58 1891 i++ 1892 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LockingWaitPolicy)) 1893 return i, nil 1894 } 1895 1896 func (m *IndexSkipTableReaderSpec) Marshal() (dAtA []byte, err error) { 1897 size := m.Size() 1898 dAtA = make([]byte, size) 1899 n, err := m.MarshalTo(dAtA) 1900 if err != nil { 1901 return nil, err 1902 } 1903 return dAtA[:n], nil 1904 } 1905 1906 func (m *IndexSkipTableReaderSpec) MarshalTo(dAtA []byte) (int, error) { 1907 var i int 1908 _ = i 1909 var l int 1910 _ = l 1911 dAtA[i] = 0xa 1912 i++ 1913 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Table.Size())) 1914 n2, err := m.Table.MarshalTo(dAtA[i:]) 1915 if err != nil { 1916 return 0, err 1917 } 1918 i += n2 1919 dAtA[i] = 0x10 1920 i++ 1921 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.IndexIdx)) 1922 if len(m.Spans) > 0 { 1923 for _, msg := range m.Spans { 1924 dAtA[i] = 0x1a 1925 i++ 1926 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 1927 n, err := msg.MarshalTo(dAtA[i:]) 1928 if err != nil { 1929 return 0, err 1930 } 1931 i += n 1932 } 1933 } 1934 dAtA[i] = 0x20 1935 i++ 1936 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Visibility)) 1937 dAtA[i] = 0x28 1938 i++ 1939 if m.Reverse { 1940 dAtA[i] = 1 1941 } else { 1942 dAtA[i] = 0 1943 } 1944 i++ 1945 dAtA[i] = 0x30 1946 i++ 1947 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LockingStrength)) 1948 dAtA[i] = 0x38 1949 i++ 1950 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LockingWaitPolicy)) 1951 return i, nil 1952 } 1953 1954 func (m *JoinReaderSpec) Marshal() (dAtA []byte, err error) { 1955 size := m.Size() 1956 dAtA = make([]byte, size) 1957 n, err := m.MarshalTo(dAtA) 1958 if err != nil { 1959 return nil, err 1960 } 1961 return dAtA[:n], nil 1962 } 1963 1964 func (m *JoinReaderSpec) MarshalTo(dAtA []byte) (int, error) { 1965 var i int 1966 _ = i 1967 var l int 1968 _ = l 1969 dAtA[i] = 0xa 1970 i++ 1971 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Table.Size())) 1972 n3, err := m.Table.MarshalTo(dAtA[i:]) 1973 if err != nil { 1974 return 0, err 1975 } 1976 i += n3 1977 dAtA[i] = 0x10 1978 i++ 1979 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.IndexIdx)) 1980 if len(m.LookupColumns) > 0 { 1981 dAtA5 := make([]byte, len(m.LookupColumns)*10) 1982 var j4 int 1983 for _, num := range m.LookupColumns { 1984 for num >= 1<<7 { 1985 dAtA5[j4] = uint8(uint64(num)&0x7f | 0x80) 1986 num >>= 7 1987 j4++ 1988 } 1989 dAtA5[j4] = uint8(num) 1990 j4++ 1991 } 1992 dAtA[i] = 0x1a 1993 i++ 1994 i = encodeVarintProcessorsSql(dAtA, i, uint64(j4)) 1995 i += copy(dAtA[i:], dAtA5[:j4]) 1996 } 1997 dAtA[i] = 0x22 1998 i++ 1999 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.OnExpr.Size())) 2000 n6, err := m.OnExpr.MarshalTo(dAtA[i:]) 2001 if err != nil { 2002 return 0, err 2003 } 2004 i += n6 2005 dAtA[i] = 0x30 2006 i++ 2007 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Type)) 2008 dAtA[i] = 0x38 2009 i++ 2010 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Visibility)) 2011 dAtA[i] = 0x40 2012 i++ 2013 if m.LookupColumnsAreKey { 2014 dAtA[i] = 1 2015 } else { 2016 dAtA[i] = 0 2017 } 2018 i++ 2019 dAtA[i] = 0x48 2020 i++ 2021 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LockingStrength)) 2022 dAtA[i] = 0x50 2023 i++ 2024 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LockingWaitPolicy)) 2025 dAtA[i] = 0x58 2026 i++ 2027 if m.MaintainOrdering { 2028 dAtA[i] = 1 2029 } else { 2030 dAtA[i] = 0 2031 } 2032 i++ 2033 return i, nil 2034 } 2035 2036 func (m *SorterSpec) Marshal() (dAtA []byte, err error) { 2037 size := m.Size() 2038 dAtA = make([]byte, size) 2039 n, err := m.MarshalTo(dAtA) 2040 if err != nil { 2041 return nil, err 2042 } 2043 return dAtA[:n], nil 2044 } 2045 2046 func (m *SorterSpec) MarshalTo(dAtA []byte) (int, error) { 2047 var i int 2048 _ = i 2049 var l int 2050 _ = l 2051 dAtA[i] = 0xa 2052 i++ 2053 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.OutputOrdering.Size())) 2054 n7, err := m.OutputOrdering.MarshalTo(dAtA[i:]) 2055 if err != nil { 2056 return 0, err 2057 } 2058 i += n7 2059 dAtA[i] = 0x10 2060 i++ 2061 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.OrderingMatchLen)) 2062 return i, nil 2063 } 2064 2065 func (m *DistinctSpec) Marshal() (dAtA []byte, err error) { 2066 size := m.Size() 2067 dAtA = make([]byte, size) 2068 n, err := m.MarshalTo(dAtA) 2069 if err != nil { 2070 return nil, err 2071 } 2072 return dAtA[:n], nil 2073 } 2074 2075 func (m *DistinctSpec) MarshalTo(dAtA []byte) (int, error) { 2076 var i int 2077 _ = i 2078 var l int 2079 _ = l 2080 if len(m.OrderedColumns) > 0 { 2081 for _, num := range m.OrderedColumns { 2082 dAtA[i] = 0x8 2083 i++ 2084 i = encodeVarintProcessorsSql(dAtA, i, uint64(num)) 2085 } 2086 } 2087 if len(m.DistinctColumns) > 0 { 2088 for _, num := range m.DistinctColumns { 2089 dAtA[i] = 0x10 2090 i++ 2091 i = encodeVarintProcessorsSql(dAtA, i, uint64(num)) 2092 } 2093 } 2094 dAtA[i] = 0x18 2095 i++ 2096 if m.NullsAreDistinct { 2097 dAtA[i] = 1 2098 } else { 2099 dAtA[i] = 0 2100 } 2101 i++ 2102 dAtA[i] = 0x22 2103 i++ 2104 i = encodeVarintProcessorsSql(dAtA, i, uint64(len(m.ErrorOnDup))) 2105 i += copy(dAtA[i:], m.ErrorOnDup) 2106 return i, nil 2107 } 2108 2109 func (m *OrdinalitySpec) Marshal() (dAtA []byte, err error) { 2110 size := m.Size() 2111 dAtA = make([]byte, size) 2112 n, err := m.MarshalTo(dAtA) 2113 if err != nil { 2114 return nil, err 2115 } 2116 return dAtA[:n], nil 2117 } 2118 2119 func (m *OrdinalitySpec) MarshalTo(dAtA []byte) (int, error) { 2120 var i int 2121 _ = i 2122 var l int 2123 _ = l 2124 return i, nil 2125 } 2126 2127 func (m *ZigzagJoinerSpec) Marshal() (dAtA []byte, err error) { 2128 size := m.Size() 2129 dAtA = make([]byte, size) 2130 n, err := m.MarshalTo(dAtA) 2131 if err != nil { 2132 return nil, err 2133 } 2134 return dAtA[:n], nil 2135 } 2136 2137 func (m *ZigzagJoinerSpec) MarshalTo(dAtA []byte) (int, error) { 2138 var i int 2139 _ = i 2140 var l int 2141 _ = l 2142 if len(m.Tables) > 0 { 2143 for _, msg := range m.Tables { 2144 dAtA[i] = 0xa 2145 i++ 2146 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 2147 n, err := msg.MarshalTo(dAtA[i:]) 2148 if err != nil { 2149 return 0, err 2150 } 2151 i += n 2152 } 2153 } 2154 if len(m.EqColumns) > 0 { 2155 for _, msg := range m.EqColumns { 2156 dAtA[i] = 0x12 2157 i++ 2158 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 2159 n, err := msg.MarshalTo(dAtA[i:]) 2160 if err != nil { 2161 return 0, err 2162 } 2163 i += n 2164 } 2165 } 2166 if len(m.IndexOrdinals) > 0 { 2167 dAtA9 := make([]byte, len(m.IndexOrdinals)*10) 2168 var j8 int 2169 for _, num := range m.IndexOrdinals { 2170 for num >= 1<<7 { 2171 dAtA9[j8] = uint8(uint64(num)&0x7f | 0x80) 2172 num >>= 7 2173 j8++ 2174 } 2175 dAtA9[j8] = uint8(num) 2176 j8++ 2177 } 2178 dAtA[i] = 0x1a 2179 i++ 2180 i = encodeVarintProcessorsSql(dAtA, i, uint64(j8)) 2181 i += copy(dAtA[i:], dAtA9[:j8]) 2182 } 2183 dAtA[i] = 0x22 2184 i++ 2185 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.OnExpr.Size())) 2186 n10, err := m.OnExpr.MarshalTo(dAtA[i:]) 2187 if err != nil { 2188 return 0, err 2189 } 2190 i += n10 2191 if len(m.FixedValues) > 0 { 2192 for _, msg := range m.FixedValues { 2193 dAtA[i] = 0x2a 2194 i++ 2195 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 2196 n, err := msg.MarshalTo(dAtA[i:]) 2197 if err != nil { 2198 return 0, err 2199 } 2200 i += n 2201 } 2202 } 2203 dAtA[i] = 0x30 2204 i++ 2205 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Type)) 2206 return i, nil 2207 } 2208 2209 func (m *MergeJoinerSpec) Marshal() (dAtA []byte, err error) { 2210 size := m.Size() 2211 dAtA = make([]byte, size) 2212 n, err := m.MarshalTo(dAtA) 2213 if err != nil { 2214 return nil, err 2215 } 2216 return dAtA[:n], nil 2217 } 2218 2219 func (m *MergeJoinerSpec) MarshalTo(dAtA []byte) (int, error) { 2220 var i int 2221 _ = i 2222 var l int 2223 _ = l 2224 dAtA[i] = 0xa 2225 i++ 2226 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LeftOrdering.Size())) 2227 n11, err := m.LeftOrdering.MarshalTo(dAtA[i:]) 2228 if err != nil { 2229 return 0, err 2230 } 2231 i += n11 2232 dAtA[i] = 0x12 2233 i++ 2234 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.RightOrdering.Size())) 2235 n12, err := m.RightOrdering.MarshalTo(dAtA[i:]) 2236 if err != nil { 2237 return 0, err 2238 } 2239 i += n12 2240 dAtA[i] = 0x2a 2241 i++ 2242 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.OnExpr.Size())) 2243 n13, err := m.OnExpr.MarshalTo(dAtA[i:]) 2244 if err != nil { 2245 return 0, err 2246 } 2247 i += n13 2248 dAtA[i] = 0x30 2249 i++ 2250 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Type)) 2251 dAtA[i] = 0x38 2252 i++ 2253 if m.NullEquality { 2254 dAtA[i] = 1 2255 } else { 2256 dAtA[i] = 0 2257 } 2258 i++ 2259 dAtA[i] = 0x40 2260 i++ 2261 if m.LeftEqColumnsAreKey { 2262 dAtA[i] = 1 2263 } else { 2264 dAtA[i] = 0 2265 } 2266 i++ 2267 dAtA[i] = 0x48 2268 i++ 2269 if m.RightEqColumnsAreKey { 2270 dAtA[i] = 1 2271 } else { 2272 dAtA[i] = 0 2273 } 2274 i++ 2275 return i, nil 2276 } 2277 2278 func (m *HashJoinerSpec) Marshal() (dAtA []byte, err error) { 2279 size := m.Size() 2280 dAtA = make([]byte, size) 2281 n, err := m.MarshalTo(dAtA) 2282 if err != nil { 2283 return nil, err 2284 } 2285 return dAtA[:n], nil 2286 } 2287 2288 func (m *HashJoinerSpec) MarshalTo(dAtA []byte) (int, error) { 2289 var i int 2290 _ = i 2291 var l int 2292 _ = l 2293 if len(m.LeftEqColumns) > 0 { 2294 dAtA15 := make([]byte, len(m.LeftEqColumns)*10) 2295 var j14 int 2296 for _, num := range m.LeftEqColumns { 2297 for num >= 1<<7 { 2298 dAtA15[j14] = uint8(uint64(num)&0x7f | 0x80) 2299 num >>= 7 2300 j14++ 2301 } 2302 dAtA15[j14] = uint8(num) 2303 j14++ 2304 } 2305 dAtA[i] = 0xa 2306 i++ 2307 i = encodeVarintProcessorsSql(dAtA, i, uint64(j14)) 2308 i += copy(dAtA[i:], dAtA15[:j14]) 2309 } 2310 if len(m.RightEqColumns) > 0 { 2311 dAtA17 := make([]byte, len(m.RightEqColumns)*10) 2312 var j16 int 2313 for _, num := range m.RightEqColumns { 2314 for num >= 1<<7 { 2315 dAtA17[j16] = uint8(uint64(num)&0x7f | 0x80) 2316 num >>= 7 2317 j16++ 2318 } 2319 dAtA17[j16] = uint8(num) 2320 j16++ 2321 } 2322 dAtA[i] = 0x12 2323 i++ 2324 i = encodeVarintProcessorsSql(dAtA, i, uint64(j16)) 2325 i += copy(dAtA[i:], dAtA17[:j16]) 2326 } 2327 dAtA[i] = 0x2a 2328 i++ 2329 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.OnExpr.Size())) 2330 n18, err := m.OnExpr.MarshalTo(dAtA[i:]) 2331 if err != nil { 2332 return 0, err 2333 } 2334 i += n18 2335 dAtA[i] = 0x30 2336 i++ 2337 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Type)) 2338 dAtA[i] = 0x38 2339 i++ 2340 if m.MergedColumns { 2341 dAtA[i] = 1 2342 } else { 2343 dAtA[i] = 0 2344 } 2345 i++ 2346 dAtA[i] = 0x40 2347 i++ 2348 if m.LeftEqColumnsAreKey { 2349 dAtA[i] = 1 2350 } else { 2351 dAtA[i] = 0 2352 } 2353 i++ 2354 dAtA[i] = 0x48 2355 i++ 2356 if m.RightEqColumnsAreKey { 2357 dAtA[i] = 1 2358 } else { 2359 dAtA[i] = 0 2360 } 2361 i++ 2362 return i, nil 2363 } 2364 2365 func (m *InvertedJoinerSpec) Marshal() (dAtA []byte, err error) { 2366 size := m.Size() 2367 dAtA = make([]byte, size) 2368 n, err := m.MarshalTo(dAtA) 2369 if err != nil { 2370 return nil, err 2371 } 2372 return dAtA[:n], nil 2373 } 2374 2375 func (m *InvertedJoinerSpec) MarshalTo(dAtA []byte) (int, error) { 2376 var i int 2377 _ = i 2378 var l int 2379 _ = l 2380 dAtA[i] = 0xa 2381 i++ 2382 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Table.Size())) 2383 n19, err := m.Table.MarshalTo(dAtA[i:]) 2384 if err != nil { 2385 return 0, err 2386 } 2387 i += n19 2388 dAtA[i] = 0x10 2389 i++ 2390 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.IndexIdx)) 2391 dAtA[i] = 0x18 2392 i++ 2393 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LookupColumn)) 2394 dAtA[i] = 0x22 2395 i++ 2396 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.InvertedExpr.Size())) 2397 n20, err := m.InvertedExpr.MarshalTo(dAtA[i:]) 2398 if err != nil { 2399 return 0, err 2400 } 2401 i += n20 2402 dAtA[i] = 0x2a 2403 i++ 2404 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.OnExpr.Size())) 2405 n21, err := m.OnExpr.MarshalTo(dAtA[i:]) 2406 if err != nil { 2407 return 0, err 2408 } 2409 i += n21 2410 dAtA[i] = 0x30 2411 i++ 2412 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Type)) 2413 return i, nil 2414 } 2415 2416 func (m *InvertedFiltererSpec) Marshal() (dAtA []byte, err error) { 2417 size := m.Size() 2418 dAtA = make([]byte, size) 2419 n, err := m.MarshalTo(dAtA) 2420 if err != nil { 2421 return nil, err 2422 } 2423 return dAtA[:n], nil 2424 } 2425 2426 func (m *InvertedFiltererSpec) MarshalTo(dAtA []byte) (int, error) { 2427 var i int 2428 _ = i 2429 var l int 2430 _ = l 2431 dAtA[i] = 0xa 2432 i++ 2433 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.InvertedExpr.Size())) 2434 n22, err := m.InvertedExpr.MarshalTo(dAtA[i:]) 2435 if err != nil { 2436 return 0, err 2437 } 2438 i += n22 2439 dAtA[i] = 0x12 2440 i++ 2441 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.OnExpr.Size())) 2442 n23, err := m.OnExpr.MarshalTo(dAtA[i:]) 2443 if err != nil { 2444 return 0, err 2445 } 2446 i += n23 2447 return i, nil 2448 } 2449 2450 func (m *AggregatorSpec) Marshal() (dAtA []byte, err error) { 2451 size := m.Size() 2452 dAtA = make([]byte, size) 2453 n, err := m.MarshalTo(dAtA) 2454 if err != nil { 2455 return nil, err 2456 } 2457 return dAtA[:n], nil 2458 } 2459 2460 func (m *AggregatorSpec) MarshalTo(dAtA []byte) (int, error) { 2461 var i int 2462 _ = i 2463 var l int 2464 _ = l 2465 if len(m.GroupCols) > 0 { 2466 dAtA25 := make([]byte, len(m.GroupCols)*10) 2467 var j24 int 2468 for _, num := range m.GroupCols { 2469 for num >= 1<<7 { 2470 dAtA25[j24] = uint8(uint64(num)&0x7f | 0x80) 2471 num >>= 7 2472 j24++ 2473 } 2474 dAtA25[j24] = uint8(num) 2475 j24++ 2476 } 2477 dAtA[i] = 0x12 2478 i++ 2479 i = encodeVarintProcessorsSql(dAtA, i, uint64(j24)) 2480 i += copy(dAtA[i:], dAtA25[:j24]) 2481 } 2482 if len(m.Aggregations) > 0 { 2483 for _, msg := range m.Aggregations { 2484 dAtA[i] = 0x1a 2485 i++ 2486 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 2487 n, err := msg.MarshalTo(dAtA[i:]) 2488 if err != nil { 2489 return 0, err 2490 } 2491 i += n 2492 } 2493 } 2494 if len(m.OrderedGroupCols) > 0 { 2495 dAtA27 := make([]byte, len(m.OrderedGroupCols)*10) 2496 var j26 int 2497 for _, num := range m.OrderedGroupCols { 2498 for num >= 1<<7 { 2499 dAtA27[j26] = uint8(uint64(num)&0x7f | 0x80) 2500 num >>= 7 2501 j26++ 2502 } 2503 dAtA27[j26] = uint8(num) 2504 j26++ 2505 } 2506 dAtA[i] = 0x22 2507 i++ 2508 i = encodeVarintProcessorsSql(dAtA, i, uint64(j26)) 2509 i += copy(dAtA[i:], dAtA27[:j26]) 2510 } 2511 dAtA[i] = 0x28 2512 i++ 2513 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Type)) 2514 return i, nil 2515 } 2516 2517 func (m *AggregatorSpec_Aggregation) Marshal() (dAtA []byte, err error) { 2518 size := m.Size() 2519 dAtA = make([]byte, size) 2520 n, err := m.MarshalTo(dAtA) 2521 if err != nil { 2522 return nil, err 2523 } 2524 return dAtA[:n], nil 2525 } 2526 2527 func (m *AggregatorSpec_Aggregation) MarshalTo(dAtA []byte) (int, error) { 2528 var i int 2529 _ = i 2530 var l int 2531 _ = l 2532 dAtA[i] = 0x8 2533 i++ 2534 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Func)) 2535 dAtA[i] = 0x10 2536 i++ 2537 if m.Distinct { 2538 dAtA[i] = 1 2539 } else { 2540 dAtA[i] = 0 2541 } 2542 i++ 2543 if m.FilterColIdx != nil { 2544 dAtA[i] = 0x20 2545 i++ 2546 i = encodeVarintProcessorsSql(dAtA, i, uint64(*m.FilterColIdx)) 2547 } 2548 if len(m.ColIdx) > 0 { 2549 for _, num := range m.ColIdx { 2550 dAtA[i] = 0x28 2551 i++ 2552 i = encodeVarintProcessorsSql(dAtA, i, uint64(num)) 2553 } 2554 } 2555 if len(m.Arguments) > 0 { 2556 for _, msg := range m.Arguments { 2557 dAtA[i] = 0x32 2558 i++ 2559 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 2560 n, err := msg.MarshalTo(dAtA[i:]) 2561 if err != nil { 2562 return 0, err 2563 } 2564 i += n 2565 } 2566 } 2567 return i, nil 2568 } 2569 2570 func (m *InterleavedReaderJoinerSpec) Marshal() (dAtA []byte, err error) { 2571 size := m.Size() 2572 dAtA = make([]byte, size) 2573 n, err := m.MarshalTo(dAtA) 2574 if err != nil { 2575 return nil, err 2576 } 2577 return dAtA[:n], nil 2578 } 2579 2580 func (m *InterleavedReaderJoinerSpec) MarshalTo(dAtA []byte) (int, error) { 2581 var i int 2582 _ = i 2583 var l int 2584 _ = l 2585 if len(m.Tables) > 0 { 2586 for _, msg := range m.Tables { 2587 dAtA[i] = 0xa 2588 i++ 2589 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 2590 n, err := msg.MarshalTo(dAtA[i:]) 2591 if err != nil { 2592 return 0, err 2593 } 2594 i += n 2595 } 2596 } 2597 dAtA[i] = 0x10 2598 i++ 2599 if m.Reverse { 2600 dAtA[i] = 1 2601 } else { 2602 dAtA[i] = 0 2603 } 2604 i++ 2605 dAtA[i] = 0x18 2606 i++ 2607 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LimitHint)) 2608 dAtA[i] = 0x22 2609 i++ 2610 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.OnExpr.Size())) 2611 n28, err := m.OnExpr.MarshalTo(dAtA[i:]) 2612 if err != nil { 2613 return 0, err 2614 } 2615 i += n28 2616 dAtA[i] = 0x28 2617 i++ 2618 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Type)) 2619 dAtA[i] = 0x30 2620 i++ 2621 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LockingStrength)) 2622 dAtA[i] = 0x38 2623 i++ 2624 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.LockingWaitPolicy)) 2625 return i, nil 2626 } 2627 2628 func (m *InterleavedReaderJoinerSpec_Table) Marshal() (dAtA []byte, err error) { 2629 size := m.Size() 2630 dAtA = make([]byte, size) 2631 n, err := m.MarshalTo(dAtA) 2632 if err != nil { 2633 return nil, err 2634 } 2635 return dAtA[:n], nil 2636 } 2637 2638 func (m *InterleavedReaderJoinerSpec_Table) MarshalTo(dAtA []byte) (int, error) { 2639 var i int 2640 _ = i 2641 var l int 2642 _ = l 2643 dAtA[i] = 0xa 2644 i++ 2645 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Desc.Size())) 2646 n29, err := m.Desc.MarshalTo(dAtA[i:]) 2647 if err != nil { 2648 return 0, err 2649 } 2650 i += n29 2651 dAtA[i] = 0x10 2652 i++ 2653 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.IndexIdx)) 2654 dAtA[i] = 0x1a 2655 i++ 2656 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Post.Size())) 2657 n30, err := m.Post.MarshalTo(dAtA[i:]) 2658 if err != nil { 2659 return 0, err 2660 } 2661 i += n30 2662 dAtA[i] = 0x22 2663 i++ 2664 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Ordering.Size())) 2665 n31, err := m.Ordering.MarshalTo(dAtA[i:]) 2666 if err != nil { 2667 return 0, err 2668 } 2669 i += n31 2670 if len(m.Spans) > 0 { 2671 for _, msg := range m.Spans { 2672 dAtA[i] = 0x2a 2673 i++ 2674 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 2675 n, err := msg.MarshalTo(dAtA[i:]) 2676 if err != nil { 2677 return 0, err 2678 } 2679 i += n 2680 } 2681 } 2682 return i, nil 2683 } 2684 2685 func (m *ProjectSetSpec) Marshal() (dAtA []byte, err error) { 2686 size := m.Size() 2687 dAtA = make([]byte, size) 2688 n, err := m.MarshalTo(dAtA) 2689 if err != nil { 2690 return nil, err 2691 } 2692 return dAtA[:n], nil 2693 } 2694 2695 func (m *ProjectSetSpec) MarshalTo(dAtA []byte) (int, error) { 2696 var i int 2697 _ = i 2698 var l int 2699 _ = l 2700 if len(m.Exprs) > 0 { 2701 for _, msg := range m.Exprs { 2702 dAtA[i] = 0xa 2703 i++ 2704 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 2705 n, err := msg.MarshalTo(dAtA[i:]) 2706 if err != nil { 2707 return 0, err 2708 } 2709 i += n 2710 } 2711 } 2712 if len(m.GeneratedColumns) > 0 { 2713 for _, msg := range m.GeneratedColumns { 2714 dAtA[i] = 0x12 2715 i++ 2716 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 2717 n, err := msg.MarshalTo(dAtA[i:]) 2718 if err != nil { 2719 return 0, err 2720 } 2721 i += n 2722 } 2723 } 2724 if len(m.NumColsPerGen) > 0 { 2725 for _, num := range m.NumColsPerGen { 2726 dAtA[i] = 0x18 2727 i++ 2728 i = encodeVarintProcessorsSql(dAtA, i, uint64(num)) 2729 } 2730 } 2731 return i, nil 2732 } 2733 2734 func (m *WindowerSpec) Marshal() (dAtA []byte, err error) { 2735 size := m.Size() 2736 dAtA = make([]byte, size) 2737 n, err := m.MarshalTo(dAtA) 2738 if err != nil { 2739 return nil, err 2740 } 2741 return dAtA[:n], nil 2742 } 2743 2744 func (m *WindowerSpec) MarshalTo(dAtA []byte) (int, error) { 2745 var i int 2746 _ = i 2747 var l int 2748 _ = l 2749 if len(m.PartitionBy) > 0 { 2750 for _, num := range m.PartitionBy { 2751 dAtA[i] = 0x8 2752 i++ 2753 i = encodeVarintProcessorsSql(dAtA, i, uint64(num)) 2754 } 2755 } 2756 if len(m.WindowFns) > 0 { 2757 for _, msg := range m.WindowFns { 2758 dAtA[i] = 0x12 2759 i++ 2760 i = encodeVarintProcessorsSql(dAtA, i, uint64(msg.Size())) 2761 n, err := msg.MarshalTo(dAtA[i:]) 2762 if err != nil { 2763 return 0, err 2764 } 2765 i += n 2766 } 2767 } 2768 return i, nil 2769 } 2770 2771 func (m *WindowerSpec_Func) Marshal() (dAtA []byte, err error) { 2772 size := m.Size() 2773 dAtA = make([]byte, size) 2774 n, err := m.MarshalTo(dAtA) 2775 if err != nil { 2776 return nil, err 2777 } 2778 return dAtA[:n], nil 2779 } 2780 2781 func (m *WindowerSpec_Func) MarshalTo(dAtA []byte) (int, error) { 2782 var i int 2783 _ = i 2784 var l int 2785 _ = l 2786 if m.AggregateFunc != nil { 2787 dAtA[i] = 0x8 2788 i++ 2789 i = encodeVarintProcessorsSql(dAtA, i, uint64(*m.AggregateFunc)) 2790 } 2791 if m.WindowFunc != nil { 2792 dAtA[i] = 0x10 2793 i++ 2794 i = encodeVarintProcessorsSql(dAtA, i, uint64(*m.WindowFunc)) 2795 } 2796 return i, nil 2797 } 2798 2799 func (m *WindowerSpec_Frame) Marshal() (dAtA []byte, err error) { 2800 size := m.Size() 2801 dAtA = make([]byte, size) 2802 n, err := m.MarshalTo(dAtA) 2803 if err != nil { 2804 return nil, err 2805 } 2806 return dAtA[:n], nil 2807 } 2808 2809 func (m *WindowerSpec_Frame) MarshalTo(dAtA []byte) (int, error) { 2810 var i int 2811 _ = i 2812 var l int 2813 _ = l 2814 dAtA[i] = 0x8 2815 i++ 2816 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Mode)) 2817 dAtA[i] = 0x12 2818 i++ 2819 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Bounds.Size())) 2820 n32, err := m.Bounds.MarshalTo(dAtA[i:]) 2821 if err != nil { 2822 return 0, err 2823 } 2824 i += n32 2825 dAtA[i] = 0x18 2826 i++ 2827 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Exclusion)) 2828 return i, nil 2829 } 2830 2831 func (m *WindowerSpec_Frame_Bound) Marshal() (dAtA []byte, err error) { 2832 size := m.Size() 2833 dAtA = make([]byte, size) 2834 n, err := m.MarshalTo(dAtA) 2835 if err != nil { 2836 return nil, err 2837 } 2838 return dAtA[:n], nil 2839 } 2840 2841 func (m *WindowerSpec_Frame_Bound) MarshalTo(dAtA []byte) (int, error) { 2842 var i int 2843 _ = i 2844 var l int 2845 _ = l 2846 dAtA[i] = 0x8 2847 i++ 2848 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.BoundType)) 2849 dAtA[i] = 0x10 2850 i++ 2851 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.IntOffset)) 2852 if m.TypedOffset != nil { 2853 dAtA[i] = 0x1a 2854 i++ 2855 i = encodeVarintProcessorsSql(dAtA, i, uint64(len(m.TypedOffset))) 2856 i += copy(dAtA[i:], m.TypedOffset) 2857 } 2858 dAtA[i] = 0x22 2859 i++ 2860 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.OffsetType.Size())) 2861 n33, err := m.OffsetType.MarshalTo(dAtA[i:]) 2862 if err != nil { 2863 return 0, err 2864 } 2865 i += n33 2866 return i, nil 2867 } 2868 2869 func (m *WindowerSpec_Frame_Bounds) Marshal() (dAtA []byte, err error) { 2870 size := m.Size() 2871 dAtA = make([]byte, size) 2872 n, err := m.MarshalTo(dAtA) 2873 if err != nil { 2874 return nil, err 2875 } 2876 return dAtA[:n], nil 2877 } 2878 2879 func (m *WindowerSpec_Frame_Bounds) MarshalTo(dAtA []byte) (int, error) { 2880 var i int 2881 _ = i 2882 var l int 2883 _ = l 2884 dAtA[i] = 0xa 2885 i++ 2886 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Start.Size())) 2887 n34, err := m.Start.MarshalTo(dAtA[i:]) 2888 if err != nil { 2889 return 0, err 2890 } 2891 i += n34 2892 if m.End != nil { 2893 dAtA[i] = 0x12 2894 i++ 2895 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.End.Size())) 2896 n35, err := m.End.MarshalTo(dAtA[i:]) 2897 if err != nil { 2898 return 0, err 2899 } 2900 i += n35 2901 } 2902 return i, nil 2903 } 2904 2905 func (m *WindowerSpec_WindowFn) Marshal() (dAtA []byte, err error) { 2906 size := m.Size() 2907 dAtA = make([]byte, size) 2908 n, err := m.MarshalTo(dAtA) 2909 if err != nil { 2910 return nil, err 2911 } 2912 return dAtA[:n], nil 2913 } 2914 2915 func (m *WindowerSpec_WindowFn) MarshalTo(dAtA []byte) (int, error) { 2916 var i int 2917 _ = i 2918 var l int 2919 _ = l 2920 dAtA[i] = 0xa 2921 i++ 2922 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Func.Size())) 2923 n36, err := m.Func.MarshalTo(dAtA[i:]) 2924 if err != nil { 2925 return 0, err 2926 } 2927 i += n36 2928 dAtA[i] = 0x22 2929 i++ 2930 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Ordering.Size())) 2931 n37, err := m.Ordering.MarshalTo(dAtA[i:]) 2932 if err != nil { 2933 return 0, err 2934 } 2935 i += n37 2936 if m.Frame != nil { 2937 dAtA[i] = 0x2a 2938 i++ 2939 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.Frame.Size())) 2940 n38, err := m.Frame.MarshalTo(dAtA[i:]) 2941 if err != nil { 2942 return 0, err 2943 } 2944 i += n38 2945 } 2946 dAtA[i] = 0x30 2947 i++ 2948 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.FilterColIdx)) 2949 if len(m.ArgsIdxs) > 0 { 2950 for _, num := range m.ArgsIdxs { 2951 dAtA[i] = 0x38 2952 i++ 2953 i = encodeVarintProcessorsSql(dAtA, i, uint64(num)) 2954 } 2955 } 2956 dAtA[i] = 0x40 2957 i++ 2958 i = encodeVarintProcessorsSql(dAtA, i, uint64(m.OutputColIdx)) 2959 return i, nil 2960 } 2961 2962 func encodeVarintProcessorsSql(dAtA []byte, offset int, v uint64) int { 2963 for v >= 1<<7 { 2964 dAtA[offset] = uint8(v&0x7f | 0x80) 2965 v >>= 7 2966 offset++ 2967 } 2968 dAtA[offset] = uint8(v) 2969 return offset + 1 2970 } 2971 func (m *ValuesCoreSpec) Size() (n int) { 2972 if m == nil { 2973 return 0 2974 } 2975 var l int 2976 _ = l 2977 if len(m.Columns) > 0 { 2978 for _, e := range m.Columns { 2979 l = e.Size() 2980 n += 1 + l + sovProcessorsSql(uint64(l)) 2981 } 2982 } 2983 if len(m.RawBytes) > 0 { 2984 for _, b := range m.RawBytes { 2985 l = len(b) 2986 n += 1 + l + sovProcessorsSql(uint64(l)) 2987 } 2988 } 2989 n += 1 + sovProcessorsSql(uint64(m.NumRows)) 2990 return n 2991 } 2992 2993 func (m *TableReaderSpec) Size() (n int) { 2994 if m == nil { 2995 return 0 2996 } 2997 var l int 2998 _ = l 2999 l = m.Table.Size() 3000 n += 1 + l + sovProcessorsSql(uint64(l)) 3001 n += 1 + sovProcessorsSql(uint64(m.IndexIdx)) 3002 n += 2 3003 if len(m.Spans) > 0 { 3004 for _, e := range m.Spans { 3005 l = e.Size() 3006 n += 1 + l + sovProcessorsSql(uint64(l)) 3007 } 3008 } 3009 n += 1 + sovProcessorsSql(uint64(m.LimitHint)) 3010 n += 2 3011 n += 1 + sovProcessorsSql(uint64(m.Visibility)) 3012 n += 1 + sovProcessorsSql(uint64(m.MaxResults)) 3013 n += 1 + sovProcessorsSql(uint64(m.MaxTimestampAgeNanos)) 3014 n += 1 + sovProcessorsSql(uint64(m.LockingStrength)) 3015 n += 1 + sovProcessorsSql(uint64(m.LockingWaitPolicy)) 3016 return n 3017 } 3018 3019 func (m *IndexSkipTableReaderSpec) Size() (n int) { 3020 if m == nil { 3021 return 0 3022 } 3023 var l int 3024 _ = l 3025 l = m.Table.Size() 3026 n += 1 + l + sovProcessorsSql(uint64(l)) 3027 n += 1 + sovProcessorsSql(uint64(m.IndexIdx)) 3028 if len(m.Spans) > 0 { 3029 for _, e := range m.Spans { 3030 l = e.Size() 3031 n += 1 + l + sovProcessorsSql(uint64(l)) 3032 } 3033 } 3034 n += 1 + sovProcessorsSql(uint64(m.Visibility)) 3035 n += 2 3036 n += 1 + sovProcessorsSql(uint64(m.LockingStrength)) 3037 n += 1 + sovProcessorsSql(uint64(m.LockingWaitPolicy)) 3038 return n 3039 } 3040 3041 func (m *JoinReaderSpec) Size() (n int) { 3042 if m == nil { 3043 return 0 3044 } 3045 var l int 3046 _ = l 3047 l = m.Table.Size() 3048 n += 1 + l + sovProcessorsSql(uint64(l)) 3049 n += 1 + sovProcessorsSql(uint64(m.IndexIdx)) 3050 if len(m.LookupColumns) > 0 { 3051 l = 0 3052 for _, e := range m.LookupColumns { 3053 l += sovProcessorsSql(uint64(e)) 3054 } 3055 n += 1 + sovProcessorsSql(uint64(l)) + l 3056 } 3057 l = m.OnExpr.Size() 3058 n += 1 + l + sovProcessorsSql(uint64(l)) 3059 n += 1 + sovProcessorsSql(uint64(m.Type)) 3060 n += 1 + sovProcessorsSql(uint64(m.Visibility)) 3061 n += 2 3062 n += 1 + sovProcessorsSql(uint64(m.LockingStrength)) 3063 n += 1 + sovProcessorsSql(uint64(m.LockingWaitPolicy)) 3064 n += 2 3065 return n 3066 } 3067 3068 func (m *SorterSpec) Size() (n int) { 3069 if m == nil { 3070 return 0 3071 } 3072 var l int 3073 _ = l 3074 l = m.OutputOrdering.Size() 3075 n += 1 + l + sovProcessorsSql(uint64(l)) 3076 n += 1 + sovProcessorsSql(uint64(m.OrderingMatchLen)) 3077 return n 3078 } 3079 3080 func (m *DistinctSpec) Size() (n int) { 3081 if m == nil { 3082 return 0 3083 } 3084 var l int 3085 _ = l 3086 if len(m.OrderedColumns) > 0 { 3087 for _, e := range m.OrderedColumns { 3088 n += 1 + sovProcessorsSql(uint64(e)) 3089 } 3090 } 3091 if len(m.DistinctColumns) > 0 { 3092 for _, e := range m.DistinctColumns { 3093 n += 1 + sovProcessorsSql(uint64(e)) 3094 } 3095 } 3096 n += 2 3097 l = len(m.ErrorOnDup) 3098 n += 1 + l + sovProcessorsSql(uint64(l)) 3099 return n 3100 } 3101 3102 func (m *OrdinalitySpec) Size() (n int) { 3103 if m == nil { 3104 return 0 3105 } 3106 var l int 3107 _ = l 3108 return n 3109 } 3110 3111 func (m *ZigzagJoinerSpec) Size() (n int) { 3112 if m == nil { 3113 return 0 3114 } 3115 var l int 3116 _ = l 3117 if len(m.Tables) > 0 { 3118 for _, e := range m.Tables { 3119 l = e.Size() 3120 n += 1 + l + sovProcessorsSql(uint64(l)) 3121 } 3122 } 3123 if len(m.EqColumns) > 0 { 3124 for _, e := range m.EqColumns { 3125 l = e.Size() 3126 n += 1 + l + sovProcessorsSql(uint64(l)) 3127 } 3128 } 3129 if len(m.IndexOrdinals) > 0 { 3130 l = 0 3131 for _, e := range m.IndexOrdinals { 3132 l += sovProcessorsSql(uint64(e)) 3133 } 3134 n += 1 + sovProcessorsSql(uint64(l)) + l 3135 } 3136 l = m.OnExpr.Size() 3137 n += 1 + l + sovProcessorsSql(uint64(l)) 3138 if len(m.FixedValues) > 0 { 3139 for _, e := range m.FixedValues { 3140 l = e.Size() 3141 n += 1 + l + sovProcessorsSql(uint64(l)) 3142 } 3143 } 3144 n += 1 + sovProcessorsSql(uint64(m.Type)) 3145 return n 3146 } 3147 3148 func (m *MergeJoinerSpec) Size() (n int) { 3149 if m == nil { 3150 return 0 3151 } 3152 var l int 3153 _ = l 3154 l = m.LeftOrdering.Size() 3155 n += 1 + l + sovProcessorsSql(uint64(l)) 3156 l = m.RightOrdering.Size() 3157 n += 1 + l + sovProcessorsSql(uint64(l)) 3158 l = m.OnExpr.Size() 3159 n += 1 + l + sovProcessorsSql(uint64(l)) 3160 n += 1 + sovProcessorsSql(uint64(m.Type)) 3161 n += 2 3162 n += 2 3163 n += 2 3164 return n 3165 } 3166 3167 func (m *HashJoinerSpec) Size() (n int) { 3168 if m == nil { 3169 return 0 3170 } 3171 var l int 3172 _ = l 3173 if len(m.LeftEqColumns) > 0 { 3174 l = 0 3175 for _, e := range m.LeftEqColumns { 3176 l += sovProcessorsSql(uint64(e)) 3177 } 3178 n += 1 + sovProcessorsSql(uint64(l)) + l 3179 } 3180 if len(m.RightEqColumns) > 0 { 3181 l = 0 3182 for _, e := range m.RightEqColumns { 3183 l += sovProcessorsSql(uint64(e)) 3184 } 3185 n += 1 + sovProcessorsSql(uint64(l)) + l 3186 } 3187 l = m.OnExpr.Size() 3188 n += 1 + l + sovProcessorsSql(uint64(l)) 3189 n += 1 + sovProcessorsSql(uint64(m.Type)) 3190 n += 2 3191 n += 2 3192 n += 2 3193 return n 3194 } 3195 3196 func (m *InvertedJoinerSpec) Size() (n int) { 3197 if m == nil { 3198 return 0 3199 } 3200 var l int 3201 _ = l 3202 l = m.Table.Size() 3203 n += 1 + l + sovProcessorsSql(uint64(l)) 3204 n += 1 + sovProcessorsSql(uint64(m.IndexIdx)) 3205 n += 1 + sovProcessorsSql(uint64(m.LookupColumn)) 3206 l = m.InvertedExpr.Size() 3207 n += 1 + l + sovProcessorsSql(uint64(l)) 3208 l = m.OnExpr.Size() 3209 n += 1 + l + sovProcessorsSql(uint64(l)) 3210 n += 1 + sovProcessorsSql(uint64(m.Type)) 3211 return n 3212 } 3213 3214 func (m *InvertedFiltererSpec) Size() (n int) { 3215 if m == nil { 3216 return 0 3217 } 3218 var l int 3219 _ = l 3220 l = m.InvertedExpr.Size() 3221 n += 1 + l + sovProcessorsSql(uint64(l)) 3222 l = m.OnExpr.Size() 3223 n += 1 + l + sovProcessorsSql(uint64(l)) 3224 return n 3225 } 3226 3227 func (m *AggregatorSpec) Size() (n int) { 3228 if m == nil { 3229 return 0 3230 } 3231 var l int 3232 _ = l 3233 if len(m.GroupCols) > 0 { 3234 l = 0 3235 for _, e := range m.GroupCols { 3236 l += sovProcessorsSql(uint64(e)) 3237 } 3238 n += 1 + sovProcessorsSql(uint64(l)) + l 3239 } 3240 if len(m.Aggregations) > 0 { 3241 for _, e := range m.Aggregations { 3242 l = e.Size() 3243 n += 1 + l + sovProcessorsSql(uint64(l)) 3244 } 3245 } 3246 if len(m.OrderedGroupCols) > 0 { 3247 l = 0 3248 for _, e := range m.OrderedGroupCols { 3249 l += sovProcessorsSql(uint64(e)) 3250 } 3251 n += 1 + sovProcessorsSql(uint64(l)) + l 3252 } 3253 n += 1 + sovProcessorsSql(uint64(m.Type)) 3254 return n 3255 } 3256 3257 func (m *AggregatorSpec_Aggregation) Size() (n int) { 3258 if m == nil { 3259 return 0 3260 } 3261 var l int 3262 _ = l 3263 n += 1 + sovProcessorsSql(uint64(m.Func)) 3264 n += 2 3265 if m.FilterColIdx != nil { 3266 n += 1 + sovProcessorsSql(uint64(*m.FilterColIdx)) 3267 } 3268 if len(m.ColIdx) > 0 { 3269 for _, e := range m.ColIdx { 3270 n += 1 + sovProcessorsSql(uint64(e)) 3271 } 3272 } 3273 if len(m.Arguments) > 0 { 3274 for _, e := range m.Arguments { 3275 l = e.Size() 3276 n += 1 + l + sovProcessorsSql(uint64(l)) 3277 } 3278 } 3279 return n 3280 } 3281 3282 func (m *InterleavedReaderJoinerSpec) Size() (n int) { 3283 if m == nil { 3284 return 0 3285 } 3286 var l int 3287 _ = l 3288 if len(m.Tables) > 0 { 3289 for _, e := range m.Tables { 3290 l = e.Size() 3291 n += 1 + l + sovProcessorsSql(uint64(l)) 3292 } 3293 } 3294 n += 2 3295 n += 1 + sovProcessorsSql(uint64(m.LimitHint)) 3296 l = m.OnExpr.Size() 3297 n += 1 + l + sovProcessorsSql(uint64(l)) 3298 n += 1 + sovProcessorsSql(uint64(m.Type)) 3299 n += 1 + sovProcessorsSql(uint64(m.LockingStrength)) 3300 n += 1 + sovProcessorsSql(uint64(m.LockingWaitPolicy)) 3301 return n 3302 } 3303 3304 func (m *InterleavedReaderJoinerSpec_Table) Size() (n int) { 3305 if m == nil { 3306 return 0 3307 } 3308 var l int 3309 _ = l 3310 l = m.Desc.Size() 3311 n += 1 + l + sovProcessorsSql(uint64(l)) 3312 n += 1 + sovProcessorsSql(uint64(m.IndexIdx)) 3313 l = m.Post.Size() 3314 n += 1 + l + sovProcessorsSql(uint64(l)) 3315 l = m.Ordering.Size() 3316 n += 1 + l + sovProcessorsSql(uint64(l)) 3317 if len(m.Spans) > 0 { 3318 for _, e := range m.Spans { 3319 l = e.Size() 3320 n += 1 + l + sovProcessorsSql(uint64(l)) 3321 } 3322 } 3323 return n 3324 } 3325 3326 func (m *ProjectSetSpec) Size() (n int) { 3327 if m == nil { 3328 return 0 3329 } 3330 var l int 3331 _ = l 3332 if len(m.Exprs) > 0 { 3333 for _, e := range m.Exprs { 3334 l = e.Size() 3335 n += 1 + l + sovProcessorsSql(uint64(l)) 3336 } 3337 } 3338 if len(m.GeneratedColumns) > 0 { 3339 for _, e := range m.GeneratedColumns { 3340 l = e.Size() 3341 n += 1 + l + sovProcessorsSql(uint64(l)) 3342 } 3343 } 3344 if len(m.NumColsPerGen) > 0 { 3345 for _, e := range m.NumColsPerGen { 3346 n += 1 + sovProcessorsSql(uint64(e)) 3347 } 3348 } 3349 return n 3350 } 3351 3352 func (m *WindowerSpec) Size() (n int) { 3353 if m == nil { 3354 return 0 3355 } 3356 var l int 3357 _ = l 3358 if len(m.PartitionBy) > 0 { 3359 for _, e := range m.PartitionBy { 3360 n += 1 + sovProcessorsSql(uint64(e)) 3361 } 3362 } 3363 if len(m.WindowFns) > 0 { 3364 for _, e := range m.WindowFns { 3365 l = e.Size() 3366 n += 1 + l + sovProcessorsSql(uint64(l)) 3367 } 3368 } 3369 return n 3370 } 3371 3372 func (m *WindowerSpec_Func) Size() (n int) { 3373 if m == nil { 3374 return 0 3375 } 3376 var l int 3377 _ = l 3378 if m.AggregateFunc != nil { 3379 n += 1 + sovProcessorsSql(uint64(*m.AggregateFunc)) 3380 } 3381 if m.WindowFunc != nil { 3382 n += 1 + sovProcessorsSql(uint64(*m.WindowFunc)) 3383 } 3384 return n 3385 } 3386 3387 func (m *WindowerSpec_Frame) Size() (n int) { 3388 if m == nil { 3389 return 0 3390 } 3391 var l int 3392 _ = l 3393 n += 1 + sovProcessorsSql(uint64(m.Mode)) 3394 l = m.Bounds.Size() 3395 n += 1 + l + sovProcessorsSql(uint64(l)) 3396 n += 1 + sovProcessorsSql(uint64(m.Exclusion)) 3397 return n 3398 } 3399 3400 func (m *WindowerSpec_Frame_Bound) Size() (n int) { 3401 if m == nil { 3402 return 0 3403 } 3404 var l int 3405 _ = l 3406 n += 1 + sovProcessorsSql(uint64(m.BoundType)) 3407 n += 1 + sovProcessorsSql(uint64(m.IntOffset)) 3408 if m.TypedOffset != nil { 3409 l = len(m.TypedOffset) 3410 n += 1 + l + sovProcessorsSql(uint64(l)) 3411 } 3412 l = m.OffsetType.Size() 3413 n += 1 + l + sovProcessorsSql(uint64(l)) 3414 return n 3415 } 3416 3417 func (m *WindowerSpec_Frame_Bounds) Size() (n int) { 3418 if m == nil { 3419 return 0 3420 } 3421 var l int 3422 _ = l 3423 l = m.Start.Size() 3424 n += 1 + l + sovProcessorsSql(uint64(l)) 3425 if m.End != nil { 3426 l = m.End.Size() 3427 n += 1 + l + sovProcessorsSql(uint64(l)) 3428 } 3429 return n 3430 } 3431 3432 func (m *WindowerSpec_WindowFn) Size() (n int) { 3433 if m == nil { 3434 return 0 3435 } 3436 var l int 3437 _ = l 3438 l = m.Func.Size() 3439 n += 1 + l + sovProcessorsSql(uint64(l)) 3440 l = m.Ordering.Size() 3441 n += 1 + l + sovProcessorsSql(uint64(l)) 3442 if m.Frame != nil { 3443 l = m.Frame.Size() 3444 n += 1 + l + sovProcessorsSql(uint64(l)) 3445 } 3446 n += 1 + sovProcessorsSql(uint64(m.FilterColIdx)) 3447 if len(m.ArgsIdxs) > 0 { 3448 for _, e := range m.ArgsIdxs { 3449 n += 1 + sovProcessorsSql(uint64(e)) 3450 } 3451 } 3452 n += 1 + sovProcessorsSql(uint64(m.OutputColIdx)) 3453 return n 3454 } 3455 3456 func sovProcessorsSql(x uint64) (n int) { 3457 for { 3458 n++ 3459 x >>= 7 3460 if x == 0 { 3461 break 3462 } 3463 } 3464 return n 3465 } 3466 func sozProcessorsSql(x uint64) (n int) { 3467 return sovProcessorsSql(uint64((x << 1) ^ uint64((int64(x) >> 63)))) 3468 } 3469 func (this *WindowerSpec_Func) GetValue() interface{} { 3470 if this.AggregateFunc != nil { 3471 return this.AggregateFunc 3472 } 3473 if this.WindowFunc != nil { 3474 return this.WindowFunc 3475 } 3476 return nil 3477 } 3478 3479 func (this *WindowerSpec_Func) SetValue(value interface{}) bool { 3480 switch vt := value.(type) { 3481 case *AggregatorSpec_Func: 3482 this.AggregateFunc = vt 3483 case *WindowerSpec_WindowFunc: 3484 this.WindowFunc = vt 3485 default: 3486 return false 3487 } 3488 return true 3489 } 3490 func (m *ValuesCoreSpec) Unmarshal(dAtA []byte) error { 3491 l := len(dAtA) 3492 iNdEx := 0 3493 for iNdEx < l { 3494 preIndex := iNdEx 3495 var wire uint64 3496 for shift := uint(0); ; shift += 7 { 3497 if shift >= 64 { 3498 return ErrIntOverflowProcessorsSql 3499 } 3500 if iNdEx >= l { 3501 return io.ErrUnexpectedEOF 3502 } 3503 b := dAtA[iNdEx] 3504 iNdEx++ 3505 wire |= (uint64(b) & 0x7F) << shift 3506 if b < 0x80 { 3507 break 3508 } 3509 } 3510 fieldNum := int32(wire >> 3) 3511 wireType := int(wire & 0x7) 3512 if wireType == 4 { 3513 return fmt.Errorf("proto: ValuesCoreSpec: wiretype end group for non-group") 3514 } 3515 if fieldNum <= 0 { 3516 return fmt.Errorf("proto: ValuesCoreSpec: illegal tag %d (wire type %d)", fieldNum, wire) 3517 } 3518 switch fieldNum { 3519 case 1: 3520 if wireType != 2 { 3521 return fmt.Errorf("proto: wrong wireType = %d for field Columns", wireType) 3522 } 3523 var msglen int 3524 for shift := uint(0); ; shift += 7 { 3525 if shift >= 64 { 3526 return ErrIntOverflowProcessorsSql 3527 } 3528 if iNdEx >= l { 3529 return io.ErrUnexpectedEOF 3530 } 3531 b := dAtA[iNdEx] 3532 iNdEx++ 3533 msglen |= (int(b) & 0x7F) << shift 3534 if b < 0x80 { 3535 break 3536 } 3537 } 3538 if msglen < 0 { 3539 return ErrInvalidLengthProcessorsSql 3540 } 3541 postIndex := iNdEx + msglen 3542 if postIndex > l { 3543 return io.ErrUnexpectedEOF 3544 } 3545 m.Columns = append(m.Columns, DatumInfo{}) 3546 if err := m.Columns[len(m.Columns)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3547 return err 3548 } 3549 iNdEx = postIndex 3550 case 2: 3551 if wireType != 2 { 3552 return fmt.Errorf("proto: wrong wireType = %d for field RawBytes", wireType) 3553 } 3554 var byteLen int 3555 for shift := uint(0); ; shift += 7 { 3556 if shift >= 64 { 3557 return ErrIntOverflowProcessorsSql 3558 } 3559 if iNdEx >= l { 3560 return io.ErrUnexpectedEOF 3561 } 3562 b := dAtA[iNdEx] 3563 iNdEx++ 3564 byteLen |= (int(b) & 0x7F) << shift 3565 if b < 0x80 { 3566 break 3567 } 3568 } 3569 if byteLen < 0 { 3570 return ErrInvalidLengthProcessorsSql 3571 } 3572 postIndex := iNdEx + byteLen 3573 if postIndex > l { 3574 return io.ErrUnexpectedEOF 3575 } 3576 m.RawBytes = append(m.RawBytes, make([]byte, postIndex-iNdEx)) 3577 copy(m.RawBytes[len(m.RawBytes)-1], dAtA[iNdEx:postIndex]) 3578 iNdEx = postIndex 3579 case 3: 3580 if wireType != 0 { 3581 return fmt.Errorf("proto: wrong wireType = %d for field NumRows", wireType) 3582 } 3583 m.NumRows = 0 3584 for shift := uint(0); ; shift += 7 { 3585 if shift >= 64 { 3586 return ErrIntOverflowProcessorsSql 3587 } 3588 if iNdEx >= l { 3589 return io.ErrUnexpectedEOF 3590 } 3591 b := dAtA[iNdEx] 3592 iNdEx++ 3593 m.NumRows |= (uint64(b) & 0x7F) << shift 3594 if b < 0x80 { 3595 break 3596 } 3597 } 3598 default: 3599 iNdEx = preIndex 3600 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 3601 if err != nil { 3602 return err 3603 } 3604 if skippy < 0 { 3605 return ErrInvalidLengthProcessorsSql 3606 } 3607 if (iNdEx + skippy) > l { 3608 return io.ErrUnexpectedEOF 3609 } 3610 iNdEx += skippy 3611 } 3612 } 3613 3614 if iNdEx > l { 3615 return io.ErrUnexpectedEOF 3616 } 3617 return nil 3618 } 3619 func (m *TableReaderSpec) Unmarshal(dAtA []byte) error { 3620 l := len(dAtA) 3621 iNdEx := 0 3622 for iNdEx < l { 3623 preIndex := iNdEx 3624 var wire uint64 3625 for shift := uint(0); ; shift += 7 { 3626 if shift >= 64 { 3627 return ErrIntOverflowProcessorsSql 3628 } 3629 if iNdEx >= l { 3630 return io.ErrUnexpectedEOF 3631 } 3632 b := dAtA[iNdEx] 3633 iNdEx++ 3634 wire |= (uint64(b) & 0x7F) << shift 3635 if b < 0x80 { 3636 break 3637 } 3638 } 3639 fieldNum := int32(wire >> 3) 3640 wireType := int(wire & 0x7) 3641 if wireType == 4 { 3642 return fmt.Errorf("proto: TableReaderSpec: wiretype end group for non-group") 3643 } 3644 if fieldNum <= 0 { 3645 return fmt.Errorf("proto: TableReaderSpec: illegal tag %d (wire type %d)", fieldNum, wire) 3646 } 3647 switch fieldNum { 3648 case 1: 3649 if wireType != 2 { 3650 return fmt.Errorf("proto: wrong wireType = %d for field Table", wireType) 3651 } 3652 var msglen int 3653 for shift := uint(0); ; shift += 7 { 3654 if shift >= 64 { 3655 return ErrIntOverflowProcessorsSql 3656 } 3657 if iNdEx >= l { 3658 return io.ErrUnexpectedEOF 3659 } 3660 b := dAtA[iNdEx] 3661 iNdEx++ 3662 msglen |= (int(b) & 0x7F) << shift 3663 if b < 0x80 { 3664 break 3665 } 3666 } 3667 if msglen < 0 { 3668 return ErrInvalidLengthProcessorsSql 3669 } 3670 postIndex := iNdEx + msglen 3671 if postIndex > l { 3672 return io.ErrUnexpectedEOF 3673 } 3674 if err := m.Table.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3675 return err 3676 } 3677 iNdEx = postIndex 3678 case 2: 3679 if wireType != 0 { 3680 return fmt.Errorf("proto: wrong wireType = %d for field IndexIdx", wireType) 3681 } 3682 m.IndexIdx = 0 3683 for shift := uint(0); ; shift += 7 { 3684 if shift >= 64 { 3685 return ErrIntOverflowProcessorsSql 3686 } 3687 if iNdEx >= l { 3688 return io.ErrUnexpectedEOF 3689 } 3690 b := dAtA[iNdEx] 3691 iNdEx++ 3692 m.IndexIdx |= (uint32(b) & 0x7F) << shift 3693 if b < 0x80 { 3694 break 3695 } 3696 } 3697 case 3: 3698 if wireType != 0 { 3699 return fmt.Errorf("proto: wrong wireType = %d for field Reverse", wireType) 3700 } 3701 var v int 3702 for shift := uint(0); ; shift += 7 { 3703 if shift >= 64 { 3704 return ErrIntOverflowProcessorsSql 3705 } 3706 if iNdEx >= l { 3707 return io.ErrUnexpectedEOF 3708 } 3709 b := dAtA[iNdEx] 3710 iNdEx++ 3711 v |= (int(b) & 0x7F) << shift 3712 if b < 0x80 { 3713 break 3714 } 3715 } 3716 m.Reverse = bool(v != 0) 3717 case 4: 3718 if wireType != 2 { 3719 return fmt.Errorf("proto: wrong wireType = %d for field Spans", wireType) 3720 } 3721 var msglen int 3722 for shift := uint(0); ; shift += 7 { 3723 if shift >= 64 { 3724 return ErrIntOverflowProcessorsSql 3725 } 3726 if iNdEx >= l { 3727 return io.ErrUnexpectedEOF 3728 } 3729 b := dAtA[iNdEx] 3730 iNdEx++ 3731 msglen |= (int(b) & 0x7F) << shift 3732 if b < 0x80 { 3733 break 3734 } 3735 } 3736 if msglen < 0 { 3737 return ErrInvalidLengthProcessorsSql 3738 } 3739 postIndex := iNdEx + msglen 3740 if postIndex > l { 3741 return io.ErrUnexpectedEOF 3742 } 3743 m.Spans = append(m.Spans, TableReaderSpan{}) 3744 if err := m.Spans[len(m.Spans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3745 return err 3746 } 3747 iNdEx = postIndex 3748 case 5: 3749 if wireType != 0 { 3750 return fmt.Errorf("proto: wrong wireType = %d for field LimitHint", wireType) 3751 } 3752 m.LimitHint = 0 3753 for shift := uint(0); ; shift += 7 { 3754 if shift >= 64 { 3755 return ErrIntOverflowProcessorsSql 3756 } 3757 if iNdEx >= l { 3758 return io.ErrUnexpectedEOF 3759 } 3760 b := dAtA[iNdEx] 3761 iNdEx++ 3762 m.LimitHint |= (int64(b) & 0x7F) << shift 3763 if b < 0x80 { 3764 break 3765 } 3766 } 3767 case 6: 3768 if wireType != 0 { 3769 return fmt.Errorf("proto: wrong wireType = %d for field IsCheck", wireType) 3770 } 3771 var v int 3772 for shift := uint(0); ; shift += 7 { 3773 if shift >= 64 { 3774 return ErrIntOverflowProcessorsSql 3775 } 3776 if iNdEx >= l { 3777 return io.ErrUnexpectedEOF 3778 } 3779 b := dAtA[iNdEx] 3780 iNdEx++ 3781 v |= (int(b) & 0x7F) << shift 3782 if b < 0x80 { 3783 break 3784 } 3785 } 3786 m.IsCheck = bool(v != 0) 3787 case 7: 3788 if wireType != 0 { 3789 return fmt.Errorf("proto: wrong wireType = %d for field Visibility", wireType) 3790 } 3791 m.Visibility = 0 3792 for shift := uint(0); ; shift += 7 { 3793 if shift >= 64 { 3794 return ErrIntOverflowProcessorsSql 3795 } 3796 if iNdEx >= l { 3797 return io.ErrUnexpectedEOF 3798 } 3799 b := dAtA[iNdEx] 3800 iNdEx++ 3801 m.Visibility |= (ScanVisibility(b) & 0x7F) << shift 3802 if b < 0x80 { 3803 break 3804 } 3805 } 3806 case 8: 3807 if wireType != 0 { 3808 return fmt.Errorf("proto: wrong wireType = %d for field MaxResults", wireType) 3809 } 3810 m.MaxResults = 0 3811 for shift := uint(0); ; shift += 7 { 3812 if shift >= 64 { 3813 return ErrIntOverflowProcessorsSql 3814 } 3815 if iNdEx >= l { 3816 return io.ErrUnexpectedEOF 3817 } 3818 b := dAtA[iNdEx] 3819 iNdEx++ 3820 m.MaxResults |= (uint64(b) & 0x7F) << shift 3821 if b < 0x80 { 3822 break 3823 } 3824 } 3825 case 9: 3826 if wireType != 0 { 3827 return fmt.Errorf("proto: wrong wireType = %d for field MaxTimestampAgeNanos", wireType) 3828 } 3829 m.MaxTimestampAgeNanos = 0 3830 for shift := uint(0); ; shift += 7 { 3831 if shift >= 64 { 3832 return ErrIntOverflowProcessorsSql 3833 } 3834 if iNdEx >= l { 3835 return io.ErrUnexpectedEOF 3836 } 3837 b := dAtA[iNdEx] 3838 iNdEx++ 3839 m.MaxTimestampAgeNanos |= (uint64(b) & 0x7F) << shift 3840 if b < 0x80 { 3841 break 3842 } 3843 } 3844 case 10: 3845 if wireType != 0 { 3846 return fmt.Errorf("proto: wrong wireType = %d for field LockingStrength", wireType) 3847 } 3848 m.LockingStrength = 0 3849 for shift := uint(0); ; shift += 7 { 3850 if shift >= 64 { 3851 return ErrIntOverflowProcessorsSql 3852 } 3853 if iNdEx >= l { 3854 return io.ErrUnexpectedEOF 3855 } 3856 b := dAtA[iNdEx] 3857 iNdEx++ 3858 m.LockingStrength |= (sqlbase.ScanLockingStrength(b) & 0x7F) << shift 3859 if b < 0x80 { 3860 break 3861 } 3862 } 3863 case 11: 3864 if wireType != 0 { 3865 return fmt.Errorf("proto: wrong wireType = %d for field LockingWaitPolicy", wireType) 3866 } 3867 m.LockingWaitPolicy = 0 3868 for shift := uint(0); ; shift += 7 { 3869 if shift >= 64 { 3870 return ErrIntOverflowProcessorsSql 3871 } 3872 if iNdEx >= l { 3873 return io.ErrUnexpectedEOF 3874 } 3875 b := dAtA[iNdEx] 3876 iNdEx++ 3877 m.LockingWaitPolicy |= (sqlbase.ScanLockingWaitPolicy(b) & 0x7F) << shift 3878 if b < 0x80 { 3879 break 3880 } 3881 } 3882 default: 3883 iNdEx = preIndex 3884 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 3885 if err != nil { 3886 return err 3887 } 3888 if skippy < 0 { 3889 return ErrInvalidLengthProcessorsSql 3890 } 3891 if (iNdEx + skippy) > l { 3892 return io.ErrUnexpectedEOF 3893 } 3894 iNdEx += skippy 3895 } 3896 } 3897 3898 if iNdEx > l { 3899 return io.ErrUnexpectedEOF 3900 } 3901 return nil 3902 } 3903 func (m *IndexSkipTableReaderSpec) Unmarshal(dAtA []byte) error { 3904 l := len(dAtA) 3905 iNdEx := 0 3906 for iNdEx < l { 3907 preIndex := iNdEx 3908 var wire uint64 3909 for shift := uint(0); ; shift += 7 { 3910 if shift >= 64 { 3911 return ErrIntOverflowProcessorsSql 3912 } 3913 if iNdEx >= l { 3914 return io.ErrUnexpectedEOF 3915 } 3916 b := dAtA[iNdEx] 3917 iNdEx++ 3918 wire |= (uint64(b) & 0x7F) << shift 3919 if b < 0x80 { 3920 break 3921 } 3922 } 3923 fieldNum := int32(wire >> 3) 3924 wireType := int(wire & 0x7) 3925 if wireType == 4 { 3926 return fmt.Errorf("proto: IndexSkipTableReaderSpec: wiretype end group for non-group") 3927 } 3928 if fieldNum <= 0 { 3929 return fmt.Errorf("proto: IndexSkipTableReaderSpec: illegal tag %d (wire type %d)", fieldNum, wire) 3930 } 3931 switch fieldNum { 3932 case 1: 3933 if wireType != 2 { 3934 return fmt.Errorf("proto: wrong wireType = %d for field Table", wireType) 3935 } 3936 var msglen int 3937 for shift := uint(0); ; shift += 7 { 3938 if shift >= 64 { 3939 return ErrIntOverflowProcessorsSql 3940 } 3941 if iNdEx >= l { 3942 return io.ErrUnexpectedEOF 3943 } 3944 b := dAtA[iNdEx] 3945 iNdEx++ 3946 msglen |= (int(b) & 0x7F) << shift 3947 if b < 0x80 { 3948 break 3949 } 3950 } 3951 if msglen < 0 { 3952 return ErrInvalidLengthProcessorsSql 3953 } 3954 postIndex := iNdEx + msglen 3955 if postIndex > l { 3956 return io.ErrUnexpectedEOF 3957 } 3958 if err := m.Table.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3959 return err 3960 } 3961 iNdEx = postIndex 3962 case 2: 3963 if wireType != 0 { 3964 return fmt.Errorf("proto: wrong wireType = %d for field IndexIdx", wireType) 3965 } 3966 m.IndexIdx = 0 3967 for shift := uint(0); ; shift += 7 { 3968 if shift >= 64 { 3969 return ErrIntOverflowProcessorsSql 3970 } 3971 if iNdEx >= l { 3972 return io.ErrUnexpectedEOF 3973 } 3974 b := dAtA[iNdEx] 3975 iNdEx++ 3976 m.IndexIdx |= (uint32(b) & 0x7F) << shift 3977 if b < 0x80 { 3978 break 3979 } 3980 } 3981 case 3: 3982 if wireType != 2 { 3983 return fmt.Errorf("proto: wrong wireType = %d for field Spans", wireType) 3984 } 3985 var msglen int 3986 for shift := uint(0); ; shift += 7 { 3987 if shift >= 64 { 3988 return ErrIntOverflowProcessorsSql 3989 } 3990 if iNdEx >= l { 3991 return io.ErrUnexpectedEOF 3992 } 3993 b := dAtA[iNdEx] 3994 iNdEx++ 3995 msglen |= (int(b) & 0x7F) << shift 3996 if b < 0x80 { 3997 break 3998 } 3999 } 4000 if msglen < 0 { 4001 return ErrInvalidLengthProcessorsSql 4002 } 4003 postIndex := iNdEx + msglen 4004 if postIndex > l { 4005 return io.ErrUnexpectedEOF 4006 } 4007 m.Spans = append(m.Spans, TableReaderSpan{}) 4008 if err := m.Spans[len(m.Spans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4009 return err 4010 } 4011 iNdEx = postIndex 4012 case 4: 4013 if wireType != 0 { 4014 return fmt.Errorf("proto: wrong wireType = %d for field Visibility", wireType) 4015 } 4016 m.Visibility = 0 4017 for shift := uint(0); ; shift += 7 { 4018 if shift >= 64 { 4019 return ErrIntOverflowProcessorsSql 4020 } 4021 if iNdEx >= l { 4022 return io.ErrUnexpectedEOF 4023 } 4024 b := dAtA[iNdEx] 4025 iNdEx++ 4026 m.Visibility |= (ScanVisibility(b) & 0x7F) << shift 4027 if b < 0x80 { 4028 break 4029 } 4030 } 4031 case 5: 4032 if wireType != 0 { 4033 return fmt.Errorf("proto: wrong wireType = %d for field Reverse", wireType) 4034 } 4035 var v int 4036 for shift := uint(0); ; shift += 7 { 4037 if shift >= 64 { 4038 return ErrIntOverflowProcessorsSql 4039 } 4040 if iNdEx >= l { 4041 return io.ErrUnexpectedEOF 4042 } 4043 b := dAtA[iNdEx] 4044 iNdEx++ 4045 v |= (int(b) & 0x7F) << shift 4046 if b < 0x80 { 4047 break 4048 } 4049 } 4050 m.Reverse = bool(v != 0) 4051 case 6: 4052 if wireType != 0 { 4053 return fmt.Errorf("proto: wrong wireType = %d for field LockingStrength", wireType) 4054 } 4055 m.LockingStrength = 0 4056 for shift := uint(0); ; shift += 7 { 4057 if shift >= 64 { 4058 return ErrIntOverflowProcessorsSql 4059 } 4060 if iNdEx >= l { 4061 return io.ErrUnexpectedEOF 4062 } 4063 b := dAtA[iNdEx] 4064 iNdEx++ 4065 m.LockingStrength |= (sqlbase.ScanLockingStrength(b) & 0x7F) << shift 4066 if b < 0x80 { 4067 break 4068 } 4069 } 4070 case 7: 4071 if wireType != 0 { 4072 return fmt.Errorf("proto: wrong wireType = %d for field LockingWaitPolicy", wireType) 4073 } 4074 m.LockingWaitPolicy = 0 4075 for shift := uint(0); ; shift += 7 { 4076 if shift >= 64 { 4077 return ErrIntOverflowProcessorsSql 4078 } 4079 if iNdEx >= l { 4080 return io.ErrUnexpectedEOF 4081 } 4082 b := dAtA[iNdEx] 4083 iNdEx++ 4084 m.LockingWaitPolicy |= (sqlbase.ScanLockingWaitPolicy(b) & 0x7F) << shift 4085 if b < 0x80 { 4086 break 4087 } 4088 } 4089 default: 4090 iNdEx = preIndex 4091 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 4092 if err != nil { 4093 return err 4094 } 4095 if skippy < 0 { 4096 return ErrInvalidLengthProcessorsSql 4097 } 4098 if (iNdEx + skippy) > l { 4099 return io.ErrUnexpectedEOF 4100 } 4101 iNdEx += skippy 4102 } 4103 } 4104 4105 if iNdEx > l { 4106 return io.ErrUnexpectedEOF 4107 } 4108 return nil 4109 } 4110 func (m *JoinReaderSpec) Unmarshal(dAtA []byte) error { 4111 l := len(dAtA) 4112 iNdEx := 0 4113 for iNdEx < l { 4114 preIndex := iNdEx 4115 var wire uint64 4116 for shift := uint(0); ; shift += 7 { 4117 if shift >= 64 { 4118 return ErrIntOverflowProcessorsSql 4119 } 4120 if iNdEx >= l { 4121 return io.ErrUnexpectedEOF 4122 } 4123 b := dAtA[iNdEx] 4124 iNdEx++ 4125 wire |= (uint64(b) & 0x7F) << shift 4126 if b < 0x80 { 4127 break 4128 } 4129 } 4130 fieldNum := int32(wire >> 3) 4131 wireType := int(wire & 0x7) 4132 if wireType == 4 { 4133 return fmt.Errorf("proto: JoinReaderSpec: wiretype end group for non-group") 4134 } 4135 if fieldNum <= 0 { 4136 return fmt.Errorf("proto: JoinReaderSpec: illegal tag %d (wire type %d)", fieldNum, wire) 4137 } 4138 switch fieldNum { 4139 case 1: 4140 if wireType != 2 { 4141 return fmt.Errorf("proto: wrong wireType = %d for field Table", wireType) 4142 } 4143 var msglen int 4144 for shift := uint(0); ; shift += 7 { 4145 if shift >= 64 { 4146 return ErrIntOverflowProcessorsSql 4147 } 4148 if iNdEx >= l { 4149 return io.ErrUnexpectedEOF 4150 } 4151 b := dAtA[iNdEx] 4152 iNdEx++ 4153 msglen |= (int(b) & 0x7F) << shift 4154 if b < 0x80 { 4155 break 4156 } 4157 } 4158 if msglen < 0 { 4159 return ErrInvalidLengthProcessorsSql 4160 } 4161 postIndex := iNdEx + msglen 4162 if postIndex > l { 4163 return io.ErrUnexpectedEOF 4164 } 4165 if err := m.Table.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4166 return err 4167 } 4168 iNdEx = postIndex 4169 case 2: 4170 if wireType != 0 { 4171 return fmt.Errorf("proto: wrong wireType = %d for field IndexIdx", wireType) 4172 } 4173 m.IndexIdx = 0 4174 for shift := uint(0); ; shift += 7 { 4175 if shift >= 64 { 4176 return ErrIntOverflowProcessorsSql 4177 } 4178 if iNdEx >= l { 4179 return io.ErrUnexpectedEOF 4180 } 4181 b := dAtA[iNdEx] 4182 iNdEx++ 4183 m.IndexIdx |= (uint32(b) & 0x7F) << shift 4184 if b < 0x80 { 4185 break 4186 } 4187 } 4188 case 3: 4189 if wireType == 0 { 4190 var v uint32 4191 for shift := uint(0); ; shift += 7 { 4192 if shift >= 64 { 4193 return ErrIntOverflowProcessorsSql 4194 } 4195 if iNdEx >= l { 4196 return io.ErrUnexpectedEOF 4197 } 4198 b := dAtA[iNdEx] 4199 iNdEx++ 4200 v |= (uint32(b) & 0x7F) << shift 4201 if b < 0x80 { 4202 break 4203 } 4204 } 4205 m.LookupColumns = append(m.LookupColumns, v) 4206 } else if wireType == 2 { 4207 var packedLen int 4208 for shift := uint(0); ; shift += 7 { 4209 if shift >= 64 { 4210 return ErrIntOverflowProcessorsSql 4211 } 4212 if iNdEx >= l { 4213 return io.ErrUnexpectedEOF 4214 } 4215 b := dAtA[iNdEx] 4216 iNdEx++ 4217 packedLen |= (int(b) & 0x7F) << shift 4218 if b < 0x80 { 4219 break 4220 } 4221 } 4222 if packedLen < 0 { 4223 return ErrInvalidLengthProcessorsSql 4224 } 4225 postIndex := iNdEx + packedLen 4226 if postIndex > l { 4227 return io.ErrUnexpectedEOF 4228 } 4229 var elementCount int 4230 var count int 4231 for _, integer := range dAtA { 4232 if integer < 128 { 4233 count++ 4234 } 4235 } 4236 elementCount = count 4237 if elementCount != 0 && len(m.LookupColumns) == 0 { 4238 m.LookupColumns = make([]uint32, 0, elementCount) 4239 } 4240 for iNdEx < postIndex { 4241 var v uint32 4242 for shift := uint(0); ; shift += 7 { 4243 if shift >= 64 { 4244 return ErrIntOverflowProcessorsSql 4245 } 4246 if iNdEx >= l { 4247 return io.ErrUnexpectedEOF 4248 } 4249 b := dAtA[iNdEx] 4250 iNdEx++ 4251 v |= (uint32(b) & 0x7F) << shift 4252 if b < 0x80 { 4253 break 4254 } 4255 } 4256 m.LookupColumns = append(m.LookupColumns, v) 4257 } 4258 } else { 4259 return fmt.Errorf("proto: wrong wireType = %d for field LookupColumns", wireType) 4260 } 4261 case 4: 4262 if wireType != 2 { 4263 return fmt.Errorf("proto: wrong wireType = %d for field OnExpr", wireType) 4264 } 4265 var msglen int 4266 for shift := uint(0); ; shift += 7 { 4267 if shift >= 64 { 4268 return ErrIntOverflowProcessorsSql 4269 } 4270 if iNdEx >= l { 4271 return io.ErrUnexpectedEOF 4272 } 4273 b := dAtA[iNdEx] 4274 iNdEx++ 4275 msglen |= (int(b) & 0x7F) << shift 4276 if b < 0x80 { 4277 break 4278 } 4279 } 4280 if msglen < 0 { 4281 return ErrInvalidLengthProcessorsSql 4282 } 4283 postIndex := iNdEx + msglen 4284 if postIndex > l { 4285 return io.ErrUnexpectedEOF 4286 } 4287 if err := m.OnExpr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4288 return err 4289 } 4290 iNdEx = postIndex 4291 case 6: 4292 if wireType != 0 { 4293 return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) 4294 } 4295 m.Type = 0 4296 for shift := uint(0); ; shift += 7 { 4297 if shift >= 64 { 4298 return ErrIntOverflowProcessorsSql 4299 } 4300 if iNdEx >= l { 4301 return io.ErrUnexpectedEOF 4302 } 4303 b := dAtA[iNdEx] 4304 iNdEx++ 4305 m.Type |= (sqlbase.JoinType(b) & 0x7F) << shift 4306 if b < 0x80 { 4307 break 4308 } 4309 } 4310 case 7: 4311 if wireType != 0 { 4312 return fmt.Errorf("proto: wrong wireType = %d for field Visibility", wireType) 4313 } 4314 m.Visibility = 0 4315 for shift := uint(0); ; shift += 7 { 4316 if shift >= 64 { 4317 return ErrIntOverflowProcessorsSql 4318 } 4319 if iNdEx >= l { 4320 return io.ErrUnexpectedEOF 4321 } 4322 b := dAtA[iNdEx] 4323 iNdEx++ 4324 m.Visibility |= (ScanVisibility(b) & 0x7F) << shift 4325 if b < 0x80 { 4326 break 4327 } 4328 } 4329 case 8: 4330 if wireType != 0 { 4331 return fmt.Errorf("proto: wrong wireType = %d for field LookupColumnsAreKey", wireType) 4332 } 4333 var v int 4334 for shift := uint(0); ; shift += 7 { 4335 if shift >= 64 { 4336 return ErrIntOverflowProcessorsSql 4337 } 4338 if iNdEx >= l { 4339 return io.ErrUnexpectedEOF 4340 } 4341 b := dAtA[iNdEx] 4342 iNdEx++ 4343 v |= (int(b) & 0x7F) << shift 4344 if b < 0x80 { 4345 break 4346 } 4347 } 4348 m.LookupColumnsAreKey = bool(v != 0) 4349 case 9: 4350 if wireType != 0 { 4351 return fmt.Errorf("proto: wrong wireType = %d for field LockingStrength", wireType) 4352 } 4353 m.LockingStrength = 0 4354 for shift := uint(0); ; shift += 7 { 4355 if shift >= 64 { 4356 return ErrIntOverflowProcessorsSql 4357 } 4358 if iNdEx >= l { 4359 return io.ErrUnexpectedEOF 4360 } 4361 b := dAtA[iNdEx] 4362 iNdEx++ 4363 m.LockingStrength |= (sqlbase.ScanLockingStrength(b) & 0x7F) << shift 4364 if b < 0x80 { 4365 break 4366 } 4367 } 4368 case 10: 4369 if wireType != 0 { 4370 return fmt.Errorf("proto: wrong wireType = %d for field LockingWaitPolicy", wireType) 4371 } 4372 m.LockingWaitPolicy = 0 4373 for shift := uint(0); ; shift += 7 { 4374 if shift >= 64 { 4375 return ErrIntOverflowProcessorsSql 4376 } 4377 if iNdEx >= l { 4378 return io.ErrUnexpectedEOF 4379 } 4380 b := dAtA[iNdEx] 4381 iNdEx++ 4382 m.LockingWaitPolicy |= (sqlbase.ScanLockingWaitPolicy(b) & 0x7F) << shift 4383 if b < 0x80 { 4384 break 4385 } 4386 } 4387 case 11: 4388 if wireType != 0 { 4389 return fmt.Errorf("proto: wrong wireType = %d for field MaintainOrdering", wireType) 4390 } 4391 var v int 4392 for shift := uint(0); ; shift += 7 { 4393 if shift >= 64 { 4394 return ErrIntOverflowProcessorsSql 4395 } 4396 if iNdEx >= l { 4397 return io.ErrUnexpectedEOF 4398 } 4399 b := dAtA[iNdEx] 4400 iNdEx++ 4401 v |= (int(b) & 0x7F) << shift 4402 if b < 0x80 { 4403 break 4404 } 4405 } 4406 m.MaintainOrdering = bool(v != 0) 4407 default: 4408 iNdEx = preIndex 4409 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 4410 if err != nil { 4411 return err 4412 } 4413 if skippy < 0 { 4414 return ErrInvalidLengthProcessorsSql 4415 } 4416 if (iNdEx + skippy) > l { 4417 return io.ErrUnexpectedEOF 4418 } 4419 iNdEx += skippy 4420 } 4421 } 4422 4423 if iNdEx > l { 4424 return io.ErrUnexpectedEOF 4425 } 4426 return nil 4427 } 4428 func (m *SorterSpec) Unmarshal(dAtA []byte) error { 4429 l := len(dAtA) 4430 iNdEx := 0 4431 for iNdEx < l { 4432 preIndex := iNdEx 4433 var wire uint64 4434 for shift := uint(0); ; shift += 7 { 4435 if shift >= 64 { 4436 return ErrIntOverflowProcessorsSql 4437 } 4438 if iNdEx >= l { 4439 return io.ErrUnexpectedEOF 4440 } 4441 b := dAtA[iNdEx] 4442 iNdEx++ 4443 wire |= (uint64(b) & 0x7F) << shift 4444 if b < 0x80 { 4445 break 4446 } 4447 } 4448 fieldNum := int32(wire >> 3) 4449 wireType := int(wire & 0x7) 4450 if wireType == 4 { 4451 return fmt.Errorf("proto: SorterSpec: wiretype end group for non-group") 4452 } 4453 if fieldNum <= 0 { 4454 return fmt.Errorf("proto: SorterSpec: illegal tag %d (wire type %d)", fieldNum, wire) 4455 } 4456 switch fieldNum { 4457 case 1: 4458 if wireType != 2 { 4459 return fmt.Errorf("proto: wrong wireType = %d for field OutputOrdering", wireType) 4460 } 4461 var msglen int 4462 for shift := uint(0); ; shift += 7 { 4463 if shift >= 64 { 4464 return ErrIntOverflowProcessorsSql 4465 } 4466 if iNdEx >= l { 4467 return io.ErrUnexpectedEOF 4468 } 4469 b := dAtA[iNdEx] 4470 iNdEx++ 4471 msglen |= (int(b) & 0x7F) << shift 4472 if b < 0x80 { 4473 break 4474 } 4475 } 4476 if msglen < 0 { 4477 return ErrInvalidLengthProcessorsSql 4478 } 4479 postIndex := iNdEx + msglen 4480 if postIndex > l { 4481 return io.ErrUnexpectedEOF 4482 } 4483 if err := m.OutputOrdering.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4484 return err 4485 } 4486 iNdEx = postIndex 4487 case 2: 4488 if wireType != 0 { 4489 return fmt.Errorf("proto: wrong wireType = %d for field OrderingMatchLen", wireType) 4490 } 4491 m.OrderingMatchLen = 0 4492 for shift := uint(0); ; shift += 7 { 4493 if shift >= 64 { 4494 return ErrIntOverflowProcessorsSql 4495 } 4496 if iNdEx >= l { 4497 return io.ErrUnexpectedEOF 4498 } 4499 b := dAtA[iNdEx] 4500 iNdEx++ 4501 m.OrderingMatchLen |= (uint32(b) & 0x7F) << shift 4502 if b < 0x80 { 4503 break 4504 } 4505 } 4506 default: 4507 iNdEx = preIndex 4508 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 4509 if err != nil { 4510 return err 4511 } 4512 if skippy < 0 { 4513 return ErrInvalidLengthProcessorsSql 4514 } 4515 if (iNdEx + skippy) > l { 4516 return io.ErrUnexpectedEOF 4517 } 4518 iNdEx += skippy 4519 } 4520 } 4521 4522 if iNdEx > l { 4523 return io.ErrUnexpectedEOF 4524 } 4525 return nil 4526 } 4527 func (m *DistinctSpec) Unmarshal(dAtA []byte) error { 4528 l := len(dAtA) 4529 iNdEx := 0 4530 for iNdEx < l { 4531 preIndex := iNdEx 4532 var wire uint64 4533 for shift := uint(0); ; shift += 7 { 4534 if shift >= 64 { 4535 return ErrIntOverflowProcessorsSql 4536 } 4537 if iNdEx >= l { 4538 return io.ErrUnexpectedEOF 4539 } 4540 b := dAtA[iNdEx] 4541 iNdEx++ 4542 wire |= (uint64(b) & 0x7F) << shift 4543 if b < 0x80 { 4544 break 4545 } 4546 } 4547 fieldNum := int32(wire >> 3) 4548 wireType := int(wire & 0x7) 4549 if wireType == 4 { 4550 return fmt.Errorf("proto: DistinctSpec: wiretype end group for non-group") 4551 } 4552 if fieldNum <= 0 { 4553 return fmt.Errorf("proto: DistinctSpec: illegal tag %d (wire type %d)", fieldNum, wire) 4554 } 4555 switch fieldNum { 4556 case 1: 4557 if wireType == 0 { 4558 var v uint32 4559 for shift := uint(0); ; shift += 7 { 4560 if shift >= 64 { 4561 return ErrIntOverflowProcessorsSql 4562 } 4563 if iNdEx >= l { 4564 return io.ErrUnexpectedEOF 4565 } 4566 b := dAtA[iNdEx] 4567 iNdEx++ 4568 v |= (uint32(b) & 0x7F) << shift 4569 if b < 0x80 { 4570 break 4571 } 4572 } 4573 m.OrderedColumns = append(m.OrderedColumns, v) 4574 } else if wireType == 2 { 4575 var packedLen int 4576 for shift := uint(0); ; shift += 7 { 4577 if shift >= 64 { 4578 return ErrIntOverflowProcessorsSql 4579 } 4580 if iNdEx >= l { 4581 return io.ErrUnexpectedEOF 4582 } 4583 b := dAtA[iNdEx] 4584 iNdEx++ 4585 packedLen |= (int(b) & 0x7F) << shift 4586 if b < 0x80 { 4587 break 4588 } 4589 } 4590 if packedLen < 0 { 4591 return ErrInvalidLengthProcessorsSql 4592 } 4593 postIndex := iNdEx + packedLen 4594 if postIndex > l { 4595 return io.ErrUnexpectedEOF 4596 } 4597 var elementCount int 4598 var count int 4599 for _, integer := range dAtA { 4600 if integer < 128 { 4601 count++ 4602 } 4603 } 4604 elementCount = count 4605 if elementCount != 0 && len(m.OrderedColumns) == 0 { 4606 m.OrderedColumns = make([]uint32, 0, elementCount) 4607 } 4608 for iNdEx < postIndex { 4609 var v uint32 4610 for shift := uint(0); ; shift += 7 { 4611 if shift >= 64 { 4612 return ErrIntOverflowProcessorsSql 4613 } 4614 if iNdEx >= l { 4615 return io.ErrUnexpectedEOF 4616 } 4617 b := dAtA[iNdEx] 4618 iNdEx++ 4619 v |= (uint32(b) & 0x7F) << shift 4620 if b < 0x80 { 4621 break 4622 } 4623 } 4624 m.OrderedColumns = append(m.OrderedColumns, v) 4625 } 4626 } else { 4627 return fmt.Errorf("proto: wrong wireType = %d for field OrderedColumns", wireType) 4628 } 4629 case 2: 4630 if wireType == 0 { 4631 var v uint32 4632 for shift := uint(0); ; shift += 7 { 4633 if shift >= 64 { 4634 return ErrIntOverflowProcessorsSql 4635 } 4636 if iNdEx >= l { 4637 return io.ErrUnexpectedEOF 4638 } 4639 b := dAtA[iNdEx] 4640 iNdEx++ 4641 v |= (uint32(b) & 0x7F) << shift 4642 if b < 0x80 { 4643 break 4644 } 4645 } 4646 m.DistinctColumns = append(m.DistinctColumns, v) 4647 } else if wireType == 2 { 4648 var packedLen int 4649 for shift := uint(0); ; shift += 7 { 4650 if shift >= 64 { 4651 return ErrIntOverflowProcessorsSql 4652 } 4653 if iNdEx >= l { 4654 return io.ErrUnexpectedEOF 4655 } 4656 b := dAtA[iNdEx] 4657 iNdEx++ 4658 packedLen |= (int(b) & 0x7F) << shift 4659 if b < 0x80 { 4660 break 4661 } 4662 } 4663 if packedLen < 0 { 4664 return ErrInvalidLengthProcessorsSql 4665 } 4666 postIndex := iNdEx + packedLen 4667 if postIndex > l { 4668 return io.ErrUnexpectedEOF 4669 } 4670 var elementCount int 4671 var count int 4672 for _, integer := range dAtA { 4673 if integer < 128 { 4674 count++ 4675 } 4676 } 4677 elementCount = count 4678 if elementCount != 0 && len(m.DistinctColumns) == 0 { 4679 m.DistinctColumns = make([]uint32, 0, elementCount) 4680 } 4681 for iNdEx < postIndex { 4682 var v uint32 4683 for shift := uint(0); ; shift += 7 { 4684 if shift >= 64 { 4685 return ErrIntOverflowProcessorsSql 4686 } 4687 if iNdEx >= l { 4688 return io.ErrUnexpectedEOF 4689 } 4690 b := dAtA[iNdEx] 4691 iNdEx++ 4692 v |= (uint32(b) & 0x7F) << shift 4693 if b < 0x80 { 4694 break 4695 } 4696 } 4697 m.DistinctColumns = append(m.DistinctColumns, v) 4698 } 4699 } else { 4700 return fmt.Errorf("proto: wrong wireType = %d for field DistinctColumns", wireType) 4701 } 4702 case 3: 4703 if wireType != 0 { 4704 return fmt.Errorf("proto: wrong wireType = %d for field NullsAreDistinct", wireType) 4705 } 4706 var v int 4707 for shift := uint(0); ; shift += 7 { 4708 if shift >= 64 { 4709 return ErrIntOverflowProcessorsSql 4710 } 4711 if iNdEx >= l { 4712 return io.ErrUnexpectedEOF 4713 } 4714 b := dAtA[iNdEx] 4715 iNdEx++ 4716 v |= (int(b) & 0x7F) << shift 4717 if b < 0x80 { 4718 break 4719 } 4720 } 4721 m.NullsAreDistinct = bool(v != 0) 4722 case 4: 4723 if wireType != 2 { 4724 return fmt.Errorf("proto: wrong wireType = %d for field ErrorOnDup", wireType) 4725 } 4726 var stringLen uint64 4727 for shift := uint(0); ; shift += 7 { 4728 if shift >= 64 { 4729 return ErrIntOverflowProcessorsSql 4730 } 4731 if iNdEx >= l { 4732 return io.ErrUnexpectedEOF 4733 } 4734 b := dAtA[iNdEx] 4735 iNdEx++ 4736 stringLen |= (uint64(b) & 0x7F) << shift 4737 if b < 0x80 { 4738 break 4739 } 4740 } 4741 intStringLen := int(stringLen) 4742 if intStringLen < 0 { 4743 return ErrInvalidLengthProcessorsSql 4744 } 4745 postIndex := iNdEx + intStringLen 4746 if postIndex > l { 4747 return io.ErrUnexpectedEOF 4748 } 4749 m.ErrorOnDup = string(dAtA[iNdEx:postIndex]) 4750 iNdEx = postIndex 4751 default: 4752 iNdEx = preIndex 4753 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 4754 if err != nil { 4755 return err 4756 } 4757 if skippy < 0 { 4758 return ErrInvalidLengthProcessorsSql 4759 } 4760 if (iNdEx + skippy) > l { 4761 return io.ErrUnexpectedEOF 4762 } 4763 iNdEx += skippy 4764 } 4765 } 4766 4767 if iNdEx > l { 4768 return io.ErrUnexpectedEOF 4769 } 4770 return nil 4771 } 4772 func (m *OrdinalitySpec) Unmarshal(dAtA []byte) error { 4773 l := len(dAtA) 4774 iNdEx := 0 4775 for iNdEx < l { 4776 preIndex := iNdEx 4777 var wire uint64 4778 for shift := uint(0); ; shift += 7 { 4779 if shift >= 64 { 4780 return ErrIntOverflowProcessorsSql 4781 } 4782 if iNdEx >= l { 4783 return io.ErrUnexpectedEOF 4784 } 4785 b := dAtA[iNdEx] 4786 iNdEx++ 4787 wire |= (uint64(b) & 0x7F) << shift 4788 if b < 0x80 { 4789 break 4790 } 4791 } 4792 fieldNum := int32(wire >> 3) 4793 wireType := int(wire & 0x7) 4794 if wireType == 4 { 4795 return fmt.Errorf("proto: OrdinalitySpec: wiretype end group for non-group") 4796 } 4797 if fieldNum <= 0 { 4798 return fmt.Errorf("proto: OrdinalitySpec: illegal tag %d (wire type %d)", fieldNum, wire) 4799 } 4800 switch fieldNum { 4801 default: 4802 iNdEx = preIndex 4803 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 4804 if err != nil { 4805 return err 4806 } 4807 if skippy < 0 { 4808 return ErrInvalidLengthProcessorsSql 4809 } 4810 if (iNdEx + skippy) > l { 4811 return io.ErrUnexpectedEOF 4812 } 4813 iNdEx += skippy 4814 } 4815 } 4816 4817 if iNdEx > l { 4818 return io.ErrUnexpectedEOF 4819 } 4820 return nil 4821 } 4822 func (m *ZigzagJoinerSpec) Unmarshal(dAtA []byte) error { 4823 l := len(dAtA) 4824 iNdEx := 0 4825 for iNdEx < l { 4826 preIndex := iNdEx 4827 var wire uint64 4828 for shift := uint(0); ; shift += 7 { 4829 if shift >= 64 { 4830 return ErrIntOverflowProcessorsSql 4831 } 4832 if iNdEx >= l { 4833 return io.ErrUnexpectedEOF 4834 } 4835 b := dAtA[iNdEx] 4836 iNdEx++ 4837 wire |= (uint64(b) & 0x7F) << shift 4838 if b < 0x80 { 4839 break 4840 } 4841 } 4842 fieldNum := int32(wire >> 3) 4843 wireType := int(wire & 0x7) 4844 if wireType == 4 { 4845 return fmt.Errorf("proto: ZigzagJoinerSpec: wiretype end group for non-group") 4846 } 4847 if fieldNum <= 0 { 4848 return fmt.Errorf("proto: ZigzagJoinerSpec: illegal tag %d (wire type %d)", fieldNum, wire) 4849 } 4850 switch fieldNum { 4851 case 1: 4852 if wireType != 2 { 4853 return fmt.Errorf("proto: wrong wireType = %d for field Tables", wireType) 4854 } 4855 var msglen int 4856 for shift := uint(0); ; shift += 7 { 4857 if shift >= 64 { 4858 return ErrIntOverflowProcessorsSql 4859 } 4860 if iNdEx >= l { 4861 return io.ErrUnexpectedEOF 4862 } 4863 b := dAtA[iNdEx] 4864 iNdEx++ 4865 msglen |= (int(b) & 0x7F) << shift 4866 if b < 0x80 { 4867 break 4868 } 4869 } 4870 if msglen < 0 { 4871 return ErrInvalidLengthProcessorsSql 4872 } 4873 postIndex := iNdEx + msglen 4874 if postIndex > l { 4875 return io.ErrUnexpectedEOF 4876 } 4877 m.Tables = append(m.Tables, sqlbase.TableDescriptor{}) 4878 if err := m.Tables[len(m.Tables)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4879 return err 4880 } 4881 iNdEx = postIndex 4882 case 2: 4883 if wireType != 2 { 4884 return fmt.Errorf("proto: wrong wireType = %d for field EqColumns", wireType) 4885 } 4886 var msglen int 4887 for shift := uint(0); ; shift += 7 { 4888 if shift >= 64 { 4889 return ErrIntOverflowProcessorsSql 4890 } 4891 if iNdEx >= l { 4892 return io.ErrUnexpectedEOF 4893 } 4894 b := dAtA[iNdEx] 4895 iNdEx++ 4896 msglen |= (int(b) & 0x7F) << shift 4897 if b < 0x80 { 4898 break 4899 } 4900 } 4901 if msglen < 0 { 4902 return ErrInvalidLengthProcessorsSql 4903 } 4904 postIndex := iNdEx + msglen 4905 if postIndex > l { 4906 return io.ErrUnexpectedEOF 4907 } 4908 m.EqColumns = append(m.EqColumns, Columns{}) 4909 if err := m.EqColumns[len(m.EqColumns)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4910 return err 4911 } 4912 iNdEx = postIndex 4913 case 3: 4914 if wireType == 0 { 4915 var v uint32 4916 for shift := uint(0); ; shift += 7 { 4917 if shift >= 64 { 4918 return ErrIntOverflowProcessorsSql 4919 } 4920 if iNdEx >= l { 4921 return io.ErrUnexpectedEOF 4922 } 4923 b := dAtA[iNdEx] 4924 iNdEx++ 4925 v |= (uint32(b) & 0x7F) << shift 4926 if b < 0x80 { 4927 break 4928 } 4929 } 4930 m.IndexOrdinals = append(m.IndexOrdinals, v) 4931 } else if wireType == 2 { 4932 var packedLen int 4933 for shift := uint(0); ; shift += 7 { 4934 if shift >= 64 { 4935 return ErrIntOverflowProcessorsSql 4936 } 4937 if iNdEx >= l { 4938 return io.ErrUnexpectedEOF 4939 } 4940 b := dAtA[iNdEx] 4941 iNdEx++ 4942 packedLen |= (int(b) & 0x7F) << shift 4943 if b < 0x80 { 4944 break 4945 } 4946 } 4947 if packedLen < 0 { 4948 return ErrInvalidLengthProcessorsSql 4949 } 4950 postIndex := iNdEx + packedLen 4951 if postIndex > l { 4952 return io.ErrUnexpectedEOF 4953 } 4954 var elementCount int 4955 var count int 4956 for _, integer := range dAtA { 4957 if integer < 128 { 4958 count++ 4959 } 4960 } 4961 elementCount = count 4962 if elementCount != 0 && len(m.IndexOrdinals) == 0 { 4963 m.IndexOrdinals = make([]uint32, 0, elementCount) 4964 } 4965 for iNdEx < postIndex { 4966 var v uint32 4967 for shift := uint(0); ; shift += 7 { 4968 if shift >= 64 { 4969 return ErrIntOverflowProcessorsSql 4970 } 4971 if iNdEx >= l { 4972 return io.ErrUnexpectedEOF 4973 } 4974 b := dAtA[iNdEx] 4975 iNdEx++ 4976 v |= (uint32(b) & 0x7F) << shift 4977 if b < 0x80 { 4978 break 4979 } 4980 } 4981 m.IndexOrdinals = append(m.IndexOrdinals, v) 4982 } 4983 } else { 4984 return fmt.Errorf("proto: wrong wireType = %d for field IndexOrdinals", wireType) 4985 } 4986 case 4: 4987 if wireType != 2 { 4988 return fmt.Errorf("proto: wrong wireType = %d for field OnExpr", wireType) 4989 } 4990 var msglen int 4991 for shift := uint(0); ; shift += 7 { 4992 if shift >= 64 { 4993 return ErrIntOverflowProcessorsSql 4994 } 4995 if iNdEx >= l { 4996 return io.ErrUnexpectedEOF 4997 } 4998 b := dAtA[iNdEx] 4999 iNdEx++ 5000 msglen |= (int(b) & 0x7F) << shift 5001 if b < 0x80 { 5002 break 5003 } 5004 } 5005 if msglen < 0 { 5006 return ErrInvalidLengthProcessorsSql 5007 } 5008 postIndex := iNdEx + msglen 5009 if postIndex > l { 5010 return io.ErrUnexpectedEOF 5011 } 5012 if err := m.OnExpr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5013 return err 5014 } 5015 iNdEx = postIndex 5016 case 5: 5017 if wireType != 2 { 5018 return fmt.Errorf("proto: wrong wireType = %d for field FixedValues", wireType) 5019 } 5020 var msglen int 5021 for shift := uint(0); ; shift += 7 { 5022 if shift >= 64 { 5023 return ErrIntOverflowProcessorsSql 5024 } 5025 if iNdEx >= l { 5026 return io.ErrUnexpectedEOF 5027 } 5028 b := dAtA[iNdEx] 5029 iNdEx++ 5030 msglen |= (int(b) & 0x7F) << shift 5031 if b < 0x80 { 5032 break 5033 } 5034 } 5035 if msglen < 0 { 5036 return ErrInvalidLengthProcessorsSql 5037 } 5038 postIndex := iNdEx + msglen 5039 if postIndex > l { 5040 return io.ErrUnexpectedEOF 5041 } 5042 m.FixedValues = append(m.FixedValues, &ValuesCoreSpec{}) 5043 if err := m.FixedValues[len(m.FixedValues)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5044 return err 5045 } 5046 iNdEx = postIndex 5047 case 6: 5048 if wireType != 0 { 5049 return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) 5050 } 5051 m.Type = 0 5052 for shift := uint(0); ; shift += 7 { 5053 if shift >= 64 { 5054 return ErrIntOverflowProcessorsSql 5055 } 5056 if iNdEx >= l { 5057 return io.ErrUnexpectedEOF 5058 } 5059 b := dAtA[iNdEx] 5060 iNdEx++ 5061 m.Type |= (sqlbase.JoinType(b) & 0x7F) << shift 5062 if b < 0x80 { 5063 break 5064 } 5065 } 5066 default: 5067 iNdEx = preIndex 5068 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 5069 if err != nil { 5070 return err 5071 } 5072 if skippy < 0 { 5073 return ErrInvalidLengthProcessorsSql 5074 } 5075 if (iNdEx + skippy) > l { 5076 return io.ErrUnexpectedEOF 5077 } 5078 iNdEx += skippy 5079 } 5080 } 5081 5082 if iNdEx > l { 5083 return io.ErrUnexpectedEOF 5084 } 5085 return nil 5086 } 5087 func (m *MergeJoinerSpec) Unmarshal(dAtA []byte) error { 5088 l := len(dAtA) 5089 iNdEx := 0 5090 for iNdEx < l { 5091 preIndex := iNdEx 5092 var wire uint64 5093 for shift := uint(0); ; shift += 7 { 5094 if shift >= 64 { 5095 return ErrIntOverflowProcessorsSql 5096 } 5097 if iNdEx >= l { 5098 return io.ErrUnexpectedEOF 5099 } 5100 b := dAtA[iNdEx] 5101 iNdEx++ 5102 wire |= (uint64(b) & 0x7F) << shift 5103 if b < 0x80 { 5104 break 5105 } 5106 } 5107 fieldNum := int32(wire >> 3) 5108 wireType := int(wire & 0x7) 5109 if wireType == 4 { 5110 return fmt.Errorf("proto: MergeJoinerSpec: wiretype end group for non-group") 5111 } 5112 if fieldNum <= 0 { 5113 return fmt.Errorf("proto: MergeJoinerSpec: illegal tag %d (wire type %d)", fieldNum, wire) 5114 } 5115 switch fieldNum { 5116 case 1: 5117 if wireType != 2 { 5118 return fmt.Errorf("proto: wrong wireType = %d for field LeftOrdering", wireType) 5119 } 5120 var msglen int 5121 for shift := uint(0); ; shift += 7 { 5122 if shift >= 64 { 5123 return ErrIntOverflowProcessorsSql 5124 } 5125 if iNdEx >= l { 5126 return io.ErrUnexpectedEOF 5127 } 5128 b := dAtA[iNdEx] 5129 iNdEx++ 5130 msglen |= (int(b) & 0x7F) << shift 5131 if b < 0x80 { 5132 break 5133 } 5134 } 5135 if msglen < 0 { 5136 return ErrInvalidLengthProcessorsSql 5137 } 5138 postIndex := iNdEx + msglen 5139 if postIndex > l { 5140 return io.ErrUnexpectedEOF 5141 } 5142 if err := m.LeftOrdering.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5143 return err 5144 } 5145 iNdEx = postIndex 5146 case 2: 5147 if wireType != 2 { 5148 return fmt.Errorf("proto: wrong wireType = %d for field RightOrdering", wireType) 5149 } 5150 var msglen int 5151 for shift := uint(0); ; shift += 7 { 5152 if shift >= 64 { 5153 return ErrIntOverflowProcessorsSql 5154 } 5155 if iNdEx >= l { 5156 return io.ErrUnexpectedEOF 5157 } 5158 b := dAtA[iNdEx] 5159 iNdEx++ 5160 msglen |= (int(b) & 0x7F) << shift 5161 if b < 0x80 { 5162 break 5163 } 5164 } 5165 if msglen < 0 { 5166 return ErrInvalidLengthProcessorsSql 5167 } 5168 postIndex := iNdEx + msglen 5169 if postIndex > l { 5170 return io.ErrUnexpectedEOF 5171 } 5172 if err := m.RightOrdering.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5173 return err 5174 } 5175 iNdEx = postIndex 5176 case 5: 5177 if wireType != 2 { 5178 return fmt.Errorf("proto: wrong wireType = %d for field OnExpr", wireType) 5179 } 5180 var msglen int 5181 for shift := uint(0); ; shift += 7 { 5182 if shift >= 64 { 5183 return ErrIntOverflowProcessorsSql 5184 } 5185 if iNdEx >= l { 5186 return io.ErrUnexpectedEOF 5187 } 5188 b := dAtA[iNdEx] 5189 iNdEx++ 5190 msglen |= (int(b) & 0x7F) << shift 5191 if b < 0x80 { 5192 break 5193 } 5194 } 5195 if msglen < 0 { 5196 return ErrInvalidLengthProcessorsSql 5197 } 5198 postIndex := iNdEx + msglen 5199 if postIndex > l { 5200 return io.ErrUnexpectedEOF 5201 } 5202 if err := m.OnExpr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5203 return err 5204 } 5205 iNdEx = postIndex 5206 case 6: 5207 if wireType != 0 { 5208 return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) 5209 } 5210 m.Type = 0 5211 for shift := uint(0); ; shift += 7 { 5212 if shift >= 64 { 5213 return ErrIntOverflowProcessorsSql 5214 } 5215 if iNdEx >= l { 5216 return io.ErrUnexpectedEOF 5217 } 5218 b := dAtA[iNdEx] 5219 iNdEx++ 5220 m.Type |= (sqlbase.JoinType(b) & 0x7F) << shift 5221 if b < 0x80 { 5222 break 5223 } 5224 } 5225 case 7: 5226 if wireType != 0 { 5227 return fmt.Errorf("proto: wrong wireType = %d for field NullEquality", wireType) 5228 } 5229 var v int 5230 for shift := uint(0); ; shift += 7 { 5231 if shift >= 64 { 5232 return ErrIntOverflowProcessorsSql 5233 } 5234 if iNdEx >= l { 5235 return io.ErrUnexpectedEOF 5236 } 5237 b := dAtA[iNdEx] 5238 iNdEx++ 5239 v |= (int(b) & 0x7F) << shift 5240 if b < 0x80 { 5241 break 5242 } 5243 } 5244 m.NullEquality = bool(v != 0) 5245 case 8: 5246 if wireType != 0 { 5247 return fmt.Errorf("proto: wrong wireType = %d for field LeftEqColumnsAreKey", wireType) 5248 } 5249 var v int 5250 for shift := uint(0); ; shift += 7 { 5251 if shift >= 64 { 5252 return ErrIntOverflowProcessorsSql 5253 } 5254 if iNdEx >= l { 5255 return io.ErrUnexpectedEOF 5256 } 5257 b := dAtA[iNdEx] 5258 iNdEx++ 5259 v |= (int(b) & 0x7F) << shift 5260 if b < 0x80 { 5261 break 5262 } 5263 } 5264 m.LeftEqColumnsAreKey = bool(v != 0) 5265 case 9: 5266 if wireType != 0 { 5267 return fmt.Errorf("proto: wrong wireType = %d for field RightEqColumnsAreKey", wireType) 5268 } 5269 var v int 5270 for shift := uint(0); ; shift += 7 { 5271 if shift >= 64 { 5272 return ErrIntOverflowProcessorsSql 5273 } 5274 if iNdEx >= l { 5275 return io.ErrUnexpectedEOF 5276 } 5277 b := dAtA[iNdEx] 5278 iNdEx++ 5279 v |= (int(b) & 0x7F) << shift 5280 if b < 0x80 { 5281 break 5282 } 5283 } 5284 m.RightEqColumnsAreKey = bool(v != 0) 5285 default: 5286 iNdEx = preIndex 5287 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 5288 if err != nil { 5289 return err 5290 } 5291 if skippy < 0 { 5292 return ErrInvalidLengthProcessorsSql 5293 } 5294 if (iNdEx + skippy) > l { 5295 return io.ErrUnexpectedEOF 5296 } 5297 iNdEx += skippy 5298 } 5299 } 5300 5301 if iNdEx > l { 5302 return io.ErrUnexpectedEOF 5303 } 5304 return nil 5305 } 5306 func (m *HashJoinerSpec) Unmarshal(dAtA []byte) error { 5307 l := len(dAtA) 5308 iNdEx := 0 5309 for iNdEx < l { 5310 preIndex := iNdEx 5311 var wire uint64 5312 for shift := uint(0); ; shift += 7 { 5313 if shift >= 64 { 5314 return ErrIntOverflowProcessorsSql 5315 } 5316 if iNdEx >= l { 5317 return io.ErrUnexpectedEOF 5318 } 5319 b := dAtA[iNdEx] 5320 iNdEx++ 5321 wire |= (uint64(b) & 0x7F) << shift 5322 if b < 0x80 { 5323 break 5324 } 5325 } 5326 fieldNum := int32(wire >> 3) 5327 wireType := int(wire & 0x7) 5328 if wireType == 4 { 5329 return fmt.Errorf("proto: HashJoinerSpec: wiretype end group for non-group") 5330 } 5331 if fieldNum <= 0 { 5332 return fmt.Errorf("proto: HashJoinerSpec: illegal tag %d (wire type %d)", fieldNum, wire) 5333 } 5334 switch fieldNum { 5335 case 1: 5336 if wireType == 0 { 5337 var v uint32 5338 for shift := uint(0); ; shift += 7 { 5339 if shift >= 64 { 5340 return ErrIntOverflowProcessorsSql 5341 } 5342 if iNdEx >= l { 5343 return io.ErrUnexpectedEOF 5344 } 5345 b := dAtA[iNdEx] 5346 iNdEx++ 5347 v |= (uint32(b) & 0x7F) << shift 5348 if b < 0x80 { 5349 break 5350 } 5351 } 5352 m.LeftEqColumns = append(m.LeftEqColumns, v) 5353 } else if wireType == 2 { 5354 var packedLen int 5355 for shift := uint(0); ; shift += 7 { 5356 if shift >= 64 { 5357 return ErrIntOverflowProcessorsSql 5358 } 5359 if iNdEx >= l { 5360 return io.ErrUnexpectedEOF 5361 } 5362 b := dAtA[iNdEx] 5363 iNdEx++ 5364 packedLen |= (int(b) & 0x7F) << shift 5365 if b < 0x80 { 5366 break 5367 } 5368 } 5369 if packedLen < 0 { 5370 return ErrInvalidLengthProcessorsSql 5371 } 5372 postIndex := iNdEx + packedLen 5373 if postIndex > l { 5374 return io.ErrUnexpectedEOF 5375 } 5376 var elementCount int 5377 var count int 5378 for _, integer := range dAtA { 5379 if integer < 128 { 5380 count++ 5381 } 5382 } 5383 elementCount = count 5384 if elementCount != 0 && len(m.LeftEqColumns) == 0 { 5385 m.LeftEqColumns = make([]uint32, 0, elementCount) 5386 } 5387 for iNdEx < postIndex { 5388 var v uint32 5389 for shift := uint(0); ; shift += 7 { 5390 if shift >= 64 { 5391 return ErrIntOverflowProcessorsSql 5392 } 5393 if iNdEx >= l { 5394 return io.ErrUnexpectedEOF 5395 } 5396 b := dAtA[iNdEx] 5397 iNdEx++ 5398 v |= (uint32(b) & 0x7F) << shift 5399 if b < 0x80 { 5400 break 5401 } 5402 } 5403 m.LeftEqColumns = append(m.LeftEqColumns, v) 5404 } 5405 } else { 5406 return fmt.Errorf("proto: wrong wireType = %d for field LeftEqColumns", wireType) 5407 } 5408 case 2: 5409 if wireType == 0 { 5410 var v uint32 5411 for shift := uint(0); ; shift += 7 { 5412 if shift >= 64 { 5413 return ErrIntOverflowProcessorsSql 5414 } 5415 if iNdEx >= l { 5416 return io.ErrUnexpectedEOF 5417 } 5418 b := dAtA[iNdEx] 5419 iNdEx++ 5420 v |= (uint32(b) & 0x7F) << shift 5421 if b < 0x80 { 5422 break 5423 } 5424 } 5425 m.RightEqColumns = append(m.RightEqColumns, v) 5426 } else if wireType == 2 { 5427 var packedLen int 5428 for shift := uint(0); ; shift += 7 { 5429 if shift >= 64 { 5430 return ErrIntOverflowProcessorsSql 5431 } 5432 if iNdEx >= l { 5433 return io.ErrUnexpectedEOF 5434 } 5435 b := dAtA[iNdEx] 5436 iNdEx++ 5437 packedLen |= (int(b) & 0x7F) << shift 5438 if b < 0x80 { 5439 break 5440 } 5441 } 5442 if packedLen < 0 { 5443 return ErrInvalidLengthProcessorsSql 5444 } 5445 postIndex := iNdEx + packedLen 5446 if postIndex > l { 5447 return io.ErrUnexpectedEOF 5448 } 5449 var elementCount int 5450 var count int 5451 for _, integer := range dAtA { 5452 if integer < 128 { 5453 count++ 5454 } 5455 } 5456 elementCount = count 5457 if elementCount != 0 && len(m.RightEqColumns) == 0 { 5458 m.RightEqColumns = make([]uint32, 0, elementCount) 5459 } 5460 for iNdEx < postIndex { 5461 var v uint32 5462 for shift := uint(0); ; shift += 7 { 5463 if shift >= 64 { 5464 return ErrIntOverflowProcessorsSql 5465 } 5466 if iNdEx >= l { 5467 return io.ErrUnexpectedEOF 5468 } 5469 b := dAtA[iNdEx] 5470 iNdEx++ 5471 v |= (uint32(b) & 0x7F) << shift 5472 if b < 0x80 { 5473 break 5474 } 5475 } 5476 m.RightEqColumns = append(m.RightEqColumns, v) 5477 } 5478 } else { 5479 return fmt.Errorf("proto: wrong wireType = %d for field RightEqColumns", wireType) 5480 } 5481 case 5: 5482 if wireType != 2 { 5483 return fmt.Errorf("proto: wrong wireType = %d for field OnExpr", wireType) 5484 } 5485 var msglen int 5486 for shift := uint(0); ; shift += 7 { 5487 if shift >= 64 { 5488 return ErrIntOverflowProcessorsSql 5489 } 5490 if iNdEx >= l { 5491 return io.ErrUnexpectedEOF 5492 } 5493 b := dAtA[iNdEx] 5494 iNdEx++ 5495 msglen |= (int(b) & 0x7F) << shift 5496 if b < 0x80 { 5497 break 5498 } 5499 } 5500 if msglen < 0 { 5501 return ErrInvalidLengthProcessorsSql 5502 } 5503 postIndex := iNdEx + msglen 5504 if postIndex > l { 5505 return io.ErrUnexpectedEOF 5506 } 5507 if err := m.OnExpr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5508 return err 5509 } 5510 iNdEx = postIndex 5511 case 6: 5512 if wireType != 0 { 5513 return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) 5514 } 5515 m.Type = 0 5516 for shift := uint(0); ; shift += 7 { 5517 if shift >= 64 { 5518 return ErrIntOverflowProcessorsSql 5519 } 5520 if iNdEx >= l { 5521 return io.ErrUnexpectedEOF 5522 } 5523 b := dAtA[iNdEx] 5524 iNdEx++ 5525 m.Type |= (sqlbase.JoinType(b) & 0x7F) << shift 5526 if b < 0x80 { 5527 break 5528 } 5529 } 5530 case 7: 5531 if wireType != 0 { 5532 return fmt.Errorf("proto: wrong wireType = %d for field MergedColumns", wireType) 5533 } 5534 var v int 5535 for shift := uint(0); ; shift += 7 { 5536 if shift >= 64 { 5537 return ErrIntOverflowProcessorsSql 5538 } 5539 if iNdEx >= l { 5540 return io.ErrUnexpectedEOF 5541 } 5542 b := dAtA[iNdEx] 5543 iNdEx++ 5544 v |= (int(b) & 0x7F) << shift 5545 if b < 0x80 { 5546 break 5547 } 5548 } 5549 m.MergedColumns = bool(v != 0) 5550 case 8: 5551 if wireType != 0 { 5552 return fmt.Errorf("proto: wrong wireType = %d for field LeftEqColumnsAreKey", wireType) 5553 } 5554 var v int 5555 for shift := uint(0); ; shift += 7 { 5556 if shift >= 64 { 5557 return ErrIntOverflowProcessorsSql 5558 } 5559 if iNdEx >= l { 5560 return io.ErrUnexpectedEOF 5561 } 5562 b := dAtA[iNdEx] 5563 iNdEx++ 5564 v |= (int(b) & 0x7F) << shift 5565 if b < 0x80 { 5566 break 5567 } 5568 } 5569 m.LeftEqColumnsAreKey = bool(v != 0) 5570 case 9: 5571 if wireType != 0 { 5572 return fmt.Errorf("proto: wrong wireType = %d for field RightEqColumnsAreKey", wireType) 5573 } 5574 var v int 5575 for shift := uint(0); ; shift += 7 { 5576 if shift >= 64 { 5577 return ErrIntOverflowProcessorsSql 5578 } 5579 if iNdEx >= l { 5580 return io.ErrUnexpectedEOF 5581 } 5582 b := dAtA[iNdEx] 5583 iNdEx++ 5584 v |= (int(b) & 0x7F) << shift 5585 if b < 0x80 { 5586 break 5587 } 5588 } 5589 m.RightEqColumnsAreKey = bool(v != 0) 5590 default: 5591 iNdEx = preIndex 5592 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 5593 if err != nil { 5594 return err 5595 } 5596 if skippy < 0 { 5597 return ErrInvalidLengthProcessorsSql 5598 } 5599 if (iNdEx + skippy) > l { 5600 return io.ErrUnexpectedEOF 5601 } 5602 iNdEx += skippy 5603 } 5604 } 5605 5606 if iNdEx > l { 5607 return io.ErrUnexpectedEOF 5608 } 5609 return nil 5610 } 5611 func (m *InvertedJoinerSpec) Unmarshal(dAtA []byte) error { 5612 l := len(dAtA) 5613 iNdEx := 0 5614 for iNdEx < l { 5615 preIndex := iNdEx 5616 var wire uint64 5617 for shift := uint(0); ; shift += 7 { 5618 if shift >= 64 { 5619 return ErrIntOverflowProcessorsSql 5620 } 5621 if iNdEx >= l { 5622 return io.ErrUnexpectedEOF 5623 } 5624 b := dAtA[iNdEx] 5625 iNdEx++ 5626 wire |= (uint64(b) & 0x7F) << shift 5627 if b < 0x80 { 5628 break 5629 } 5630 } 5631 fieldNum := int32(wire >> 3) 5632 wireType := int(wire & 0x7) 5633 if wireType == 4 { 5634 return fmt.Errorf("proto: InvertedJoinerSpec: wiretype end group for non-group") 5635 } 5636 if fieldNum <= 0 { 5637 return fmt.Errorf("proto: InvertedJoinerSpec: illegal tag %d (wire type %d)", fieldNum, wire) 5638 } 5639 switch fieldNum { 5640 case 1: 5641 if wireType != 2 { 5642 return fmt.Errorf("proto: wrong wireType = %d for field Table", wireType) 5643 } 5644 var msglen int 5645 for shift := uint(0); ; shift += 7 { 5646 if shift >= 64 { 5647 return ErrIntOverflowProcessorsSql 5648 } 5649 if iNdEx >= l { 5650 return io.ErrUnexpectedEOF 5651 } 5652 b := dAtA[iNdEx] 5653 iNdEx++ 5654 msglen |= (int(b) & 0x7F) << shift 5655 if b < 0x80 { 5656 break 5657 } 5658 } 5659 if msglen < 0 { 5660 return ErrInvalidLengthProcessorsSql 5661 } 5662 postIndex := iNdEx + msglen 5663 if postIndex > l { 5664 return io.ErrUnexpectedEOF 5665 } 5666 if err := m.Table.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5667 return err 5668 } 5669 iNdEx = postIndex 5670 case 2: 5671 if wireType != 0 { 5672 return fmt.Errorf("proto: wrong wireType = %d for field IndexIdx", wireType) 5673 } 5674 m.IndexIdx = 0 5675 for shift := uint(0); ; shift += 7 { 5676 if shift >= 64 { 5677 return ErrIntOverflowProcessorsSql 5678 } 5679 if iNdEx >= l { 5680 return io.ErrUnexpectedEOF 5681 } 5682 b := dAtA[iNdEx] 5683 iNdEx++ 5684 m.IndexIdx |= (uint32(b) & 0x7F) << shift 5685 if b < 0x80 { 5686 break 5687 } 5688 } 5689 case 3: 5690 if wireType != 0 { 5691 return fmt.Errorf("proto: wrong wireType = %d for field LookupColumn", wireType) 5692 } 5693 m.LookupColumn = 0 5694 for shift := uint(0); ; shift += 7 { 5695 if shift >= 64 { 5696 return ErrIntOverflowProcessorsSql 5697 } 5698 if iNdEx >= l { 5699 return io.ErrUnexpectedEOF 5700 } 5701 b := dAtA[iNdEx] 5702 iNdEx++ 5703 m.LookupColumn |= (uint32(b) & 0x7F) << shift 5704 if b < 0x80 { 5705 break 5706 } 5707 } 5708 case 4: 5709 if wireType != 2 { 5710 return fmt.Errorf("proto: wrong wireType = %d for field InvertedExpr", wireType) 5711 } 5712 var msglen int 5713 for shift := uint(0); ; shift += 7 { 5714 if shift >= 64 { 5715 return ErrIntOverflowProcessorsSql 5716 } 5717 if iNdEx >= l { 5718 return io.ErrUnexpectedEOF 5719 } 5720 b := dAtA[iNdEx] 5721 iNdEx++ 5722 msglen |= (int(b) & 0x7F) << shift 5723 if b < 0x80 { 5724 break 5725 } 5726 } 5727 if msglen < 0 { 5728 return ErrInvalidLengthProcessorsSql 5729 } 5730 postIndex := iNdEx + msglen 5731 if postIndex > l { 5732 return io.ErrUnexpectedEOF 5733 } 5734 if err := m.InvertedExpr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5735 return err 5736 } 5737 iNdEx = postIndex 5738 case 5: 5739 if wireType != 2 { 5740 return fmt.Errorf("proto: wrong wireType = %d for field OnExpr", wireType) 5741 } 5742 var msglen int 5743 for shift := uint(0); ; shift += 7 { 5744 if shift >= 64 { 5745 return ErrIntOverflowProcessorsSql 5746 } 5747 if iNdEx >= l { 5748 return io.ErrUnexpectedEOF 5749 } 5750 b := dAtA[iNdEx] 5751 iNdEx++ 5752 msglen |= (int(b) & 0x7F) << shift 5753 if b < 0x80 { 5754 break 5755 } 5756 } 5757 if msglen < 0 { 5758 return ErrInvalidLengthProcessorsSql 5759 } 5760 postIndex := iNdEx + msglen 5761 if postIndex > l { 5762 return io.ErrUnexpectedEOF 5763 } 5764 if err := m.OnExpr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5765 return err 5766 } 5767 iNdEx = postIndex 5768 case 6: 5769 if wireType != 0 { 5770 return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) 5771 } 5772 m.Type = 0 5773 for shift := uint(0); ; shift += 7 { 5774 if shift >= 64 { 5775 return ErrIntOverflowProcessorsSql 5776 } 5777 if iNdEx >= l { 5778 return io.ErrUnexpectedEOF 5779 } 5780 b := dAtA[iNdEx] 5781 iNdEx++ 5782 m.Type |= (sqlbase.JoinType(b) & 0x7F) << shift 5783 if b < 0x80 { 5784 break 5785 } 5786 } 5787 default: 5788 iNdEx = preIndex 5789 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 5790 if err != nil { 5791 return err 5792 } 5793 if skippy < 0 { 5794 return ErrInvalidLengthProcessorsSql 5795 } 5796 if (iNdEx + skippy) > l { 5797 return io.ErrUnexpectedEOF 5798 } 5799 iNdEx += skippy 5800 } 5801 } 5802 5803 if iNdEx > l { 5804 return io.ErrUnexpectedEOF 5805 } 5806 return nil 5807 } 5808 func (m *InvertedFiltererSpec) Unmarshal(dAtA []byte) error { 5809 l := len(dAtA) 5810 iNdEx := 0 5811 for iNdEx < l { 5812 preIndex := iNdEx 5813 var wire uint64 5814 for shift := uint(0); ; shift += 7 { 5815 if shift >= 64 { 5816 return ErrIntOverflowProcessorsSql 5817 } 5818 if iNdEx >= l { 5819 return io.ErrUnexpectedEOF 5820 } 5821 b := dAtA[iNdEx] 5822 iNdEx++ 5823 wire |= (uint64(b) & 0x7F) << shift 5824 if b < 0x80 { 5825 break 5826 } 5827 } 5828 fieldNum := int32(wire >> 3) 5829 wireType := int(wire & 0x7) 5830 if wireType == 4 { 5831 return fmt.Errorf("proto: InvertedFiltererSpec: wiretype end group for non-group") 5832 } 5833 if fieldNum <= 0 { 5834 return fmt.Errorf("proto: InvertedFiltererSpec: illegal tag %d (wire type %d)", fieldNum, wire) 5835 } 5836 switch fieldNum { 5837 case 1: 5838 if wireType != 2 { 5839 return fmt.Errorf("proto: wrong wireType = %d for field InvertedExpr", wireType) 5840 } 5841 var msglen int 5842 for shift := uint(0); ; shift += 7 { 5843 if shift >= 64 { 5844 return ErrIntOverflowProcessorsSql 5845 } 5846 if iNdEx >= l { 5847 return io.ErrUnexpectedEOF 5848 } 5849 b := dAtA[iNdEx] 5850 iNdEx++ 5851 msglen |= (int(b) & 0x7F) << shift 5852 if b < 0x80 { 5853 break 5854 } 5855 } 5856 if msglen < 0 { 5857 return ErrInvalidLengthProcessorsSql 5858 } 5859 postIndex := iNdEx + msglen 5860 if postIndex > l { 5861 return io.ErrUnexpectedEOF 5862 } 5863 if err := m.InvertedExpr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5864 return err 5865 } 5866 iNdEx = postIndex 5867 case 2: 5868 if wireType != 2 { 5869 return fmt.Errorf("proto: wrong wireType = %d for field OnExpr", wireType) 5870 } 5871 var msglen int 5872 for shift := uint(0); ; shift += 7 { 5873 if shift >= 64 { 5874 return ErrIntOverflowProcessorsSql 5875 } 5876 if iNdEx >= l { 5877 return io.ErrUnexpectedEOF 5878 } 5879 b := dAtA[iNdEx] 5880 iNdEx++ 5881 msglen |= (int(b) & 0x7F) << shift 5882 if b < 0x80 { 5883 break 5884 } 5885 } 5886 if msglen < 0 { 5887 return ErrInvalidLengthProcessorsSql 5888 } 5889 postIndex := iNdEx + msglen 5890 if postIndex > l { 5891 return io.ErrUnexpectedEOF 5892 } 5893 if err := m.OnExpr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5894 return err 5895 } 5896 iNdEx = postIndex 5897 default: 5898 iNdEx = preIndex 5899 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 5900 if err != nil { 5901 return err 5902 } 5903 if skippy < 0 { 5904 return ErrInvalidLengthProcessorsSql 5905 } 5906 if (iNdEx + skippy) > l { 5907 return io.ErrUnexpectedEOF 5908 } 5909 iNdEx += skippy 5910 } 5911 } 5912 5913 if iNdEx > l { 5914 return io.ErrUnexpectedEOF 5915 } 5916 return nil 5917 } 5918 func (m *AggregatorSpec) Unmarshal(dAtA []byte) error { 5919 l := len(dAtA) 5920 iNdEx := 0 5921 for iNdEx < l { 5922 preIndex := iNdEx 5923 var wire uint64 5924 for shift := uint(0); ; shift += 7 { 5925 if shift >= 64 { 5926 return ErrIntOverflowProcessorsSql 5927 } 5928 if iNdEx >= l { 5929 return io.ErrUnexpectedEOF 5930 } 5931 b := dAtA[iNdEx] 5932 iNdEx++ 5933 wire |= (uint64(b) & 0x7F) << shift 5934 if b < 0x80 { 5935 break 5936 } 5937 } 5938 fieldNum := int32(wire >> 3) 5939 wireType := int(wire & 0x7) 5940 if wireType == 4 { 5941 return fmt.Errorf("proto: AggregatorSpec: wiretype end group for non-group") 5942 } 5943 if fieldNum <= 0 { 5944 return fmt.Errorf("proto: AggregatorSpec: illegal tag %d (wire type %d)", fieldNum, wire) 5945 } 5946 switch fieldNum { 5947 case 2: 5948 if wireType == 0 { 5949 var v uint32 5950 for shift := uint(0); ; shift += 7 { 5951 if shift >= 64 { 5952 return ErrIntOverflowProcessorsSql 5953 } 5954 if iNdEx >= l { 5955 return io.ErrUnexpectedEOF 5956 } 5957 b := dAtA[iNdEx] 5958 iNdEx++ 5959 v |= (uint32(b) & 0x7F) << shift 5960 if b < 0x80 { 5961 break 5962 } 5963 } 5964 m.GroupCols = append(m.GroupCols, v) 5965 } else if wireType == 2 { 5966 var packedLen int 5967 for shift := uint(0); ; shift += 7 { 5968 if shift >= 64 { 5969 return ErrIntOverflowProcessorsSql 5970 } 5971 if iNdEx >= l { 5972 return io.ErrUnexpectedEOF 5973 } 5974 b := dAtA[iNdEx] 5975 iNdEx++ 5976 packedLen |= (int(b) & 0x7F) << shift 5977 if b < 0x80 { 5978 break 5979 } 5980 } 5981 if packedLen < 0 { 5982 return ErrInvalidLengthProcessorsSql 5983 } 5984 postIndex := iNdEx + packedLen 5985 if postIndex > l { 5986 return io.ErrUnexpectedEOF 5987 } 5988 var elementCount int 5989 var count int 5990 for _, integer := range dAtA { 5991 if integer < 128 { 5992 count++ 5993 } 5994 } 5995 elementCount = count 5996 if elementCount != 0 && len(m.GroupCols) == 0 { 5997 m.GroupCols = make([]uint32, 0, elementCount) 5998 } 5999 for iNdEx < postIndex { 6000 var v uint32 6001 for shift := uint(0); ; shift += 7 { 6002 if shift >= 64 { 6003 return ErrIntOverflowProcessorsSql 6004 } 6005 if iNdEx >= l { 6006 return io.ErrUnexpectedEOF 6007 } 6008 b := dAtA[iNdEx] 6009 iNdEx++ 6010 v |= (uint32(b) & 0x7F) << shift 6011 if b < 0x80 { 6012 break 6013 } 6014 } 6015 m.GroupCols = append(m.GroupCols, v) 6016 } 6017 } else { 6018 return fmt.Errorf("proto: wrong wireType = %d for field GroupCols", wireType) 6019 } 6020 case 3: 6021 if wireType != 2 { 6022 return fmt.Errorf("proto: wrong wireType = %d for field Aggregations", wireType) 6023 } 6024 var msglen int 6025 for shift := uint(0); ; shift += 7 { 6026 if shift >= 64 { 6027 return ErrIntOverflowProcessorsSql 6028 } 6029 if iNdEx >= l { 6030 return io.ErrUnexpectedEOF 6031 } 6032 b := dAtA[iNdEx] 6033 iNdEx++ 6034 msglen |= (int(b) & 0x7F) << shift 6035 if b < 0x80 { 6036 break 6037 } 6038 } 6039 if msglen < 0 { 6040 return ErrInvalidLengthProcessorsSql 6041 } 6042 postIndex := iNdEx + msglen 6043 if postIndex > l { 6044 return io.ErrUnexpectedEOF 6045 } 6046 m.Aggregations = append(m.Aggregations, AggregatorSpec_Aggregation{}) 6047 if err := m.Aggregations[len(m.Aggregations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 6048 return err 6049 } 6050 iNdEx = postIndex 6051 case 4: 6052 if wireType == 0 { 6053 var v uint32 6054 for shift := uint(0); ; shift += 7 { 6055 if shift >= 64 { 6056 return ErrIntOverflowProcessorsSql 6057 } 6058 if iNdEx >= l { 6059 return io.ErrUnexpectedEOF 6060 } 6061 b := dAtA[iNdEx] 6062 iNdEx++ 6063 v |= (uint32(b) & 0x7F) << shift 6064 if b < 0x80 { 6065 break 6066 } 6067 } 6068 m.OrderedGroupCols = append(m.OrderedGroupCols, v) 6069 } else if wireType == 2 { 6070 var packedLen int 6071 for shift := uint(0); ; shift += 7 { 6072 if shift >= 64 { 6073 return ErrIntOverflowProcessorsSql 6074 } 6075 if iNdEx >= l { 6076 return io.ErrUnexpectedEOF 6077 } 6078 b := dAtA[iNdEx] 6079 iNdEx++ 6080 packedLen |= (int(b) & 0x7F) << shift 6081 if b < 0x80 { 6082 break 6083 } 6084 } 6085 if packedLen < 0 { 6086 return ErrInvalidLengthProcessorsSql 6087 } 6088 postIndex := iNdEx + packedLen 6089 if postIndex > l { 6090 return io.ErrUnexpectedEOF 6091 } 6092 var elementCount int 6093 var count int 6094 for _, integer := range dAtA { 6095 if integer < 128 { 6096 count++ 6097 } 6098 } 6099 elementCount = count 6100 if elementCount != 0 && len(m.OrderedGroupCols) == 0 { 6101 m.OrderedGroupCols = make([]uint32, 0, elementCount) 6102 } 6103 for iNdEx < postIndex { 6104 var v uint32 6105 for shift := uint(0); ; shift += 7 { 6106 if shift >= 64 { 6107 return ErrIntOverflowProcessorsSql 6108 } 6109 if iNdEx >= l { 6110 return io.ErrUnexpectedEOF 6111 } 6112 b := dAtA[iNdEx] 6113 iNdEx++ 6114 v |= (uint32(b) & 0x7F) << shift 6115 if b < 0x80 { 6116 break 6117 } 6118 } 6119 m.OrderedGroupCols = append(m.OrderedGroupCols, v) 6120 } 6121 } else { 6122 return fmt.Errorf("proto: wrong wireType = %d for field OrderedGroupCols", wireType) 6123 } 6124 case 5: 6125 if wireType != 0 { 6126 return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) 6127 } 6128 m.Type = 0 6129 for shift := uint(0); ; shift += 7 { 6130 if shift >= 64 { 6131 return ErrIntOverflowProcessorsSql 6132 } 6133 if iNdEx >= l { 6134 return io.ErrUnexpectedEOF 6135 } 6136 b := dAtA[iNdEx] 6137 iNdEx++ 6138 m.Type |= (AggregatorSpec_Type(b) & 0x7F) << shift 6139 if b < 0x80 { 6140 break 6141 } 6142 } 6143 default: 6144 iNdEx = preIndex 6145 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 6146 if err != nil { 6147 return err 6148 } 6149 if skippy < 0 { 6150 return ErrInvalidLengthProcessorsSql 6151 } 6152 if (iNdEx + skippy) > l { 6153 return io.ErrUnexpectedEOF 6154 } 6155 iNdEx += skippy 6156 } 6157 } 6158 6159 if iNdEx > l { 6160 return io.ErrUnexpectedEOF 6161 } 6162 return nil 6163 } 6164 func (m *AggregatorSpec_Aggregation) Unmarshal(dAtA []byte) error { 6165 l := len(dAtA) 6166 iNdEx := 0 6167 for iNdEx < l { 6168 preIndex := iNdEx 6169 var wire uint64 6170 for shift := uint(0); ; shift += 7 { 6171 if shift >= 64 { 6172 return ErrIntOverflowProcessorsSql 6173 } 6174 if iNdEx >= l { 6175 return io.ErrUnexpectedEOF 6176 } 6177 b := dAtA[iNdEx] 6178 iNdEx++ 6179 wire |= (uint64(b) & 0x7F) << shift 6180 if b < 0x80 { 6181 break 6182 } 6183 } 6184 fieldNum := int32(wire >> 3) 6185 wireType := int(wire & 0x7) 6186 if wireType == 4 { 6187 return fmt.Errorf("proto: Aggregation: wiretype end group for non-group") 6188 } 6189 if fieldNum <= 0 { 6190 return fmt.Errorf("proto: Aggregation: illegal tag %d (wire type %d)", fieldNum, wire) 6191 } 6192 switch fieldNum { 6193 case 1: 6194 if wireType != 0 { 6195 return fmt.Errorf("proto: wrong wireType = %d for field Func", wireType) 6196 } 6197 m.Func = 0 6198 for shift := uint(0); ; shift += 7 { 6199 if shift >= 64 { 6200 return ErrIntOverflowProcessorsSql 6201 } 6202 if iNdEx >= l { 6203 return io.ErrUnexpectedEOF 6204 } 6205 b := dAtA[iNdEx] 6206 iNdEx++ 6207 m.Func |= (AggregatorSpec_Func(b) & 0x7F) << shift 6208 if b < 0x80 { 6209 break 6210 } 6211 } 6212 case 2: 6213 if wireType != 0 { 6214 return fmt.Errorf("proto: wrong wireType = %d for field Distinct", wireType) 6215 } 6216 var v int 6217 for shift := uint(0); ; shift += 7 { 6218 if shift >= 64 { 6219 return ErrIntOverflowProcessorsSql 6220 } 6221 if iNdEx >= l { 6222 return io.ErrUnexpectedEOF 6223 } 6224 b := dAtA[iNdEx] 6225 iNdEx++ 6226 v |= (int(b) & 0x7F) << shift 6227 if b < 0x80 { 6228 break 6229 } 6230 } 6231 m.Distinct = bool(v != 0) 6232 case 4: 6233 if wireType != 0 { 6234 return fmt.Errorf("proto: wrong wireType = %d for field FilterColIdx", wireType) 6235 } 6236 var v uint32 6237 for shift := uint(0); ; shift += 7 { 6238 if shift >= 64 { 6239 return ErrIntOverflowProcessorsSql 6240 } 6241 if iNdEx >= l { 6242 return io.ErrUnexpectedEOF 6243 } 6244 b := dAtA[iNdEx] 6245 iNdEx++ 6246 v |= (uint32(b) & 0x7F) << shift 6247 if b < 0x80 { 6248 break 6249 } 6250 } 6251 m.FilterColIdx = &v 6252 case 5: 6253 if wireType == 0 { 6254 var v uint32 6255 for shift := uint(0); ; shift += 7 { 6256 if shift >= 64 { 6257 return ErrIntOverflowProcessorsSql 6258 } 6259 if iNdEx >= l { 6260 return io.ErrUnexpectedEOF 6261 } 6262 b := dAtA[iNdEx] 6263 iNdEx++ 6264 v |= (uint32(b) & 0x7F) << shift 6265 if b < 0x80 { 6266 break 6267 } 6268 } 6269 m.ColIdx = append(m.ColIdx, v) 6270 } else if wireType == 2 { 6271 var packedLen int 6272 for shift := uint(0); ; shift += 7 { 6273 if shift >= 64 { 6274 return ErrIntOverflowProcessorsSql 6275 } 6276 if iNdEx >= l { 6277 return io.ErrUnexpectedEOF 6278 } 6279 b := dAtA[iNdEx] 6280 iNdEx++ 6281 packedLen |= (int(b) & 0x7F) << shift 6282 if b < 0x80 { 6283 break 6284 } 6285 } 6286 if packedLen < 0 { 6287 return ErrInvalidLengthProcessorsSql 6288 } 6289 postIndex := iNdEx + packedLen 6290 if postIndex > l { 6291 return io.ErrUnexpectedEOF 6292 } 6293 var elementCount int 6294 var count int 6295 for _, integer := range dAtA { 6296 if integer < 128 { 6297 count++ 6298 } 6299 } 6300 elementCount = count 6301 if elementCount != 0 && len(m.ColIdx) == 0 { 6302 m.ColIdx = make([]uint32, 0, elementCount) 6303 } 6304 for iNdEx < postIndex { 6305 var v uint32 6306 for shift := uint(0); ; shift += 7 { 6307 if shift >= 64 { 6308 return ErrIntOverflowProcessorsSql 6309 } 6310 if iNdEx >= l { 6311 return io.ErrUnexpectedEOF 6312 } 6313 b := dAtA[iNdEx] 6314 iNdEx++ 6315 v |= (uint32(b) & 0x7F) << shift 6316 if b < 0x80 { 6317 break 6318 } 6319 } 6320 m.ColIdx = append(m.ColIdx, v) 6321 } 6322 } else { 6323 return fmt.Errorf("proto: wrong wireType = %d for field ColIdx", wireType) 6324 } 6325 case 6: 6326 if wireType != 2 { 6327 return fmt.Errorf("proto: wrong wireType = %d for field Arguments", wireType) 6328 } 6329 var msglen int 6330 for shift := uint(0); ; shift += 7 { 6331 if shift >= 64 { 6332 return ErrIntOverflowProcessorsSql 6333 } 6334 if iNdEx >= l { 6335 return io.ErrUnexpectedEOF 6336 } 6337 b := dAtA[iNdEx] 6338 iNdEx++ 6339 msglen |= (int(b) & 0x7F) << shift 6340 if b < 0x80 { 6341 break 6342 } 6343 } 6344 if msglen < 0 { 6345 return ErrInvalidLengthProcessorsSql 6346 } 6347 postIndex := iNdEx + msglen 6348 if postIndex > l { 6349 return io.ErrUnexpectedEOF 6350 } 6351 m.Arguments = append(m.Arguments, Expression{}) 6352 if err := m.Arguments[len(m.Arguments)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 6353 return err 6354 } 6355 iNdEx = postIndex 6356 default: 6357 iNdEx = preIndex 6358 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 6359 if err != nil { 6360 return err 6361 } 6362 if skippy < 0 { 6363 return ErrInvalidLengthProcessorsSql 6364 } 6365 if (iNdEx + skippy) > l { 6366 return io.ErrUnexpectedEOF 6367 } 6368 iNdEx += skippy 6369 } 6370 } 6371 6372 if iNdEx > l { 6373 return io.ErrUnexpectedEOF 6374 } 6375 return nil 6376 } 6377 func (m *InterleavedReaderJoinerSpec) Unmarshal(dAtA []byte) error { 6378 l := len(dAtA) 6379 iNdEx := 0 6380 for iNdEx < l { 6381 preIndex := iNdEx 6382 var wire uint64 6383 for shift := uint(0); ; shift += 7 { 6384 if shift >= 64 { 6385 return ErrIntOverflowProcessorsSql 6386 } 6387 if iNdEx >= l { 6388 return io.ErrUnexpectedEOF 6389 } 6390 b := dAtA[iNdEx] 6391 iNdEx++ 6392 wire |= (uint64(b) & 0x7F) << shift 6393 if b < 0x80 { 6394 break 6395 } 6396 } 6397 fieldNum := int32(wire >> 3) 6398 wireType := int(wire & 0x7) 6399 if wireType == 4 { 6400 return fmt.Errorf("proto: InterleavedReaderJoinerSpec: wiretype end group for non-group") 6401 } 6402 if fieldNum <= 0 { 6403 return fmt.Errorf("proto: InterleavedReaderJoinerSpec: illegal tag %d (wire type %d)", fieldNum, wire) 6404 } 6405 switch fieldNum { 6406 case 1: 6407 if wireType != 2 { 6408 return fmt.Errorf("proto: wrong wireType = %d for field Tables", wireType) 6409 } 6410 var msglen int 6411 for shift := uint(0); ; shift += 7 { 6412 if shift >= 64 { 6413 return ErrIntOverflowProcessorsSql 6414 } 6415 if iNdEx >= l { 6416 return io.ErrUnexpectedEOF 6417 } 6418 b := dAtA[iNdEx] 6419 iNdEx++ 6420 msglen |= (int(b) & 0x7F) << shift 6421 if b < 0x80 { 6422 break 6423 } 6424 } 6425 if msglen < 0 { 6426 return ErrInvalidLengthProcessorsSql 6427 } 6428 postIndex := iNdEx + msglen 6429 if postIndex > l { 6430 return io.ErrUnexpectedEOF 6431 } 6432 m.Tables = append(m.Tables, InterleavedReaderJoinerSpec_Table{}) 6433 if err := m.Tables[len(m.Tables)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 6434 return err 6435 } 6436 iNdEx = postIndex 6437 case 2: 6438 if wireType != 0 { 6439 return fmt.Errorf("proto: wrong wireType = %d for field Reverse", wireType) 6440 } 6441 var v int 6442 for shift := uint(0); ; shift += 7 { 6443 if shift >= 64 { 6444 return ErrIntOverflowProcessorsSql 6445 } 6446 if iNdEx >= l { 6447 return io.ErrUnexpectedEOF 6448 } 6449 b := dAtA[iNdEx] 6450 iNdEx++ 6451 v |= (int(b) & 0x7F) << shift 6452 if b < 0x80 { 6453 break 6454 } 6455 } 6456 m.Reverse = bool(v != 0) 6457 case 3: 6458 if wireType != 0 { 6459 return fmt.Errorf("proto: wrong wireType = %d for field LimitHint", wireType) 6460 } 6461 m.LimitHint = 0 6462 for shift := uint(0); ; shift += 7 { 6463 if shift >= 64 { 6464 return ErrIntOverflowProcessorsSql 6465 } 6466 if iNdEx >= l { 6467 return io.ErrUnexpectedEOF 6468 } 6469 b := dAtA[iNdEx] 6470 iNdEx++ 6471 m.LimitHint |= (int64(b) & 0x7F) << shift 6472 if b < 0x80 { 6473 break 6474 } 6475 } 6476 case 4: 6477 if wireType != 2 { 6478 return fmt.Errorf("proto: wrong wireType = %d for field OnExpr", wireType) 6479 } 6480 var msglen int 6481 for shift := uint(0); ; shift += 7 { 6482 if shift >= 64 { 6483 return ErrIntOverflowProcessorsSql 6484 } 6485 if iNdEx >= l { 6486 return io.ErrUnexpectedEOF 6487 } 6488 b := dAtA[iNdEx] 6489 iNdEx++ 6490 msglen |= (int(b) & 0x7F) << shift 6491 if b < 0x80 { 6492 break 6493 } 6494 } 6495 if msglen < 0 { 6496 return ErrInvalidLengthProcessorsSql 6497 } 6498 postIndex := iNdEx + msglen 6499 if postIndex > l { 6500 return io.ErrUnexpectedEOF 6501 } 6502 if err := m.OnExpr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 6503 return err 6504 } 6505 iNdEx = postIndex 6506 case 5: 6507 if wireType != 0 { 6508 return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) 6509 } 6510 m.Type = 0 6511 for shift := uint(0); ; shift += 7 { 6512 if shift >= 64 { 6513 return ErrIntOverflowProcessorsSql 6514 } 6515 if iNdEx >= l { 6516 return io.ErrUnexpectedEOF 6517 } 6518 b := dAtA[iNdEx] 6519 iNdEx++ 6520 m.Type |= (sqlbase.JoinType(b) & 0x7F) << shift 6521 if b < 0x80 { 6522 break 6523 } 6524 } 6525 case 6: 6526 if wireType != 0 { 6527 return fmt.Errorf("proto: wrong wireType = %d for field LockingStrength", wireType) 6528 } 6529 m.LockingStrength = 0 6530 for shift := uint(0); ; shift += 7 { 6531 if shift >= 64 { 6532 return ErrIntOverflowProcessorsSql 6533 } 6534 if iNdEx >= l { 6535 return io.ErrUnexpectedEOF 6536 } 6537 b := dAtA[iNdEx] 6538 iNdEx++ 6539 m.LockingStrength |= (sqlbase.ScanLockingStrength(b) & 0x7F) << shift 6540 if b < 0x80 { 6541 break 6542 } 6543 } 6544 case 7: 6545 if wireType != 0 { 6546 return fmt.Errorf("proto: wrong wireType = %d for field LockingWaitPolicy", wireType) 6547 } 6548 m.LockingWaitPolicy = 0 6549 for shift := uint(0); ; shift += 7 { 6550 if shift >= 64 { 6551 return ErrIntOverflowProcessorsSql 6552 } 6553 if iNdEx >= l { 6554 return io.ErrUnexpectedEOF 6555 } 6556 b := dAtA[iNdEx] 6557 iNdEx++ 6558 m.LockingWaitPolicy |= (sqlbase.ScanLockingWaitPolicy(b) & 0x7F) << shift 6559 if b < 0x80 { 6560 break 6561 } 6562 } 6563 default: 6564 iNdEx = preIndex 6565 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 6566 if err != nil { 6567 return err 6568 } 6569 if skippy < 0 { 6570 return ErrInvalidLengthProcessorsSql 6571 } 6572 if (iNdEx + skippy) > l { 6573 return io.ErrUnexpectedEOF 6574 } 6575 iNdEx += skippy 6576 } 6577 } 6578 6579 if iNdEx > l { 6580 return io.ErrUnexpectedEOF 6581 } 6582 return nil 6583 } 6584 func (m *InterleavedReaderJoinerSpec_Table) Unmarshal(dAtA []byte) error { 6585 l := len(dAtA) 6586 iNdEx := 0 6587 for iNdEx < l { 6588 preIndex := iNdEx 6589 var wire uint64 6590 for shift := uint(0); ; shift += 7 { 6591 if shift >= 64 { 6592 return ErrIntOverflowProcessorsSql 6593 } 6594 if iNdEx >= l { 6595 return io.ErrUnexpectedEOF 6596 } 6597 b := dAtA[iNdEx] 6598 iNdEx++ 6599 wire |= (uint64(b) & 0x7F) << shift 6600 if b < 0x80 { 6601 break 6602 } 6603 } 6604 fieldNum := int32(wire >> 3) 6605 wireType := int(wire & 0x7) 6606 if wireType == 4 { 6607 return fmt.Errorf("proto: Table: wiretype end group for non-group") 6608 } 6609 if fieldNum <= 0 { 6610 return fmt.Errorf("proto: Table: illegal tag %d (wire type %d)", fieldNum, wire) 6611 } 6612 switch fieldNum { 6613 case 1: 6614 if wireType != 2 { 6615 return fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) 6616 } 6617 var msglen int 6618 for shift := uint(0); ; shift += 7 { 6619 if shift >= 64 { 6620 return ErrIntOverflowProcessorsSql 6621 } 6622 if iNdEx >= l { 6623 return io.ErrUnexpectedEOF 6624 } 6625 b := dAtA[iNdEx] 6626 iNdEx++ 6627 msglen |= (int(b) & 0x7F) << shift 6628 if b < 0x80 { 6629 break 6630 } 6631 } 6632 if msglen < 0 { 6633 return ErrInvalidLengthProcessorsSql 6634 } 6635 postIndex := iNdEx + msglen 6636 if postIndex > l { 6637 return io.ErrUnexpectedEOF 6638 } 6639 if err := m.Desc.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 6640 return err 6641 } 6642 iNdEx = postIndex 6643 case 2: 6644 if wireType != 0 { 6645 return fmt.Errorf("proto: wrong wireType = %d for field IndexIdx", wireType) 6646 } 6647 m.IndexIdx = 0 6648 for shift := uint(0); ; shift += 7 { 6649 if shift >= 64 { 6650 return ErrIntOverflowProcessorsSql 6651 } 6652 if iNdEx >= l { 6653 return io.ErrUnexpectedEOF 6654 } 6655 b := dAtA[iNdEx] 6656 iNdEx++ 6657 m.IndexIdx |= (uint32(b) & 0x7F) << shift 6658 if b < 0x80 { 6659 break 6660 } 6661 } 6662 case 3: 6663 if wireType != 2 { 6664 return fmt.Errorf("proto: wrong wireType = %d for field Post", wireType) 6665 } 6666 var msglen int 6667 for shift := uint(0); ; shift += 7 { 6668 if shift >= 64 { 6669 return ErrIntOverflowProcessorsSql 6670 } 6671 if iNdEx >= l { 6672 return io.ErrUnexpectedEOF 6673 } 6674 b := dAtA[iNdEx] 6675 iNdEx++ 6676 msglen |= (int(b) & 0x7F) << shift 6677 if b < 0x80 { 6678 break 6679 } 6680 } 6681 if msglen < 0 { 6682 return ErrInvalidLengthProcessorsSql 6683 } 6684 postIndex := iNdEx + msglen 6685 if postIndex > l { 6686 return io.ErrUnexpectedEOF 6687 } 6688 if err := m.Post.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 6689 return err 6690 } 6691 iNdEx = postIndex 6692 case 4: 6693 if wireType != 2 { 6694 return fmt.Errorf("proto: wrong wireType = %d for field Ordering", wireType) 6695 } 6696 var msglen int 6697 for shift := uint(0); ; shift += 7 { 6698 if shift >= 64 { 6699 return ErrIntOverflowProcessorsSql 6700 } 6701 if iNdEx >= l { 6702 return io.ErrUnexpectedEOF 6703 } 6704 b := dAtA[iNdEx] 6705 iNdEx++ 6706 msglen |= (int(b) & 0x7F) << shift 6707 if b < 0x80 { 6708 break 6709 } 6710 } 6711 if msglen < 0 { 6712 return ErrInvalidLengthProcessorsSql 6713 } 6714 postIndex := iNdEx + msglen 6715 if postIndex > l { 6716 return io.ErrUnexpectedEOF 6717 } 6718 if err := m.Ordering.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 6719 return err 6720 } 6721 iNdEx = postIndex 6722 case 5: 6723 if wireType != 2 { 6724 return fmt.Errorf("proto: wrong wireType = %d for field Spans", wireType) 6725 } 6726 var msglen int 6727 for shift := uint(0); ; shift += 7 { 6728 if shift >= 64 { 6729 return ErrIntOverflowProcessorsSql 6730 } 6731 if iNdEx >= l { 6732 return io.ErrUnexpectedEOF 6733 } 6734 b := dAtA[iNdEx] 6735 iNdEx++ 6736 msglen |= (int(b) & 0x7F) << shift 6737 if b < 0x80 { 6738 break 6739 } 6740 } 6741 if msglen < 0 { 6742 return ErrInvalidLengthProcessorsSql 6743 } 6744 postIndex := iNdEx + msglen 6745 if postIndex > l { 6746 return io.ErrUnexpectedEOF 6747 } 6748 m.Spans = append(m.Spans, TableReaderSpan{}) 6749 if err := m.Spans[len(m.Spans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 6750 return err 6751 } 6752 iNdEx = postIndex 6753 default: 6754 iNdEx = preIndex 6755 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 6756 if err != nil { 6757 return err 6758 } 6759 if skippy < 0 { 6760 return ErrInvalidLengthProcessorsSql 6761 } 6762 if (iNdEx + skippy) > l { 6763 return io.ErrUnexpectedEOF 6764 } 6765 iNdEx += skippy 6766 } 6767 } 6768 6769 if iNdEx > l { 6770 return io.ErrUnexpectedEOF 6771 } 6772 return nil 6773 } 6774 func (m *ProjectSetSpec) Unmarshal(dAtA []byte) error { 6775 l := len(dAtA) 6776 iNdEx := 0 6777 for iNdEx < l { 6778 preIndex := iNdEx 6779 var wire uint64 6780 for shift := uint(0); ; shift += 7 { 6781 if shift >= 64 { 6782 return ErrIntOverflowProcessorsSql 6783 } 6784 if iNdEx >= l { 6785 return io.ErrUnexpectedEOF 6786 } 6787 b := dAtA[iNdEx] 6788 iNdEx++ 6789 wire |= (uint64(b) & 0x7F) << shift 6790 if b < 0x80 { 6791 break 6792 } 6793 } 6794 fieldNum := int32(wire >> 3) 6795 wireType := int(wire & 0x7) 6796 if wireType == 4 { 6797 return fmt.Errorf("proto: ProjectSetSpec: wiretype end group for non-group") 6798 } 6799 if fieldNum <= 0 { 6800 return fmt.Errorf("proto: ProjectSetSpec: illegal tag %d (wire type %d)", fieldNum, wire) 6801 } 6802 switch fieldNum { 6803 case 1: 6804 if wireType != 2 { 6805 return fmt.Errorf("proto: wrong wireType = %d for field Exprs", wireType) 6806 } 6807 var msglen int 6808 for shift := uint(0); ; shift += 7 { 6809 if shift >= 64 { 6810 return ErrIntOverflowProcessorsSql 6811 } 6812 if iNdEx >= l { 6813 return io.ErrUnexpectedEOF 6814 } 6815 b := dAtA[iNdEx] 6816 iNdEx++ 6817 msglen |= (int(b) & 0x7F) << shift 6818 if b < 0x80 { 6819 break 6820 } 6821 } 6822 if msglen < 0 { 6823 return ErrInvalidLengthProcessorsSql 6824 } 6825 postIndex := iNdEx + msglen 6826 if postIndex > l { 6827 return io.ErrUnexpectedEOF 6828 } 6829 m.Exprs = append(m.Exprs, Expression{}) 6830 if err := m.Exprs[len(m.Exprs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 6831 return err 6832 } 6833 iNdEx = postIndex 6834 case 2: 6835 if wireType != 2 { 6836 return fmt.Errorf("proto: wrong wireType = %d for field GeneratedColumns", wireType) 6837 } 6838 var msglen int 6839 for shift := uint(0); ; shift += 7 { 6840 if shift >= 64 { 6841 return ErrIntOverflowProcessorsSql 6842 } 6843 if iNdEx >= l { 6844 return io.ErrUnexpectedEOF 6845 } 6846 b := dAtA[iNdEx] 6847 iNdEx++ 6848 msglen |= (int(b) & 0x7F) << shift 6849 if b < 0x80 { 6850 break 6851 } 6852 } 6853 if msglen < 0 { 6854 return ErrInvalidLengthProcessorsSql 6855 } 6856 postIndex := iNdEx + msglen 6857 if postIndex > l { 6858 return io.ErrUnexpectedEOF 6859 } 6860 m.GeneratedColumns = append(m.GeneratedColumns, &types.T{}) 6861 if err := m.GeneratedColumns[len(m.GeneratedColumns)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 6862 return err 6863 } 6864 iNdEx = postIndex 6865 case 3: 6866 if wireType == 0 { 6867 var v uint32 6868 for shift := uint(0); ; shift += 7 { 6869 if shift >= 64 { 6870 return ErrIntOverflowProcessorsSql 6871 } 6872 if iNdEx >= l { 6873 return io.ErrUnexpectedEOF 6874 } 6875 b := dAtA[iNdEx] 6876 iNdEx++ 6877 v |= (uint32(b) & 0x7F) << shift 6878 if b < 0x80 { 6879 break 6880 } 6881 } 6882 m.NumColsPerGen = append(m.NumColsPerGen, v) 6883 } else if wireType == 2 { 6884 var packedLen int 6885 for shift := uint(0); ; shift += 7 { 6886 if shift >= 64 { 6887 return ErrIntOverflowProcessorsSql 6888 } 6889 if iNdEx >= l { 6890 return io.ErrUnexpectedEOF 6891 } 6892 b := dAtA[iNdEx] 6893 iNdEx++ 6894 packedLen |= (int(b) & 0x7F) << shift 6895 if b < 0x80 { 6896 break 6897 } 6898 } 6899 if packedLen < 0 { 6900 return ErrInvalidLengthProcessorsSql 6901 } 6902 postIndex := iNdEx + packedLen 6903 if postIndex > l { 6904 return io.ErrUnexpectedEOF 6905 } 6906 var elementCount int 6907 var count int 6908 for _, integer := range dAtA { 6909 if integer < 128 { 6910 count++ 6911 } 6912 } 6913 elementCount = count 6914 if elementCount != 0 && len(m.NumColsPerGen) == 0 { 6915 m.NumColsPerGen = make([]uint32, 0, elementCount) 6916 } 6917 for iNdEx < postIndex { 6918 var v uint32 6919 for shift := uint(0); ; shift += 7 { 6920 if shift >= 64 { 6921 return ErrIntOverflowProcessorsSql 6922 } 6923 if iNdEx >= l { 6924 return io.ErrUnexpectedEOF 6925 } 6926 b := dAtA[iNdEx] 6927 iNdEx++ 6928 v |= (uint32(b) & 0x7F) << shift 6929 if b < 0x80 { 6930 break 6931 } 6932 } 6933 m.NumColsPerGen = append(m.NumColsPerGen, v) 6934 } 6935 } else { 6936 return fmt.Errorf("proto: wrong wireType = %d for field NumColsPerGen", wireType) 6937 } 6938 default: 6939 iNdEx = preIndex 6940 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 6941 if err != nil { 6942 return err 6943 } 6944 if skippy < 0 { 6945 return ErrInvalidLengthProcessorsSql 6946 } 6947 if (iNdEx + skippy) > l { 6948 return io.ErrUnexpectedEOF 6949 } 6950 iNdEx += skippy 6951 } 6952 } 6953 6954 if iNdEx > l { 6955 return io.ErrUnexpectedEOF 6956 } 6957 return nil 6958 } 6959 func (m *WindowerSpec) Unmarshal(dAtA []byte) error { 6960 l := len(dAtA) 6961 iNdEx := 0 6962 for iNdEx < l { 6963 preIndex := iNdEx 6964 var wire uint64 6965 for shift := uint(0); ; shift += 7 { 6966 if shift >= 64 { 6967 return ErrIntOverflowProcessorsSql 6968 } 6969 if iNdEx >= l { 6970 return io.ErrUnexpectedEOF 6971 } 6972 b := dAtA[iNdEx] 6973 iNdEx++ 6974 wire |= (uint64(b) & 0x7F) << shift 6975 if b < 0x80 { 6976 break 6977 } 6978 } 6979 fieldNum := int32(wire >> 3) 6980 wireType := int(wire & 0x7) 6981 if wireType == 4 { 6982 return fmt.Errorf("proto: WindowerSpec: wiretype end group for non-group") 6983 } 6984 if fieldNum <= 0 { 6985 return fmt.Errorf("proto: WindowerSpec: illegal tag %d (wire type %d)", fieldNum, wire) 6986 } 6987 switch fieldNum { 6988 case 1: 6989 if wireType == 0 { 6990 var v uint32 6991 for shift := uint(0); ; shift += 7 { 6992 if shift >= 64 { 6993 return ErrIntOverflowProcessorsSql 6994 } 6995 if iNdEx >= l { 6996 return io.ErrUnexpectedEOF 6997 } 6998 b := dAtA[iNdEx] 6999 iNdEx++ 7000 v |= (uint32(b) & 0x7F) << shift 7001 if b < 0x80 { 7002 break 7003 } 7004 } 7005 m.PartitionBy = append(m.PartitionBy, v) 7006 } else if wireType == 2 { 7007 var packedLen int 7008 for shift := uint(0); ; shift += 7 { 7009 if shift >= 64 { 7010 return ErrIntOverflowProcessorsSql 7011 } 7012 if iNdEx >= l { 7013 return io.ErrUnexpectedEOF 7014 } 7015 b := dAtA[iNdEx] 7016 iNdEx++ 7017 packedLen |= (int(b) & 0x7F) << shift 7018 if b < 0x80 { 7019 break 7020 } 7021 } 7022 if packedLen < 0 { 7023 return ErrInvalidLengthProcessorsSql 7024 } 7025 postIndex := iNdEx + packedLen 7026 if postIndex > l { 7027 return io.ErrUnexpectedEOF 7028 } 7029 var elementCount int 7030 var count int 7031 for _, integer := range dAtA { 7032 if integer < 128 { 7033 count++ 7034 } 7035 } 7036 elementCount = count 7037 if elementCount != 0 && len(m.PartitionBy) == 0 { 7038 m.PartitionBy = make([]uint32, 0, elementCount) 7039 } 7040 for iNdEx < postIndex { 7041 var v uint32 7042 for shift := uint(0); ; shift += 7 { 7043 if shift >= 64 { 7044 return ErrIntOverflowProcessorsSql 7045 } 7046 if iNdEx >= l { 7047 return io.ErrUnexpectedEOF 7048 } 7049 b := dAtA[iNdEx] 7050 iNdEx++ 7051 v |= (uint32(b) & 0x7F) << shift 7052 if b < 0x80 { 7053 break 7054 } 7055 } 7056 m.PartitionBy = append(m.PartitionBy, v) 7057 } 7058 } else { 7059 return fmt.Errorf("proto: wrong wireType = %d for field PartitionBy", wireType) 7060 } 7061 case 2: 7062 if wireType != 2 { 7063 return fmt.Errorf("proto: wrong wireType = %d for field WindowFns", wireType) 7064 } 7065 var msglen int 7066 for shift := uint(0); ; shift += 7 { 7067 if shift >= 64 { 7068 return ErrIntOverflowProcessorsSql 7069 } 7070 if iNdEx >= l { 7071 return io.ErrUnexpectedEOF 7072 } 7073 b := dAtA[iNdEx] 7074 iNdEx++ 7075 msglen |= (int(b) & 0x7F) << shift 7076 if b < 0x80 { 7077 break 7078 } 7079 } 7080 if msglen < 0 { 7081 return ErrInvalidLengthProcessorsSql 7082 } 7083 postIndex := iNdEx + msglen 7084 if postIndex > l { 7085 return io.ErrUnexpectedEOF 7086 } 7087 m.WindowFns = append(m.WindowFns, WindowerSpec_WindowFn{}) 7088 if err := m.WindowFns[len(m.WindowFns)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 7089 return err 7090 } 7091 iNdEx = postIndex 7092 default: 7093 iNdEx = preIndex 7094 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 7095 if err != nil { 7096 return err 7097 } 7098 if skippy < 0 { 7099 return ErrInvalidLengthProcessorsSql 7100 } 7101 if (iNdEx + skippy) > l { 7102 return io.ErrUnexpectedEOF 7103 } 7104 iNdEx += skippy 7105 } 7106 } 7107 7108 if iNdEx > l { 7109 return io.ErrUnexpectedEOF 7110 } 7111 return nil 7112 } 7113 func (m *WindowerSpec_Func) Unmarshal(dAtA []byte) error { 7114 l := len(dAtA) 7115 iNdEx := 0 7116 for iNdEx < l { 7117 preIndex := iNdEx 7118 var wire uint64 7119 for shift := uint(0); ; shift += 7 { 7120 if shift >= 64 { 7121 return ErrIntOverflowProcessorsSql 7122 } 7123 if iNdEx >= l { 7124 return io.ErrUnexpectedEOF 7125 } 7126 b := dAtA[iNdEx] 7127 iNdEx++ 7128 wire |= (uint64(b) & 0x7F) << shift 7129 if b < 0x80 { 7130 break 7131 } 7132 } 7133 fieldNum := int32(wire >> 3) 7134 wireType := int(wire & 0x7) 7135 if wireType == 4 { 7136 return fmt.Errorf("proto: Func: wiretype end group for non-group") 7137 } 7138 if fieldNum <= 0 { 7139 return fmt.Errorf("proto: Func: illegal tag %d (wire type %d)", fieldNum, wire) 7140 } 7141 switch fieldNum { 7142 case 1: 7143 if wireType != 0 { 7144 return fmt.Errorf("proto: wrong wireType = %d for field AggregateFunc", wireType) 7145 } 7146 var v AggregatorSpec_Func 7147 for shift := uint(0); ; shift += 7 { 7148 if shift >= 64 { 7149 return ErrIntOverflowProcessorsSql 7150 } 7151 if iNdEx >= l { 7152 return io.ErrUnexpectedEOF 7153 } 7154 b := dAtA[iNdEx] 7155 iNdEx++ 7156 v |= (AggregatorSpec_Func(b) & 0x7F) << shift 7157 if b < 0x80 { 7158 break 7159 } 7160 } 7161 m.AggregateFunc = &v 7162 case 2: 7163 if wireType != 0 { 7164 return fmt.Errorf("proto: wrong wireType = %d for field WindowFunc", wireType) 7165 } 7166 var v WindowerSpec_WindowFunc 7167 for shift := uint(0); ; shift += 7 { 7168 if shift >= 64 { 7169 return ErrIntOverflowProcessorsSql 7170 } 7171 if iNdEx >= l { 7172 return io.ErrUnexpectedEOF 7173 } 7174 b := dAtA[iNdEx] 7175 iNdEx++ 7176 v |= (WindowerSpec_WindowFunc(b) & 0x7F) << shift 7177 if b < 0x80 { 7178 break 7179 } 7180 } 7181 m.WindowFunc = &v 7182 default: 7183 iNdEx = preIndex 7184 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 7185 if err != nil { 7186 return err 7187 } 7188 if skippy < 0 { 7189 return ErrInvalidLengthProcessorsSql 7190 } 7191 if (iNdEx + skippy) > l { 7192 return io.ErrUnexpectedEOF 7193 } 7194 iNdEx += skippy 7195 } 7196 } 7197 7198 if iNdEx > l { 7199 return io.ErrUnexpectedEOF 7200 } 7201 return nil 7202 } 7203 func (m *WindowerSpec_Frame) Unmarshal(dAtA []byte) error { 7204 l := len(dAtA) 7205 iNdEx := 0 7206 for iNdEx < l { 7207 preIndex := iNdEx 7208 var wire uint64 7209 for shift := uint(0); ; shift += 7 { 7210 if shift >= 64 { 7211 return ErrIntOverflowProcessorsSql 7212 } 7213 if iNdEx >= l { 7214 return io.ErrUnexpectedEOF 7215 } 7216 b := dAtA[iNdEx] 7217 iNdEx++ 7218 wire |= (uint64(b) & 0x7F) << shift 7219 if b < 0x80 { 7220 break 7221 } 7222 } 7223 fieldNum := int32(wire >> 3) 7224 wireType := int(wire & 0x7) 7225 if wireType == 4 { 7226 return fmt.Errorf("proto: Frame: wiretype end group for non-group") 7227 } 7228 if fieldNum <= 0 { 7229 return fmt.Errorf("proto: Frame: illegal tag %d (wire type %d)", fieldNum, wire) 7230 } 7231 switch fieldNum { 7232 case 1: 7233 if wireType != 0 { 7234 return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType) 7235 } 7236 m.Mode = 0 7237 for shift := uint(0); ; shift += 7 { 7238 if shift >= 64 { 7239 return ErrIntOverflowProcessorsSql 7240 } 7241 if iNdEx >= l { 7242 return io.ErrUnexpectedEOF 7243 } 7244 b := dAtA[iNdEx] 7245 iNdEx++ 7246 m.Mode |= (WindowerSpec_Frame_Mode(b) & 0x7F) << shift 7247 if b < 0x80 { 7248 break 7249 } 7250 } 7251 case 2: 7252 if wireType != 2 { 7253 return fmt.Errorf("proto: wrong wireType = %d for field Bounds", wireType) 7254 } 7255 var msglen int 7256 for shift := uint(0); ; shift += 7 { 7257 if shift >= 64 { 7258 return ErrIntOverflowProcessorsSql 7259 } 7260 if iNdEx >= l { 7261 return io.ErrUnexpectedEOF 7262 } 7263 b := dAtA[iNdEx] 7264 iNdEx++ 7265 msglen |= (int(b) & 0x7F) << shift 7266 if b < 0x80 { 7267 break 7268 } 7269 } 7270 if msglen < 0 { 7271 return ErrInvalidLengthProcessorsSql 7272 } 7273 postIndex := iNdEx + msglen 7274 if postIndex > l { 7275 return io.ErrUnexpectedEOF 7276 } 7277 if err := m.Bounds.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 7278 return err 7279 } 7280 iNdEx = postIndex 7281 case 3: 7282 if wireType != 0 { 7283 return fmt.Errorf("proto: wrong wireType = %d for field Exclusion", wireType) 7284 } 7285 m.Exclusion = 0 7286 for shift := uint(0); ; shift += 7 { 7287 if shift >= 64 { 7288 return ErrIntOverflowProcessorsSql 7289 } 7290 if iNdEx >= l { 7291 return io.ErrUnexpectedEOF 7292 } 7293 b := dAtA[iNdEx] 7294 iNdEx++ 7295 m.Exclusion |= (WindowerSpec_Frame_Exclusion(b) & 0x7F) << shift 7296 if b < 0x80 { 7297 break 7298 } 7299 } 7300 default: 7301 iNdEx = preIndex 7302 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 7303 if err != nil { 7304 return err 7305 } 7306 if skippy < 0 { 7307 return ErrInvalidLengthProcessorsSql 7308 } 7309 if (iNdEx + skippy) > l { 7310 return io.ErrUnexpectedEOF 7311 } 7312 iNdEx += skippy 7313 } 7314 } 7315 7316 if iNdEx > l { 7317 return io.ErrUnexpectedEOF 7318 } 7319 return nil 7320 } 7321 func (m *WindowerSpec_Frame_Bound) Unmarshal(dAtA []byte) error { 7322 l := len(dAtA) 7323 iNdEx := 0 7324 for iNdEx < l { 7325 preIndex := iNdEx 7326 var wire uint64 7327 for shift := uint(0); ; shift += 7 { 7328 if shift >= 64 { 7329 return ErrIntOverflowProcessorsSql 7330 } 7331 if iNdEx >= l { 7332 return io.ErrUnexpectedEOF 7333 } 7334 b := dAtA[iNdEx] 7335 iNdEx++ 7336 wire |= (uint64(b) & 0x7F) << shift 7337 if b < 0x80 { 7338 break 7339 } 7340 } 7341 fieldNum := int32(wire >> 3) 7342 wireType := int(wire & 0x7) 7343 if wireType == 4 { 7344 return fmt.Errorf("proto: Bound: wiretype end group for non-group") 7345 } 7346 if fieldNum <= 0 { 7347 return fmt.Errorf("proto: Bound: illegal tag %d (wire type %d)", fieldNum, wire) 7348 } 7349 switch fieldNum { 7350 case 1: 7351 if wireType != 0 { 7352 return fmt.Errorf("proto: wrong wireType = %d for field BoundType", wireType) 7353 } 7354 m.BoundType = 0 7355 for shift := uint(0); ; shift += 7 { 7356 if shift >= 64 { 7357 return ErrIntOverflowProcessorsSql 7358 } 7359 if iNdEx >= l { 7360 return io.ErrUnexpectedEOF 7361 } 7362 b := dAtA[iNdEx] 7363 iNdEx++ 7364 m.BoundType |= (WindowerSpec_Frame_BoundType(b) & 0x7F) << shift 7365 if b < 0x80 { 7366 break 7367 } 7368 } 7369 case 2: 7370 if wireType != 0 { 7371 return fmt.Errorf("proto: wrong wireType = %d for field IntOffset", wireType) 7372 } 7373 m.IntOffset = 0 7374 for shift := uint(0); ; shift += 7 { 7375 if shift >= 64 { 7376 return ErrIntOverflowProcessorsSql 7377 } 7378 if iNdEx >= l { 7379 return io.ErrUnexpectedEOF 7380 } 7381 b := dAtA[iNdEx] 7382 iNdEx++ 7383 m.IntOffset |= (uint64(b) & 0x7F) << shift 7384 if b < 0x80 { 7385 break 7386 } 7387 } 7388 case 3: 7389 if wireType != 2 { 7390 return fmt.Errorf("proto: wrong wireType = %d for field TypedOffset", wireType) 7391 } 7392 var byteLen int 7393 for shift := uint(0); ; shift += 7 { 7394 if shift >= 64 { 7395 return ErrIntOverflowProcessorsSql 7396 } 7397 if iNdEx >= l { 7398 return io.ErrUnexpectedEOF 7399 } 7400 b := dAtA[iNdEx] 7401 iNdEx++ 7402 byteLen |= (int(b) & 0x7F) << shift 7403 if b < 0x80 { 7404 break 7405 } 7406 } 7407 if byteLen < 0 { 7408 return ErrInvalidLengthProcessorsSql 7409 } 7410 postIndex := iNdEx + byteLen 7411 if postIndex > l { 7412 return io.ErrUnexpectedEOF 7413 } 7414 m.TypedOffset = append(m.TypedOffset[:0], dAtA[iNdEx:postIndex]...) 7415 if m.TypedOffset == nil { 7416 m.TypedOffset = []byte{} 7417 } 7418 iNdEx = postIndex 7419 case 4: 7420 if wireType != 2 { 7421 return fmt.Errorf("proto: wrong wireType = %d for field OffsetType", wireType) 7422 } 7423 var msglen int 7424 for shift := uint(0); ; shift += 7 { 7425 if shift >= 64 { 7426 return ErrIntOverflowProcessorsSql 7427 } 7428 if iNdEx >= l { 7429 return io.ErrUnexpectedEOF 7430 } 7431 b := dAtA[iNdEx] 7432 iNdEx++ 7433 msglen |= (int(b) & 0x7F) << shift 7434 if b < 0x80 { 7435 break 7436 } 7437 } 7438 if msglen < 0 { 7439 return ErrInvalidLengthProcessorsSql 7440 } 7441 postIndex := iNdEx + msglen 7442 if postIndex > l { 7443 return io.ErrUnexpectedEOF 7444 } 7445 if err := m.OffsetType.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 7446 return err 7447 } 7448 iNdEx = postIndex 7449 default: 7450 iNdEx = preIndex 7451 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 7452 if err != nil { 7453 return err 7454 } 7455 if skippy < 0 { 7456 return ErrInvalidLengthProcessorsSql 7457 } 7458 if (iNdEx + skippy) > l { 7459 return io.ErrUnexpectedEOF 7460 } 7461 iNdEx += skippy 7462 } 7463 } 7464 7465 if iNdEx > l { 7466 return io.ErrUnexpectedEOF 7467 } 7468 return nil 7469 } 7470 func (m *WindowerSpec_Frame_Bounds) Unmarshal(dAtA []byte) error { 7471 l := len(dAtA) 7472 iNdEx := 0 7473 for iNdEx < l { 7474 preIndex := iNdEx 7475 var wire uint64 7476 for shift := uint(0); ; shift += 7 { 7477 if shift >= 64 { 7478 return ErrIntOverflowProcessorsSql 7479 } 7480 if iNdEx >= l { 7481 return io.ErrUnexpectedEOF 7482 } 7483 b := dAtA[iNdEx] 7484 iNdEx++ 7485 wire |= (uint64(b) & 0x7F) << shift 7486 if b < 0x80 { 7487 break 7488 } 7489 } 7490 fieldNum := int32(wire >> 3) 7491 wireType := int(wire & 0x7) 7492 if wireType == 4 { 7493 return fmt.Errorf("proto: Bounds: wiretype end group for non-group") 7494 } 7495 if fieldNum <= 0 { 7496 return fmt.Errorf("proto: Bounds: illegal tag %d (wire type %d)", fieldNum, wire) 7497 } 7498 switch fieldNum { 7499 case 1: 7500 if wireType != 2 { 7501 return fmt.Errorf("proto: wrong wireType = %d for field Start", wireType) 7502 } 7503 var msglen int 7504 for shift := uint(0); ; shift += 7 { 7505 if shift >= 64 { 7506 return ErrIntOverflowProcessorsSql 7507 } 7508 if iNdEx >= l { 7509 return io.ErrUnexpectedEOF 7510 } 7511 b := dAtA[iNdEx] 7512 iNdEx++ 7513 msglen |= (int(b) & 0x7F) << shift 7514 if b < 0x80 { 7515 break 7516 } 7517 } 7518 if msglen < 0 { 7519 return ErrInvalidLengthProcessorsSql 7520 } 7521 postIndex := iNdEx + msglen 7522 if postIndex > l { 7523 return io.ErrUnexpectedEOF 7524 } 7525 if err := m.Start.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 7526 return err 7527 } 7528 iNdEx = postIndex 7529 case 2: 7530 if wireType != 2 { 7531 return fmt.Errorf("proto: wrong wireType = %d for field End", wireType) 7532 } 7533 var msglen int 7534 for shift := uint(0); ; shift += 7 { 7535 if shift >= 64 { 7536 return ErrIntOverflowProcessorsSql 7537 } 7538 if iNdEx >= l { 7539 return io.ErrUnexpectedEOF 7540 } 7541 b := dAtA[iNdEx] 7542 iNdEx++ 7543 msglen |= (int(b) & 0x7F) << shift 7544 if b < 0x80 { 7545 break 7546 } 7547 } 7548 if msglen < 0 { 7549 return ErrInvalidLengthProcessorsSql 7550 } 7551 postIndex := iNdEx + msglen 7552 if postIndex > l { 7553 return io.ErrUnexpectedEOF 7554 } 7555 if m.End == nil { 7556 m.End = &WindowerSpec_Frame_Bound{} 7557 } 7558 if err := m.End.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 7559 return err 7560 } 7561 iNdEx = postIndex 7562 default: 7563 iNdEx = preIndex 7564 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 7565 if err != nil { 7566 return err 7567 } 7568 if skippy < 0 { 7569 return ErrInvalidLengthProcessorsSql 7570 } 7571 if (iNdEx + skippy) > l { 7572 return io.ErrUnexpectedEOF 7573 } 7574 iNdEx += skippy 7575 } 7576 } 7577 7578 if iNdEx > l { 7579 return io.ErrUnexpectedEOF 7580 } 7581 return nil 7582 } 7583 func (m *WindowerSpec_WindowFn) Unmarshal(dAtA []byte) error { 7584 l := len(dAtA) 7585 iNdEx := 0 7586 for iNdEx < l { 7587 preIndex := iNdEx 7588 var wire uint64 7589 for shift := uint(0); ; shift += 7 { 7590 if shift >= 64 { 7591 return ErrIntOverflowProcessorsSql 7592 } 7593 if iNdEx >= l { 7594 return io.ErrUnexpectedEOF 7595 } 7596 b := dAtA[iNdEx] 7597 iNdEx++ 7598 wire |= (uint64(b) & 0x7F) << shift 7599 if b < 0x80 { 7600 break 7601 } 7602 } 7603 fieldNum := int32(wire >> 3) 7604 wireType := int(wire & 0x7) 7605 if wireType == 4 { 7606 return fmt.Errorf("proto: WindowFn: wiretype end group for non-group") 7607 } 7608 if fieldNum <= 0 { 7609 return fmt.Errorf("proto: WindowFn: illegal tag %d (wire type %d)", fieldNum, wire) 7610 } 7611 switch fieldNum { 7612 case 1: 7613 if wireType != 2 { 7614 return fmt.Errorf("proto: wrong wireType = %d for field Func", wireType) 7615 } 7616 var msglen int 7617 for shift := uint(0); ; shift += 7 { 7618 if shift >= 64 { 7619 return ErrIntOverflowProcessorsSql 7620 } 7621 if iNdEx >= l { 7622 return io.ErrUnexpectedEOF 7623 } 7624 b := dAtA[iNdEx] 7625 iNdEx++ 7626 msglen |= (int(b) & 0x7F) << shift 7627 if b < 0x80 { 7628 break 7629 } 7630 } 7631 if msglen < 0 { 7632 return ErrInvalidLengthProcessorsSql 7633 } 7634 postIndex := iNdEx + msglen 7635 if postIndex > l { 7636 return io.ErrUnexpectedEOF 7637 } 7638 if err := m.Func.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 7639 return err 7640 } 7641 iNdEx = postIndex 7642 case 4: 7643 if wireType != 2 { 7644 return fmt.Errorf("proto: wrong wireType = %d for field Ordering", wireType) 7645 } 7646 var msglen int 7647 for shift := uint(0); ; shift += 7 { 7648 if shift >= 64 { 7649 return ErrIntOverflowProcessorsSql 7650 } 7651 if iNdEx >= l { 7652 return io.ErrUnexpectedEOF 7653 } 7654 b := dAtA[iNdEx] 7655 iNdEx++ 7656 msglen |= (int(b) & 0x7F) << shift 7657 if b < 0x80 { 7658 break 7659 } 7660 } 7661 if msglen < 0 { 7662 return ErrInvalidLengthProcessorsSql 7663 } 7664 postIndex := iNdEx + msglen 7665 if postIndex > l { 7666 return io.ErrUnexpectedEOF 7667 } 7668 if err := m.Ordering.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 7669 return err 7670 } 7671 iNdEx = postIndex 7672 case 5: 7673 if wireType != 2 { 7674 return fmt.Errorf("proto: wrong wireType = %d for field Frame", wireType) 7675 } 7676 var msglen int 7677 for shift := uint(0); ; shift += 7 { 7678 if shift >= 64 { 7679 return ErrIntOverflowProcessorsSql 7680 } 7681 if iNdEx >= l { 7682 return io.ErrUnexpectedEOF 7683 } 7684 b := dAtA[iNdEx] 7685 iNdEx++ 7686 msglen |= (int(b) & 0x7F) << shift 7687 if b < 0x80 { 7688 break 7689 } 7690 } 7691 if msglen < 0 { 7692 return ErrInvalidLengthProcessorsSql 7693 } 7694 postIndex := iNdEx + msglen 7695 if postIndex > l { 7696 return io.ErrUnexpectedEOF 7697 } 7698 if m.Frame == nil { 7699 m.Frame = &WindowerSpec_Frame{} 7700 } 7701 if err := m.Frame.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 7702 return err 7703 } 7704 iNdEx = postIndex 7705 case 6: 7706 if wireType != 0 { 7707 return fmt.Errorf("proto: wrong wireType = %d for field FilterColIdx", wireType) 7708 } 7709 m.FilterColIdx = 0 7710 for shift := uint(0); ; shift += 7 { 7711 if shift >= 64 { 7712 return ErrIntOverflowProcessorsSql 7713 } 7714 if iNdEx >= l { 7715 return io.ErrUnexpectedEOF 7716 } 7717 b := dAtA[iNdEx] 7718 iNdEx++ 7719 m.FilterColIdx |= (int32(b) & 0x7F) << shift 7720 if b < 0x80 { 7721 break 7722 } 7723 } 7724 case 7: 7725 if wireType == 0 { 7726 var v uint32 7727 for shift := uint(0); ; shift += 7 { 7728 if shift >= 64 { 7729 return ErrIntOverflowProcessorsSql 7730 } 7731 if iNdEx >= l { 7732 return io.ErrUnexpectedEOF 7733 } 7734 b := dAtA[iNdEx] 7735 iNdEx++ 7736 v |= (uint32(b) & 0x7F) << shift 7737 if b < 0x80 { 7738 break 7739 } 7740 } 7741 m.ArgsIdxs = append(m.ArgsIdxs, v) 7742 } else if wireType == 2 { 7743 var packedLen int 7744 for shift := uint(0); ; shift += 7 { 7745 if shift >= 64 { 7746 return ErrIntOverflowProcessorsSql 7747 } 7748 if iNdEx >= l { 7749 return io.ErrUnexpectedEOF 7750 } 7751 b := dAtA[iNdEx] 7752 iNdEx++ 7753 packedLen |= (int(b) & 0x7F) << shift 7754 if b < 0x80 { 7755 break 7756 } 7757 } 7758 if packedLen < 0 { 7759 return ErrInvalidLengthProcessorsSql 7760 } 7761 postIndex := iNdEx + packedLen 7762 if postIndex > l { 7763 return io.ErrUnexpectedEOF 7764 } 7765 var elementCount int 7766 var count int 7767 for _, integer := range dAtA { 7768 if integer < 128 { 7769 count++ 7770 } 7771 } 7772 elementCount = count 7773 if elementCount != 0 && len(m.ArgsIdxs) == 0 { 7774 m.ArgsIdxs = make([]uint32, 0, elementCount) 7775 } 7776 for iNdEx < postIndex { 7777 var v uint32 7778 for shift := uint(0); ; shift += 7 { 7779 if shift >= 64 { 7780 return ErrIntOverflowProcessorsSql 7781 } 7782 if iNdEx >= l { 7783 return io.ErrUnexpectedEOF 7784 } 7785 b := dAtA[iNdEx] 7786 iNdEx++ 7787 v |= (uint32(b) & 0x7F) << shift 7788 if b < 0x80 { 7789 break 7790 } 7791 } 7792 m.ArgsIdxs = append(m.ArgsIdxs, v) 7793 } 7794 } else { 7795 return fmt.Errorf("proto: wrong wireType = %d for field ArgsIdxs", wireType) 7796 } 7797 case 8: 7798 if wireType != 0 { 7799 return fmt.Errorf("proto: wrong wireType = %d for field OutputColIdx", wireType) 7800 } 7801 m.OutputColIdx = 0 7802 for shift := uint(0); ; shift += 7 { 7803 if shift >= 64 { 7804 return ErrIntOverflowProcessorsSql 7805 } 7806 if iNdEx >= l { 7807 return io.ErrUnexpectedEOF 7808 } 7809 b := dAtA[iNdEx] 7810 iNdEx++ 7811 m.OutputColIdx |= (uint32(b) & 0x7F) << shift 7812 if b < 0x80 { 7813 break 7814 } 7815 } 7816 default: 7817 iNdEx = preIndex 7818 skippy, err := skipProcessorsSql(dAtA[iNdEx:]) 7819 if err != nil { 7820 return err 7821 } 7822 if skippy < 0 { 7823 return ErrInvalidLengthProcessorsSql 7824 } 7825 if (iNdEx + skippy) > l { 7826 return io.ErrUnexpectedEOF 7827 } 7828 iNdEx += skippy 7829 } 7830 } 7831 7832 if iNdEx > l { 7833 return io.ErrUnexpectedEOF 7834 } 7835 return nil 7836 } 7837 func skipProcessorsSql(dAtA []byte) (n int, err error) { 7838 l := len(dAtA) 7839 iNdEx := 0 7840 for iNdEx < l { 7841 var wire uint64 7842 for shift := uint(0); ; shift += 7 { 7843 if shift >= 64 { 7844 return 0, ErrIntOverflowProcessorsSql 7845 } 7846 if iNdEx >= l { 7847 return 0, io.ErrUnexpectedEOF 7848 } 7849 b := dAtA[iNdEx] 7850 iNdEx++ 7851 wire |= (uint64(b) & 0x7F) << shift 7852 if b < 0x80 { 7853 break 7854 } 7855 } 7856 wireType := int(wire & 0x7) 7857 switch wireType { 7858 case 0: 7859 for shift := uint(0); ; shift += 7 { 7860 if shift >= 64 { 7861 return 0, ErrIntOverflowProcessorsSql 7862 } 7863 if iNdEx >= l { 7864 return 0, io.ErrUnexpectedEOF 7865 } 7866 iNdEx++ 7867 if dAtA[iNdEx-1] < 0x80 { 7868 break 7869 } 7870 } 7871 return iNdEx, nil 7872 case 1: 7873 iNdEx += 8 7874 return iNdEx, nil 7875 case 2: 7876 var length int 7877 for shift := uint(0); ; shift += 7 { 7878 if shift >= 64 { 7879 return 0, ErrIntOverflowProcessorsSql 7880 } 7881 if iNdEx >= l { 7882 return 0, io.ErrUnexpectedEOF 7883 } 7884 b := dAtA[iNdEx] 7885 iNdEx++ 7886 length |= (int(b) & 0x7F) << shift 7887 if b < 0x80 { 7888 break 7889 } 7890 } 7891 iNdEx += length 7892 if length < 0 { 7893 return 0, ErrInvalidLengthProcessorsSql 7894 } 7895 return iNdEx, nil 7896 case 3: 7897 for { 7898 var innerWire uint64 7899 var start int = iNdEx 7900 for shift := uint(0); ; shift += 7 { 7901 if shift >= 64 { 7902 return 0, ErrIntOverflowProcessorsSql 7903 } 7904 if iNdEx >= l { 7905 return 0, io.ErrUnexpectedEOF 7906 } 7907 b := dAtA[iNdEx] 7908 iNdEx++ 7909 innerWire |= (uint64(b) & 0x7F) << shift 7910 if b < 0x80 { 7911 break 7912 } 7913 } 7914 innerWireType := int(innerWire & 0x7) 7915 if innerWireType == 4 { 7916 break 7917 } 7918 next, err := skipProcessorsSql(dAtA[start:]) 7919 if err != nil { 7920 return 0, err 7921 } 7922 iNdEx = start + next 7923 } 7924 return iNdEx, nil 7925 case 4: 7926 return iNdEx, nil 7927 case 5: 7928 iNdEx += 4 7929 return iNdEx, nil 7930 default: 7931 return 0, fmt.Errorf("proto: illegal wireType %d", wireType) 7932 } 7933 } 7934 panic("unreachable") 7935 } 7936 7937 var ( 7938 ErrInvalidLengthProcessorsSql = fmt.Errorf("proto: negative length found during unmarshaling") 7939 ErrIntOverflowProcessorsSql = fmt.Errorf("proto: integer overflow") 7940 ) 7941 7942 func init() { 7943 proto.RegisterFile("sql/execinfrapb/processors_sql.proto", fileDescriptor_processors_sql_c1e87fb3f4a49645) 7944 } 7945 7946 var fileDescriptor_processors_sql_c1e87fb3f4a49645 = []byte{ 7947 // 2616 bytes of a gzipped FileDescriptorProto 7948 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0x4b, 0x8f, 0xdb, 0xd6, 7949 0xf5, 0x1f, 0xea, 0xad, 0xa3, 0xc7, 0xd0, 0xd7, 0x93, 0x58, 0x51, 0xfe, 0x18, 0x8f, 0x95, 0xd7, 7950 0xd8, 0x71, 0x66, 0xfe, 0x99, 0x14, 0x29, 0x92, 0x74, 0x11, 0x4a, 0xa2, 0x64, 0xd9, 0x1a, 0x72, 7951 0x4c, 0x49, 0x76, 0x1e, 0x40, 0x08, 0x8e, 0x78, 0x47, 0xc3, 0x98, 0x22, 0x35, 0x24, 0xe5, 0x99, 7952 0xc9, 0x17, 0xe8, 0xb6, 0x45, 0x37, 0x45, 0x17, 0x45, 0x36, 0x45, 0xbf, 0x40, 0x77, 0x05, 0xd2, 7953 0x4d, 0x0b, 0x78, 0x99, 0x55, 0x9b, 0x55, 0xd1, 0x38, 0x1f, 0x22, 0x28, 0xd0, 0x45, 0x71, 0x1f, 7954 0xe4, 0x50, 0x82, 0xe5, 0x58, 0xf6, 0x24, 0x46, 0x37, 0x82, 0xee, 0x39, 0xf7, 0xfc, 0xee, 0x39, 7955 0xf7, 0x9c, 0x7b, 0xce, 0xb9, 0x97, 0xf0, 0xaa, 0x7f, 0x64, 0x6f, 0xe3, 0x13, 0x3c, 0xb4, 0x9c, 7956 0x03, 0xcf, 0x98, 0xec, 0x6f, 0x4f, 0x3c, 0x77, 0x88, 0x7d, 0xdf, 0xf5, 0x7c, 0xdd, 0x3f, 0xb2, 7957 0xb7, 0x26, 0x9e, 0x1b, 0xb8, 0xa8, 0x32, 0x74, 0x87, 0xf7, 0x3c, 0xd7, 0x18, 0x1e, 0x6e, 0x11, 7958 0xa2, 0x69, 0xf9, 0x81, 0x7f, 0x64, 0x7b, 0x53, 0xa7, 0xfa, 0x7f, 0x44, 0xde, 0x3f, 0xb2, 0xf7, 7959 0x0d, 0x1f, 0x6f, 0xfb, 0x81, 0x37, 0x1d, 0x06, 0x53, 0x0f, 0x9b, 0x4c, 0xae, 0xfa, 0x72, 0x9c, 7960 0xfb, 0xb9, 0x6b, 0x39, 0x7a, 0x70, 0x3a, 0xc1, 0x9c, 0xf9, 0x52, 0x9c, 0x69, 0xbb, 0xc3, 0x7b, 7961 0x96, 0x33, 0xe2, 0xac, 0x17, 0x08, 0x8b, 0x4c, 0xf5, 0xd9, 0x2f, 0x27, 0x57, 0xe7, 0x95, 0x35, 7962 0x8d, 0xc0, 0xe0, 0xbc, 0xd7, 0x1e, 0x63, 0x08, 0x59, 0x81, 0x4f, 0xbb, 0x46, 0xa6, 0xb9, 0x93, 7963 0x60, 0xdb, 0x72, 0xee, 0x63, 0x2f, 0xc0, 0x26, 0x3e, 0x99, 0x78, 0xdb, 0xfe, 0xc4, 0x70, 0x74, 7964 0xf2, 0x0f, 0xfb, 0xbe, 0xe5, 0x3a, 0x7c, 0xee, 0xda, 0xc8, 0x1d, 0xb9, 0xf4, 0xef, 0x36, 0xf9, 7965 0xc7, 0xa8, 0xb5, 0xdf, 0x08, 0x50, 0xbe, 0x63, 0xd8, 0x53, 0xec, 0x37, 0x5c, 0x0f, 0xf7, 0x26, 7966 0x78, 0x88, 0x1a, 0x90, 0x1d, 0xba, 0xf6, 0x74, 0xec, 0xf8, 0x15, 0x61, 0x23, 0xb9, 0x59, 0xd8, 7967 0x79, 0x65, 0x6b, 0xd1, 0x86, 0x6d, 0x35, 0x8d, 0x60, 0x3a, 0xee, 0x38, 0x07, 0x6e, 0x3d, 0xf5, 7968 0xe0, 0x9f, 0x97, 0x57, 0xb4, 0x50, 0x12, 0xbd, 0x0c, 0x79, 0xcf, 0x38, 0xd6, 0xf7, 0x4f, 0x03, 7969 0xec, 0x57, 0x12, 0x1b, 0xc9, 0xcd, 0xa2, 0x96, 0xf3, 0x8c, 0xe3, 0x3a, 0x19, 0xa3, 0xcb, 0x90, 7970 0x73, 0xa6, 0x63, 0xdd, 0x73, 0x8f, 0xfd, 0x4a, 0x72, 0x43, 0xd8, 0x4c, 0x85, 0xd2, 0xce, 0x74, 7971 0xac, 0xb9, 0xc7, 0x7e, 0xed, 0x77, 0x69, 0x58, 0xed, 0x1b, 0xfb, 0x36, 0xd6, 0xb0, 0x61, 0x62, 7972 0x8f, 0xaa, 0x55, 0x87, 0x74, 0x40, 0x48, 0x15, 0x61, 0x43, 0xd8, 0x2c, 0xec, 0xbc, 0x3e, 0xa7, 7973 0x14, 0xdf, 0xfa, 0x2d, 0x2a, 0xd6, 0xc4, 0xfe, 0xd0, 0xb3, 0x26, 0x81, 0xeb, 0x71, 0x64, 0x26, 7974 0x8a, 0xae, 0x40, 0xde, 0x72, 0x4c, 0x7c, 0xa2, 0x5b, 0xe6, 0x49, 0x25, 0xb1, 0x21, 0x6c, 0x96, 7975 0x38, 0x3f, 0x47, 0xc9, 0x1d, 0xf3, 0x04, 0xad, 0x43, 0xd6, 0xc3, 0xf7, 0xb1, 0xe7, 0x63, 0xaa, 7976 0x5a, 0x2e, 0x54, 0x8d, 0x13, 0x91, 0x0c, 0x69, 0xb2, 0xbf, 0x7e, 0x25, 0x45, 0xf7, 0xe6, 0xea, 7977 0xe2, 0xbd, 0x99, 0x31, 0xc0, 0x70, 0x42, 0x4d, 0xa8, 0x34, 0x7a, 0x05, 0xc0, 0xb6, 0xc6, 0x56, 7978 0xa0, 0x1f, 0x5a, 0x4e, 0x50, 0x49, 0x6f, 0x08, 0x9b, 0x49, 0x3e, 0x21, 0x4f, 0xe9, 0x37, 0x2c, 7979 0x27, 0x20, 0xfb, 0x64, 0xf9, 0xfa, 0xf0, 0x10, 0x0f, 0xef, 0x55, 0x32, 0x71, 0x65, 0x2c, 0xbf, 7980 0x41, 0x88, 0x48, 0x01, 0xb8, 0x6f, 0xf9, 0xd6, 0xbe, 0x65, 0x5b, 0xc1, 0x69, 0x25, 0xbb, 0x21, 7981 0x6c, 0x96, 0x77, 0x36, 0x17, 0x6b, 0xd4, 0x1b, 0x1a, 0xce, 0x9d, 0x68, 0x3e, 0x07, 0x8b, 0x21, 7982 0xa0, 0xd7, 0xa0, 0x30, 0x36, 0x4e, 0x74, 0x0f, 0xfb, 0x53, 0x3b, 0xf0, 0x2b, 0xb9, 0x98, 0x6f, 7983 0x60, 0x6c, 0x9c, 0x68, 0x8c, 0x8e, 0x3e, 0x80, 0x4b, 0x64, 0x5a, 0x60, 0x8d, 0xb1, 0x1f, 0x18, 7984 0xe3, 0x89, 0x6e, 0x8c, 0xb0, 0xee, 0x18, 0x8e, 0xeb, 0x57, 0xf2, 0x31, 0x91, 0xb5, 0xb1, 0x71, 7985 0xd2, 0x0f, 0xe7, 0x48, 0x23, 0xac, 0x90, 0x19, 0xe8, 0x53, 0x10, 0xf9, 0xf1, 0xd0, 0xfd, 0xc0, 7986 0xc3, 0xce, 0x28, 0x38, 0xac, 0x00, 0xd5, 0xfc, 0xda, 0x02, 0x97, 0x12, 0xb5, 0xbb, 0x4c, 0xa4, 7987 0xc7, 0x25, 0xf8, 0x0a, 0xab, 0xf6, 0x2c, 0x19, 0xed, 0xc3, 0xc5, 0x10, 0xfc, 0xd8, 0xb0, 0x02, 7988 0x7d, 0xe2, 0xda, 0xd6, 0xf0, 0xb4, 0x52, 0xa0, 0xf8, 0xd7, 0x7f, 0x18, 0xff, 0xae, 0x61, 0x05, 7989 0x7b, 0x54, 0x86, 0xaf, 0x70, 0xc1, 0x9e, 0x67, 0xd4, 0xfe, 0x9d, 0x84, 0x4a, 0x87, 0x84, 0x4b, 7990 0xef, 0x9e, 0x35, 0x79, 0x4e, 0x51, 0x1a, 0x45, 0x61, 0xf2, 0x99, 0xa2, 0x70, 0x36, 0x7e, 0x52, 7991 0xcf, 0x1c, 0x3f, 0xb1, 0xc3, 0x93, 0x7e, 0xd4, 0xe1, 0x79, 0x94, 0xef, 0x33, 0x3f, 0xb2, 0xef, 7992 0xb3, 0xe7, 0xe9, 0xfb, 0x3f, 0xa6, 0xa1, 0x7c, 0xd3, 0xb5, 0x9c, 0x9f, 0xde, 0xe3, 0x57, 0xa1, 7993 0x6c, 0xbb, 0xee, 0xbd, 0xe9, 0x44, 0x0f, 0x93, 0x33, 0x71, 0x7d, 0xa9, 0x9e, 0x10, 0x05, 0xad, 7994 0xc4, 0x38, 0x0d, 0x9e, 0x7b, 0x1b, 0x90, 0x75, 0x59, 0x01, 0xa0, 0x2e, 0x2d, 0xec, 0xbc, 0xba, 7995 0xd8, 0xa5, 0x72, 0x54, 0x26, 0xf8, 0x8a, 0x19, 0xd7, 0x21, 0x34, 0xf4, 0x1e, 0xa4, 0x48, 0xb1, 7996 0xe2, 0xee, 0xb9, 0xbc, 0xc0, 0x2a, 0xb2, 0x17, 0xfd, 0xd3, 0x09, 0xe6, 0xc2, 0x54, 0xe4, 0xdc, 7997 0xb3, 0xd2, 0x7b, 0xf0, 0xe2, 0xac, 0xe9, 0xba, 0xe1, 0x61, 0xfd, 0x1e, 0x3e, 0xa5, 0x09, 0x2a, 7998 0x0c, 0xb2, 0x8b, 0x33, 0x9b, 0x20, 0x79, 0xf8, 0x16, 0x3e, 0x7d, 0x64, 0xc0, 0xe5, 0x7f, 0xe4, 7999 0x80, 0x83, 0x73, 0x0c, 0x38, 0xf4, 0x36, 0x5c, 0x18, 0x1b, 0x96, 0x13, 0x18, 0x96, 0xa3, 0xbb, 8000 0x9e, 0x89, 0x3d, 0xcb, 0x19, 0xd1, 0x74, 0x16, 0x9a, 0x2d, 0x86, 0x6c, 0x95, 0x73, 0x6f, 0xa6, 8001 0x72, 0x69, 0x31, 0x43, 0x0a, 0x3b, 0xf4, 0x5c, 0x2f, 0xe0, 0x51, 0x7a, 0x1b, 0x56, 0xdd, 0x69, 8002 0x30, 0x99, 0x06, 0x67, 0x28, 0x2c, 0x5e, 0x6b, 0x8b, 0x1d, 0x13, 0x22, 0xf2, 0x95, 0xca, 0x0c, 8003 0x20, 0xa4, 0xa2, 0x1d, 0x40, 0x21, 0x96, 0x3e, 0x36, 0x82, 0xe1, 0xa1, 0x6e, 0x63, 0x67, 0x26, 8004 0x7a, 0xc5, 0x90, 0xbf, 0x4b, 0xd8, 0x5d, 0xec, 0xd4, 0xbe, 0x12, 0xa0, 0xd8, 0xb4, 0xfc, 0xc0, 8005 0x72, 0x86, 0x01, 0xd5, 0xeb, 0x0d, 0x58, 0xa5, 0x93, 0xb0, 0xa9, 0xc7, 0x9b, 0x8e, 0x92, 0x56, 8006 0xe6, 0xe4, 0x30, 0xa8, 0xaf, 0x82, 0x68, 0x72, 0xc1, 0x68, 0x66, 0x82, 0xce, 0x5c, 0x0d, 0xe9, 8007 0xe1, 0xd4, 0x1d, 0x40, 0xce, 0xd4, 0xb6, 0x59, 0x98, 0x84, 0xcc, 0x99, 0x6a, 0x2e, 0x52, 0xbe, 8008 0xe4, 0xe1, 0x50, 0x17, 0xf4, 0x3a, 0x14, 0xb1, 0xe7, 0xb9, 0x9e, 0xee, 0x3a, 0xba, 0x39, 0x9d, 8009 0xd0, 0x83, 0x93, 0x0f, 0x63, 0x91, 0x72, 0x54, 0xa7, 0x39, 0x9d, 0xd4, 0x44, 0x28, 0xab, 0x9e, 8010 0x69, 0x39, 0x06, 0x89, 0x4c, 0x62, 0x41, 0xed, 0xb7, 0x49, 0x10, 0x3f, 0xb1, 0x46, 0x5f, 0x18, 8011 0x23, 0x72, 0x18, 0xf8, 0x76, 0x37, 0x21, 0x43, 0x4f, 0x76, 0xd8, 0x42, 0x2d, 0x97, 0x15, 0xb8, 8012 0x2c, 0x6a, 0x01, 0xe0, 0xa3, 0x19, 0x6b, 0x0b, 0x3b, 0x57, 0x16, 0xfb, 0x8b, 0xdb, 0x1f, 0xf6, 8013 0x11, 0xf8, 0xe8, 0x6c, 0xef, 0xca, 0x2c, 0xbd, 0xb8, 0x4c, 0xf5, 0x99, 0xdc, 0x41, 0x39, 0xdc, 8014 0xa6, 0x73, 0xca, 0x1d, 0xb7, 0xa0, 0x78, 0x60, 0x9d, 0x60, 0x53, 0xbf, 0x4f, 0x3b, 0xcb, 0x4a, 8015 0x9a, 0x6a, 0xfe, 0x98, 0x14, 0x30, 0xdb, 0x81, 0x6a, 0x05, 0x2a, 0xcd, 0x88, 0xcf, 0x90, 0x88, 8016 0x6a, 0x7f, 0x4f, 0xc2, 0xea, 0x2e, 0xf6, 0x46, 0x38, 0xe6, 0x99, 0x5d, 0x28, 0xd9, 0xf8, 0xe0, 8017 0x19, 0x8e, 0x41, 0x91, 0x88, 0x47, 0x87, 0x40, 0x85, 0xb2, 0x67, 0x8d, 0x0e, 0x63, 0x78, 0x89, 8018 0x25, 0xf1, 0x4a, 0x54, 0x3e, 0x02, 0x8c, 0x39, 0x20, 0xfd, 0x3c, 0x92, 0xf7, 0x55, 0x28, 0x91, 8019 0xc3, 0xa1, 0xe3, 0xa3, 0xa9, 0x11, 0xe5, 0xef, 0xf0, 0xdc, 0x14, 0x09, 0x4b, 0xe6, 0x1c, 0xf4, 8020 0x3e, 0x5c, 0xa2, 0x5b, 0x79, 0x16, 0xa3, 0x0b, 0x12, 0x33, 0x3e, 0x08, 0xe4, 0xa3, 0xd9, 0xc4, 8021 0xfc, 0x0b, 0xa8, 0xb0, 0x7d, 0x7b, 0x84, 0x70, 0x3e, 0x26, 0xbc, 0x46, 0x67, 0xcd, 0x49, 0xd7, 8022 0x7e, 0x9d, 0x84, 0xf2, 0x0d, 0xc3, 0x3f, 0x8c, 0xf9, 0xf5, 0x1a, 0xac, 0xce, 0x29, 0xc3, 0x12, 8023 0x09, 0x2f, 0x90, 0x71, 0x15, 0xd0, 0x75, 0x10, 0xe7, 0x17, 0x67, 0xb9, 0x84, 0x4e, 0x2e, 0xcf, 8024 0x2e, 0xf9, 0xdc, 0x3d, 0xf2, 0x26, 0x94, 0xc7, 0x24, 0x88, 0xcf, 0x32, 0x64, 0xdc, 0x25, 0x25, 8025 0xc6, 0x0b, 0x95, 0x7d, 0x7e, 0x3e, 0xf9, 0x3e, 0x01, 0xa8, 0xc3, 0xaf, 0xa1, 0x31, 0xbf, 0xfc, 8026 0x64, 0xed, 0x51, 0x69, 0xa6, 0x47, 0xa0, 0xe9, 0xbe, 0x14, 0x1d, 0xd9, 0x58, 0x6b, 0x80, 0x54, 8027 0x28, 0x85, 0xd7, 0xe5, 0xa7, 0x4d, 0x74, 0xc5, 0x10, 0x80, 0xfa, 0xf6, 0x39, 0x07, 0x48, 0xed, 8028 0xcf, 0x02, 0xac, 0x85, 0x3b, 0xdf, 0xb2, 0xec, 0x00, 0x7b, 0x7c, 0xef, 0x3f, 0x9b, 0xb7, 0x94, 8029 0xf9, 0xe0, 0x9d, 0x39, 0x70, 0x77, 0x12, 0x6c, 0xc5, 0x1f, 0x10, 0xb6, 0xc8, 0x45, 0xe1, 0x4c, 8030 0xd1, 0x3d, 0xcf, 0x0d, 0xdc, 0x1f, 0x32, 0x3c, 0xf1, 0xb4, 0x86, 0xd7, 0xfe, 0x96, 0x85, 0xb2, 8031 0x34, 0x1a, 0x79, 0x78, 0x64, 0x04, 0x2e, 0xd3, 0xfb, 0x0a, 0xc0, 0xc8, 0x73, 0x99, 0x2f, 0xe3, 8032 0x27, 0x33, 0x4f, 0xa9, 0x0d, 0xd7, 0xf6, 0xd1, 0x67, 0x50, 0x34, 0xb8, 0x90, 0xe5, 0x46, 0xf7, 8033 0xa0, 0x9f, 0x2d, 0x5e, 0x7f, 0x76, 0x89, 0x68, 0x18, 0xf3, 0x69, 0x1c, 0x0f, 0xfd, 0x3f, 0x6f, 8034 0x6e, 0xb0, 0xa9, 0xc7, 0x54, 0x49, 0x45, 0xaa, 0x88, 0x9c, 0xdb, 0x8e, 0x34, 0x6a, 0x73, 0x07, 8035 0xa6, 0xa9, 0x03, 0xdf, 0x7a, 0x62, 0x4d, 0xe6, 0xdd, 0x59, 0xfd, 0x65, 0x02, 0x0a, 0x31, 0xf5, 8036 0x08, 0xf0, 0xc1, 0xd4, 0x19, 0x52, 0xe7, 0x2d, 0x03, 0xdc, 0x9a, 0x3a, 0xc3, 0x10, 0x98, 0x00, 8037 0xa0, 0x0d, 0xc8, 0x45, 0xdd, 0x50, 0x22, 0x76, 0x9e, 0x23, 0x2a, 0x7a, 0x15, 0xca, 0x07, 0x34, 8038 0x80, 0x88, 0xb9, 0xf4, 0xb4, 0x91, 0xb3, 0x51, 0xd2, 0x8a, 0x8c, 0xda, 0x70, 0x6d, 0x72, 0xd6, 8039 0x2e, 0xd1, 0x07, 0x22, 0xca, 0x4e, 0xd3, 0x0e, 0x2c, 0x33, 0x64, 0x8c, 0x1b, 0x90, 0x37, 0xbc, 8040 0xd1, 0x74, 0x8c, 0x9d, 0xc0, 0xaf, 0x64, 0xa8, 0x47, 0x96, 0x89, 0x88, 0x33, 0xe1, 0x9b, 0xa9, 8041 0x5c, 0x52, 0x4c, 0xd5, 0xfe, 0x93, 0x80, 0x14, 0xb1, 0x02, 0x89, 0x50, 0x94, 0x94, 0x8f, 0x75, 8042 0x45, 0xed, 0xeb, 0xca, 0xa0, 0xdb, 0x15, 0x57, 0x50, 0x16, 0x92, 0xd2, 0x9d, 0xb6, 0x28, 0xa0, 8043 0x22, 0xe4, 0xea, 0xaa, 0xda, 0xd5, 0x25, 0xa5, 0x29, 0x26, 0x50, 0x01, 0xb2, 0x74, 0xa4, 0x6a, 8044 0x62, 0x12, 0x95, 0x01, 0x1a, 0xaa, 0xd2, 0x90, 0xfa, 0xba, 0xd4, 0x6e, 0x8b, 0x29, 0x94, 0x87, 8045 0x74, 0x43, 0x1d, 0x28, 0x7d, 0x31, 0x4d, 0xc4, 0x77, 0xa5, 0x8f, 0xc4, 0x2c, 0xfd, 0xd3, 0x51, 8046 0xc4, 0x1c, 0x02, 0xc8, 0xf4, 0xfa, 0xcd, 0xa6, 0x7c, 0x47, 0xcc, 0x13, 0x62, 0x6f, 0xb0, 0x2b, 8047 0x02, 0x81, 0xeb, 0x0d, 0x76, 0xf5, 0x8e, 0xd2, 0x17, 0x0b, 0x64, 0xa5, 0x3b, 0x92, 0xd6, 0x91, 8048 0x94, 0x86, 0x2c, 0x16, 0x09, 0xeb, 0x23, 0x55, 0xa3, 0xc8, 0x25, 0xb6, 0xd2, 0x40, 0xe9, 0xeb, 8049 0x9a, 0x7a, 0xb7, 0x27, 0x96, 0xa9, 0xdc, 0x6d, 0xad, 0xd9, 0x69, 0xb5, 0xc4, 0x55, 0x84, 0xa0, 8050 0xdc, 0xea, 0x28, 0x52, 0x57, 0x8f, 0xa4, 0x45, 0x62, 0x10, 0xa3, 0xf1, 0x35, 0x2f, 0xa0, 0x12, 8051 0xe4, 0x25, 0x4d, 0x93, 0x3e, 0xa6, 0x88, 0x88, 0x2c, 0x76, 0xb3, 0xa7, 0x2a, 0x74, 0x74, 0x91, 8052 0x30, 0xc9, 0xa8, 0x4e, 0x87, 0x6b, 0x64, 0xb9, 0x5e, 0x5f, 0xeb, 0x28, 0x6d, 0x3a, 0x7e, 0x81, 8053 0x5a, 0xdd, 0xe9, 0xd3, 0x2d, 0x78, 0x91, 0x18, 0x42, 0x06, 0xaa, 0x26, 0x5e, 0x42, 0x39, 0x48, 8054 0x35, 0x54, 0x4d, 0x13, 0x2b, 0xa8, 0x02, 0x6b, 0x7b, 0xb2, 0xd6, 0x90, 0x95, 0x7e, 0xa7, 0x2b, 8055 0xeb, 0xcd, 0x4e, 0xaf, 0xa1, 0x77, 0x76, 0xf7, 0xba, 0xe2, 0x4b, 0x73, 0x9c, 0x86, 0xaa, 0xf4, 8056 0x19, 0xa7, 0x5a, 0xbb, 0x0e, 0x29, 0x12, 0x9c, 0x04, 0x45, 0x1a, 0xf4, 0x55, 0x71, 0x85, 0x6e, 8057 0x52, 0x43, 0xea, 0x4a, 0x9a, 0x28, 0x10, 0x25, 0x14, 0x55, 0xd1, 0xf9, 0x38, 0x51, 0xfb, 0x4b, 8058 0x06, 0x5e, 0xee, 0x38, 0x01, 0xf6, 0x6c, 0x6c, 0xdc, 0xc7, 0x26, 0xbb, 0x21, 0xc7, 0x0a, 0xc1, 8059 0xc7, 0x73, 0x2d, 0xf1, 0x07, 0x8b, 0x23, 0xe3, 0x31, 0x30, 0xac, 0x50, 0xcc, 0xf5, 0xc9, 0xb1, 8060 0x67, 0x87, 0xc4, 0xa3, 0x9e, 0x1d, 0x66, 0x1f, 0xdb, 0x92, 0x8f, 0x7e, 0x6c, 0x3b, 0xd7, 0x5b, 8061 0x73, 0x7a, 0xf9, 0x32, 0xff, 0xbf, 0xfe, 0x36, 0x52, 0xfd, 0x2a, 0x01, 0x69, 0xea, 0x1d, 0xf4, 8062 0x21, 0xa4, 0x4c, 0xec, 0x0f, 0x9f, 0xaa, 0xe4, 0x53, 0xc9, 0x27, 0xa9, 0xf8, 0x0d, 0x48, 0x4d, 8063 0x5c, 0x9f, 0xb9, 0xf3, 0xb1, 0x2f, 0x60, 0x7b, 0xae, 0x1f, 0xec, 0xb1, 0xe7, 0x73, 0x12, 0x41, 8064 0xe1, 0x3a, 0x44, 0x18, 0x35, 0x21, 0x17, 0x35, 0xee, 0xa9, 0x25, 0x1b, 0xf7, 0x48, 0xf2, 0xec, 8065 0x35, 0x2e, 0xfd, 0x2c, 0xaf, 0x71, 0xb5, 0xbf, 0x0a, 0x50, 0xde, 0xf3, 0xdc, 0xcf, 0xf1, 0x30, 8066 0xe8, 0x61, 0x76, 0x3d, 0xfe, 0x10, 0xd2, 0x24, 0x22, 0xc3, 0x33, 0xb3, 0x4c, 0x48, 0x32, 0x41, 8067 0xd4, 0x86, 0x0b, 0x23, 0xec, 0x60, 0xcf, 0x08, 0x62, 0x0d, 0x24, 0xbb, 0x4a, 0x56, 0xe7, 0x1d, 8068 0x83, 0xc7, 0x5b, 0xec, 0x03, 0x45, 0x5f, 0x13, 0x23, 0xa1, 0xb0, 0xb3, 0x7c, 0x03, 0x44, 0x67, 8069 0x3a, 0xa6, 0x75, 0x50, 0x9f, 0x60, 0x4f, 0x1f, 0x61, 0x87, 0x5d, 0x23, 0xb5, 0x92, 0x33, 0x1d, 8070 0x93, 0x12, 0xb8, 0x87, 0xbd, 0x36, 0x76, 0x6a, 0xdf, 0x96, 0xa0, 0x78, 0xd7, 0x72, 0x4c, 0xf7, 8071 0x98, 0x9f, 0xfc, 0x0d, 0x28, 0x4c, 0x0c, 0x2f, 0xb0, 0x68, 0xb1, 0x3d, 0xe5, 0xf7, 0xfb, 0x38, 8072 0x09, 0xf5, 0x20, 0x7f, 0x4c, 0x25, 0x5a, 0x91, 0x72, 0xdb, 0x8b, 0x4d, 0x8d, 0x83, 0xf3, 0x41, 8073 0x2b, 0xaa, 0x21, 0x11, 0x4e, 0xf5, 0x4f, 0x02, 0xaf, 0x1e, 0x3d, 0x28, 0x85, 0xb5, 0x1d, 0xb7, 8074 0x9e, 0xb6, 0x92, 0x6a, 0xb3, 0x18, 0xe8, 0x36, 0x00, 0x5f, 0x8a, 0x20, 0x26, 0x28, 0xe2, 0xdb, 8075 0xcb, 0xe9, 0x4c, 0x50, 0x63, 0x20, 0xef, 0xa7, 0x1e, 0x7c, 0x79, 0x59, 0xa8, 0x7e, 0x99, 0x85, 8076 0x74, 0xcb, 0x33, 0xc6, 0x18, 0xdd, 0x82, 0xd4, 0xd8, 0x35, 0x31, 0x57, 0xf7, 0x49, 0xc1, 0xa9, 8077 0xec, 0xd6, 0xae, 0x6b, 0x46, 0xe9, 0x85, 0x80, 0xa0, 0xdb, 0x90, 0xd9, 0x77, 0xa7, 0x8e, 0xe9, 8078 0xf3, 0x56, 0xed, 0x9d, 0xa5, 0xe0, 0xea, 0x54, 0x34, 0x4c, 0x76, 0x0c, 0x08, 0x7d, 0x02, 0x79, 8079 0x7c, 0x32, 0xb4, 0xa7, 0x24, 0xe8, 0xe8, 0x31, 0x2c, 0xef, 0xbc, 0xbb, 0x14, 0xaa, 0x1c, 0x4a, 8080 0x47, 0x4f, 0x16, 0x21, 0xa1, 0xfa, 0xbd, 0x00, 0x69, 0xba, 0x28, 0x59, 0x85, 0xae, 0x47, 0x12, 8081 0x26, 0xdf, 0x8a, 0x77, 0x97, 0xd7, 0x3d, 0x96, 0x6e, 0xcf, 0xe0, 0x48, 0x61, 0xb0, 0x9c, 0x40, 8082 0x77, 0x0f, 0x0e, 0x7c, 0xcc, 0x7a, 0xa2, 0xf0, 0xdb, 0x45, 0xde, 0x72, 0x02, 0x95, 0x92, 0xd1, 8083 0x15, 0x28, 0x92, 0x53, 0x61, 0x86, 0xd3, 0x88, 0xa5, 0x45, 0xad, 0x40, 0x69, 0x7c, 0xca, 0x4d, 8084 0x28, 0x30, 0x26, 0xfd, 0x22, 0xc8, 0x33, 0xc9, 0x12, 0x9f, 0xcd, 0x80, 0x49, 0x13, 0x9d, 0xaa, 8085 0xbf, 0x17, 0x20, 0xc3, 0xb6, 0x1b, 0x29, 0x90, 0xf6, 0x03, 0xc3, 0x0b, 0x78, 0x22, 0xdd, 0x59, 8086 0xde, 0xec, 0x28, 0xc1, 0x10, 0x18, 0xd4, 0x84, 0x24, 0x76, 0x4c, 0x1e, 0x00, 0x4f, 0x81, 0xa6, 8087 0x11, 0xf1, 0xda, 0x1b, 0x90, 0x22, 0xd1, 0x45, 0xda, 0x29, 0x4d, 0x52, 0xda, 0xb2, 0xb8, 0x42, 8088 0x3a, 0x04, 0xda, 0xf9, 0x08, 0xa4, 0x43, 0x68, 0x6b, 0xea, 0x60, 0xaf, 0x27, 0x26, 0x6a, 0x5f, 8089 0x40, 0x3e, 0xda, 0x7b, 0x74, 0x09, 0x2e, 0x0e, 0x94, 0xba, 0x3a, 0x50, 0x9a, 0x72, 0x53, 0xdf, 8090 0xd3, 0xe4, 0x86, 0xdc, 0xec, 0x28, 0x6d, 0x71, 0x65, 0x96, 0xd1, 0x52, 0xbb, 0x5d, 0xf5, 0x2e, 8091 0x61, 0x08, 0x68, 0x0d, 0x44, 0xb5, 0xd5, 0xea, 0xc9, 0xfd, 0xd8, 0xf4, 0x44, 0x8c, 0x7a, 0x36, 8092 0x37, 0x89, 0x56, 0xa1, 0xd0, 0x18, 0x68, 0x9a, 0xcc, 0x5a, 0x30, 0x31, 0x55, 0xfb, 0x14, 0xf2, 8093 0x51, 0x74, 0x91, 0x6e, 0x4b, 0x51, 0x75, 0xf9, 0xa3, 0x46, 0x77, 0xd0, 0xeb, 0xa8, 0x0a, 0x5b, 8094 0x94, 0x0e, 0x9b, 0xb2, 0x1e, 0x97, 0x13, 0xd0, 0x05, 0x28, 0x85, 0x0c, 0x6a, 0x87, 0x98, 0x20, 8095 0xd2, 0x21, 0xa9, 0xdf, 0x91, 0x7b, 0x62, 0xb2, 0xfa, 0x8f, 0x04, 0xe4, 0xc2, 0xbc, 0x83, 0xe4, 8096 0x58, 0x7b, 0x5e, 0xd8, 0x79, 0xf3, 0x49, 0x77, 0x75, 0xbe, 0x39, 0x3f, 0x9f, 0x4a, 0x54, 0x87, 8097 0xf4, 0x01, 0xf1, 0x17, 0xbf, 0x88, 0x5e, 0x5f, 0xc6, 0xc7, 0x1a, 0x13, 0x45, 0x9b, 0x30, 0xd3, 8098 0xee, 0xd3, 0x26, 0x24, 0x1d, 0x5e, 0x92, 0x66, 0x2e, 0x02, 0x55, 0xc8, 0x19, 0xde, 0xc8, 0xef, 8099 0x98, 0x27, 0x7e, 0x25, 0x4b, 0xb3, 0x7a, 0x34, 0x26, 0x28, 0xec, 0xbd, 0x98, 0xa3, 0xe4, 0xe2, 8100 0xf7, 0xf1, 0x38, 0xe7, 0x66, 0x2a, 0x97, 0x10, 0x93, 0xbc, 0xe3, 0xff, 0x83, 0x00, 0x70, 0x96, 8101 0x1d, 0x49, 0x8f, 0xa9, 0xa9, 0x77, 0x75, 0x65, 0xb0, 0x5b, 0x97, 0x35, 0x1e, 0x67, 0x92, 0x72, 8102 0x8b, 0x75, 0x9f, 0x4d, 0x59, 0xe9, 0xc9, 0x3a, 0x1d, 0x53, 0x27, 0xf1, 0x2e, 0x96, 0x51, 0x92, 8103 0xa4, 0x67, 0x6e, 0x0c, 0x76, 0x69, 0xaf, 0xdb, 0x67, 0xcd, 0x3f, 0xed, 0x70, 0x59, 0xf3, 0xdf, 8104 0x95, 0xda, 0x62, 0x86, 0xc0, 0x75, 0x65, 0xa9, 0x29, 0x66, 0x49, 0xfc, 0xb4, 0x3a, 0x5a, 0xaf, 8105 0xaf, 0xdf, 0x91, 0xba, 0x03, 0x59, 0xcc, 0x11, 0xfc, 0xae, 0x14, 0x8d, 0xf3, 0x04, 0x4d, 0xe9, 8106 0xdf, 0xe0, 0x43, 0xb8, 0xf6, 0x73, 0x28, 0xcf, 0x7e, 0xb6, 0x20, 0x81, 0xbf, 0x37, 0xa8, 0x77, 8107 0x3b, 0x0d, 0x71, 0x05, 0xbd, 0x04, 0x2f, 0xb0, 0xff, 0xa4, 0x25, 0xa7, 0xb7, 0x16, 0xce, 0x12, 8108 0xea, 0x6f, 0x3d, 0xf8, 0x76, 0x7d, 0xe5, 0xc1, 0xc3, 0x75, 0xe1, 0xeb, 0x87, 0xeb, 0xc2, 0x37, 8109 0x0f, 0xd7, 0x85, 0x7f, 0x3d, 0x5c, 0x17, 0x7e, 0xf5, 0xdd, 0xfa, 0xca, 0xd7, 0xdf, 0xad, 0xaf, 8110 0x7c, 0xf3, 0xdd, 0xfa, 0xca, 0x27, 0x85, 0xd8, 0x67, 0xff, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 8111 0xbe, 0xac, 0x9e, 0xdf, 0xd1, 0x20, 0x00, 0x00, 8112 }