storj.io/minio@v0.0.0-20230509071714-0cbc90f649b1/pkg/s3select/internal/parquet-go/gen-go/parquet/parquet.go (about) 1 // Autogenerated by Thrift Compiler (0.10.0) 2 // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING 3 4 package parquet 5 6 import ( 7 "bytes" 8 "database/sql/driver" 9 "errors" 10 "fmt" 11 12 "git.apache.org/thrift.git/lib/go/thrift" 13 ) 14 15 // (needed to ensure safety because of naive import list construction.) 16 var _ = thrift.ZERO 17 var _ = fmt.Printf 18 var _ = bytes.Equal 19 20 //Types supported by Parquet. These types are intended to be used in combination 21 //with the encodings to control the on disk storage format. 22 //For example INT16 is not included as a type since a good encoding of INT32 23 //would handle this. 24 type Type int64 25 26 const ( 27 Type_BOOLEAN Type = 0 28 Type_INT32 Type = 1 29 Type_INT64 Type = 2 30 Type_INT96 Type = 3 31 Type_FLOAT Type = 4 32 Type_DOUBLE Type = 5 33 Type_BYTE_ARRAY Type = 6 34 Type_FIXED_LEN_BYTE_ARRAY Type = 7 35 ) 36 37 func (p Type) String() string { 38 switch p { 39 case Type_BOOLEAN: 40 return "BOOLEAN" 41 case Type_INT32: 42 return "INT32" 43 case Type_INT64: 44 return "INT64" 45 case Type_INT96: 46 return "INT96" 47 case Type_FLOAT: 48 return "FLOAT" 49 case Type_DOUBLE: 50 return "DOUBLE" 51 case Type_BYTE_ARRAY: 52 return "BYTE_ARRAY" 53 case Type_FIXED_LEN_BYTE_ARRAY: 54 return "FIXED_LEN_BYTE_ARRAY" 55 } 56 return "<UNSET>" 57 } 58 59 func TypeFromString(s string) (Type, error) { 60 switch s { 61 case "BOOLEAN": 62 return Type_BOOLEAN, nil 63 case "INT32": 64 return Type_INT32, nil 65 case "INT64": 66 return Type_INT64, nil 67 case "INT96": 68 return Type_INT96, nil 69 case "FLOAT": 70 return Type_FLOAT, nil 71 case "DOUBLE": 72 return Type_DOUBLE, nil 73 case "BYTE_ARRAY": 74 return Type_BYTE_ARRAY, nil 75 case "FIXED_LEN_BYTE_ARRAY": 76 return Type_FIXED_LEN_BYTE_ARRAY, nil 77 } 78 return Type(0), fmt.Errorf("not a valid Type string") 79 } 80 81 func TypePtr(v Type) *Type { return &v } 82 83 func (p Type) MarshalText() ([]byte, error) { 84 return []byte(p.String()), nil 85 } 86 87 func (p *Type) UnmarshalText(text []byte) error { 88 q, err := TypeFromString(string(text)) 89 if err != nil { 90 return err 91 } 92 *p = q 93 return nil 94 } 95 96 func (p *Type) Scan(value interface{}) error { 97 v, ok := value.(int64) 98 if !ok { 99 return errors.New("Scan value is not int64") 100 } 101 *p = Type(v) 102 return nil 103 } 104 105 func (p *Type) Value() (driver.Value, error) { 106 if p == nil { 107 return nil, nil 108 } 109 return int64(*p), nil 110 } 111 112 //Common types used by frameworks(e.g. hive, pig) using parquet. This helps map 113 //between types in those frameworks to the base types in parquet. This is only 114 //metadata and not needed to read or write the data. 115 type ConvertedType int64 116 117 const ( 118 ConvertedType_UTF8 ConvertedType = 0 119 ConvertedType_MAP ConvertedType = 1 120 ConvertedType_MAP_KEY_VALUE ConvertedType = 2 121 ConvertedType_LIST ConvertedType = 3 122 ConvertedType_ENUM ConvertedType = 4 123 ConvertedType_DECIMAL ConvertedType = 5 124 ConvertedType_DATE ConvertedType = 6 125 ConvertedType_TIME_MILLIS ConvertedType = 7 126 ConvertedType_TIME_MICROS ConvertedType = 8 127 ConvertedType_TIMESTAMP_MILLIS ConvertedType = 9 128 ConvertedType_TIMESTAMP_MICROS ConvertedType = 10 129 ConvertedType_UINT_8 ConvertedType = 11 130 ConvertedType_UINT_16 ConvertedType = 12 131 ConvertedType_UINT_32 ConvertedType = 13 132 ConvertedType_UINT_64 ConvertedType = 14 133 ConvertedType_INT_8 ConvertedType = 15 134 ConvertedType_INT_16 ConvertedType = 16 135 ConvertedType_INT_32 ConvertedType = 17 136 ConvertedType_INT_64 ConvertedType = 18 137 ConvertedType_JSON ConvertedType = 19 138 ConvertedType_BSON ConvertedType = 20 139 ConvertedType_INTERVAL ConvertedType = 21 140 ) 141 142 func (p ConvertedType) String() string { 143 switch p { 144 case ConvertedType_UTF8: 145 return "UTF8" 146 case ConvertedType_MAP: 147 return "MAP" 148 case ConvertedType_MAP_KEY_VALUE: 149 return "MAP_KEY_VALUE" 150 case ConvertedType_LIST: 151 return "LIST" 152 case ConvertedType_ENUM: 153 return "ENUM" 154 case ConvertedType_DECIMAL: 155 return "DECIMAL" 156 case ConvertedType_DATE: 157 return "DATE" 158 case ConvertedType_TIME_MILLIS: 159 return "TIME_MILLIS" 160 case ConvertedType_TIME_MICROS: 161 return "TIME_MICROS" 162 case ConvertedType_TIMESTAMP_MILLIS: 163 return "TIMESTAMP_MILLIS" 164 case ConvertedType_TIMESTAMP_MICROS: 165 return "TIMESTAMP_MICROS" 166 case ConvertedType_UINT_8: 167 return "UINT_8" 168 case ConvertedType_UINT_16: 169 return "UINT_16" 170 case ConvertedType_UINT_32: 171 return "UINT_32" 172 case ConvertedType_UINT_64: 173 return "UINT_64" 174 case ConvertedType_INT_8: 175 return "INT_8" 176 case ConvertedType_INT_16: 177 return "INT_16" 178 case ConvertedType_INT_32: 179 return "INT_32" 180 case ConvertedType_INT_64: 181 return "INT_64" 182 case ConvertedType_JSON: 183 return "JSON" 184 case ConvertedType_BSON: 185 return "BSON" 186 case ConvertedType_INTERVAL: 187 return "INTERVAL" 188 } 189 return "<UNSET>" 190 } 191 192 func ConvertedTypeFromString(s string) (ConvertedType, error) { 193 switch s { 194 case "UTF8": 195 return ConvertedType_UTF8, nil 196 case "MAP": 197 return ConvertedType_MAP, nil 198 case "MAP_KEY_VALUE": 199 return ConvertedType_MAP_KEY_VALUE, nil 200 case "LIST": 201 return ConvertedType_LIST, nil 202 case "ENUM": 203 return ConvertedType_ENUM, nil 204 case "DECIMAL": 205 return ConvertedType_DECIMAL, nil 206 case "DATE": 207 return ConvertedType_DATE, nil 208 case "TIME_MILLIS": 209 return ConvertedType_TIME_MILLIS, nil 210 case "TIME_MICROS": 211 return ConvertedType_TIME_MICROS, nil 212 case "TIMESTAMP_MILLIS": 213 return ConvertedType_TIMESTAMP_MILLIS, nil 214 case "TIMESTAMP_MICROS": 215 return ConvertedType_TIMESTAMP_MICROS, nil 216 case "UINT_8": 217 return ConvertedType_UINT_8, nil 218 case "UINT_16": 219 return ConvertedType_UINT_16, nil 220 case "UINT_32": 221 return ConvertedType_UINT_32, nil 222 case "UINT_64": 223 return ConvertedType_UINT_64, nil 224 case "INT_8": 225 return ConvertedType_INT_8, nil 226 case "INT_16": 227 return ConvertedType_INT_16, nil 228 case "INT_32": 229 return ConvertedType_INT_32, nil 230 case "INT_64": 231 return ConvertedType_INT_64, nil 232 case "JSON": 233 return ConvertedType_JSON, nil 234 case "BSON": 235 return ConvertedType_BSON, nil 236 case "INTERVAL": 237 return ConvertedType_INTERVAL, nil 238 } 239 return ConvertedType(0), fmt.Errorf("not a valid ConvertedType string") 240 } 241 242 func ConvertedTypePtr(v ConvertedType) *ConvertedType { return &v } 243 244 func (p ConvertedType) MarshalText() ([]byte, error) { 245 return []byte(p.String()), nil 246 } 247 248 func (p *ConvertedType) UnmarshalText(text []byte) error { 249 q, err := ConvertedTypeFromString(string(text)) 250 if err != nil { 251 return err 252 } 253 *p = q 254 return nil 255 } 256 257 func (p *ConvertedType) Scan(value interface{}) error { 258 v, ok := value.(int64) 259 if !ok { 260 return errors.New("Scan value is not int64") 261 } 262 *p = ConvertedType(v) 263 return nil 264 } 265 266 func (p *ConvertedType) Value() (driver.Value, error) { 267 if p == nil { 268 return nil, nil 269 } 270 return int64(*p), nil 271 } 272 273 //Representation of Schemas 274 type FieldRepetitionType int64 275 276 const ( 277 FieldRepetitionType_REQUIRED FieldRepetitionType = 0 278 FieldRepetitionType_OPTIONAL FieldRepetitionType = 1 279 FieldRepetitionType_REPEATED FieldRepetitionType = 2 280 ) 281 282 func (p FieldRepetitionType) String() string { 283 switch p { 284 case FieldRepetitionType_REQUIRED: 285 return "REQUIRED" 286 case FieldRepetitionType_OPTIONAL: 287 return "OPTIONAL" 288 case FieldRepetitionType_REPEATED: 289 return "REPEATED" 290 } 291 return "<UNSET>" 292 } 293 294 func FieldRepetitionTypeFromString(s string) (FieldRepetitionType, error) { 295 switch s { 296 case "REQUIRED": 297 return FieldRepetitionType_REQUIRED, nil 298 case "OPTIONAL": 299 return FieldRepetitionType_OPTIONAL, nil 300 case "REPEATED": 301 return FieldRepetitionType_REPEATED, nil 302 } 303 return FieldRepetitionType(0), fmt.Errorf("not a valid FieldRepetitionType string") 304 } 305 306 func FieldRepetitionTypePtr(v FieldRepetitionType) *FieldRepetitionType { return &v } 307 308 func (p FieldRepetitionType) MarshalText() ([]byte, error) { 309 return []byte(p.String()), nil 310 } 311 312 func (p *FieldRepetitionType) UnmarshalText(text []byte) error { 313 q, err := FieldRepetitionTypeFromString(string(text)) 314 if err != nil { 315 return err 316 } 317 *p = q 318 return nil 319 } 320 321 func (p *FieldRepetitionType) Scan(value interface{}) error { 322 v, ok := value.(int64) 323 if !ok { 324 return errors.New("Scan value is not int64") 325 } 326 *p = FieldRepetitionType(v) 327 return nil 328 } 329 330 func (p *FieldRepetitionType) Value() (driver.Value, error) { 331 if p == nil { 332 return nil, nil 333 } 334 return int64(*p), nil 335 } 336 337 //Encodings supported by Parquet. Not all encodings are valid for all types. These 338 //enums are also used to specify the encoding of definition and repetition levels. 339 //See the accompanying doc for the details of the more complicated encodings. 340 type Encoding int64 341 342 const ( 343 Encoding_PLAIN Encoding = 0 344 Encoding_PLAIN_DICTIONARY Encoding = 2 345 Encoding_RLE Encoding = 3 346 Encoding_BIT_PACKED Encoding = 4 347 Encoding_DELTA_BINARY_PACKED Encoding = 5 348 Encoding_DELTA_LENGTH_BYTE_ARRAY Encoding = 6 349 Encoding_DELTA_BYTE_ARRAY Encoding = 7 350 Encoding_RLE_DICTIONARY Encoding = 8 351 ) 352 353 func (p Encoding) String() string { 354 switch p { 355 case Encoding_PLAIN: 356 return "PLAIN" 357 case Encoding_PLAIN_DICTIONARY: 358 return "PLAIN_DICTIONARY" 359 case Encoding_RLE: 360 return "RLE" 361 case Encoding_BIT_PACKED: 362 return "BIT_PACKED" 363 case Encoding_DELTA_BINARY_PACKED: 364 return "DELTA_BINARY_PACKED" 365 case Encoding_DELTA_LENGTH_BYTE_ARRAY: 366 return "DELTA_LENGTH_BYTE_ARRAY" 367 case Encoding_DELTA_BYTE_ARRAY: 368 return "DELTA_BYTE_ARRAY" 369 case Encoding_RLE_DICTIONARY: 370 return "RLE_DICTIONARY" 371 } 372 return "<UNSET>" 373 } 374 375 func EncodingFromString(s string) (Encoding, error) { 376 switch s { 377 case "PLAIN": 378 return Encoding_PLAIN, nil 379 case "PLAIN_DICTIONARY": 380 return Encoding_PLAIN_DICTIONARY, nil 381 case "RLE": 382 return Encoding_RLE, nil 383 case "BIT_PACKED": 384 return Encoding_BIT_PACKED, nil 385 case "DELTA_BINARY_PACKED": 386 return Encoding_DELTA_BINARY_PACKED, nil 387 case "DELTA_LENGTH_BYTE_ARRAY": 388 return Encoding_DELTA_LENGTH_BYTE_ARRAY, nil 389 case "DELTA_BYTE_ARRAY": 390 return Encoding_DELTA_BYTE_ARRAY, nil 391 case "RLE_DICTIONARY": 392 return Encoding_RLE_DICTIONARY, nil 393 } 394 return Encoding(0), fmt.Errorf("not a valid Encoding string") 395 } 396 397 func EncodingPtr(v Encoding) *Encoding { return &v } 398 399 func (p Encoding) MarshalText() ([]byte, error) { 400 return []byte(p.String()), nil 401 } 402 403 func (p *Encoding) UnmarshalText(text []byte) error { 404 q, err := EncodingFromString(string(text)) 405 if err != nil { 406 return err 407 } 408 *p = q 409 return nil 410 } 411 412 func (p *Encoding) Scan(value interface{}) error { 413 v, ok := value.(int64) 414 if !ok { 415 return errors.New("Scan value is not int64") 416 } 417 *p = Encoding(v) 418 return nil 419 } 420 421 func (p *Encoding) Value() (driver.Value, error) { 422 if p == nil { 423 return nil, nil 424 } 425 return int64(*p), nil 426 } 427 428 //Supported compression algorithms. 429 // 430 //Codecs added in 2.4 can be read by readers based on 2.4 and later. 431 //Codec support may vary between readers based on the format version and 432 //libraries available at runtime. Gzip, Snappy, and LZ4 codecs are 433 //widely available, while Zstd and Brotli require additional libraries. 434 type CompressionCodec int64 435 436 const ( 437 CompressionCodec_UNCOMPRESSED CompressionCodec = 0 438 CompressionCodec_SNAPPY CompressionCodec = 1 439 CompressionCodec_GZIP CompressionCodec = 2 440 CompressionCodec_LZO CompressionCodec = 3 441 CompressionCodec_BROTLI CompressionCodec = 4 442 CompressionCodec_LZ4 CompressionCodec = 5 443 CompressionCodec_ZSTD CompressionCodec = 6 444 ) 445 446 func (p CompressionCodec) String() string { 447 switch p { 448 case CompressionCodec_UNCOMPRESSED: 449 return "UNCOMPRESSED" 450 case CompressionCodec_SNAPPY: 451 return "SNAPPY" 452 case CompressionCodec_GZIP: 453 return "GZIP" 454 case CompressionCodec_LZO: 455 return "LZO" 456 case CompressionCodec_BROTLI: 457 return "BROTLI" 458 case CompressionCodec_LZ4: 459 return "LZ4" 460 case CompressionCodec_ZSTD: 461 return "ZSTD" 462 } 463 return "<UNSET>" 464 } 465 466 func CompressionCodecFromString(s string) (CompressionCodec, error) { 467 switch s { 468 case "UNCOMPRESSED": 469 return CompressionCodec_UNCOMPRESSED, nil 470 case "SNAPPY": 471 return CompressionCodec_SNAPPY, nil 472 case "GZIP": 473 return CompressionCodec_GZIP, nil 474 case "LZO": 475 return CompressionCodec_LZO, nil 476 case "BROTLI": 477 return CompressionCodec_BROTLI, nil 478 case "LZ4": 479 return CompressionCodec_LZ4, nil 480 case "ZSTD": 481 return CompressionCodec_ZSTD, nil 482 } 483 return CompressionCodec(0), fmt.Errorf("not a valid CompressionCodec string") 484 } 485 486 func CompressionCodecPtr(v CompressionCodec) *CompressionCodec { return &v } 487 488 func (p CompressionCodec) MarshalText() ([]byte, error) { 489 return []byte(p.String()), nil 490 } 491 492 func (p *CompressionCodec) UnmarshalText(text []byte) error { 493 q, err := CompressionCodecFromString(string(text)) 494 if err != nil { 495 return err 496 } 497 *p = q 498 return nil 499 } 500 501 func (p *CompressionCodec) Scan(value interface{}) error { 502 v, ok := value.(int64) 503 if !ok { 504 return errors.New("Scan value is not int64") 505 } 506 *p = CompressionCodec(v) 507 return nil 508 } 509 510 func (p *CompressionCodec) Value() (driver.Value, error) { 511 if p == nil { 512 return nil, nil 513 } 514 return int64(*p), nil 515 } 516 517 type PageType int64 518 519 const ( 520 PageType_DATA_PAGE PageType = 0 521 PageType_INDEX_PAGE PageType = 1 522 PageType_DICTIONARY_PAGE PageType = 2 523 PageType_DATA_PAGE_V2 PageType = 3 524 ) 525 526 func (p PageType) String() string { 527 switch p { 528 case PageType_DATA_PAGE: 529 return "DATA_PAGE" 530 case PageType_INDEX_PAGE: 531 return "INDEX_PAGE" 532 case PageType_DICTIONARY_PAGE: 533 return "DICTIONARY_PAGE" 534 case PageType_DATA_PAGE_V2: 535 return "DATA_PAGE_V2" 536 } 537 return "<UNSET>" 538 } 539 540 func PageTypeFromString(s string) (PageType, error) { 541 switch s { 542 case "DATA_PAGE": 543 return PageType_DATA_PAGE, nil 544 case "INDEX_PAGE": 545 return PageType_INDEX_PAGE, nil 546 case "DICTIONARY_PAGE": 547 return PageType_DICTIONARY_PAGE, nil 548 case "DATA_PAGE_V2": 549 return PageType_DATA_PAGE_V2, nil 550 } 551 return PageType(0), fmt.Errorf("not a valid PageType string") 552 } 553 554 func PageTypePtr(v PageType) *PageType { return &v } 555 556 func (p PageType) MarshalText() ([]byte, error) { 557 return []byte(p.String()), nil 558 } 559 560 func (p *PageType) UnmarshalText(text []byte) error { 561 q, err := PageTypeFromString(string(text)) 562 if err != nil { 563 return err 564 } 565 *p = q 566 return nil 567 } 568 569 func (p *PageType) Scan(value interface{}) error { 570 v, ok := value.(int64) 571 if !ok { 572 return errors.New("Scan value is not int64") 573 } 574 *p = PageType(v) 575 return nil 576 } 577 578 func (p *PageType) Value() (driver.Value, error) { 579 if p == nil { 580 return nil, nil 581 } 582 return int64(*p), nil 583 } 584 585 //Enum to annotate whether lists of min/max elements inside ColumnIndex 586 //are ordered and if so, in which direction. 587 type BoundaryOrder int64 588 589 const ( 590 BoundaryOrder_UNORDERED BoundaryOrder = 0 591 BoundaryOrder_ASCENDING BoundaryOrder = 1 592 BoundaryOrder_DESCENDING BoundaryOrder = 2 593 ) 594 595 func (p BoundaryOrder) String() string { 596 switch p { 597 case BoundaryOrder_UNORDERED: 598 return "UNORDERED" 599 case BoundaryOrder_ASCENDING: 600 return "ASCENDING" 601 case BoundaryOrder_DESCENDING: 602 return "DESCENDING" 603 } 604 return "<UNSET>" 605 } 606 607 func BoundaryOrderFromString(s string) (BoundaryOrder, error) { 608 switch s { 609 case "UNORDERED": 610 return BoundaryOrder_UNORDERED, nil 611 case "ASCENDING": 612 return BoundaryOrder_ASCENDING, nil 613 case "DESCENDING": 614 return BoundaryOrder_DESCENDING, nil 615 } 616 return BoundaryOrder(0), fmt.Errorf("not a valid BoundaryOrder string") 617 } 618 619 func BoundaryOrderPtr(v BoundaryOrder) *BoundaryOrder { return &v } 620 621 func (p BoundaryOrder) MarshalText() ([]byte, error) { 622 return []byte(p.String()), nil 623 } 624 625 func (p *BoundaryOrder) UnmarshalText(text []byte) error { 626 q, err := BoundaryOrderFromString(string(text)) 627 if err != nil { 628 return err 629 } 630 *p = q 631 return nil 632 } 633 634 func (p *BoundaryOrder) Scan(value interface{}) error { 635 v, ok := value.(int64) 636 if !ok { 637 return errors.New("Scan value is not int64") 638 } 639 *p = BoundaryOrder(v) 640 return nil 641 } 642 643 func (p *BoundaryOrder) Value() (driver.Value, error) { 644 if p == nil { 645 return nil, nil 646 } 647 return int64(*p), nil 648 } 649 650 // Statistics per row group and per page 651 // All fields are optional. 652 // 653 // Attributes: 654 // - Max: DEPRECATED: min and max value of the column. Use min_value and max_value. 655 // 656 // Values are encoded using PLAIN encoding, except that variable-length byte 657 // arrays do not include a length prefix. 658 // 659 // These fields encode min and max values determined by signed comparison 660 // only. New files should use the correct order for a column's logical type 661 // and store the values in the min_value and max_value fields. 662 // 663 // To support older readers, these may be set when the column order is 664 // signed. 665 // - Min 666 // - NullCount: count of null value in the column 667 // - DistinctCount: count of distinct values occurring 668 // - MaxValue: Min and max values for the column, determined by its ColumnOrder. 669 // 670 // Values are encoded using PLAIN encoding, except that variable-length byte 671 // arrays do not include a length prefix. 672 // - MinValue 673 type Statistics struct { 674 Max []byte `thrift:"max,1" db:"max" json:"max,omitempty"` 675 Min []byte `thrift:"min,2" db:"min" json:"min,omitempty"` 676 NullCount *int64 `thrift:"null_count,3" db:"null_count" json:"null_count,omitempty"` 677 DistinctCount *int64 `thrift:"distinct_count,4" db:"distinct_count" json:"distinct_count,omitempty"` 678 MaxValue []byte `thrift:"max_value,5" db:"max_value" json:"max_value,omitempty"` 679 MinValue []byte `thrift:"min_value,6" db:"min_value" json:"min_value,omitempty"` 680 } 681 682 func NewStatistics() *Statistics { 683 return &Statistics{} 684 } 685 686 var Statistics_Max_DEFAULT []byte 687 688 func (p *Statistics) GetMax() []byte { 689 return p.Max 690 } 691 692 var Statistics_Min_DEFAULT []byte 693 694 func (p *Statistics) GetMin() []byte { 695 return p.Min 696 } 697 698 var Statistics_NullCount_DEFAULT int64 699 700 func (p *Statistics) GetNullCount() int64 { 701 if !p.IsSetNullCount() { 702 return Statistics_NullCount_DEFAULT 703 } 704 return *p.NullCount 705 } 706 707 var Statistics_DistinctCount_DEFAULT int64 708 709 func (p *Statistics) GetDistinctCount() int64 { 710 if !p.IsSetDistinctCount() { 711 return Statistics_DistinctCount_DEFAULT 712 } 713 return *p.DistinctCount 714 } 715 716 var Statistics_MaxValue_DEFAULT []byte 717 718 func (p *Statistics) GetMaxValue() []byte { 719 return p.MaxValue 720 } 721 722 var Statistics_MinValue_DEFAULT []byte 723 724 func (p *Statistics) GetMinValue() []byte { 725 return p.MinValue 726 } 727 func (p *Statistics) IsSetMax() bool { 728 return p.Max != nil 729 } 730 731 func (p *Statistics) IsSetMin() bool { 732 return p.Min != nil 733 } 734 735 func (p *Statistics) IsSetNullCount() bool { 736 return p.NullCount != nil 737 } 738 739 func (p *Statistics) IsSetDistinctCount() bool { 740 return p.DistinctCount != nil 741 } 742 743 func (p *Statistics) IsSetMaxValue() bool { 744 return p.MaxValue != nil 745 } 746 747 func (p *Statistics) IsSetMinValue() bool { 748 return p.MinValue != nil 749 } 750 751 func (p *Statistics) Read(iprot thrift.TProtocol) error { 752 if _, err := iprot.ReadStructBegin(); err != nil { 753 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 754 } 755 756 for { 757 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 758 if err != nil { 759 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 760 } 761 if fieldTypeId == thrift.STOP { 762 break 763 } 764 switch fieldId { 765 case 1: 766 if err := p.ReadField1(iprot); err != nil { 767 return err 768 } 769 case 2: 770 if err := p.ReadField2(iprot); err != nil { 771 return err 772 } 773 case 3: 774 if err := p.ReadField3(iprot); err != nil { 775 return err 776 } 777 case 4: 778 if err := p.ReadField4(iprot); err != nil { 779 return err 780 } 781 case 5: 782 if err := p.ReadField5(iprot); err != nil { 783 return err 784 } 785 case 6: 786 if err := p.ReadField6(iprot); err != nil { 787 return err 788 } 789 default: 790 if err := iprot.Skip(fieldTypeId); err != nil { 791 return err 792 } 793 } 794 if err := iprot.ReadFieldEnd(); err != nil { 795 return err 796 } 797 } 798 if err := iprot.ReadStructEnd(); err != nil { 799 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 800 } 801 return nil 802 } 803 804 func (p *Statistics) ReadField1(iprot thrift.TProtocol) error { 805 if v, err := iprot.ReadBinary(); err != nil { 806 return thrift.PrependError("error reading field 1: ", err) 807 } else { 808 p.Max = v 809 } 810 return nil 811 } 812 813 func (p *Statistics) ReadField2(iprot thrift.TProtocol) error { 814 if v, err := iprot.ReadBinary(); err != nil { 815 return thrift.PrependError("error reading field 2: ", err) 816 } else { 817 p.Min = v 818 } 819 return nil 820 } 821 822 func (p *Statistics) ReadField3(iprot thrift.TProtocol) error { 823 if v, err := iprot.ReadI64(); err != nil { 824 return thrift.PrependError("error reading field 3: ", err) 825 } else { 826 p.NullCount = &v 827 } 828 return nil 829 } 830 831 func (p *Statistics) ReadField4(iprot thrift.TProtocol) error { 832 if v, err := iprot.ReadI64(); err != nil { 833 return thrift.PrependError("error reading field 4: ", err) 834 } else { 835 p.DistinctCount = &v 836 } 837 return nil 838 } 839 840 func (p *Statistics) ReadField5(iprot thrift.TProtocol) error { 841 if v, err := iprot.ReadBinary(); err != nil { 842 return thrift.PrependError("error reading field 5: ", err) 843 } else { 844 p.MaxValue = v 845 } 846 return nil 847 } 848 849 func (p *Statistics) ReadField6(iprot thrift.TProtocol) error { 850 if v, err := iprot.ReadBinary(); err != nil { 851 return thrift.PrependError("error reading field 6: ", err) 852 } else { 853 p.MinValue = v 854 } 855 return nil 856 } 857 858 func (p *Statistics) Write(oprot thrift.TProtocol) error { 859 if err := oprot.WriteStructBegin("Statistics"); err != nil { 860 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 861 } 862 if p != nil { 863 if err := p.writeField1(oprot); err != nil { 864 return err 865 } 866 if err := p.writeField2(oprot); err != nil { 867 return err 868 } 869 if err := p.writeField3(oprot); err != nil { 870 return err 871 } 872 if err := p.writeField4(oprot); err != nil { 873 return err 874 } 875 if err := p.writeField5(oprot); err != nil { 876 return err 877 } 878 if err := p.writeField6(oprot); err != nil { 879 return err 880 } 881 } 882 if err := oprot.WriteFieldStop(); err != nil { 883 return thrift.PrependError("write field stop error: ", err) 884 } 885 if err := oprot.WriteStructEnd(); err != nil { 886 return thrift.PrependError("write struct stop error: ", err) 887 } 888 return nil 889 } 890 891 func (p *Statistics) writeField1(oprot thrift.TProtocol) (err error) { 892 if p.IsSetMax() { 893 if err := oprot.WriteFieldBegin("max", thrift.STRING, 1); err != nil { 894 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:max: ", p), err) 895 } 896 if err := oprot.WriteBinary(p.Max); err != nil { 897 return thrift.PrependError(fmt.Sprintf("%T.max (1) field write error: ", p), err) 898 } 899 if err := oprot.WriteFieldEnd(); err != nil { 900 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:max: ", p), err) 901 } 902 } 903 return err 904 } 905 906 func (p *Statistics) writeField2(oprot thrift.TProtocol) (err error) { 907 if p.IsSetMin() { 908 if err := oprot.WriteFieldBegin("min", thrift.STRING, 2); err != nil { 909 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:min: ", p), err) 910 } 911 if err := oprot.WriteBinary(p.Min); err != nil { 912 return thrift.PrependError(fmt.Sprintf("%T.min (2) field write error: ", p), err) 913 } 914 if err := oprot.WriteFieldEnd(); err != nil { 915 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:min: ", p), err) 916 } 917 } 918 return err 919 } 920 921 func (p *Statistics) writeField3(oprot thrift.TProtocol) (err error) { 922 if p.IsSetNullCount() { 923 if err := oprot.WriteFieldBegin("null_count", thrift.I64, 3); err != nil { 924 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:null_count: ", p), err) 925 } 926 if err := oprot.WriteI64(*p.NullCount); err != nil { 927 return thrift.PrependError(fmt.Sprintf("%T.null_count (3) field write error: ", p), err) 928 } 929 if err := oprot.WriteFieldEnd(); err != nil { 930 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:null_count: ", p), err) 931 } 932 } 933 return err 934 } 935 936 func (p *Statistics) writeField4(oprot thrift.TProtocol) (err error) { 937 if p.IsSetDistinctCount() { 938 if err := oprot.WriteFieldBegin("distinct_count", thrift.I64, 4); err != nil { 939 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:distinct_count: ", p), err) 940 } 941 if err := oprot.WriteI64(*p.DistinctCount); err != nil { 942 return thrift.PrependError(fmt.Sprintf("%T.distinct_count (4) field write error: ", p), err) 943 } 944 if err := oprot.WriteFieldEnd(); err != nil { 945 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:distinct_count: ", p), err) 946 } 947 } 948 return err 949 } 950 951 func (p *Statistics) writeField5(oprot thrift.TProtocol) (err error) { 952 if p.IsSetMaxValue() { 953 if err := oprot.WriteFieldBegin("max_value", thrift.STRING, 5); err != nil { 954 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:max_value: ", p), err) 955 } 956 if err := oprot.WriteBinary(p.MaxValue); err != nil { 957 return thrift.PrependError(fmt.Sprintf("%T.max_value (5) field write error: ", p), err) 958 } 959 if err := oprot.WriteFieldEnd(); err != nil { 960 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:max_value: ", p), err) 961 } 962 } 963 return err 964 } 965 966 func (p *Statistics) writeField6(oprot thrift.TProtocol) (err error) { 967 if p.IsSetMinValue() { 968 if err := oprot.WriteFieldBegin("min_value", thrift.STRING, 6); err != nil { 969 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:min_value: ", p), err) 970 } 971 if err := oprot.WriteBinary(p.MinValue); err != nil { 972 return thrift.PrependError(fmt.Sprintf("%T.min_value (6) field write error: ", p), err) 973 } 974 if err := oprot.WriteFieldEnd(); err != nil { 975 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:min_value: ", p), err) 976 } 977 } 978 return err 979 } 980 981 func (p *Statistics) String() string { 982 if p == nil { 983 return "<nil>" 984 } 985 return fmt.Sprintf("Statistics(%+v)", *p) 986 } 987 988 // Empty structs to use as logical type annotations 989 type StringType struct { 990 } 991 992 func NewStringType() *StringType { 993 return &StringType{} 994 } 995 996 func (p *StringType) Read(iprot thrift.TProtocol) error { 997 if _, err := iprot.ReadStructBegin(); err != nil { 998 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 999 } 1000 1001 for { 1002 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1003 if err != nil { 1004 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1005 } 1006 if fieldTypeId == thrift.STOP { 1007 break 1008 } 1009 if err := iprot.Skip(fieldTypeId); err != nil { 1010 return err 1011 } 1012 if err := iprot.ReadFieldEnd(); err != nil { 1013 return err 1014 } 1015 } 1016 if err := iprot.ReadStructEnd(); err != nil { 1017 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1018 } 1019 return nil 1020 } 1021 1022 func (p *StringType) Write(oprot thrift.TProtocol) error { 1023 if err := oprot.WriteStructBegin("StringType"); err != nil { 1024 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1025 } 1026 if p != nil { 1027 } 1028 if err := oprot.WriteFieldStop(); err != nil { 1029 return thrift.PrependError("write field stop error: ", err) 1030 } 1031 if err := oprot.WriteStructEnd(); err != nil { 1032 return thrift.PrependError("write struct stop error: ", err) 1033 } 1034 return nil 1035 } 1036 1037 func (p *StringType) String() string { 1038 if p == nil { 1039 return "<nil>" 1040 } 1041 return fmt.Sprintf("StringType(%+v)", *p) 1042 } 1043 1044 type UUIDType struct { 1045 } 1046 1047 func NewUUIDType() *UUIDType { 1048 return &UUIDType{} 1049 } 1050 1051 func (p *UUIDType) Read(iprot thrift.TProtocol) error { 1052 if _, err := iprot.ReadStructBegin(); err != nil { 1053 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1054 } 1055 1056 for { 1057 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1058 if err != nil { 1059 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1060 } 1061 if fieldTypeId == thrift.STOP { 1062 break 1063 } 1064 if err := iprot.Skip(fieldTypeId); err != nil { 1065 return err 1066 } 1067 if err := iprot.ReadFieldEnd(); err != nil { 1068 return err 1069 } 1070 } 1071 if err := iprot.ReadStructEnd(); err != nil { 1072 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1073 } 1074 return nil 1075 } 1076 1077 func (p *UUIDType) Write(oprot thrift.TProtocol) error { 1078 if err := oprot.WriteStructBegin("UUIDType"); err != nil { 1079 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1080 } 1081 if p != nil { 1082 } 1083 if err := oprot.WriteFieldStop(); err != nil { 1084 return thrift.PrependError("write field stop error: ", err) 1085 } 1086 if err := oprot.WriteStructEnd(); err != nil { 1087 return thrift.PrependError("write struct stop error: ", err) 1088 } 1089 return nil 1090 } 1091 1092 func (p *UUIDType) String() string { 1093 if p == nil { 1094 return "<nil>" 1095 } 1096 return fmt.Sprintf("UUIDType(%+v)", *p) 1097 } 1098 1099 type MapType struct { 1100 } 1101 1102 func NewMapType() *MapType { 1103 return &MapType{} 1104 } 1105 1106 func (p *MapType) Read(iprot thrift.TProtocol) error { 1107 if _, err := iprot.ReadStructBegin(); err != nil { 1108 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1109 } 1110 1111 for { 1112 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1113 if err != nil { 1114 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1115 } 1116 if fieldTypeId == thrift.STOP { 1117 break 1118 } 1119 if err := iprot.Skip(fieldTypeId); err != nil { 1120 return err 1121 } 1122 if err := iprot.ReadFieldEnd(); err != nil { 1123 return err 1124 } 1125 } 1126 if err := iprot.ReadStructEnd(); err != nil { 1127 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1128 } 1129 return nil 1130 } 1131 1132 func (p *MapType) Write(oprot thrift.TProtocol) error { 1133 if err := oprot.WriteStructBegin("MapType"); err != nil { 1134 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1135 } 1136 if p != nil { 1137 } 1138 if err := oprot.WriteFieldStop(); err != nil { 1139 return thrift.PrependError("write field stop error: ", err) 1140 } 1141 if err := oprot.WriteStructEnd(); err != nil { 1142 return thrift.PrependError("write struct stop error: ", err) 1143 } 1144 return nil 1145 } 1146 1147 func (p *MapType) String() string { 1148 if p == nil { 1149 return "<nil>" 1150 } 1151 return fmt.Sprintf("MapType(%+v)", *p) 1152 } 1153 1154 type ListType struct { 1155 } 1156 1157 func NewListType() *ListType { 1158 return &ListType{} 1159 } 1160 1161 func (p *ListType) Read(iprot thrift.TProtocol) error { 1162 if _, err := iprot.ReadStructBegin(); err != nil { 1163 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1164 } 1165 1166 for { 1167 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1168 if err != nil { 1169 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1170 } 1171 if fieldTypeId == thrift.STOP { 1172 break 1173 } 1174 if err := iprot.Skip(fieldTypeId); err != nil { 1175 return err 1176 } 1177 if err := iprot.ReadFieldEnd(); err != nil { 1178 return err 1179 } 1180 } 1181 if err := iprot.ReadStructEnd(); err != nil { 1182 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1183 } 1184 return nil 1185 } 1186 1187 func (p *ListType) Write(oprot thrift.TProtocol) error { 1188 if err := oprot.WriteStructBegin("ListType"); err != nil { 1189 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1190 } 1191 if p != nil { 1192 } 1193 if err := oprot.WriteFieldStop(); err != nil { 1194 return thrift.PrependError("write field stop error: ", err) 1195 } 1196 if err := oprot.WriteStructEnd(); err != nil { 1197 return thrift.PrependError("write struct stop error: ", err) 1198 } 1199 return nil 1200 } 1201 1202 func (p *ListType) String() string { 1203 if p == nil { 1204 return "<nil>" 1205 } 1206 return fmt.Sprintf("ListType(%+v)", *p) 1207 } 1208 1209 type EnumType struct { 1210 } 1211 1212 func NewEnumType() *EnumType { 1213 return &EnumType{} 1214 } 1215 1216 func (p *EnumType) Read(iprot thrift.TProtocol) error { 1217 if _, err := iprot.ReadStructBegin(); err != nil { 1218 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1219 } 1220 1221 for { 1222 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1223 if err != nil { 1224 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1225 } 1226 if fieldTypeId == thrift.STOP { 1227 break 1228 } 1229 if err := iprot.Skip(fieldTypeId); err != nil { 1230 return err 1231 } 1232 if err := iprot.ReadFieldEnd(); err != nil { 1233 return err 1234 } 1235 } 1236 if err := iprot.ReadStructEnd(); err != nil { 1237 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1238 } 1239 return nil 1240 } 1241 1242 func (p *EnumType) Write(oprot thrift.TProtocol) error { 1243 if err := oprot.WriteStructBegin("EnumType"); err != nil { 1244 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1245 } 1246 if p != nil { 1247 } 1248 if err := oprot.WriteFieldStop(); err != nil { 1249 return thrift.PrependError("write field stop error: ", err) 1250 } 1251 if err := oprot.WriteStructEnd(); err != nil { 1252 return thrift.PrependError("write struct stop error: ", err) 1253 } 1254 return nil 1255 } 1256 1257 func (p *EnumType) String() string { 1258 if p == nil { 1259 return "<nil>" 1260 } 1261 return fmt.Sprintf("EnumType(%+v)", *p) 1262 } 1263 1264 type DateType struct { 1265 } 1266 1267 func NewDateType() *DateType { 1268 return &DateType{} 1269 } 1270 1271 func (p *DateType) Read(iprot thrift.TProtocol) error { 1272 if _, err := iprot.ReadStructBegin(); err != nil { 1273 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1274 } 1275 1276 for { 1277 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1278 if err != nil { 1279 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1280 } 1281 if fieldTypeId == thrift.STOP { 1282 break 1283 } 1284 if err := iprot.Skip(fieldTypeId); err != nil { 1285 return err 1286 } 1287 if err := iprot.ReadFieldEnd(); err != nil { 1288 return err 1289 } 1290 } 1291 if err := iprot.ReadStructEnd(); err != nil { 1292 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1293 } 1294 return nil 1295 } 1296 1297 func (p *DateType) Write(oprot thrift.TProtocol) error { 1298 if err := oprot.WriteStructBegin("DateType"); err != nil { 1299 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1300 } 1301 if p != nil { 1302 } 1303 if err := oprot.WriteFieldStop(); err != nil { 1304 return thrift.PrependError("write field stop error: ", err) 1305 } 1306 if err := oprot.WriteStructEnd(); err != nil { 1307 return thrift.PrependError("write struct stop error: ", err) 1308 } 1309 return nil 1310 } 1311 1312 func (p *DateType) String() string { 1313 if p == nil { 1314 return "<nil>" 1315 } 1316 return fmt.Sprintf("DateType(%+v)", *p) 1317 } 1318 1319 // Logical type to annotate a column that is always null. 1320 // 1321 // Sometimes when discovering the schema of existing data, values are always 1322 // null and the physical type can't be determined. This annotation signals 1323 // the case where the physical type was guessed from all null values. 1324 type NullType struct { 1325 } 1326 1327 func NewNullType() *NullType { 1328 return &NullType{} 1329 } 1330 1331 func (p *NullType) Read(iprot thrift.TProtocol) error { 1332 if _, err := iprot.ReadStructBegin(); err != nil { 1333 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1334 } 1335 1336 for { 1337 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1338 if err != nil { 1339 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1340 } 1341 if fieldTypeId == thrift.STOP { 1342 break 1343 } 1344 if err := iprot.Skip(fieldTypeId); err != nil { 1345 return err 1346 } 1347 if err := iprot.ReadFieldEnd(); err != nil { 1348 return err 1349 } 1350 } 1351 if err := iprot.ReadStructEnd(); err != nil { 1352 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1353 } 1354 return nil 1355 } 1356 1357 func (p *NullType) Write(oprot thrift.TProtocol) error { 1358 if err := oprot.WriteStructBegin("NullType"); err != nil { 1359 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1360 } 1361 if p != nil { 1362 } 1363 if err := oprot.WriteFieldStop(); err != nil { 1364 return thrift.PrependError("write field stop error: ", err) 1365 } 1366 if err := oprot.WriteStructEnd(); err != nil { 1367 return thrift.PrependError("write struct stop error: ", err) 1368 } 1369 return nil 1370 } 1371 1372 func (p *NullType) String() string { 1373 if p == nil { 1374 return "<nil>" 1375 } 1376 return fmt.Sprintf("NullType(%+v)", *p) 1377 } 1378 1379 // Decimal logical type annotation 1380 // 1381 // To maintain forward-compatibility in v1, implementations using this logical 1382 // type must also set scale and precision on the annotated SchemaElement. 1383 // 1384 // Allowed for physical types: INT32, INT64, FIXED, and BINARY 1385 // 1386 // Attributes: 1387 // - Scale 1388 // - Precision 1389 type DecimalType struct { 1390 Scale int32 `thrift:"scale,1,required" db:"scale" json:"scale"` 1391 Precision int32 `thrift:"precision,2,required" db:"precision" json:"precision"` 1392 } 1393 1394 func NewDecimalType() *DecimalType { 1395 return &DecimalType{} 1396 } 1397 1398 func (p *DecimalType) GetScale() int32 { 1399 return p.Scale 1400 } 1401 1402 func (p *DecimalType) GetPrecision() int32 { 1403 return p.Precision 1404 } 1405 func (p *DecimalType) Read(iprot thrift.TProtocol) error { 1406 if _, err := iprot.ReadStructBegin(); err != nil { 1407 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1408 } 1409 1410 var issetScale bool = false 1411 var issetPrecision bool = false 1412 1413 for { 1414 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1415 if err != nil { 1416 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1417 } 1418 if fieldTypeId == thrift.STOP { 1419 break 1420 } 1421 switch fieldId { 1422 case 1: 1423 if err := p.ReadField1(iprot); err != nil { 1424 return err 1425 } 1426 issetScale = true 1427 case 2: 1428 if err := p.ReadField2(iprot); err != nil { 1429 return err 1430 } 1431 issetPrecision = true 1432 default: 1433 if err := iprot.Skip(fieldTypeId); err != nil { 1434 return err 1435 } 1436 } 1437 if err := iprot.ReadFieldEnd(); err != nil { 1438 return err 1439 } 1440 } 1441 if err := iprot.ReadStructEnd(); err != nil { 1442 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1443 } 1444 if !issetScale { 1445 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Scale is not set")) 1446 } 1447 if !issetPrecision { 1448 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Precision is not set")) 1449 } 1450 return nil 1451 } 1452 1453 func (p *DecimalType) ReadField1(iprot thrift.TProtocol) error { 1454 if v, err := iprot.ReadI32(); err != nil { 1455 return thrift.PrependError("error reading field 1: ", err) 1456 } else { 1457 p.Scale = v 1458 } 1459 return nil 1460 } 1461 1462 func (p *DecimalType) ReadField2(iprot thrift.TProtocol) error { 1463 if v, err := iprot.ReadI32(); err != nil { 1464 return thrift.PrependError("error reading field 2: ", err) 1465 } else { 1466 p.Precision = v 1467 } 1468 return nil 1469 } 1470 1471 func (p *DecimalType) Write(oprot thrift.TProtocol) error { 1472 if err := oprot.WriteStructBegin("DecimalType"); err != nil { 1473 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1474 } 1475 if p != nil { 1476 if err := p.writeField1(oprot); err != nil { 1477 return err 1478 } 1479 if err := p.writeField2(oprot); err != nil { 1480 return err 1481 } 1482 } 1483 if err := oprot.WriteFieldStop(); err != nil { 1484 return thrift.PrependError("write field stop error: ", err) 1485 } 1486 if err := oprot.WriteStructEnd(); err != nil { 1487 return thrift.PrependError("write struct stop error: ", err) 1488 } 1489 return nil 1490 } 1491 1492 func (p *DecimalType) writeField1(oprot thrift.TProtocol) (err error) { 1493 if err := oprot.WriteFieldBegin("scale", thrift.I32, 1); err != nil { 1494 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:scale: ", p), err) 1495 } 1496 if err := oprot.WriteI32(p.Scale); err != nil { 1497 return thrift.PrependError(fmt.Sprintf("%T.scale (1) field write error: ", p), err) 1498 } 1499 if err := oprot.WriteFieldEnd(); err != nil { 1500 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:scale: ", p), err) 1501 } 1502 return err 1503 } 1504 1505 func (p *DecimalType) writeField2(oprot thrift.TProtocol) (err error) { 1506 if err := oprot.WriteFieldBegin("precision", thrift.I32, 2); err != nil { 1507 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:precision: ", p), err) 1508 } 1509 if err := oprot.WriteI32(p.Precision); err != nil { 1510 return thrift.PrependError(fmt.Sprintf("%T.precision (2) field write error: ", p), err) 1511 } 1512 if err := oprot.WriteFieldEnd(); err != nil { 1513 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:precision: ", p), err) 1514 } 1515 return err 1516 } 1517 1518 func (p *DecimalType) String() string { 1519 if p == nil { 1520 return "<nil>" 1521 } 1522 return fmt.Sprintf("DecimalType(%+v)", *p) 1523 } 1524 1525 // Time units for logical types 1526 type MilliSeconds struct { 1527 } 1528 1529 func NewMilliSeconds() *MilliSeconds { 1530 return &MilliSeconds{} 1531 } 1532 1533 func (p *MilliSeconds) Read(iprot thrift.TProtocol) error { 1534 if _, err := iprot.ReadStructBegin(); err != nil { 1535 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1536 } 1537 1538 for { 1539 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1540 if err != nil { 1541 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1542 } 1543 if fieldTypeId == thrift.STOP { 1544 break 1545 } 1546 if err := iprot.Skip(fieldTypeId); err != nil { 1547 return err 1548 } 1549 if err := iprot.ReadFieldEnd(); err != nil { 1550 return err 1551 } 1552 } 1553 if err := iprot.ReadStructEnd(); err != nil { 1554 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1555 } 1556 return nil 1557 } 1558 1559 func (p *MilliSeconds) Write(oprot thrift.TProtocol) error { 1560 if err := oprot.WriteStructBegin("MilliSeconds"); err != nil { 1561 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1562 } 1563 if p != nil { 1564 } 1565 if err := oprot.WriteFieldStop(); err != nil { 1566 return thrift.PrependError("write field stop error: ", err) 1567 } 1568 if err := oprot.WriteStructEnd(); err != nil { 1569 return thrift.PrependError("write struct stop error: ", err) 1570 } 1571 return nil 1572 } 1573 1574 func (p *MilliSeconds) String() string { 1575 if p == nil { 1576 return "<nil>" 1577 } 1578 return fmt.Sprintf("MilliSeconds(%+v)", *p) 1579 } 1580 1581 type MicroSeconds struct { 1582 } 1583 1584 func NewMicroSeconds() *MicroSeconds { 1585 return &MicroSeconds{} 1586 } 1587 1588 func (p *MicroSeconds) Read(iprot thrift.TProtocol) error { 1589 if _, err := iprot.ReadStructBegin(); err != nil { 1590 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1591 } 1592 1593 for { 1594 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1595 if err != nil { 1596 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1597 } 1598 if fieldTypeId == thrift.STOP { 1599 break 1600 } 1601 if err := iprot.Skip(fieldTypeId); err != nil { 1602 return err 1603 } 1604 if err := iprot.ReadFieldEnd(); err != nil { 1605 return err 1606 } 1607 } 1608 if err := iprot.ReadStructEnd(); err != nil { 1609 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1610 } 1611 return nil 1612 } 1613 1614 func (p *MicroSeconds) Write(oprot thrift.TProtocol) error { 1615 if err := oprot.WriteStructBegin("MicroSeconds"); err != nil { 1616 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1617 } 1618 if p != nil { 1619 } 1620 if err := oprot.WriteFieldStop(); err != nil { 1621 return thrift.PrependError("write field stop error: ", err) 1622 } 1623 if err := oprot.WriteStructEnd(); err != nil { 1624 return thrift.PrependError("write struct stop error: ", err) 1625 } 1626 return nil 1627 } 1628 1629 func (p *MicroSeconds) String() string { 1630 if p == nil { 1631 return "<nil>" 1632 } 1633 return fmt.Sprintf("MicroSeconds(%+v)", *p) 1634 } 1635 1636 type NanoSeconds struct { 1637 } 1638 1639 func NewNanoSeconds() *NanoSeconds { 1640 return &NanoSeconds{} 1641 } 1642 1643 func (p *NanoSeconds) Read(iprot thrift.TProtocol) error { 1644 if _, err := iprot.ReadStructBegin(); err != nil { 1645 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1646 } 1647 1648 for { 1649 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1650 if err != nil { 1651 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1652 } 1653 if fieldTypeId == thrift.STOP { 1654 break 1655 } 1656 if err := iprot.Skip(fieldTypeId); err != nil { 1657 return err 1658 } 1659 if err := iprot.ReadFieldEnd(); err != nil { 1660 return err 1661 } 1662 } 1663 if err := iprot.ReadStructEnd(); err != nil { 1664 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1665 } 1666 return nil 1667 } 1668 1669 func (p *NanoSeconds) Write(oprot thrift.TProtocol) error { 1670 if err := oprot.WriteStructBegin("NanoSeconds"); err != nil { 1671 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1672 } 1673 if p != nil { 1674 } 1675 if err := oprot.WriteFieldStop(); err != nil { 1676 return thrift.PrependError("write field stop error: ", err) 1677 } 1678 if err := oprot.WriteStructEnd(); err != nil { 1679 return thrift.PrependError("write struct stop error: ", err) 1680 } 1681 return nil 1682 } 1683 1684 func (p *NanoSeconds) String() string { 1685 if p == nil { 1686 return "<nil>" 1687 } 1688 return fmt.Sprintf("NanoSeconds(%+v)", *p) 1689 } 1690 1691 // Attributes: 1692 // - MILLIS 1693 // - MICROS 1694 // - NANOS 1695 type TimeUnit struct { 1696 MILLIS *MilliSeconds `thrift:"MILLIS,1" db:"MILLIS" json:"MILLIS,omitempty"` 1697 MICROS *MicroSeconds `thrift:"MICROS,2" db:"MICROS" json:"MICROS,omitempty"` 1698 NANOS *NanoSeconds `thrift:"NANOS,3" db:"NANOS" json:"NANOS,omitempty"` 1699 } 1700 1701 func NewTimeUnit() *TimeUnit { 1702 return &TimeUnit{} 1703 } 1704 1705 var TimeUnit_MILLIS_DEFAULT *MilliSeconds 1706 1707 func (p *TimeUnit) GetMILLIS() *MilliSeconds { 1708 if !p.IsSetMILLIS() { 1709 return TimeUnit_MILLIS_DEFAULT 1710 } 1711 return p.MILLIS 1712 } 1713 1714 var TimeUnit_MICROS_DEFAULT *MicroSeconds 1715 1716 func (p *TimeUnit) GetMICROS() *MicroSeconds { 1717 if !p.IsSetMICROS() { 1718 return TimeUnit_MICROS_DEFAULT 1719 } 1720 return p.MICROS 1721 } 1722 1723 var TimeUnit_NANOS_DEFAULT *NanoSeconds 1724 1725 func (p *TimeUnit) GetNANOS() *NanoSeconds { 1726 if !p.IsSetNANOS() { 1727 return TimeUnit_NANOS_DEFAULT 1728 } 1729 return p.NANOS 1730 } 1731 func (p *TimeUnit) CountSetFieldsTimeUnit() int { 1732 count := 0 1733 if p.IsSetMILLIS() { 1734 count++ 1735 } 1736 if p.IsSetMICROS() { 1737 count++ 1738 } 1739 if p.IsSetNANOS() { 1740 count++ 1741 } 1742 return count 1743 1744 } 1745 1746 func (p *TimeUnit) IsSetMILLIS() bool { 1747 return p.MILLIS != nil 1748 } 1749 1750 func (p *TimeUnit) IsSetMICROS() bool { 1751 return p.MICROS != nil 1752 } 1753 1754 func (p *TimeUnit) IsSetNANOS() bool { 1755 return p.NANOS != nil 1756 } 1757 1758 func (p *TimeUnit) Read(iprot thrift.TProtocol) error { 1759 if _, err := iprot.ReadStructBegin(); err != nil { 1760 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1761 } 1762 1763 for { 1764 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1765 if err != nil { 1766 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1767 } 1768 if fieldTypeId == thrift.STOP { 1769 break 1770 } 1771 switch fieldId { 1772 case 1: 1773 if err := p.ReadField1(iprot); err != nil { 1774 return err 1775 } 1776 case 2: 1777 if err := p.ReadField2(iprot); err != nil { 1778 return err 1779 } 1780 case 3: 1781 if err := p.ReadField3(iprot); err != nil { 1782 return err 1783 } 1784 default: 1785 if err := iprot.Skip(fieldTypeId); err != nil { 1786 return err 1787 } 1788 } 1789 if err := iprot.ReadFieldEnd(); err != nil { 1790 return err 1791 } 1792 } 1793 if err := iprot.ReadStructEnd(); err != nil { 1794 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1795 } 1796 return nil 1797 } 1798 1799 func (p *TimeUnit) ReadField1(iprot thrift.TProtocol) error { 1800 p.MILLIS = &MilliSeconds{} 1801 if err := p.MILLIS.Read(iprot); err != nil { 1802 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.MILLIS), err) 1803 } 1804 return nil 1805 } 1806 1807 func (p *TimeUnit) ReadField2(iprot thrift.TProtocol) error { 1808 p.MICROS = &MicroSeconds{} 1809 if err := p.MICROS.Read(iprot); err != nil { 1810 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.MICROS), err) 1811 } 1812 return nil 1813 } 1814 1815 func (p *TimeUnit) ReadField3(iprot thrift.TProtocol) error { 1816 p.NANOS = &NanoSeconds{} 1817 if err := p.NANOS.Read(iprot); err != nil { 1818 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.NANOS), err) 1819 } 1820 return nil 1821 } 1822 1823 func (p *TimeUnit) Write(oprot thrift.TProtocol) error { 1824 if c := p.CountSetFieldsTimeUnit(); c != 1 { 1825 return fmt.Errorf("%T write union: exactly one field must be set (%d set).", p, c) 1826 } 1827 if err := oprot.WriteStructBegin("TimeUnit"); err != nil { 1828 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 1829 } 1830 if p != nil { 1831 if err := p.writeField1(oprot); err != nil { 1832 return err 1833 } 1834 if err := p.writeField2(oprot); err != nil { 1835 return err 1836 } 1837 if err := p.writeField3(oprot); err != nil { 1838 return err 1839 } 1840 } 1841 if err := oprot.WriteFieldStop(); err != nil { 1842 return thrift.PrependError("write field stop error: ", err) 1843 } 1844 if err := oprot.WriteStructEnd(); err != nil { 1845 return thrift.PrependError("write struct stop error: ", err) 1846 } 1847 return nil 1848 } 1849 1850 func (p *TimeUnit) writeField1(oprot thrift.TProtocol) (err error) { 1851 if p.IsSetMILLIS() { 1852 if err := oprot.WriteFieldBegin("MILLIS", thrift.STRUCT, 1); err != nil { 1853 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:MILLIS: ", p), err) 1854 } 1855 if err := p.MILLIS.Write(oprot); err != nil { 1856 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.MILLIS), err) 1857 } 1858 if err := oprot.WriteFieldEnd(); err != nil { 1859 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:MILLIS: ", p), err) 1860 } 1861 } 1862 return err 1863 } 1864 1865 func (p *TimeUnit) writeField2(oprot thrift.TProtocol) (err error) { 1866 if p.IsSetMICROS() { 1867 if err := oprot.WriteFieldBegin("MICROS", thrift.STRUCT, 2); err != nil { 1868 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MICROS: ", p), err) 1869 } 1870 if err := p.MICROS.Write(oprot); err != nil { 1871 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.MICROS), err) 1872 } 1873 if err := oprot.WriteFieldEnd(); err != nil { 1874 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MICROS: ", p), err) 1875 } 1876 } 1877 return err 1878 } 1879 1880 func (p *TimeUnit) writeField3(oprot thrift.TProtocol) (err error) { 1881 if p.IsSetNANOS() { 1882 if err := oprot.WriteFieldBegin("NANOS", thrift.STRUCT, 3); err != nil { 1883 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:NANOS: ", p), err) 1884 } 1885 if err := p.NANOS.Write(oprot); err != nil { 1886 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.NANOS), err) 1887 } 1888 if err := oprot.WriteFieldEnd(); err != nil { 1889 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:NANOS: ", p), err) 1890 } 1891 } 1892 return err 1893 } 1894 1895 func (p *TimeUnit) String() string { 1896 if p == nil { 1897 return "<nil>" 1898 } 1899 return fmt.Sprintf("TimeUnit(%+v)", *p) 1900 } 1901 1902 // Timestamp logical type annotation 1903 // 1904 // Allowed for physical types: INT64 1905 // 1906 // Attributes: 1907 // - IsAdjustedToUTC 1908 // - Unit 1909 type TimestampType struct { 1910 IsAdjustedToUTC bool `thrift:"isAdjustedToUTC,1,required" db:"isAdjustedToUTC" json:"isAdjustedToUTC"` 1911 Unit *TimeUnit `thrift:"unit,2,required" db:"unit" json:"unit"` 1912 } 1913 1914 func NewTimestampType() *TimestampType { 1915 return &TimestampType{} 1916 } 1917 1918 func (p *TimestampType) GetIsAdjustedToUTC() bool { 1919 return p.IsAdjustedToUTC 1920 } 1921 1922 var TimestampType_Unit_DEFAULT *TimeUnit 1923 1924 func (p *TimestampType) GetUnit() *TimeUnit { 1925 if !p.IsSetUnit() { 1926 return TimestampType_Unit_DEFAULT 1927 } 1928 return p.Unit 1929 } 1930 func (p *TimestampType) IsSetUnit() bool { 1931 return p.Unit != nil 1932 } 1933 1934 func (p *TimestampType) Read(iprot thrift.TProtocol) error { 1935 if _, err := iprot.ReadStructBegin(); err != nil { 1936 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 1937 } 1938 1939 var issetIsAdjustedToUTC bool = false 1940 var issetUnit bool = false 1941 1942 for { 1943 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 1944 if err != nil { 1945 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 1946 } 1947 if fieldTypeId == thrift.STOP { 1948 break 1949 } 1950 switch fieldId { 1951 case 1: 1952 if err := p.ReadField1(iprot); err != nil { 1953 return err 1954 } 1955 issetIsAdjustedToUTC = true 1956 case 2: 1957 if err := p.ReadField2(iprot); err != nil { 1958 return err 1959 } 1960 issetUnit = true 1961 default: 1962 if err := iprot.Skip(fieldTypeId); err != nil { 1963 return err 1964 } 1965 } 1966 if err := iprot.ReadFieldEnd(); err != nil { 1967 return err 1968 } 1969 } 1970 if err := iprot.ReadStructEnd(); err != nil { 1971 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 1972 } 1973 if !issetIsAdjustedToUTC { 1974 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IsAdjustedToUTC is not set")) 1975 } 1976 if !issetUnit { 1977 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Unit is not set")) 1978 } 1979 return nil 1980 } 1981 1982 func (p *TimestampType) ReadField1(iprot thrift.TProtocol) error { 1983 if v, err := iprot.ReadBool(); err != nil { 1984 return thrift.PrependError("error reading field 1: ", err) 1985 } else { 1986 p.IsAdjustedToUTC = v 1987 } 1988 return nil 1989 } 1990 1991 func (p *TimestampType) ReadField2(iprot thrift.TProtocol) error { 1992 p.Unit = &TimeUnit{} 1993 if err := p.Unit.Read(iprot); err != nil { 1994 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Unit), err) 1995 } 1996 return nil 1997 } 1998 1999 func (p *TimestampType) Write(oprot thrift.TProtocol) error { 2000 if err := oprot.WriteStructBegin("TimestampType"); err != nil { 2001 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 2002 } 2003 if p != nil { 2004 if err := p.writeField1(oprot); err != nil { 2005 return err 2006 } 2007 if err := p.writeField2(oprot); err != nil { 2008 return err 2009 } 2010 } 2011 if err := oprot.WriteFieldStop(); err != nil { 2012 return thrift.PrependError("write field stop error: ", err) 2013 } 2014 if err := oprot.WriteStructEnd(); err != nil { 2015 return thrift.PrependError("write struct stop error: ", err) 2016 } 2017 return nil 2018 } 2019 2020 func (p *TimestampType) writeField1(oprot thrift.TProtocol) (err error) { 2021 if err := oprot.WriteFieldBegin("isAdjustedToUTC", thrift.BOOL, 1); err != nil { 2022 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:isAdjustedToUTC: ", p), err) 2023 } 2024 if err := oprot.WriteBool(p.IsAdjustedToUTC); err != nil { 2025 return thrift.PrependError(fmt.Sprintf("%T.isAdjustedToUTC (1) field write error: ", p), err) 2026 } 2027 if err := oprot.WriteFieldEnd(); err != nil { 2028 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:isAdjustedToUTC: ", p), err) 2029 } 2030 return err 2031 } 2032 2033 func (p *TimestampType) writeField2(oprot thrift.TProtocol) (err error) { 2034 if err := oprot.WriteFieldBegin("unit", thrift.STRUCT, 2); err != nil { 2035 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:unit: ", p), err) 2036 } 2037 if err := p.Unit.Write(oprot); err != nil { 2038 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Unit), err) 2039 } 2040 if err := oprot.WriteFieldEnd(); err != nil { 2041 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:unit: ", p), err) 2042 } 2043 return err 2044 } 2045 2046 func (p *TimestampType) String() string { 2047 if p == nil { 2048 return "<nil>" 2049 } 2050 return fmt.Sprintf("TimestampType(%+v)", *p) 2051 } 2052 2053 // Time logical type annotation 2054 // 2055 // Allowed for physical types: INT32 (millis), INT64 (micros, nanos) 2056 // 2057 // Attributes: 2058 // - IsAdjustedToUTC 2059 // - Unit 2060 type TimeType struct { 2061 IsAdjustedToUTC bool `thrift:"isAdjustedToUTC,1,required" db:"isAdjustedToUTC" json:"isAdjustedToUTC"` 2062 Unit *TimeUnit `thrift:"unit,2,required" db:"unit" json:"unit"` 2063 } 2064 2065 func NewTimeType() *TimeType { 2066 return &TimeType{} 2067 } 2068 2069 func (p *TimeType) GetIsAdjustedToUTC() bool { 2070 return p.IsAdjustedToUTC 2071 } 2072 2073 var TimeType_Unit_DEFAULT *TimeUnit 2074 2075 func (p *TimeType) GetUnit() *TimeUnit { 2076 if !p.IsSetUnit() { 2077 return TimeType_Unit_DEFAULT 2078 } 2079 return p.Unit 2080 } 2081 func (p *TimeType) IsSetUnit() bool { 2082 return p.Unit != nil 2083 } 2084 2085 func (p *TimeType) Read(iprot thrift.TProtocol) error { 2086 if _, err := iprot.ReadStructBegin(); err != nil { 2087 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 2088 } 2089 2090 var issetIsAdjustedToUTC bool = false 2091 var issetUnit bool = false 2092 2093 for { 2094 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 2095 if err != nil { 2096 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 2097 } 2098 if fieldTypeId == thrift.STOP { 2099 break 2100 } 2101 switch fieldId { 2102 case 1: 2103 if err := p.ReadField1(iprot); err != nil { 2104 return err 2105 } 2106 issetIsAdjustedToUTC = true 2107 case 2: 2108 if err := p.ReadField2(iprot); err != nil { 2109 return err 2110 } 2111 issetUnit = true 2112 default: 2113 if err := iprot.Skip(fieldTypeId); err != nil { 2114 return err 2115 } 2116 } 2117 if err := iprot.ReadFieldEnd(); err != nil { 2118 return err 2119 } 2120 } 2121 if err := iprot.ReadStructEnd(); err != nil { 2122 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 2123 } 2124 if !issetIsAdjustedToUTC { 2125 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IsAdjustedToUTC is not set")) 2126 } 2127 if !issetUnit { 2128 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Unit is not set")) 2129 } 2130 return nil 2131 } 2132 2133 func (p *TimeType) ReadField1(iprot thrift.TProtocol) error { 2134 if v, err := iprot.ReadBool(); err != nil { 2135 return thrift.PrependError("error reading field 1: ", err) 2136 } else { 2137 p.IsAdjustedToUTC = v 2138 } 2139 return nil 2140 } 2141 2142 func (p *TimeType) ReadField2(iprot thrift.TProtocol) error { 2143 p.Unit = &TimeUnit{} 2144 if err := p.Unit.Read(iprot); err != nil { 2145 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Unit), err) 2146 } 2147 return nil 2148 } 2149 2150 func (p *TimeType) Write(oprot thrift.TProtocol) error { 2151 if err := oprot.WriteStructBegin("TimeType"); err != nil { 2152 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 2153 } 2154 if p != nil { 2155 if err := p.writeField1(oprot); err != nil { 2156 return err 2157 } 2158 if err := p.writeField2(oprot); err != nil { 2159 return err 2160 } 2161 } 2162 if err := oprot.WriteFieldStop(); err != nil { 2163 return thrift.PrependError("write field stop error: ", err) 2164 } 2165 if err := oprot.WriteStructEnd(); err != nil { 2166 return thrift.PrependError("write struct stop error: ", err) 2167 } 2168 return nil 2169 } 2170 2171 func (p *TimeType) writeField1(oprot thrift.TProtocol) (err error) { 2172 if err := oprot.WriteFieldBegin("isAdjustedToUTC", thrift.BOOL, 1); err != nil { 2173 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:isAdjustedToUTC: ", p), err) 2174 } 2175 if err := oprot.WriteBool(p.IsAdjustedToUTC); err != nil { 2176 return thrift.PrependError(fmt.Sprintf("%T.isAdjustedToUTC (1) field write error: ", p), err) 2177 } 2178 if err := oprot.WriteFieldEnd(); err != nil { 2179 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:isAdjustedToUTC: ", p), err) 2180 } 2181 return err 2182 } 2183 2184 func (p *TimeType) writeField2(oprot thrift.TProtocol) (err error) { 2185 if err := oprot.WriteFieldBegin("unit", thrift.STRUCT, 2); err != nil { 2186 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:unit: ", p), err) 2187 } 2188 if err := p.Unit.Write(oprot); err != nil { 2189 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Unit), err) 2190 } 2191 if err := oprot.WriteFieldEnd(); err != nil { 2192 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:unit: ", p), err) 2193 } 2194 return err 2195 } 2196 2197 func (p *TimeType) String() string { 2198 if p == nil { 2199 return "<nil>" 2200 } 2201 return fmt.Sprintf("TimeType(%+v)", *p) 2202 } 2203 2204 // Integer logical type annotation 2205 // 2206 // bitWidth must be 8, 16, 32, or 64. 2207 // 2208 // Allowed for physical types: INT32, INT64 2209 // 2210 // Attributes: 2211 // - BitWidth 2212 // - IsSigned 2213 type IntType struct { 2214 BitWidth int8 `thrift:"bitWidth,1,required" db:"bitWidth" json:"bitWidth"` 2215 IsSigned bool `thrift:"isSigned,2,required" db:"isSigned" json:"isSigned"` 2216 } 2217 2218 func NewIntType() *IntType { 2219 return &IntType{} 2220 } 2221 2222 func (p *IntType) GetBitWidth() int8 { 2223 return p.BitWidth 2224 } 2225 2226 func (p *IntType) GetIsSigned() bool { 2227 return p.IsSigned 2228 } 2229 func (p *IntType) Read(iprot thrift.TProtocol) error { 2230 if _, err := iprot.ReadStructBegin(); err != nil { 2231 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 2232 } 2233 2234 var issetBitWidth bool = false 2235 var issetIsSigned bool = false 2236 2237 for { 2238 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 2239 if err != nil { 2240 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 2241 } 2242 if fieldTypeId == thrift.STOP { 2243 break 2244 } 2245 switch fieldId { 2246 case 1: 2247 if err := p.ReadField1(iprot); err != nil { 2248 return err 2249 } 2250 issetBitWidth = true 2251 case 2: 2252 if err := p.ReadField2(iprot); err != nil { 2253 return err 2254 } 2255 issetIsSigned = true 2256 default: 2257 if err := iprot.Skip(fieldTypeId); err != nil { 2258 return err 2259 } 2260 } 2261 if err := iprot.ReadFieldEnd(); err != nil { 2262 return err 2263 } 2264 } 2265 if err := iprot.ReadStructEnd(); err != nil { 2266 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 2267 } 2268 if !issetBitWidth { 2269 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field BitWidth is not set")) 2270 } 2271 if !issetIsSigned { 2272 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IsSigned is not set")) 2273 } 2274 return nil 2275 } 2276 2277 func (p *IntType) ReadField1(iprot thrift.TProtocol) error { 2278 if v, err := iprot.ReadByte(); err != nil { 2279 return thrift.PrependError("error reading field 1: ", err) 2280 } else { 2281 temp := v 2282 p.BitWidth = temp 2283 } 2284 return nil 2285 } 2286 2287 func (p *IntType) ReadField2(iprot thrift.TProtocol) error { 2288 if v, err := iprot.ReadBool(); err != nil { 2289 return thrift.PrependError("error reading field 2: ", err) 2290 } else { 2291 p.IsSigned = v 2292 } 2293 return nil 2294 } 2295 2296 func (p *IntType) Write(oprot thrift.TProtocol) error { 2297 if err := oprot.WriteStructBegin("IntType"); err != nil { 2298 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 2299 } 2300 if p != nil { 2301 if err := p.writeField1(oprot); err != nil { 2302 return err 2303 } 2304 if err := p.writeField2(oprot); err != nil { 2305 return err 2306 } 2307 } 2308 if err := oprot.WriteFieldStop(); err != nil { 2309 return thrift.PrependError("write field stop error: ", err) 2310 } 2311 if err := oprot.WriteStructEnd(); err != nil { 2312 return thrift.PrependError("write struct stop error: ", err) 2313 } 2314 return nil 2315 } 2316 2317 func (p *IntType) writeField1(oprot thrift.TProtocol) (err error) { 2318 if err := oprot.WriteFieldBegin("bitWidth", thrift.BYTE, 1); err != nil { 2319 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:bitWidth: ", p), err) 2320 } 2321 if err := oprot.WriteByte(p.BitWidth); err != nil { 2322 return thrift.PrependError(fmt.Sprintf("%T.bitWidth (1) field write error: ", p), err) 2323 } 2324 if err := oprot.WriteFieldEnd(); err != nil { 2325 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:bitWidth: ", p), err) 2326 } 2327 return err 2328 } 2329 2330 func (p *IntType) writeField2(oprot thrift.TProtocol) (err error) { 2331 if err := oprot.WriteFieldBegin("isSigned", thrift.BOOL, 2); err != nil { 2332 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:isSigned: ", p), err) 2333 } 2334 if err := oprot.WriteBool(p.IsSigned); err != nil { 2335 return thrift.PrependError(fmt.Sprintf("%T.isSigned (2) field write error: ", p), err) 2336 } 2337 if err := oprot.WriteFieldEnd(); err != nil { 2338 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:isSigned: ", p), err) 2339 } 2340 return err 2341 } 2342 2343 func (p *IntType) String() string { 2344 if p == nil { 2345 return "<nil>" 2346 } 2347 return fmt.Sprintf("IntType(%+v)", *p) 2348 } 2349 2350 // Embedded JSON logical type annotation 2351 // 2352 // Allowed for physical types: BINARY 2353 type JsonType struct { 2354 } 2355 2356 func NewJsonType() *JsonType { 2357 return &JsonType{} 2358 } 2359 2360 func (p *JsonType) Read(iprot thrift.TProtocol) error { 2361 if _, err := iprot.ReadStructBegin(); err != nil { 2362 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 2363 } 2364 2365 for { 2366 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 2367 if err != nil { 2368 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 2369 } 2370 if fieldTypeId == thrift.STOP { 2371 break 2372 } 2373 if err := iprot.Skip(fieldTypeId); err != nil { 2374 return err 2375 } 2376 if err := iprot.ReadFieldEnd(); err != nil { 2377 return err 2378 } 2379 } 2380 if err := iprot.ReadStructEnd(); err != nil { 2381 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 2382 } 2383 return nil 2384 } 2385 2386 func (p *JsonType) Write(oprot thrift.TProtocol) error { 2387 if err := oprot.WriteStructBegin("JsonType"); err != nil { 2388 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 2389 } 2390 if p != nil { 2391 } 2392 if err := oprot.WriteFieldStop(); err != nil { 2393 return thrift.PrependError("write field stop error: ", err) 2394 } 2395 if err := oprot.WriteStructEnd(); err != nil { 2396 return thrift.PrependError("write struct stop error: ", err) 2397 } 2398 return nil 2399 } 2400 2401 func (p *JsonType) String() string { 2402 if p == nil { 2403 return "<nil>" 2404 } 2405 return fmt.Sprintf("JsonType(%+v)", *p) 2406 } 2407 2408 // Embedded BSON logical type annotation 2409 // 2410 // Allowed for physical types: BINARY 2411 type BsonType struct { 2412 } 2413 2414 func NewBsonType() *BsonType { 2415 return &BsonType{} 2416 } 2417 2418 func (p *BsonType) Read(iprot thrift.TProtocol) error { 2419 if _, err := iprot.ReadStructBegin(); err != nil { 2420 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 2421 } 2422 2423 for { 2424 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 2425 if err != nil { 2426 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 2427 } 2428 if fieldTypeId == thrift.STOP { 2429 break 2430 } 2431 if err := iprot.Skip(fieldTypeId); err != nil { 2432 return err 2433 } 2434 if err := iprot.ReadFieldEnd(); err != nil { 2435 return err 2436 } 2437 } 2438 if err := iprot.ReadStructEnd(); err != nil { 2439 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 2440 } 2441 return nil 2442 } 2443 2444 func (p *BsonType) Write(oprot thrift.TProtocol) error { 2445 if err := oprot.WriteStructBegin("BsonType"); err != nil { 2446 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 2447 } 2448 if p != nil { 2449 } 2450 if err := oprot.WriteFieldStop(); err != nil { 2451 return thrift.PrependError("write field stop error: ", err) 2452 } 2453 if err := oprot.WriteStructEnd(); err != nil { 2454 return thrift.PrependError("write struct stop error: ", err) 2455 } 2456 return nil 2457 } 2458 2459 func (p *BsonType) String() string { 2460 if p == nil { 2461 return "<nil>" 2462 } 2463 return fmt.Sprintf("BsonType(%+v)", *p) 2464 } 2465 2466 // LogicalType annotations to replace ConvertedType. 2467 // 2468 // To maintain compatibility, implementations using LogicalType for a 2469 // SchemaElement must also set the corresponding ConvertedType from the 2470 // following table. 2471 // 2472 // Attributes: 2473 // - STRING 2474 // - MAP 2475 // - LIST 2476 // - ENUM 2477 // - DECIMAL 2478 // - DATE 2479 // - TIME 2480 // - TIMESTAMP 2481 // - INTEGER 2482 // - UNKNOWN 2483 // - JSON 2484 // - BSON 2485 // - UUID 2486 type LogicalType struct { 2487 STRING *StringType `thrift:"STRING,1" db:"STRING" json:"STRING,omitempty"` 2488 MAP *MapType `thrift:"MAP,2" db:"MAP" json:"MAP,omitempty"` 2489 LIST *ListType `thrift:"LIST,3" db:"LIST" json:"LIST,omitempty"` 2490 ENUM *EnumType `thrift:"ENUM,4" db:"ENUM" json:"ENUM,omitempty"` 2491 DECIMAL *DecimalType `thrift:"DECIMAL,5" db:"DECIMAL" json:"DECIMAL,omitempty"` 2492 DATE *DateType `thrift:"DATE,6" db:"DATE" json:"DATE,omitempty"` 2493 TIME *TimeType `thrift:"TIME,7" db:"TIME" json:"TIME,omitempty"` 2494 TIMESTAMP *TimestampType `thrift:"TIMESTAMP,8" db:"TIMESTAMP" json:"TIMESTAMP,omitempty"` 2495 // unused field # 9 2496 INTEGER *IntType `thrift:"INTEGER,10" db:"INTEGER" json:"INTEGER,omitempty"` 2497 UNKNOWN *NullType `thrift:"UNKNOWN,11" db:"UNKNOWN" json:"UNKNOWN,omitempty"` 2498 JSON *JsonType `thrift:"JSON,12" db:"JSON" json:"JSON,omitempty"` 2499 BSON *BsonType `thrift:"BSON,13" db:"BSON" json:"BSON,omitempty"` 2500 UUID *UUIDType `thrift:"UUID,14" db:"UUID" json:"UUID,omitempty"` 2501 } 2502 2503 func NewLogicalType() *LogicalType { 2504 return &LogicalType{} 2505 } 2506 2507 var LogicalType_STRING_DEFAULT *StringType 2508 2509 func (p *LogicalType) GetSTRING() *StringType { 2510 if !p.IsSetSTRING() { 2511 return LogicalType_STRING_DEFAULT 2512 } 2513 return p.STRING 2514 } 2515 2516 var LogicalType_MAP_DEFAULT *MapType 2517 2518 func (p *LogicalType) GetMAP() *MapType { 2519 if !p.IsSetMAP() { 2520 return LogicalType_MAP_DEFAULT 2521 } 2522 return p.MAP 2523 } 2524 2525 var LogicalType_LIST_DEFAULT *ListType 2526 2527 func (p *LogicalType) GetLIST() *ListType { 2528 if !p.IsSetLIST() { 2529 return LogicalType_LIST_DEFAULT 2530 } 2531 return p.LIST 2532 } 2533 2534 var LogicalType_ENUM_DEFAULT *EnumType 2535 2536 func (p *LogicalType) GetENUM() *EnumType { 2537 if !p.IsSetENUM() { 2538 return LogicalType_ENUM_DEFAULT 2539 } 2540 return p.ENUM 2541 } 2542 2543 var LogicalType_DECIMAL_DEFAULT *DecimalType 2544 2545 func (p *LogicalType) GetDECIMAL() *DecimalType { 2546 if !p.IsSetDECIMAL() { 2547 return LogicalType_DECIMAL_DEFAULT 2548 } 2549 return p.DECIMAL 2550 } 2551 2552 var LogicalType_DATE_DEFAULT *DateType 2553 2554 func (p *LogicalType) GetDATE() *DateType { 2555 if !p.IsSetDATE() { 2556 return LogicalType_DATE_DEFAULT 2557 } 2558 return p.DATE 2559 } 2560 2561 var LogicalType_TIME_DEFAULT *TimeType 2562 2563 func (p *LogicalType) GetTIME() *TimeType { 2564 if !p.IsSetTIME() { 2565 return LogicalType_TIME_DEFAULT 2566 } 2567 return p.TIME 2568 } 2569 2570 var LogicalType_TIMESTAMP_DEFAULT *TimestampType 2571 2572 func (p *LogicalType) GetTIMESTAMP() *TimestampType { 2573 if !p.IsSetTIMESTAMP() { 2574 return LogicalType_TIMESTAMP_DEFAULT 2575 } 2576 return p.TIMESTAMP 2577 } 2578 2579 var LogicalType_INTEGER_DEFAULT *IntType 2580 2581 func (p *LogicalType) GetINTEGER() *IntType { 2582 if !p.IsSetINTEGER() { 2583 return LogicalType_INTEGER_DEFAULT 2584 } 2585 return p.INTEGER 2586 } 2587 2588 var LogicalType_UNKNOWN_DEFAULT *NullType 2589 2590 func (p *LogicalType) GetUNKNOWN() *NullType { 2591 if !p.IsSetUNKNOWN() { 2592 return LogicalType_UNKNOWN_DEFAULT 2593 } 2594 return p.UNKNOWN 2595 } 2596 2597 var LogicalType_JSON_DEFAULT *JsonType 2598 2599 func (p *LogicalType) GetJSON() *JsonType { 2600 if !p.IsSetJSON() { 2601 return LogicalType_JSON_DEFAULT 2602 } 2603 return p.JSON 2604 } 2605 2606 var LogicalType_BSON_DEFAULT *BsonType 2607 2608 func (p *LogicalType) GetBSON() *BsonType { 2609 if !p.IsSetBSON() { 2610 return LogicalType_BSON_DEFAULT 2611 } 2612 return p.BSON 2613 } 2614 2615 var LogicalType_UUID_DEFAULT *UUIDType 2616 2617 func (p *LogicalType) GetUUID() *UUIDType { 2618 if !p.IsSetUUID() { 2619 return LogicalType_UUID_DEFAULT 2620 } 2621 return p.UUID 2622 } 2623 func (p *LogicalType) CountSetFieldsLogicalType() int { 2624 count := 0 2625 if p.IsSetSTRING() { 2626 count++ 2627 } 2628 if p.IsSetMAP() { 2629 count++ 2630 } 2631 if p.IsSetLIST() { 2632 count++ 2633 } 2634 if p.IsSetENUM() { 2635 count++ 2636 } 2637 if p.IsSetDECIMAL() { 2638 count++ 2639 } 2640 if p.IsSetDATE() { 2641 count++ 2642 } 2643 if p.IsSetTIME() { 2644 count++ 2645 } 2646 if p.IsSetTIMESTAMP() { 2647 count++ 2648 } 2649 if p.IsSetINTEGER() { 2650 count++ 2651 } 2652 if p.IsSetUNKNOWN() { 2653 count++ 2654 } 2655 if p.IsSetJSON() { 2656 count++ 2657 } 2658 if p.IsSetBSON() { 2659 count++ 2660 } 2661 if p.IsSetUUID() { 2662 count++ 2663 } 2664 return count 2665 2666 } 2667 2668 func (p *LogicalType) IsSetSTRING() bool { 2669 return p.STRING != nil 2670 } 2671 2672 func (p *LogicalType) IsSetMAP() bool { 2673 return p.MAP != nil 2674 } 2675 2676 func (p *LogicalType) IsSetLIST() bool { 2677 return p.LIST != nil 2678 } 2679 2680 func (p *LogicalType) IsSetENUM() bool { 2681 return p.ENUM != nil 2682 } 2683 2684 func (p *LogicalType) IsSetDECIMAL() bool { 2685 return p.DECIMAL != nil 2686 } 2687 2688 func (p *LogicalType) IsSetDATE() bool { 2689 return p.DATE != nil 2690 } 2691 2692 func (p *LogicalType) IsSetTIME() bool { 2693 return p.TIME != nil 2694 } 2695 2696 func (p *LogicalType) IsSetTIMESTAMP() bool { 2697 return p.TIMESTAMP != nil 2698 } 2699 2700 func (p *LogicalType) IsSetINTEGER() bool { 2701 return p.INTEGER != nil 2702 } 2703 2704 func (p *LogicalType) IsSetUNKNOWN() bool { 2705 return p.UNKNOWN != nil 2706 } 2707 2708 func (p *LogicalType) IsSetJSON() bool { 2709 return p.JSON != nil 2710 } 2711 2712 func (p *LogicalType) IsSetBSON() bool { 2713 return p.BSON != nil 2714 } 2715 2716 func (p *LogicalType) IsSetUUID() bool { 2717 return p.UUID != nil 2718 } 2719 2720 func (p *LogicalType) Read(iprot thrift.TProtocol) error { 2721 if _, err := iprot.ReadStructBegin(); err != nil { 2722 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 2723 } 2724 2725 for { 2726 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 2727 if err != nil { 2728 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 2729 } 2730 if fieldTypeId == thrift.STOP { 2731 break 2732 } 2733 switch fieldId { 2734 case 1: 2735 if err := p.ReadField1(iprot); err != nil { 2736 return err 2737 } 2738 case 2: 2739 if err := p.ReadField2(iprot); err != nil { 2740 return err 2741 } 2742 case 3: 2743 if err := p.ReadField3(iprot); err != nil { 2744 return err 2745 } 2746 case 4: 2747 if err := p.ReadField4(iprot); err != nil { 2748 return err 2749 } 2750 case 5: 2751 if err := p.ReadField5(iprot); err != nil { 2752 return err 2753 } 2754 case 6: 2755 if err := p.ReadField6(iprot); err != nil { 2756 return err 2757 } 2758 case 7: 2759 if err := p.ReadField7(iprot); err != nil { 2760 return err 2761 } 2762 case 8: 2763 if err := p.ReadField8(iprot); err != nil { 2764 return err 2765 } 2766 case 10: 2767 if err := p.ReadField10(iprot); err != nil { 2768 return err 2769 } 2770 case 11: 2771 if err := p.ReadField11(iprot); err != nil { 2772 return err 2773 } 2774 case 12: 2775 if err := p.ReadField12(iprot); err != nil { 2776 return err 2777 } 2778 case 13: 2779 if err := p.ReadField13(iprot); err != nil { 2780 return err 2781 } 2782 case 14: 2783 if err := p.ReadField14(iprot); err != nil { 2784 return err 2785 } 2786 default: 2787 if err := iprot.Skip(fieldTypeId); err != nil { 2788 return err 2789 } 2790 } 2791 if err := iprot.ReadFieldEnd(); err != nil { 2792 return err 2793 } 2794 } 2795 if err := iprot.ReadStructEnd(); err != nil { 2796 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 2797 } 2798 return nil 2799 } 2800 2801 func (p *LogicalType) ReadField1(iprot thrift.TProtocol) error { 2802 p.STRING = &StringType{} 2803 if err := p.STRING.Read(iprot); err != nil { 2804 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.STRING), err) 2805 } 2806 return nil 2807 } 2808 2809 func (p *LogicalType) ReadField2(iprot thrift.TProtocol) error { 2810 p.MAP = &MapType{} 2811 if err := p.MAP.Read(iprot); err != nil { 2812 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.MAP), err) 2813 } 2814 return nil 2815 } 2816 2817 func (p *LogicalType) ReadField3(iprot thrift.TProtocol) error { 2818 p.LIST = &ListType{} 2819 if err := p.LIST.Read(iprot); err != nil { 2820 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.LIST), err) 2821 } 2822 return nil 2823 } 2824 2825 func (p *LogicalType) ReadField4(iprot thrift.TProtocol) error { 2826 p.ENUM = &EnumType{} 2827 if err := p.ENUM.Read(iprot); err != nil { 2828 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.ENUM), err) 2829 } 2830 return nil 2831 } 2832 2833 func (p *LogicalType) ReadField5(iprot thrift.TProtocol) error { 2834 p.DECIMAL = &DecimalType{} 2835 if err := p.DECIMAL.Read(iprot); err != nil { 2836 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.DECIMAL), err) 2837 } 2838 return nil 2839 } 2840 2841 func (p *LogicalType) ReadField6(iprot thrift.TProtocol) error { 2842 p.DATE = &DateType{} 2843 if err := p.DATE.Read(iprot); err != nil { 2844 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.DATE), err) 2845 } 2846 return nil 2847 } 2848 2849 func (p *LogicalType) ReadField7(iprot thrift.TProtocol) error { 2850 p.TIME = &TimeType{} 2851 if err := p.TIME.Read(iprot); err != nil { 2852 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.TIME), err) 2853 } 2854 return nil 2855 } 2856 2857 func (p *LogicalType) ReadField8(iprot thrift.TProtocol) error { 2858 p.TIMESTAMP = &TimestampType{} 2859 if err := p.TIMESTAMP.Read(iprot); err != nil { 2860 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.TIMESTAMP), err) 2861 } 2862 return nil 2863 } 2864 2865 func (p *LogicalType) ReadField10(iprot thrift.TProtocol) error { 2866 p.INTEGER = &IntType{} 2867 if err := p.INTEGER.Read(iprot); err != nil { 2868 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.INTEGER), err) 2869 } 2870 return nil 2871 } 2872 2873 func (p *LogicalType) ReadField11(iprot thrift.TProtocol) error { 2874 p.UNKNOWN = &NullType{} 2875 if err := p.UNKNOWN.Read(iprot); err != nil { 2876 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.UNKNOWN), err) 2877 } 2878 return nil 2879 } 2880 2881 func (p *LogicalType) ReadField12(iprot thrift.TProtocol) error { 2882 p.JSON = &JsonType{} 2883 if err := p.JSON.Read(iprot); err != nil { 2884 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.JSON), err) 2885 } 2886 return nil 2887 } 2888 2889 func (p *LogicalType) ReadField13(iprot thrift.TProtocol) error { 2890 p.BSON = &BsonType{} 2891 if err := p.BSON.Read(iprot); err != nil { 2892 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.BSON), err) 2893 } 2894 return nil 2895 } 2896 2897 func (p *LogicalType) ReadField14(iprot thrift.TProtocol) error { 2898 p.UUID = &UUIDType{} 2899 if err := p.UUID.Read(iprot); err != nil { 2900 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.UUID), err) 2901 } 2902 return nil 2903 } 2904 2905 func (p *LogicalType) Write(oprot thrift.TProtocol) error { 2906 if c := p.CountSetFieldsLogicalType(); c != 1 { 2907 return fmt.Errorf("%T write union: exactly one field must be set (%d set).", p, c) 2908 } 2909 if err := oprot.WriteStructBegin("LogicalType"); err != nil { 2910 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 2911 } 2912 if p != nil { 2913 if err := p.writeField1(oprot); err != nil { 2914 return err 2915 } 2916 if err := p.writeField2(oprot); err != nil { 2917 return err 2918 } 2919 if err := p.writeField3(oprot); err != nil { 2920 return err 2921 } 2922 if err := p.writeField4(oprot); err != nil { 2923 return err 2924 } 2925 if err := p.writeField5(oprot); err != nil { 2926 return err 2927 } 2928 if err := p.writeField6(oprot); err != nil { 2929 return err 2930 } 2931 if err := p.writeField7(oprot); err != nil { 2932 return err 2933 } 2934 if err := p.writeField8(oprot); err != nil { 2935 return err 2936 } 2937 if err := p.writeField10(oprot); err != nil { 2938 return err 2939 } 2940 if err := p.writeField11(oprot); err != nil { 2941 return err 2942 } 2943 if err := p.writeField12(oprot); err != nil { 2944 return err 2945 } 2946 if err := p.writeField13(oprot); err != nil { 2947 return err 2948 } 2949 if err := p.writeField14(oprot); err != nil { 2950 return err 2951 } 2952 } 2953 if err := oprot.WriteFieldStop(); err != nil { 2954 return thrift.PrependError("write field stop error: ", err) 2955 } 2956 if err := oprot.WriteStructEnd(); err != nil { 2957 return thrift.PrependError("write struct stop error: ", err) 2958 } 2959 return nil 2960 } 2961 2962 func (p *LogicalType) writeField1(oprot thrift.TProtocol) (err error) { 2963 if p.IsSetSTRING() { 2964 if err := oprot.WriteFieldBegin("STRING", thrift.STRUCT, 1); err != nil { 2965 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:STRING: ", p), err) 2966 } 2967 if err := p.STRING.Write(oprot); err != nil { 2968 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.STRING), err) 2969 } 2970 if err := oprot.WriteFieldEnd(); err != nil { 2971 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:STRING: ", p), err) 2972 } 2973 } 2974 return err 2975 } 2976 2977 func (p *LogicalType) writeField2(oprot thrift.TProtocol) (err error) { 2978 if p.IsSetMAP() { 2979 if err := oprot.WriteFieldBegin("MAP", thrift.STRUCT, 2); err != nil { 2980 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MAP: ", p), err) 2981 } 2982 if err := p.MAP.Write(oprot); err != nil { 2983 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.MAP), err) 2984 } 2985 if err := oprot.WriteFieldEnd(); err != nil { 2986 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MAP: ", p), err) 2987 } 2988 } 2989 return err 2990 } 2991 2992 func (p *LogicalType) writeField3(oprot thrift.TProtocol) (err error) { 2993 if p.IsSetLIST() { 2994 if err := oprot.WriteFieldBegin("LIST", thrift.STRUCT, 3); err != nil { 2995 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:LIST: ", p), err) 2996 } 2997 if err := p.LIST.Write(oprot); err != nil { 2998 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.LIST), err) 2999 } 3000 if err := oprot.WriteFieldEnd(); err != nil { 3001 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:LIST: ", p), err) 3002 } 3003 } 3004 return err 3005 } 3006 3007 func (p *LogicalType) writeField4(oprot thrift.TProtocol) (err error) { 3008 if p.IsSetENUM() { 3009 if err := oprot.WriteFieldBegin("ENUM", thrift.STRUCT, 4); err != nil { 3010 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:ENUM: ", p), err) 3011 } 3012 if err := p.ENUM.Write(oprot); err != nil { 3013 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.ENUM), err) 3014 } 3015 if err := oprot.WriteFieldEnd(); err != nil { 3016 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:ENUM: ", p), err) 3017 } 3018 } 3019 return err 3020 } 3021 3022 func (p *LogicalType) writeField5(oprot thrift.TProtocol) (err error) { 3023 if p.IsSetDECIMAL() { 3024 if err := oprot.WriteFieldBegin("DECIMAL", thrift.STRUCT, 5); err != nil { 3025 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:DECIMAL: ", p), err) 3026 } 3027 if err := p.DECIMAL.Write(oprot); err != nil { 3028 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.DECIMAL), err) 3029 } 3030 if err := oprot.WriteFieldEnd(); err != nil { 3031 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:DECIMAL: ", p), err) 3032 } 3033 } 3034 return err 3035 } 3036 3037 func (p *LogicalType) writeField6(oprot thrift.TProtocol) (err error) { 3038 if p.IsSetDATE() { 3039 if err := oprot.WriteFieldBegin("DATE", thrift.STRUCT, 6); err != nil { 3040 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:DATE: ", p), err) 3041 } 3042 if err := p.DATE.Write(oprot); err != nil { 3043 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.DATE), err) 3044 } 3045 if err := oprot.WriteFieldEnd(); err != nil { 3046 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:DATE: ", p), err) 3047 } 3048 } 3049 return err 3050 } 3051 3052 func (p *LogicalType) writeField7(oprot thrift.TProtocol) (err error) { 3053 if p.IsSetTIME() { 3054 if err := oprot.WriteFieldBegin("TIME", thrift.STRUCT, 7); err != nil { 3055 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:TIME: ", p), err) 3056 } 3057 if err := p.TIME.Write(oprot); err != nil { 3058 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.TIME), err) 3059 } 3060 if err := oprot.WriteFieldEnd(); err != nil { 3061 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:TIME: ", p), err) 3062 } 3063 } 3064 return err 3065 } 3066 3067 func (p *LogicalType) writeField8(oprot thrift.TProtocol) (err error) { 3068 if p.IsSetTIMESTAMP() { 3069 if err := oprot.WriteFieldBegin("TIMESTAMP", thrift.STRUCT, 8); err != nil { 3070 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:TIMESTAMP: ", p), err) 3071 } 3072 if err := p.TIMESTAMP.Write(oprot); err != nil { 3073 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.TIMESTAMP), err) 3074 } 3075 if err := oprot.WriteFieldEnd(); err != nil { 3076 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:TIMESTAMP: ", p), err) 3077 } 3078 } 3079 return err 3080 } 3081 3082 func (p *LogicalType) writeField10(oprot thrift.TProtocol) (err error) { 3083 if p.IsSetINTEGER() { 3084 if err := oprot.WriteFieldBegin("INTEGER", thrift.STRUCT, 10); err != nil { 3085 return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:INTEGER: ", p), err) 3086 } 3087 if err := p.INTEGER.Write(oprot); err != nil { 3088 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.INTEGER), err) 3089 } 3090 if err := oprot.WriteFieldEnd(); err != nil { 3091 return thrift.PrependError(fmt.Sprintf("%T write field end error 10:INTEGER: ", p), err) 3092 } 3093 } 3094 return err 3095 } 3096 3097 func (p *LogicalType) writeField11(oprot thrift.TProtocol) (err error) { 3098 if p.IsSetUNKNOWN() { 3099 if err := oprot.WriteFieldBegin("UNKNOWN", thrift.STRUCT, 11); err != nil { 3100 return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:UNKNOWN: ", p), err) 3101 } 3102 if err := p.UNKNOWN.Write(oprot); err != nil { 3103 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.UNKNOWN), err) 3104 } 3105 if err := oprot.WriteFieldEnd(); err != nil { 3106 return thrift.PrependError(fmt.Sprintf("%T write field end error 11:UNKNOWN: ", p), err) 3107 } 3108 } 3109 return err 3110 } 3111 3112 func (p *LogicalType) writeField12(oprot thrift.TProtocol) (err error) { 3113 if p.IsSetJSON() { 3114 if err := oprot.WriteFieldBegin("JSON", thrift.STRUCT, 12); err != nil { 3115 return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:JSON: ", p), err) 3116 } 3117 if err := p.JSON.Write(oprot); err != nil { 3118 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.JSON), err) 3119 } 3120 if err := oprot.WriteFieldEnd(); err != nil { 3121 return thrift.PrependError(fmt.Sprintf("%T write field end error 12:JSON: ", p), err) 3122 } 3123 } 3124 return err 3125 } 3126 3127 func (p *LogicalType) writeField13(oprot thrift.TProtocol) (err error) { 3128 if p.IsSetBSON() { 3129 if err := oprot.WriteFieldBegin("BSON", thrift.STRUCT, 13); err != nil { 3130 return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:BSON: ", p), err) 3131 } 3132 if err := p.BSON.Write(oprot); err != nil { 3133 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.BSON), err) 3134 } 3135 if err := oprot.WriteFieldEnd(); err != nil { 3136 return thrift.PrependError(fmt.Sprintf("%T write field end error 13:BSON: ", p), err) 3137 } 3138 } 3139 return err 3140 } 3141 3142 func (p *LogicalType) writeField14(oprot thrift.TProtocol) (err error) { 3143 if p.IsSetUUID() { 3144 if err := oprot.WriteFieldBegin("UUID", thrift.STRUCT, 14); err != nil { 3145 return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:UUID: ", p), err) 3146 } 3147 if err := p.UUID.Write(oprot); err != nil { 3148 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.UUID), err) 3149 } 3150 if err := oprot.WriteFieldEnd(); err != nil { 3151 return thrift.PrependError(fmt.Sprintf("%T write field end error 14:UUID: ", p), err) 3152 } 3153 } 3154 return err 3155 } 3156 3157 func (p *LogicalType) String() string { 3158 if p == nil { 3159 return "<nil>" 3160 } 3161 return fmt.Sprintf("LogicalType(%+v)", *p) 3162 } 3163 3164 // Represents a element inside a schema definition. 3165 // - if it is a group (inner node) then type is undefined and num_children is defined 3166 // - if it is a primitive type (leaf) then type is defined and num_children is undefined 3167 // the nodes are listed in depth first traversal order. 3168 // 3169 // Attributes: 3170 // - Type: Data type for this field. Not set if the current element is a non-leaf node 3171 // - TypeLength: If type is FIXED_LEN_BYTE_ARRAY, this is the byte length of the vales. 3172 // Otherwise, if specified, this is the maximum bit length to store any of the values. 3173 // (e.g. a low cardinality INT col could have this set to 3). Note that this is 3174 // in the schema, and therefore fixed for the entire file. 3175 // - RepetitionType: repetition of the field. The root of the schema does not have a repetition_type. 3176 // All other nodes must have one 3177 // - Name: Name of the field in the schema 3178 // - NumChildren: Nested fields. Since thrift does not support nested fields, 3179 // the nesting is flattened to a single list by a depth-first traversal. 3180 // The children count is used to construct the nested relationship. 3181 // This field is not set when the element is a primitive type 3182 // - ConvertedType: When the schema is the result of a conversion from another model 3183 // Used to record the original type to help with cross conversion. 3184 // - Scale: Used when this column contains decimal data. 3185 // See the DECIMAL converted type for more details. 3186 // - Precision 3187 // - FieldID: When the original schema supports field ids, this will save the 3188 // original field id in the parquet schema 3189 // - LogicalType: The logical type of this SchemaElement 3190 // 3191 // LogicalType replaces ConvertedType, but ConvertedType is still required 3192 // for some logical types to ensure forward-compatibility in format v1. 3193 type SchemaElement struct { 3194 Type *Type `thrift:"type,1" db:"type" json:"type,omitempty"` 3195 TypeLength *int32 `thrift:"type_length,2" db:"type_length" json:"type_length,omitempty"` 3196 RepetitionType *FieldRepetitionType `thrift:"repetition_type,3" db:"repetition_type" json:"repetition_type,omitempty"` 3197 Name string `thrift:"name,4,required" db:"name" json:"name"` 3198 NumChildren *int32 `thrift:"num_children,5" db:"num_children" json:"num_children,omitempty"` 3199 ConvertedType *ConvertedType `thrift:"converted_type,6" db:"converted_type" json:"converted_type,omitempty"` 3200 Scale *int32 `thrift:"scale,7" db:"scale" json:"scale,omitempty"` 3201 Precision *int32 `thrift:"precision,8" db:"precision" json:"precision,omitempty"` 3202 FieldID *int32 `thrift:"field_id,9" db:"field_id" json:"field_id,omitempty"` 3203 LogicalType *LogicalType `thrift:"logicalType,10" db:"logicalType" json:"logicalType,omitempty"` 3204 } 3205 3206 func NewSchemaElement() *SchemaElement { 3207 return &SchemaElement{} 3208 } 3209 3210 var SchemaElement_Type_DEFAULT Type 3211 3212 func (p *SchemaElement) GetType() Type { 3213 if !p.IsSetType() { 3214 return SchemaElement_Type_DEFAULT 3215 } 3216 return *p.Type 3217 } 3218 3219 var SchemaElement_TypeLength_DEFAULT int32 3220 3221 func (p *SchemaElement) GetTypeLength() int32 { 3222 if !p.IsSetTypeLength() { 3223 return SchemaElement_TypeLength_DEFAULT 3224 } 3225 return *p.TypeLength 3226 } 3227 3228 var SchemaElement_RepetitionType_DEFAULT FieldRepetitionType 3229 3230 func (p *SchemaElement) GetRepetitionType() FieldRepetitionType { 3231 if !p.IsSetRepetitionType() { 3232 return SchemaElement_RepetitionType_DEFAULT 3233 } 3234 return *p.RepetitionType 3235 } 3236 3237 func (p *SchemaElement) GetName() string { 3238 return p.Name 3239 } 3240 3241 var SchemaElement_NumChildren_DEFAULT int32 3242 3243 func (p *SchemaElement) GetNumChildren() int32 { 3244 if !p.IsSetNumChildren() { 3245 return SchemaElement_NumChildren_DEFAULT 3246 } 3247 return *p.NumChildren 3248 } 3249 3250 var SchemaElement_ConvertedType_DEFAULT ConvertedType 3251 3252 func (p *SchemaElement) GetConvertedType() ConvertedType { 3253 if !p.IsSetConvertedType() { 3254 return SchemaElement_ConvertedType_DEFAULT 3255 } 3256 return *p.ConvertedType 3257 } 3258 3259 var SchemaElement_Scale_DEFAULT int32 3260 3261 func (p *SchemaElement) GetScale() int32 { 3262 if !p.IsSetScale() { 3263 return SchemaElement_Scale_DEFAULT 3264 } 3265 return *p.Scale 3266 } 3267 3268 var SchemaElement_Precision_DEFAULT int32 3269 3270 func (p *SchemaElement) GetPrecision() int32 { 3271 if !p.IsSetPrecision() { 3272 return SchemaElement_Precision_DEFAULT 3273 } 3274 return *p.Precision 3275 } 3276 3277 var SchemaElement_FieldID_DEFAULT int32 3278 3279 func (p *SchemaElement) GetFieldID() int32 { 3280 if !p.IsSetFieldID() { 3281 return SchemaElement_FieldID_DEFAULT 3282 } 3283 return *p.FieldID 3284 } 3285 3286 var SchemaElement_LogicalType_DEFAULT *LogicalType 3287 3288 func (p *SchemaElement) GetLogicalType() *LogicalType { 3289 if !p.IsSetLogicalType() { 3290 return SchemaElement_LogicalType_DEFAULT 3291 } 3292 return p.LogicalType 3293 } 3294 func (p *SchemaElement) IsSetType() bool { 3295 return p.Type != nil 3296 } 3297 3298 func (p *SchemaElement) IsSetTypeLength() bool { 3299 return p.TypeLength != nil 3300 } 3301 3302 func (p *SchemaElement) IsSetRepetitionType() bool { 3303 return p.RepetitionType != nil 3304 } 3305 3306 func (p *SchemaElement) IsSetNumChildren() bool { 3307 return p.NumChildren != nil 3308 } 3309 3310 func (p *SchemaElement) IsSetConvertedType() bool { 3311 return p.ConvertedType != nil 3312 } 3313 3314 func (p *SchemaElement) IsSetScale() bool { 3315 return p.Scale != nil 3316 } 3317 3318 func (p *SchemaElement) IsSetPrecision() bool { 3319 return p.Precision != nil 3320 } 3321 3322 func (p *SchemaElement) IsSetFieldID() bool { 3323 return p.FieldID != nil 3324 } 3325 3326 func (p *SchemaElement) IsSetLogicalType() bool { 3327 return p.LogicalType != nil 3328 } 3329 3330 func (p *SchemaElement) Read(iprot thrift.TProtocol) error { 3331 if _, err := iprot.ReadStructBegin(); err != nil { 3332 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 3333 } 3334 3335 var issetName bool = false 3336 3337 for { 3338 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 3339 if err != nil { 3340 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 3341 } 3342 if fieldTypeId == thrift.STOP { 3343 break 3344 } 3345 switch fieldId { 3346 case 1: 3347 if err := p.ReadField1(iprot); err != nil { 3348 return err 3349 } 3350 case 2: 3351 if err := p.ReadField2(iprot); err != nil { 3352 return err 3353 } 3354 case 3: 3355 if err := p.ReadField3(iprot); err != nil { 3356 return err 3357 } 3358 case 4: 3359 if err := p.ReadField4(iprot); err != nil { 3360 return err 3361 } 3362 issetName = true 3363 case 5: 3364 if err := p.ReadField5(iprot); err != nil { 3365 return err 3366 } 3367 case 6: 3368 if err := p.ReadField6(iprot); err != nil { 3369 return err 3370 } 3371 case 7: 3372 if err := p.ReadField7(iprot); err != nil { 3373 return err 3374 } 3375 case 8: 3376 if err := p.ReadField8(iprot); err != nil { 3377 return err 3378 } 3379 case 9: 3380 if err := p.ReadField9(iprot); err != nil { 3381 return err 3382 } 3383 case 10: 3384 if err := p.ReadField10(iprot); err != nil { 3385 return err 3386 } 3387 default: 3388 if err := iprot.Skip(fieldTypeId); err != nil { 3389 return err 3390 } 3391 } 3392 if err := iprot.ReadFieldEnd(); err != nil { 3393 return err 3394 } 3395 } 3396 if err := iprot.ReadStructEnd(); err != nil { 3397 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 3398 } 3399 if !issetName { 3400 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Name is not set")) 3401 } 3402 return nil 3403 } 3404 3405 func (p *SchemaElement) ReadField1(iprot thrift.TProtocol) error { 3406 if v, err := iprot.ReadI32(); err != nil { 3407 return thrift.PrependError("error reading field 1: ", err) 3408 } else { 3409 temp := Type(v) 3410 p.Type = &temp 3411 } 3412 return nil 3413 } 3414 3415 func (p *SchemaElement) ReadField2(iprot thrift.TProtocol) error { 3416 if v, err := iprot.ReadI32(); err != nil { 3417 return thrift.PrependError("error reading field 2: ", err) 3418 } else { 3419 p.TypeLength = &v 3420 } 3421 return nil 3422 } 3423 3424 func (p *SchemaElement) ReadField3(iprot thrift.TProtocol) error { 3425 if v, err := iprot.ReadI32(); err != nil { 3426 return thrift.PrependError("error reading field 3: ", err) 3427 } else { 3428 temp := FieldRepetitionType(v) 3429 p.RepetitionType = &temp 3430 } 3431 return nil 3432 } 3433 3434 func (p *SchemaElement) ReadField4(iprot thrift.TProtocol) error { 3435 if v, err := iprot.ReadString(); err != nil { 3436 return thrift.PrependError("error reading field 4: ", err) 3437 } else { 3438 p.Name = v 3439 } 3440 return nil 3441 } 3442 3443 func (p *SchemaElement) ReadField5(iprot thrift.TProtocol) error { 3444 if v, err := iprot.ReadI32(); err != nil { 3445 return thrift.PrependError("error reading field 5: ", err) 3446 } else { 3447 p.NumChildren = &v 3448 } 3449 return nil 3450 } 3451 3452 func (p *SchemaElement) ReadField6(iprot thrift.TProtocol) error { 3453 if v, err := iprot.ReadI32(); err != nil { 3454 return thrift.PrependError("error reading field 6: ", err) 3455 } else { 3456 temp := ConvertedType(v) 3457 p.ConvertedType = &temp 3458 } 3459 return nil 3460 } 3461 3462 func (p *SchemaElement) ReadField7(iprot thrift.TProtocol) error { 3463 if v, err := iprot.ReadI32(); err != nil { 3464 return thrift.PrependError("error reading field 7: ", err) 3465 } else { 3466 p.Scale = &v 3467 } 3468 return nil 3469 } 3470 3471 func (p *SchemaElement) ReadField8(iprot thrift.TProtocol) error { 3472 if v, err := iprot.ReadI32(); err != nil { 3473 return thrift.PrependError("error reading field 8: ", err) 3474 } else { 3475 p.Precision = &v 3476 } 3477 return nil 3478 } 3479 3480 func (p *SchemaElement) ReadField9(iprot thrift.TProtocol) error { 3481 if v, err := iprot.ReadI32(); err != nil { 3482 return thrift.PrependError("error reading field 9: ", err) 3483 } else { 3484 p.FieldID = &v 3485 } 3486 return nil 3487 } 3488 3489 func (p *SchemaElement) ReadField10(iprot thrift.TProtocol) error { 3490 p.LogicalType = &LogicalType{} 3491 if err := p.LogicalType.Read(iprot); err != nil { 3492 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.LogicalType), err) 3493 } 3494 return nil 3495 } 3496 3497 func (p *SchemaElement) Write(oprot thrift.TProtocol) error { 3498 if err := oprot.WriteStructBegin("SchemaElement"); err != nil { 3499 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 3500 } 3501 if p != nil { 3502 if err := p.writeField1(oprot); err != nil { 3503 return err 3504 } 3505 if err := p.writeField2(oprot); err != nil { 3506 return err 3507 } 3508 if err := p.writeField3(oprot); err != nil { 3509 return err 3510 } 3511 if err := p.writeField4(oprot); err != nil { 3512 return err 3513 } 3514 if err := p.writeField5(oprot); err != nil { 3515 return err 3516 } 3517 if err := p.writeField6(oprot); err != nil { 3518 return err 3519 } 3520 if err := p.writeField7(oprot); err != nil { 3521 return err 3522 } 3523 if err := p.writeField8(oprot); err != nil { 3524 return err 3525 } 3526 if err := p.writeField9(oprot); err != nil { 3527 return err 3528 } 3529 if err := p.writeField10(oprot); err != nil { 3530 return err 3531 } 3532 } 3533 if err := oprot.WriteFieldStop(); err != nil { 3534 return thrift.PrependError("write field stop error: ", err) 3535 } 3536 if err := oprot.WriteStructEnd(); err != nil { 3537 return thrift.PrependError("write struct stop error: ", err) 3538 } 3539 return nil 3540 } 3541 3542 func (p *SchemaElement) writeField1(oprot thrift.TProtocol) (err error) { 3543 if p.IsSetType() { 3544 if err := oprot.WriteFieldBegin("type", thrift.I32, 1); err != nil { 3545 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:type: ", p), err) 3546 } 3547 if err := oprot.WriteI32(int32(*p.Type)); err != nil { 3548 return thrift.PrependError(fmt.Sprintf("%T.type (1) field write error: ", p), err) 3549 } 3550 if err := oprot.WriteFieldEnd(); err != nil { 3551 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:type: ", p), err) 3552 } 3553 } 3554 return err 3555 } 3556 3557 func (p *SchemaElement) writeField2(oprot thrift.TProtocol) (err error) { 3558 if p.IsSetTypeLength() { 3559 if err := oprot.WriteFieldBegin("type_length", thrift.I32, 2); err != nil { 3560 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:type_length: ", p), err) 3561 } 3562 if err := oprot.WriteI32(*p.TypeLength); err != nil { 3563 return thrift.PrependError(fmt.Sprintf("%T.type_length (2) field write error: ", p), err) 3564 } 3565 if err := oprot.WriteFieldEnd(); err != nil { 3566 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:type_length: ", p), err) 3567 } 3568 } 3569 return err 3570 } 3571 3572 func (p *SchemaElement) writeField3(oprot thrift.TProtocol) (err error) { 3573 if p.IsSetRepetitionType() { 3574 if err := oprot.WriteFieldBegin("repetition_type", thrift.I32, 3); err != nil { 3575 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:repetition_type: ", p), err) 3576 } 3577 if err := oprot.WriteI32(int32(*p.RepetitionType)); err != nil { 3578 return thrift.PrependError(fmt.Sprintf("%T.repetition_type (3) field write error: ", p), err) 3579 } 3580 if err := oprot.WriteFieldEnd(); err != nil { 3581 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:repetition_type: ", p), err) 3582 } 3583 } 3584 return err 3585 } 3586 3587 func (p *SchemaElement) writeField4(oprot thrift.TProtocol) (err error) { 3588 if err := oprot.WriteFieldBegin("name", thrift.STRING, 4); err != nil { 3589 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:name: ", p), err) 3590 } 3591 if err := oprot.WriteString(string(p.Name)); err != nil { 3592 return thrift.PrependError(fmt.Sprintf("%T.name (4) field write error: ", p), err) 3593 } 3594 if err := oprot.WriteFieldEnd(); err != nil { 3595 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:name: ", p), err) 3596 } 3597 return err 3598 } 3599 3600 func (p *SchemaElement) writeField5(oprot thrift.TProtocol) (err error) { 3601 if p.IsSetNumChildren() { 3602 if err := oprot.WriteFieldBegin("num_children", thrift.I32, 5); err != nil { 3603 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:num_children: ", p), err) 3604 } 3605 if err := oprot.WriteI32(*p.NumChildren); err != nil { 3606 return thrift.PrependError(fmt.Sprintf("%T.num_children (5) field write error: ", p), err) 3607 } 3608 if err := oprot.WriteFieldEnd(); err != nil { 3609 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:num_children: ", p), err) 3610 } 3611 } 3612 return err 3613 } 3614 3615 func (p *SchemaElement) writeField6(oprot thrift.TProtocol) (err error) { 3616 if p.IsSetConvertedType() { 3617 if err := oprot.WriteFieldBegin("converted_type", thrift.I32, 6); err != nil { 3618 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:converted_type: ", p), err) 3619 } 3620 if err := oprot.WriteI32(int32(*p.ConvertedType)); err != nil { 3621 return thrift.PrependError(fmt.Sprintf("%T.converted_type (6) field write error: ", p), err) 3622 } 3623 if err := oprot.WriteFieldEnd(); err != nil { 3624 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:converted_type: ", p), err) 3625 } 3626 } 3627 return err 3628 } 3629 3630 func (p *SchemaElement) writeField7(oprot thrift.TProtocol) (err error) { 3631 if p.IsSetScale() { 3632 if err := oprot.WriteFieldBegin("scale", thrift.I32, 7); err != nil { 3633 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:scale: ", p), err) 3634 } 3635 if err := oprot.WriteI32(*p.Scale); err != nil { 3636 return thrift.PrependError(fmt.Sprintf("%T.scale (7) field write error: ", p), err) 3637 } 3638 if err := oprot.WriteFieldEnd(); err != nil { 3639 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:scale: ", p), err) 3640 } 3641 } 3642 return err 3643 } 3644 3645 func (p *SchemaElement) writeField8(oprot thrift.TProtocol) (err error) { 3646 if p.IsSetPrecision() { 3647 if err := oprot.WriteFieldBegin("precision", thrift.I32, 8); err != nil { 3648 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:precision: ", p), err) 3649 } 3650 if err := oprot.WriteI32(*p.Precision); err != nil { 3651 return thrift.PrependError(fmt.Sprintf("%T.precision (8) field write error: ", p), err) 3652 } 3653 if err := oprot.WriteFieldEnd(); err != nil { 3654 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:precision: ", p), err) 3655 } 3656 } 3657 return err 3658 } 3659 3660 func (p *SchemaElement) writeField9(oprot thrift.TProtocol) (err error) { 3661 if p.IsSetFieldID() { 3662 if err := oprot.WriteFieldBegin("field_id", thrift.I32, 9); err != nil { 3663 return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:field_id: ", p), err) 3664 } 3665 if err := oprot.WriteI32(*p.FieldID); err != nil { 3666 return thrift.PrependError(fmt.Sprintf("%T.field_id (9) field write error: ", p), err) 3667 } 3668 if err := oprot.WriteFieldEnd(); err != nil { 3669 return thrift.PrependError(fmt.Sprintf("%T write field end error 9:field_id: ", p), err) 3670 } 3671 } 3672 return err 3673 } 3674 3675 func (p *SchemaElement) writeField10(oprot thrift.TProtocol) (err error) { 3676 if p.IsSetLogicalType() { 3677 if err := oprot.WriteFieldBegin("logicalType", thrift.STRUCT, 10); err != nil { 3678 return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:logicalType: ", p), err) 3679 } 3680 if err := p.LogicalType.Write(oprot); err != nil { 3681 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.LogicalType), err) 3682 } 3683 if err := oprot.WriteFieldEnd(); err != nil { 3684 return thrift.PrependError(fmt.Sprintf("%T write field end error 10:logicalType: ", p), err) 3685 } 3686 } 3687 return err 3688 } 3689 3690 func (p *SchemaElement) String() string { 3691 if p == nil { 3692 return "<nil>" 3693 } 3694 return fmt.Sprintf("SchemaElement(%+v)", *p) 3695 } 3696 3697 // Data page header 3698 // 3699 // Attributes: 3700 // - NumValues: Number of values, including NULLs, in this data page. * 3701 // - Encoding: Encoding used for this data page * 3702 // - DefinitionLevelEncoding: Encoding used for definition levels * 3703 // - RepetitionLevelEncoding: Encoding used for repetition levels * 3704 // - Statistics: Optional statistics for the data in this page* 3705 type DataPageHeader struct { 3706 NumValues int32 `thrift:"num_values,1,required" db:"num_values" json:"num_values"` 3707 Encoding Encoding `thrift:"encoding,2,required" db:"encoding" json:"encoding"` 3708 DefinitionLevelEncoding Encoding `thrift:"definition_level_encoding,3,required" db:"definition_level_encoding" json:"definition_level_encoding"` 3709 RepetitionLevelEncoding Encoding `thrift:"repetition_level_encoding,4,required" db:"repetition_level_encoding" json:"repetition_level_encoding"` 3710 Statistics *Statistics `thrift:"statistics,5" db:"statistics" json:"statistics,omitempty"` 3711 } 3712 3713 func NewDataPageHeader() *DataPageHeader { 3714 return &DataPageHeader{} 3715 } 3716 3717 func (p *DataPageHeader) GetNumValues() int32 { 3718 return p.NumValues 3719 } 3720 3721 func (p *DataPageHeader) GetEncoding() Encoding { 3722 return p.Encoding 3723 } 3724 3725 func (p *DataPageHeader) GetDefinitionLevelEncoding() Encoding { 3726 return p.DefinitionLevelEncoding 3727 } 3728 3729 func (p *DataPageHeader) GetRepetitionLevelEncoding() Encoding { 3730 return p.RepetitionLevelEncoding 3731 } 3732 3733 var DataPageHeader_Statistics_DEFAULT *Statistics 3734 3735 func (p *DataPageHeader) GetStatistics() *Statistics { 3736 if !p.IsSetStatistics() { 3737 return DataPageHeader_Statistics_DEFAULT 3738 } 3739 return p.Statistics 3740 } 3741 func (p *DataPageHeader) IsSetStatistics() bool { 3742 return p.Statistics != nil 3743 } 3744 3745 func (p *DataPageHeader) Read(iprot thrift.TProtocol) error { 3746 if _, err := iprot.ReadStructBegin(); err != nil { 3747 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 3748 } 3749 3750 var issetNumValues bool = false 3751 var issetEncoding bool = false 3752 var issetDefinitionLevelEncoding bool = false 3753 var issetRepetitionLevelEncoding bool = false 3754 3755 for { 3756 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 3757 if err != nil { 3758 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 3759 } 3760 if fieldTypeId == thrift.STOP { 3761 break 3762 } 3763 switch fieldId { 3764 case 1: 3765 if err := p.ReadField1(iprot); err != nil { 3766 return err 3767 } 3768 issetNumValues = true 3769 case 2: 3770 if err := p.ReadField2(iprot); err != nil { 3771 return err 3772 } 3773 issetEncoding = true 3774 case 3: 3775 if err := p.ReadField3(iprot); err != nil { 3776 return err 3777 } 3778 issetDefinitionLevelEncoding = true 3779 case 4: 3780 if err := p.ReadField4(iprot); err != nil { 3781 return err 3782 } 3783 issetRepetitionLevelEncoding = true 3784 case 5: 3785 if err := p.ReadField5(iprot); err != nil { 3786 return err 3787 } 3788 default: 3789 if err := iprot.Skip(fieldTypeId); err != nil { 3790 return err 3791 } 3792 } 3793 if err := iprot.ReadFieldEnd(); err != nil { 3794 return err 3795 } 3796 } 3797 if err := iprot.ReadStructEnd(); err != nil { 3798 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 3799 } 3800 if !issetNumValues { 3801 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumValues is not set")) 3802 } 3803 if !issetEncoding { 3804 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encoding is not set")) 3805 } 3806 if !issetDefinitionLevelEncoding { 3807 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DefinitionLevelEncoding is not set")) 3808 } 3809 if !issetRepetitionLevelEncoding { 3810 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field RepetitionLevelEncoding is not set")) 3811 } 3812 return nil 3813 } 3814 3815 func (p *DataPageHeader) ReadField1(iprot thrift.TProtocol) error { 3816 if v, err := iprot.ReadI32(); err != nil { 3817 return thrift.PrependError("error reading field 1: ", err) 3818 } else { 3819 p.NumValues = v 3820 } 3821 return nil 3822 } 3823 3824 func (p *DataPageHeader) ReadField2(iprot thrift.TProtocol) error { 3825 if v, err := iprot.ReadI32(); err != nil { 3826 return thrift.PrependError("error reading field 2: ", err) 3827 } else { 3828 temp := Encoding(v) 3829 p.Encoding = temp 3830 } 3831 return nil 3832 } 3833 3834 func (p *DataPageHeader) ReadField3(iprot thrift.TProtocol) error { 3835 if v, err := iprot.ReadI32(); err != nil { 3836 return thrift.PrependError("error reading field 3: ", err) 3837 } else { 3838 temp := Encoding(v) 3839 p.DefinitionLevelEncoding = temp 3840 } 3841 return nil 3842 } 3843 3844 func (p *DataPageHeader) ReadField4(iprot thrift.TProtocol) error { 3845 if v, err := iprot.ReadI32(); err != nil { 3846 return thrift.PrependError("error reading field 4: ", err) 3847 } else { 3848 temp := Encoding(v) 3849 p.RepetitionLevelEncoding = temp 3850 } 3851 return nil 3852 } 3853 3854 func (p *DataPageHeader) ReadField5(iprot thrift.TProtocol) error { 3855 p.Statistics = &Statistics{} 3856 if err := p.Statistics.Read(iprot); err != nil { 3857 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Statistics), err) 3858 } 3859 return nil 3860 } 3861 3862 func (p *DataPageHeader) Write(oprot thrift.TProtocol) error { 3863 if err := oprot.WriteStructBegin("DataPageHeader"); err != nil { 3864 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 3865 } 3866 if p != nil { 3867 if err := p.writeField1(oprot); err != nil { 3868 return err 3869 } 3870 if err := p.writeField2(oprot); err != nil { 3871 return err 3872 } 3873 if err := p.writeField3(oprot); err != nil { 3874 return err 3875 } 3876 if err := p.writeField4(oprot); err != nil { 3877 return err 3878 } 3879 if err := p.writeField5(oprot); err != nil { 3880 return err 3881 } 3882 } 3883 if err := oprot.WriteFieldStop(); err != nil { 3884 return thrift.PrependError("write field stop error: ", err) 3885 } 3886 if err := oprot.WriteStructEnd(); err != nil { 3887 return thrift.PrependError("write struct stop error: ", err) 3888 } 3889 return nil 3890 } 3891 3892 func (p *DataPageHeader) writeField1(oprot thrift.TProtocol) (err error) { 3893 if err := oprot.WriteFieldBegin("num_values", thrift.I32, 1); err != nil { 3894 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:num_values: ", p), err) 3895 } 3896 if err := oprot.WriteI32(p.NumValues); err != nil { 3897 return thrift.PrependError(fmt.Sprintf("%T.num_values (1) field write error: ", p), err) 3898 } 3899 if err := oprot.WriteFieldEnd(); err != nil { 3900 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:num_values: ", p), err) 3901 } 3902 return err 3903 } 3904 3905 func (p *DataPageHeader) writeField2(oprot thrift.TProtocol) (err error) { 3906 if err := oprot.WriteFieldBegin("encoding", thrift.I32, 2); err != nil { 3907 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:encoding: ", p), err) 3908 } 3909 if err := oprot.WriteI32(int32(p.Encoding)); err != nil { 3910 return thrift.PrependError(fmt.Sprintf("%T.encoding (2) field write error: ", p), err) 3911 } 3912 if err := oprot.WriteFieldEnd(); err != nil { 3913 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:encoding: ", p), err) 3914 } 3915 return err 3916 } 3917 3918 func (p *DataPageHeader) writeField3(oprot thrift.TProtocol) (err error) { 3919 if err := oprot.WriteFieldBegin("definition_level_encoding", thrift.I32, 3); err != nil { 3920 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:definition_level_encoding: ", p), err) 3921 } 3922 if err := oprot.WriteI32(int32(p.DefinitionLevelEncoding)); err != nil { 3923 return thrift.PrependError(fmt.Sprintf("%T.definition_level_encoding (3) field write error: ", p), err) 3924 } 3925 if err := oprot.WriteFieldEnd(); err != nil { 3926 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:definition_level_encoding: ", p), err) 3927 } 3928 return err 3929 } 3930 3931 func (p *DataPageHeader) writeField4(oprot thrift.TProtocol) (err error) { 3932 if err := oprot.WriteFieldBegin("repetition_level_encoding", thrift.I32, 4); err != nil { 3933 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:repetition_level_encoding: ", p), err) 3934 } 3935 if err := oprot.WriteI32(int32(p.RepetitionLevelEncoding)); err != nil { 3936 return thrift.PrependError(fmt.Sprintf("%T.repetition_level_encoding (4) field write error: ", p), err) 3937 } 3938 if err := oprot.WriteFieldEnd(); err != nil { 3939 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:repetition_level_encoding: ", p), err) 3940 } 3941 return err 3942 } 3943 3944 func (p *DataPageHeader) writeField5(oprot thrift.TProtocol) (err error) { 3945 if p.IsSetStatistics() { 3946 if err := oprot.WriteFieldBegin("statistics", thrift.STRUCT, 5); err != nil { 3947 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:statistics: ", p), err) 3948 } 3949 if err := p.Statistics.Write(oprot); err != nil { 3950 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Statistics), err) 3951 } 3952 if err := oprot.WriteFieldEnd(); err != nil { 3953 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:statistics: ", p), err) 3954 } 3955 } 3956 return err 3957 } 3958 3959 func (p *DataPageHeader) String() string { 3960 if p == nil { 3961 return "<nil>" 3962 } 3963 return fmt.Sprintf("DataPageHeader(%+v)", *p) 3964 } 3965 3966 type IndexPageHeader struct { 3967 } 3968 3969 func NewIndexPageHeader() *IndexPageHeader { 3970 return &IndexPageHeader{} 3971 } 3972 3973 func (p *IndexPageHeader) Read(iprot thrift.TProtocol) error { 3974 if _, err := iprot.ReadStructBegin(); err != nil { 3975 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 3976 } 3977 3978 for { 3979 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 3980 if err != nil { 3981 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 3982 } 3983 if fieldTypeId == thrift.STOP { 3984 break 3985 } 3986 if err := iprot.Skip(fieldTypeId); err != nil { 3987 return err 3988 } 3989 if err := iprot.ReadFieldEnd(); err != nil { 3990 return err 3991 } 3992 } 3993 if err := iprot.ReadStructEnd(); err != nil { 3994 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 3995 } 3996 return nil 3997 } 3998 3999 func (p *IndexPageHeader) Write(oprot thrift.TProtocol) error { 4000 if err := oprot.WriteStructBegin("IndexPageHeader"); err != nil { 4001 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 4002 } 4003 if p != nil { 4004 } 4005 if err := oprot.WriteFieldStop(); err != nil { 4006 return thrift.PrependError("write field stop error: ", err) 4007 } 4008 if err := oprot.WriteStructEnd(); err != nil { 4009 return thrift.PrependError("write struct stop error: ", err) 4010 } 4011 return nil 4012 } 4013 4014 func (p *IndexPageHeader) String() string { 4015 if p == nil { 4016 return "<nil>" 4017 } 4018 return fmt.Sprintf("IndexPageHeader(%+v)", *p) 4019 } 4020 4021 // TODO: * 4022 // 4023 // Attributes: 4024 // - NumValues: Number of values in the dictionary * 4025 // - Encoding: Encoding using this dictionary page * 4026 // - IsSorted: If true, the entries in the dictionary are sorted in ascending order * 4027 type DictionaryPageHeader struct { 4028 NumValues int32 `thrift:"num_values,1,required" db:"num_values" json:"num_values"` 4029 Encoding Encoding `thrift:"encoding,2,required" db:"encoding" json:"encoding"` 4030 IsSorted *bool `thrift:"is_sorted,3" db:"is_sorted" json:"is_sorted,omitempty"` 4031 } 4032 4033 func NewDictionaryPageHeader() *DictionaryPageHeader { 4034 return &DictionaryPageHeader{} 4035 } 4036 4037 func (p *DictionaryPageHeader) GetNumValues() int32 { 4038 return p.NumValues 4039 } 4040 4041 func (p *DictionaryPageHeader) GetEncoding() Encoding { 4042 return p.Encoding 4043 } 4044 4045 var DictionaryPageHeader_IsSorted_DEFAULT bool 4046 4047 func (p *DictionaryPageHeader) GetIsSorted() bool { 4048 if !p.IsSetIsSorted() { 4049 return DictionaryPageHeader_IsSorted_DEFAULT 4050 } 4051 return *p.IsSorted 4052 } 4053 func (p *DictionaryPageHeader) IsSetIsSorted() bool { 4054 return p.IsSorted != nil 4055 } 4056 4057 func (p *DictionaryPageHeader) Read(iprot thrift.TProtocol) error { 4058 if _, err := iprot.ReadStructBegin(); err != nil { 4059 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 4060 } 4061 4062 var issetNumValues bool = false 4063 var issetEncoding bool = false 4064 4065 for { 4066 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 4067 if err != nil { 4068 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 4069 } 4070 if fieldTypeId == thrift.STOP { 4071 break 4072 } 4073 switch fieldId { 4074 case 1: 4075 if err := p.ReadField1(iprot); err != nil { 4076 return err 4077 } 4078 issetNumValues = true 4079 case 2: 4080 if err := p.ReadField2(iprot); err != nil { 4081 return err 4082 } 4083 issetEncoding = true 4084 case 3: 4085 if err := p.ReadField3(iprot); err != nil { 4086 return err 4087 } 4088 default: 4089 if err := iprot.Skip(fieldTypeId); err != nil { 4090 return err 4091 } 4092 } 4093 if err := iprot.ReadFieldEnd(); err != nil { 4094 return err 4095 } 4096 } 4097 if err := iprot.ReadStructEnd(); err != nil { 4098 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 4099 } 4100 if !issetNumValues { 4101 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumValues is not set")) 4102 } 4103 if !issetEncoding { 4104 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encoding is not set")) 4105 } 4106 return nil 4107 } 4108 4109 func (p *DictionaryPageHeader) ReadField1(iprot thrift.TProtocol) error { 4110 if v, err := iprot.ReadI32(); err != nil { 4111 return thrift.PrependError("error reading field 1: ", err) 4112 } else { 4113 p.NumValues = v 4114 } 4115 return nil 4116 } 4117 4118 func (p *DictionaryPageHeader) ReadField2(iprot thrift.TProtocol) error { 4119 if v, err := iprot.ReadI32(); err != nil { 4120 return thrift.PrependError("error reading field 2: ", err) 4121 } else { 4122 temp := Encoding(v) 4123 p.Encoding = temp 4124 } 4125 return nil 4126 } 4127 4128 func (p *DictionaryPageHeader) ReadField3(iprot thrift.TProtocol) error { 4129 if v, err := iprot.ReadBool(); err != nil { 4130 return thrift.PrependError("error reading field 3: ", err) 4131 } else { 4132 p.IsSorted = &v 4133 } 4134 return nil 4135 } 4136 4137 func (p *DictionaryPageHeader) Write(oprot thrift.TProtocol) error { 4138 if err := oprot.WriteStructBegin("DictionaryPageHeader"); err != nil { 4139 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 4140 } 4141 if p != nil { 4142 if err := p.writeField1(oprot); err != nil { 4143 return err 4144 } 4145 if err := p.writeField2(oprot); err != nil { 4146 return err 4147 } 4148 if err := p.writeField3(oprot); err != nil { 4149 return err 4150 } 4151 } 4152 if err := oprot.WriteFieldStop(); err != nil { 4153 return thrift.PrependError("write field stop error: ", err) 4154 } 4155 if err := oprot.WriteStructEnd(); err != nil { 4156 return thrift.PrependError("write struct stop error: ", err) 4157 } 4158 return nil 4159 } 4160 4161 func (p *DictionaryPageHeader) writeField1(oprot thrift.TProtocol) (err error) { 4162 if err := oprot.WriteFieldBegin("num_values", thrift.I32, 1); err != nil { 4163 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:num_values: ", p), err) 4164 } 4165 if err := oprot.WriteI32(p.NumValues); err != nil { 4166 return thrift.PrependError(fmt.Sprintf("%T.num_values (1) field write error: ", p), err) 4167 } 4168 if err := oprot.WriteFieldEnd(); err != nil { 4169 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:num_values: ", p), err) 4170 } 4171 return err 4172 } 4173 4174 func (p *DictionaryPageHeader) writeField2(oprot thrift.TProtocol) (err error) { 4175 if err := oprot.WriteFieldBegin("encoding", thrift.I32, 2); err != nil { 4176 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:encoding: ", p), err) 4177 } 4178 if err := oprot.WriteI32(int32(p.Encoding)); err != nil { 4179 return thrift.PrependError(fmt.Sprintf("%T.encoding (2) field write error: ", p), err) 4180 } 4181 if err := oprot.WriteFieldEnd(); err != nil { 4182 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:encoding: ", p), err) 4183 } 4184 return err 4185 } 4186 4187 func (p *DictionaryPageHeader) writeField3(oprot thrift.TProtocol) (err error) { 4188 if p.IsSetIsSorted() { 4189 if err := oprot.WriteFieldBegin("is_sorted", thrift.BOOL, 3); err != nil { 4190 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:is_sorted: ", p), err) 4191 } 4192 if err := oprot.WriteBool(*p.IsSorted); err != nil { 4193 return thrift.PrependError(fmt.Sprintf("%T.is_sorted (3) field write error: ", p), err) 4194 } 4195 if err := oprot.WriteFieldEnd(); err != nil { 4196 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:is_sorted: ", p), err) 4197 } 4198 } 4199 return err 4200 } 4201 4202 func (p *DictionaryPageHeader) String() string { 4203 if p == nil { 4204 return "<nil>" 4205 } 4206 return fmt.Sprintf("DictionaryPageHeader(%+v)", *p) 4207 } 4208 4209 // New page format allowing reading levels without decompressing the data 4210 // Repetition and definition levels are uncompressed 4211 // The remaining section containing the data is compressed if is_compressed is true 4212 // 4213 // 4214 // Attributes: 4215 // - NumValues: Number of values, including NULLs, in this data page. * 4216 // - NumNulls: Number of NULL values, in this data page. 4217 // Number of non-null = num_values - num_nulls which is also the number of values in the data section * 4218 // - NumRows: Number of rows in this data page. which means pages change on record boundaries (r = 0) * 4219 // - Encoding: Encoding used for data in this page * 4220 // - DefinitionLevelsByteLength: length of the definition levels 4221 // - RepetitionLevelsByteLength: length of the repetition levels 4222 // - IsCompressed: whether the values are compressed. 4223 // Which means the section of the page between 4224 // definition_levels_byte_length + repetition_levels_byte_length + 1 and compressed_page_size (included) 4225 // is compressed with the compression_codec. 4226 // If missing it is considered compressed 4227 // - Statistics: optional statistics for this column chunk 4228 type DataPageHeaderV2 struct { 4229 NumValues int32 `thrift:"num_values,1,required" db:"num_values" json:"num_values"` 4230 NumNulls int32 `thrift:"num_nulls,2,required" db:"num_nulls" json:"num_nulls"` 4231 NumRows int32 `thrift:"num_rows,3,required" db:"num_rows" json:"num_rows"` 4232 Encoding Encoding `thrift:"encoding,4,required" db:"encoding" json:"encoding"` 4233 DefinitionLevelsByteLength int32 `thrift:"definition_levels_byte_length,5,required" db:"definition_levels_byte_length" json:"definition_levels_byte_length"` 4234 RepetitionLevelsByteLength int32 `thrift:"repetition_levels_byte_length,6,required" db:"repetition_levels_byte_length" json:"repetition_levels_byte_length"` 4235 IsCompressed bool `thrift:"is_compressed,7" db:"is_compressed" json:"is_compressed,omitempty"` 4236 Statistics *Statistics `thrift:"statistics,8" db:"statistics" json:"statistics,omitempty"` 4237 } 4238 4239 func NewDataPageHeaderV2() *DataPageHeaderV2 { 4240 return &DataPageHeaderV2{ 4241 IsCompressed: true, 4242 } 4243 } 4244 4245 func (p *DataPageHeaderV2) GetNumValues() int32 { 4246 return p.NumValues 4247 } 4248 4249 func (p *DataPageHeaderV2) GetNumNulls() int32 { 4250 return p.NumNulls 4251 } 4252 4253 func (p *DataPageHeaderV2) GetNumRows() int32 { 4254 return p.NumRows 4255 } 4256 4257 func (p *DataPageHeaderV2) GetEncoding() Encoding { 4258 return p.Encoding 4259 } 4260 4261 func (p *DataPageHeaderV2) GetDefinitionLevelsByteLength() int32 { 4262 return p.DefinitionLevelsByteLength 4263 } 4264 4265 func (p *DataPageHeaderV2) GetRepetitionLevelsByteLength() int32 { 4266 return p.RepetitionLevelsByteLength 4267 } 4268 4269 var DataPageHeaderV2_IsCompressed_DEFAULT bool = true 4270 4271 func (p *DataPageHeaderV2) GetIsCompressed() bool { 4272 return p.IsCompressed 4273 } 4274 4275 var DataPageHeaderV2_Statistics_DEFAULT *Statistics 4276 4277 func (p *DataPageHeaderV2) GetStatistics() *Statistics { 4278 if !p.IsSetStatistics() { 4279 return DataPageHeaderV2_Statistics_DEFAULT 4280 } 4281 return p.Statistics 4282 } 4283 func (p *DataPageHeaderV2) IsSetIsCompressed() bool { 4284 return p.IsCompressed != DataPageHeaderV2_IsCompressed_DEFAULT 4285 } 4286 4287 func (p *DataPageHeaderV2) IsSetStatistics() bool { 4288 return p.Statistics != nil 4289 } 4290 4291 func (p *DataPageHeaderV2) Read(iprot thrift.TProtocol) error { 4292 if _, err := iprot.ReadStructBegin(); err != nil { 4293 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 4294 } 4295 4296 var issetNumValues bool = false 4297 var issetNumNulls bool = false 4298 var issetNumRows bool = false 4299 var issetEncoding bool = false 4300 var issetDefinitionLevelsByteLength bool = false 4301 var issetRepetitionLevelsByteLength bool = false 4302 4303 for { 4304 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 4305 if err != nil { 4306 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 4307 } 4308 if fieldTypeId == thrift.STOP { 4309 break 4310 } 4311 switch fieldId { 4312 case 1: 4313 if err := p.ReadField1(iprot); err != nil { 4314 return err 4315 } 4316 issetNumValues = true 4317 case 2: 4318 if err := p.ReadField2(iprot); err != nil { 4319 return err 4320 } 4321 issetNumNulls = true 4322 case 3: 4323 if err := p.ReadField3(iprot); err != nil { 4324 return err 4325 } 4326 issetNumRows = true 4327 case 4: 4328 if err := p.ReadField4(iprot); err != nil { 4329 return err 4330 } 4331 issetEncoding = true 4332 case 5: 4333 if err := p.ReadField5(iprot); err != nil { 4334 return err 4335 } 4336 issetDefinitionLevelsByteLength = true 4337 case 6: 4338 if err := p.ReadField6(iprot); err != nil { 4339 return err 4340 } 4341 issetRepetitionLevelsByteLength = true 4342 case 7: 4343 if err := p.ReadField7(iprot); err != nil { 4344 return err 4345 } 4346 case 8: 4347 if err := p.ReadField8(iprot); err != nil { 4348 return err 4349 } 4350 default: 4351 if err := iprot.Skip(fieldTypeId); err != nil { 4352 return err 4353 } 4354 } 4355 if err := iprot.ReadFieldEnd(); err != nil { 4356 return err 4357 } 4358 } 4359 if err := iprot.ReadStructEnd(); err != nil { 4360 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 4361 } 4362 if !issetNumValues { 4363 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumValues is not set")) 4364 } 4365 if !issetNumNulls { 4366 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumNulls is not set")) 4367 } 4368 if !issetNumRows { 4369 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumRows is not set")) 4370 } 4371 if !issetEncoding { 4372 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encoding is not set")) 4373 } 4374 if !issetDefinitionLevelsByteLength { 4375 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DefinitionLevelsByteLength is not set")) 4376 } 4377 if !issetRepetitionLevelsByteLength { 4378 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field RepetitionLevelsByteLength is not set")) 4379 } 4380 return nil 4381 } 4382 4383 func (p *DataPageHeaderV2) ReadField1(iprot thrift.TProtocol) error { 4384 if v, err := iprot.ReadI32(); err != nil { 4385 return thrift.PrependError("error reading field 1: ", err) 4386 } else { 4387 p.NumValues = v 4388 } 4389 return nil 4390 } 4391 4392 func (p *DataPageHeaderV2) ReadField2(iprot thrift.TProtocol) error { 4393 if v, err := iprot.ReadI32(); err != nil { 4394 return thrift.PrependError("error reading field 2: ", err) 4395 } else { 4396 p.NumNulls = v 4397 } 4398 return nil 4399 } 4400 4401 func (p *DataPageHeaderV2) ReadField3(iprot thrift.TProtocol) error { 4402 if v, err := iprot.ReadI32(); err != nil { 4403 return thrift.PrependError("error reading field 3: ", err) 4404 } else { 4405 p.NumRows = v 4406 } 4407 return nil 4408 } 4409 4410 func (p *DataPageHeaderV2) ReadField4(iprot thrift.TProtocol) error { 4411 if v, err := iprot.ReadI32(); err != nil { 4412 return thrift.PrependError("error reading field 4: ", err) 4413 } else { 4414 temp := Encoding(v) 4415 p.Encoding = temp 4416 } 4417 return nil 4418 } 4419 4420 func (p *DataPageHeaderV2) ReadField5(iprot thrift.TProtocol) error { 4421 if v, err := iprot.ReadI32(); err != nil { 4422 return thrift.PrependError("error reading field 5: ", err) 4423 } else { 4424 p.DefinitionLevelsByteLength = v 4425 } 4426 return nil 4427 } 4428 4429 func (p *DataPageHeaderV2) ReadField6(iprot thrift.TProtocol) error { 4430 if v, err := iprot.ReadI32(); err != nil { 4431 return thrift.PrependError("error reading field 6: ", err) 4432 } else { 4433 p.RepetitionLevelsByteLength = v 4434 } 4435 return nil 4436 } 4437 4438 func (p *DataPageHeaderV2) ReadField7(iprot thrift.TProtocol) error { 4439 if v, err := iprot.ReadBool(); err != nil { 4440 return thrift.PrependError("error reading field 7: ", err) 4441 } else { 4442 p.IsCompressed = v 4443 } 4444 return nil 4445 } 4446 4447 func (p *DataPageHeaderV2) ReadField8(iprot thrift.TProtocol) error { 4448 p.Statistics = &Statistics{} 4449 if err := p.Statistics.Read(iprot); err != nil { 4450 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Statistics), err) 4451 } 4452 return nil 4453 } 4454 4455 func (p *DataPageHeaderV2) Write(oprot thrift.TProtocol) error { 4456 if err := oprot.WriteStructBegin("DataPageHeaderV2"); err != nil { 4457 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 4458 } 4459 if p != nil { 4460 if err := p.writeField1(oprot); err != nil { 4461 return err 4462 } 4463 if err := p.writeField2(oprot); err != nil { 4464 return err 4465 } 4466 if err := p.writeField3(oprot); err != nil { 4467 return err 4468 } 4469 if err := p.writeField4(oprot); err != nil { 4470 return err 4471 } 4472 if err := p.writeField5(oprot); err != nil { 4473 return err 4474 } 4475 if err := p.writeField6(oprot); err != nil { 4476 return err 4477 } 4478 if err := p.writeField7(oprot); err != nil { 4479 return err 4480 } 4481 if err := p.writeField8(oprot); err != nil { 4482 return err 4483 } 4484 } 4485 if err := oprot.WriteFieldStop(); err != nil { 4486 return thrift.PrependError("write field stop error: ", err) 4487 } 4488 if err := oprot.WriteStructEnd(); err != nil { 4489 return thrift.PrependError("write struct stop error: ", err) 4490 } 4491 return nil 4492 } 4493 4494 func (p *DataPageHeaderV2) writeField1(oprot thrift.TProtocol) (err error) { 4495 if err := oprot.WriteFieldBegin("num_values", thrift.I32, 1); err != nil { 4496 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:num_values: ", p), err) 4497 } 4498 if err := oprot.WriteI32(p.NumValues); err != nil { 4499 return thrift.PrependError(fmt.Sprintf("%T.num_values (1) field write error: ", p), err) 4500 } 4501 if err := oprot.WriteFieldEnd(); err != nil { 4502 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:num_values: ", p), err) 4503 } 4504 return err 4505 } 4506 4507 func (p *DataPageHeaderV2) writeField2(oprot thrift.TProtocol) (err error) { 4508 if err := oprot.WriteFieldBegin("num_nulls", thrift.I32, 2); err != nil { 4509 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:num_nulls: ", p), err) 4510 } 4511 if err := oprot.WriteI32(p.NumNulls); err != nil { 4512 return thrift.PrependError(fmt.Sprintf("%T.num_nulls (2) field write error: ", p), err) 4513 } 4514 if err := oprot.WriteFieldEnd(); err != nil { 4515 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:num_nulls: ", p), err) 4516 } 4517 return err 4518 } 4519 4520 func (p *DataPageHeaderV2) writeField3(oprot thrift.TProtocol) (err error) { 4521 if err := oprot.WriteFieldBegin("num_rows", thrift.I32, 3); err != nil { 4522 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:num_rows: ", p), err) 4523 } 4524 if err := oprot.WriteI32(p.NumRows); err != nil { 4525 return thrift.PrependError(fmt.Sprintf("%T.num_rows (3) field write error: ", p), err) 4526 } 4527 if err := oprot.WriteFieldEnd(); err != nil { 4528 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:num_rows: ", p), err) 4529 } 4530 return err 4531 } 4532 4533 func (p *DataPageHeaderV2) writeField4(oprot thrift.TProtocol) (err error) { 4534 if err := oprot.WriteFieldBegin("encoding", thrift.I32, 4); err != nil { 4535 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:encoding: ", p), err) 4536 } 4537 if err := oprot.WriteI32(int32(p.Encoding)); err != nil { 4538 return thrift.PrependError(fmt.Sprintf("%T.encoding (4) field write error: ", p), err) 4539 } 4540 if err := oprot.WriteFieldEnd(); err != nil { 4541 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:encoding: ", p), err) 4542 } 4543 return err 4544 } 4545 4546 func (p *DataPageHeaderV2) writeField5(oprot thrift.TProtocol) (err error) { 4547 if err := oprot.WriteFieldBegin("definition_levels_byte_length", thrift.I32, 5); err != nil { 4548 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:definition_levels_byte_length: ", p), err) 4549 } 4550 if err := oprot.WriteI32(p.DefinitionLevelsByteLength); err != nil { 4551 return thrift.PrependError(fmt.Sprintf("%T.definition_levels_byte_length (5) field write error: ", p), err) 4552 } 4553 if err := oprot.WriteFieldEnd(); err != nil { 4554 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:definition_levels_byte_length: ", p), err) 4555 } 4556 return err 4557 } 4558 4559 func (p *DataPageHeaderV2) writeField6(oprot thrift.TProtocol) (err error) { 4560 if err := oprot.WriteFieldBegin("repetition_levels_byte_length", thrift.I32, 6); err != nil { 4561 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:repetition_levels_byte_length: ", p), err) 4562 } 4563 if err := oprot.WriteI32(p.RepetitionLevelsByteLength); err != nil { 4564 return thrift.PrependError(fmt.Sprintf("%T.repetition_levels_byte_length (6) field write error: ", p), err) 4565 } 4566 if err := oprot.WriteFieldEnd(); err != nil { 4567 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:repetition_levels_byte_length: ", p), err) 4568 } 4569 return err 4570 } 4571 4572 func (p *DataPageHeaderV2) writeField7(oprot thrift.TProtocol) (err error) { 4573 if p.IsSetIsCompressed() { 4574 if err := oprot.WriteFieldBegin("is_compressed", thrift.BOOL, 7); err != nil { 4575 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:is_compressed: ", p), err) 4576 } 4577 if err := oprot.WriteBool(p.IsCompressed); err != nil { 4578 return thrift.PrependError(fmt.Sprintf("%T.is_compressed (7) field write error: ", p), err) 4579 } 4580 if err := oprot.WriteFieldEnd(); err != nil { 4581 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:is_compressed: ", p), err) 4582 } 4583 } 4584 return err 4585 } 4586 4587 func (p *DataPageHeaderV2) writeField8(oprot thrift.TProtocol) (err error) { 4588 if p.IsSetStatistics() { 4589 if err := oprot.WriteFieldBegin("statistics", thrift.STRUCT, 8); err != nil { 4590 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:statistics: ", p), err) 4591 } 4592 if err := p.Statistics.Write(oprot); err != nil { 4593 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Statistics), err) 4594 } 4595 if err := oprot.WriteFieldEnd(); err != nil { 4596 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:statistics: ", p), err) 4597 } 4598 } 4599 return err 4600 } 4601 4602 func (p *DataPageHeaderV2) String() string { 4603 if p == nil { 4604 return "<nil>" 4605 } 4606 return fmt.Sprintf("DataPageHeaderV2(%+v)", *p) 4607 } 4608 4609 // Attributes: 4610 // - Type: the type of the page: indicates which of the *_header fields is set * 4611 // - UncompressedPageSize: Uncompressed page size in bytes (not including this header) * 4612 // - CompressedPageSize: Compressed page size in bytes (not including this header) * 4613 // - Crc: 32bit crc for the data below. This allows for disabling checksumming in HDFS 4614 // if only a few pages needs to be read 4615 // 4616 // - DataPageHeader 4617 // - IndexPageHeader 4618 // - DictionaryPageHeader 4619 // - DataPageHeaderV2 4620 type PageHeader struct { 4621 Type PageType `thrift:"type,1,required" db:"type" json:"type"` 4622 UncompressedPageSize int32 `thrift:"uncompressed_page_size,2,required" db:"uncompressed_page_size" json:"uncompressed_page_size"` 4623 CompressedPageSize int32 `thrift:"compressed_page_size,3,required" db:"compressed_page_size" json:"compressed_page_size"` 4624 Crc *int32 `thrift:"crc,4" db:"crc" json:"crc,omitempty"` 4625 DataPageHeader *DataPageHeader `thrift:"data_page_header,5" db:"data_page_header" json:"data_page_header,omitempty"` 4626 IndexPageHeader *IndexPageHeader `thrift:"index_page_header,6" db:"index_page_header" json:"index_page_header,omitempty"` 4627 DictionaryPageHeader *DictionaryPageHeader `thrift:"dictionary_page_header,7" db:"dictionary_page_header" json:"dictionary_page_header,omitempty"` 4628 DataPageHeaderV2 *DataPageHeaderV2 `thrift:"data_page_header_v2,8" db:"data_page_header_v2" json:"data_page_header_v2,omitempty"` 4629 } 4630 4631 func NewPageHeader() *PageHeader { 4632 return &PageHeader{} 4633 } 4634 4635 func (p *PageHeader) GetType() PageType { 4636 return p.Type 4637 } 4638 4639 func (p *PageHeader) GetUncompressedPageSize() int32 { 4640 return p.UncompressedPageSize 4641 } 4642 4643 func (p *PageHeader) GetCompressedPageSize() int32 { 4644 return p.CompressedPageSize 4645 } 4646 4647 var PageHeader_Crc_DEFAULT int32 4648 4649 func (p *PageHeader) GetCrc() int32 { 4650 if !p.IsSetCrc() { 4651 return PageHeader_Crc_DEFAULT 4652 } 4653 return *p.Crc 4654 } 4655 4656 var PageHeader_DataPageHeader_DEFAULT *DataPageHeader 4657 4658 func (p *PageHeader) GetDataPageHeader() *DataPageHeader { 4659 if !p.IsSetDataPageHeader() { 4660 return PageHeader_DataPageHeader_DEFAULT 4661 } 4662 return p.DataPageHeader 4663 } 4664 4665 var PageHeader_IndexPageHeader_DEFAULT *IndexPageHeader 4666 4667 func (p *PageHeader) GetIndexPageHeader() *IndexPageHeader { 4668 if !p.IsSetIndexPageHeader() { 4669 return PageHeader_IndexPageHeader_DEFAULT 4670 } 4671 return p.IndexPageHeader 4672 } 4673 4674 var PageHeader_DictionaryPageHeader_DEFAULT *DictionaryPageHeader 4675 4676 func (p *PageHeader) GetDictionaryPageHeader() *DictionaryPageHeader { 4677 if !p.IsSetDictionaryPageHeader() { 4678 return PageHeader_DictionaryPageHeader_DEFAULT 4679 } 4680 return p.DictionaryPageHeader 4681 } 4682 4683 var PageHeader_DataPageHeaderV2_DEFAULT *DataPageHeaderV2 4684 4685 func (p *PageHeader) GetDataPageHeaderV2() *DataPageHeaderV2 { 4686 if !p.IsSetDataPageHeaderV2() { 4687 return PageHeader_DataPageHeaderV2_DEFAULT 4688 } 4689 return p.DataPageHeaderV2 4690 } 4691 func (p *PageHeader) IsSetCrc() bool { 4692 return p.Crc != nil 4693 } 4694 4695 func (p *PageHeader) IsSetDataPageHeader() bool { 4696 return p.DataPageHeader != nil 4697 } 4698 4699 func (p *PageHeader) IsSetIndexPageHeader() bool { 4700 return p.IndexPageHeader != nil 4701 } 4702 4703 func (p *PageHeader) IsSetDictionaryPageHeader() bool { 4704 return p.DictionaryPageHeader != nil 4705 } 4706 4707 func (p *PageHeader) IsSetDataPageHeaderV2() bool { 4708 return p.DataPageHeaderV2 != nil 4709 } 4710 4711 func (p *PageHeader) Read(iprot thrift.TProtocol) error { 4712 if _, err := iprot.ReadStructBegin(); err != nil { 4713 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 4714 } 4715 4716 var issetType bool = false 4717 var issetUncompressedPageSize bool = false 4718 var issetCompressedPageSize bool = false 4719 4720 for { 4721 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 4722 if err != nil { 4723 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 4724 } 4725 if fieldTypeId == thrift.STOP { 4726 break 4727 } 4728 switch fieldId { 4729 case 1: 4730 if err := p.ReadField1(iprot); err != nil { 4731 return err 4732 } 4733 issetType = true 4734 case 2: 4735 if err := p.ReadField2(iprot); err != nil { 4736 return err 4737 } 4738 issetUncompressedPageSize = true 4739 case 3: 4740 if err := p.ReadField3(iprot); err != nil { 4741 return err 4742 } 4743 issetCompressedPageSize = true 4744 case 4: 4745 if err := p.ReadField4(iprot); err != nil { 4746 return err 4747 } 4748 case 5: 4749 if err := p.ReadField5(iprot); err != nil { 4750 return err 4751 } 4752 case 6: 4753 if err := p.ReadField6(iprot); err != nil { 4754 return err 4755 } 4756 case 7: 4757 if err := p.ReadField7(iprot); err != nil { 4758 return err 4759 } 4760 case 8: 4761 if err := p.ReadField8(iprot); err != nil { 4762 return err 4763 } 4764 default: 4765 if err := iprot.Skip(fieldTypeId); err != nil { 4766 return err 4767 } 4768 } 4769 if err := iprot.ReadFieldEnd(); err != nil { 4770 return err 4771 } 4772 } 4773 if err := iprot.ReadStructEnd(); err != nil { 4774 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 4775 } 4776 if !issetType { 4777 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Type is not set")) 4778 } 4779 if !issetUncompressedPageSize { 4780 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field UncompressedPageSize is not set")) 4781 } 4782 if !issetCompressedPageSize { 4783 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field CompressedPageSize is not set")) 4784 } 4785 return nil 4786 } 4787 4788 func (p *PageHeader) ReadField1(iprot thrift.TProtocol) error { 4789 if v, err := iprot.ReadI32(); err != nil { 4790 return thrift.PrependError("error reading field 1: ", err) 4791 } else { 4792 temp := PageType(v) 4793 p.Type = temp 4794 } 4795 return nil 4796 } 4797 4798 func (p *PageHeader) ReadField2(iprot thrift.TProtocol) error { 4799 if v, err := iprot.ReadI32(); err != nil { 4800 return thrift.PrependError("error reading field 2: ", err) 4801 } else { 4802 p.UncompressedPageSize = v 4803 } 4804 return nil 4805 } 4806 4807 func (p *PageHeader) ReadField3(iprot thrift.TProtocol) error { 4808 if v, err := iprot.ReadI32(); err != nil { 4809 return thrift.PrependError("error reading field 3: ", err) 4810 } else { 4811 p.CompressedPageSize = v 4812 } 4813 return nil 4814 } 4815 4816 func (p *PageHeader) ReadField4(iprot thrift.TProtocol) error { 4817 if v, err := iprot.ReadI32(); err != nil { 4818 return thrift.PrependError("error reading field 4: ", err) 4819 } else { 4820 p.Crc = &v 4821 } 4822 return nil 4823 } 4824 4825 func (p *PageHeader) ReadField5(iprot thrift.TProtocol) error { 4826 p.DataPageHeader = &DataPageHeader{} 4827 if err := p.DataPageHeader.Read(iprot); err != nil { 4828 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.DataPageHeader), err) 4829 } 4830 return nil 4831 } 4832 4833 func (p *PageHeader) ReadField6(iprot thrift.TProtocol) error { 4834 p.IndexPageHeader = &IndexPageHeader{} 4835 if err := p.IndexPageHeader.Read(iprot); err != nil { 4836 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.IndexPageHeader), err) 4837 } 4838 return nil 4839 } 4840 4841 func (p *PageHeader) ReadField7(iprot thrift.TProtocol) error { 4842 p.DictionaryPageHeader = &DictionaryPageHeader{} 4843 if err := p.DictionaryPageHeader.Read(iprot); err != nil { 4844 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.DictionaryPageHeader), err) 4845 } 4846 return nil 4847 } 4848 4849 func (p *PageHeader) ReadField8(iprot thrift.TProtocol) error { 4850 p.DataPageHeaderV2 = &DataPageHeaderV2{ 4851 IsCompressed: true, 4852 } 4853 if err := p.DataPageHeaderV2.Read(iprot); err != nil { 4854 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.DataPageHeaderV2), err) 4855 } 4856 return nil 4857 } 4858 4859 func (p *PageHeader) Write(oprot thrift.TProtocol) error { 4860 if err := oprot.WriteStructBegin("PageHeader"); err != nil { 4861 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 4862 } 4863 if p != nil { 4864 if err := p.writeField1(oprot); err != nil { 4865 return err 4866 } 4867 if err := p.writeField2(oprot); err != nil { 4868 return err 4869 } 4870 if err := p.writeField3(oprot); err != nil { 4871 return err 4872 } 4873 if err := p.writeField4(oprot); err != nil { 4874 return err 4875 } 4876 if err := p.writeField5(oprot); err != nil { 4877 return err 4878 } 4879 if err := p.writeField6(oprot); err != nil { 4880 return err 4881 } 4882 if err := p.writeField7(oprot); err != nil { 4883 return err 4884 } 4885 if err := p.writeField8(oprot); err != nil { 4886 return err 4887 } 4888 } 4889 if err := oprot.WriteFieldStop(); err != nil { 4890 return thrift.PrependError("write field stop error: ", err) 4891 } 4892 if err := oprot.WriteStructEnd(); err != nil { 4893 return thrift.PrependError("write struct stop error: ", err) 4894 } 4895 return nil 4896 } 4897 4898 func (p *PageHeader) writeField1(oprot thrift.TProtocol) (err error) { 4899 if err := oprot.WriteFieldBegin("type", thrift.I32, 1); err != nil { 4900 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:type: ", p), err) 4901 } 4902 if err := oprot.WriteI32(int32(p.Type)); err != nil { 4903 return thrift.PrependError(fmt.Sprintf("%T.type (1) field write error: ", p), err) 4904 } 4905 if err := oprot.WriteFieldEnd(); err != nil { 4906 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:type: ", p), err) 4907 } 4908 return err 4909 } 4910 4911 func (p *PageHeader) writeField2(oprot thrift.TProtocol) (err error) { 4912 if err := oprot.WriteFieldBegin("uncompressed_page_size", thrift.I32, 2); err != nil { 4913 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:uncompressed_page_size: ", p), err) 4914 } 4915 if err := oprot.WriteI32(p.UncompressedPageSize); err != nil { 4916 return thrift.PrependError(fmt.Sprintf("%T.uncompressed_page_size (2) field write error: ", p), err) 4917 } 4918 if err := oprot.WriteFieldEnd(); err != nil { 4919 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:uncompressed_page_size: ", p), err) 4920 } 4921 return err 4922 } 4923 4924 func (p *PageHeader) writeField3(oprot thrift.TProtocol) (err error) { 4925 if err := oprot.WriteFieldBegin("compressed_page_size", thrift.I32, 3); err != nil { 4926 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:compressed_page_size: ", p), err) 4927 } 4928 if err := oprot.WriteI32(p.CompressedPageSize); err != nil { 4929 return thrift.PrependError(fmt.Sprintf("%T.compressed_page_size (3) field write error: ", p), err) 4930 } 4931 if err := oprot.WriteFieldEnd(); err != nil { 4932 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:compressed_page_size: ", p), err) 4933 } 4934 return err 4935 } 4936 4937 func (p *PageHeader) writeField4(oprot thrift.TProtocol) (err error) { 4938 if p.IsSetCrc() { 4939 if err := oprot.WriteFieldBegin("crc", thrift.I32, 4); err != nil { 4940 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:crc: ", p), err) 4941 } 4942 if err := oprot.WriteI32(*p.Crc); err != nil { 4943 return thrift.PrependError(fmt.Sprintf("%T.crc (4) field write error: ", p), err) 4944 } 4945 if err := oprot.WriteFieldEnd(); err != nil { 4946 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:crc: ", p), err) 4947 } 4948 } 4949 return err 4950 } 4951 4952 func (p *PageHeader) writeField5(oprot thrift.TProtocol) (err error) { 4953 if p.IsSetDataPageHeader() { 4954 if err := oprot.WriteFieldBegin("data_page_header", thrift.STRUCT, 5); err != nil { 4955 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:data_page_header: ", p), err) 4956 } 4957 if err := p.DataPageHeader.Write(oprot); err != nil { 4958 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.DataPageHeader), err) 4959 } 4960 if err := oprot.WriteFieldEnd(); err != nil { 4961 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:data_page_header: ", p), err) 4962 } 4963 } 4964 return err 4965 } 4966 4967 func (p *PageHeader) writeField6(oprot thrift.TProtocol) (err error) { 4968 if p.IsSetIndexPageHeader() { 4969 if err := oprot.WriteFieldBegin("index_page_header", thrift.STRUCT, 6); err != nil { 4970 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:index_page_header: ", p), err) 4971 } 4972 if err := p.IndexPageHeader.Write(oprot); err != nil { 4973 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.IndexPageHeader), err) 4974 } 4975 if err := oprot.WriteFieldEnd(); err != nil { 4976 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:index_page_header: ", p), err) 4977 } 4978 } 4979 return err 4980 } 4981 4982 func (p *PageHeader) writeField7(oprot thrift.TProtocol) (err error) { 4983 if p.IsSetDictionaryPageHeader() { 4984 if err := oprot.WriteFieldBegin("dictionary_page_header", thrift.STRUCT, 7); err != nil { 4985 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:dictionary_page_header: ", p), err) 4986 } 4987 if err := p.DictionaryPageHeader.Write(oprot); err != nil { 4988 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.DictionaryPageHeader), err) 4989 } 4990 if err := oprot.WriteFieldEnd(); err != nil { 4991 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:dictionary_page_header: ", p), err) 4992 } 4993 } 4994 return err 4995 } 4996 4997 func (p *PageHeader) writeField8(oprot thrift.TProtocol) (err error) { 4998 if p.IsSetDataPageHeaderV2() { 4999 if err := oprot.WriteFieldBegin("data_page_header_v2", thrift.STRUCT, 8); err != nil { 5000 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:data_page_header_v2: ", p), err) 5001 } 5002 if err := p.DataPageHeaderV2.Write(oprot); err != nil { 5003 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.DataPageHeaderV2), err) 5004 } 5005 if err := oprot.WriteFieldEnd(); err != nil { 5006 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:data_page_header_v2: ", p), err) 5007 } 5008 } 5009 return err 5010 } 5011 5012 func (p *PageHeader) String() string { 5013 if p == nil { 5014 return "<nil>" 5015 } 5016 return fmt.Sprintf("PageHeader(%+v)", *p) 5017 } 5018 5019 // Wrapper struct to store key values 5020 // 5021 // Attributes: 5022 // - Key 5023 // - Value 5024 type KeyValue struct { 5025 Key string `thrift:"key,1,required" db:"key" json:"key"` 5026 Value *string `thrift:"value,2" db:"value" json:"value,omitempty"` 5027 } 5028 5029 func NewKeyValue() *KeyValue { 5030 return &KeyValue{} 5031 } 5032 5033 func (p *KeyValue) GetKey() string { 5034 return p.Key 5035 } 5036 5037 var KeyValue_Value_DEFAULT string 5038 5039 func (p *KeyValue) GetValue() string { 5040 if !p.IsSetValue() { 5041 return KeyValue_Value_DEFAULT 5042 } 5043 return *p.Value 5044 } 5045 func (p *KeyValue) IsSetValue() bool { 5046 return p.Value != nil 5047 } 5048 5049 func (p *KeyValue) Read(iprot thrift.TProtocol) error { 5050 if _, err := iprot.ReadStructBegin(); err != nil { 5051 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 5052 } 5053 5054 var issetKey bool = false 5055 5056 for { 5057 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 5058 if err != nil { 5059 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 5060 } 5061 if fieldTypeId == thrift.STOP { 5062 break 5063 } 5064 switch fieldId { 5065 case 1: 5066 if err := p.ReadField1(iprot); err != nil { 5067 return err 5068 } 5069 issetKey = true 5070 case 2: 5071 if err := p.ReadField2(iprot); err != nil { 5072 return err 5073 } 5074 default: 5075 if err := iprot.Skip(fieldTypeId); err != nil { 5076 return err 5077 } 5078 } 5079 if err := iprot.ReadFieldEnd(); err != nil { 5080 return err 5081 } 5082 } 5083 if err := iprot.ReadStructEnd(); err != nil { 5084 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 5085 } 5086 if !issetKey { 5087 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Key is not set")) 5088 } 5089 return nil 5090 } 5091 5092 func (p *KeyValue) ReadField1(iprot thrift.TProtocol) error { 5093 if v, err := iprot.ReadString(); err != nil { 5094 return thrift.PrependError("error reading field 1: ", err) 5095 } else { 5096 p.Key = v 5097 } 5098 return nil 5099 } 5100 5101 func (p *KeyValue) ReadField2(iprot thrift.TProtocol) error { 5102 if v, err := iprot.ReadString(); err != nil { 5103 return thrift.PrependError("error reading field 2: ", err) 5104 } else { 5105 p.Value = &v 5106 } 5107 return nil 5108 } 5109 5110 func (p *KeyValue) Write(oprot thrift.TProtocol) error { 5111 if err := oprot.WriteStructBegin("KeyValue"); err != nil { 5112 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 5113 } 5114 if p != nil { 5115 if err := p.writeField1(oprot); err != nil { 5116 return err 5117 } 5118 if err := p.writeField2(oprot); err != nil { 5119 return err 5120 } 5121 } 5122 if err := oprot.WriteFieldStop(); err != nil { 5123 return thrift.PrependError("write field stop error: ", err) 5124 } 5125 if err := oprot.WriteStructEnd(); err != nil { 5126 return thrift.PrependError("write struct stop error: ", err) 5127 } 5128 return nil 5129 } 5130 5131 func (p *KeyValue) writeField1(oprot thrift.TProtocol) (err error) { 5132 if err := oprot.WriteFieldBegin("key", thrift.STRING, 1); err != nil { 5133 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:key: ", p), err) 5134 } 5135 if err := oprot.WriteString(string(p.Key)); err != nil { 5136 return thrift.PrependError(fmt.Sprintf("%T.key (1) field write error: ", p), err) 5137 } 5138 if err := oprot.WriteFieldEnd(); err != nil { 5139 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:key: ", p), err) 5140 } 5141 return err 5142 } 5143 5144 func (p *KeyValue) writeField2(oprot thrift.TProtocol) (err error) { 5145 if p.IsSetValue() { 5146 if err := oprot.WriteFieldBegin("value", thrift.STRING, 2); err != nil { 5147 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:value: ", p), err) 5148 } 5149 if err := oprot.WriteString(string(*p.Value)); err != nil { 5150 return thrift.PrependError(fmt.Sprintf("%T.value (2) field write error: ", p), err) 5151 } 5152 if err := oprot.WriteFieldEnd(); err != nil { 5153 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:value: ", p), err) 5154 } 5155 } 5156 return err 5157 } 5158 5159 func (p *KeyValue) String() string { 5160 if p == nil { 5161 return "<nil>" 5162 } 5163 return fmt.Sprintf("KeyValue(%+v)", *p) 5164 } 5165 5166 // Wrapper struct to specify sort order 5167 // 5168 // Attributes: 5169 // - ColumnIdx: The column index (in this row group) * 5170 // - Descending: If true, indicates this column is sorted in descending order. * 5171 // - NullsFirst: If true, nulls will come before non-null values, otherwise, 5172 // nulls go at the end. 5173 type SortingColumn struct { 5174 ColumnIdx int32 `thrift:"column_idx,1,required" db:"column_idx" json:"column_idx"` 5175 Descending bool `thrift:"descending,2,required" db:"descending" json:"descending"` 5176 NullsFirst bool `thrift:"nulls_first,3,required" db:"nulls_first" json:"nulls_first"` 5177 } 5178 5179 func NewSortingColumn() *SortingColumn { 5180 return &SortingColumn{} 5181 } 5182 5183 func (p *SortingColumn) GetColumnIdx() int32 { 5184 return p.ColumnIdx 5185 } 5186 5187 func (p *SortingColumn) GetDescending() bool { 5188 return p.Descending 5189 } 5190 5191 func (p *SortingColumn) GetNullsFirst() bool { 5192 return p.NullsFirst 5193 } 5194 func (p *SortingColumn) Read(iprot thrift.TProtocol) error { 5195 if _, err := iprot.ReadStructBegin(); err != nil { 5196 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 5197 } 5198 5199 var issetColumnIdx bool = false 5200 var issetDescending bool = false 5201 var issetNullsFirst bool = false 5202 5203 for { 5204 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 5205 if err != nil { 5206 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 5207 } 5208 if fieldTypeId == thrift.STOP { 5209 break 5210 } 5211 switch fieldId { 5212 case 1: 5213 if err := p.ReadField1(iprot); err != nil { 5214 return err 5215 } 5216 issetColumnIdx = true 5217 case 2: 5218 if err := p.ReadField2(iprot); err != nil { 5219 return err 5220 } 5221 issetDescending = true 5222 case 3: 5223 if err := p.ReadField3(iprot); err != nil { 5224 return err 5225 } 5226 issetNullsFirst = true 5227 default: 5228 if err := iprot.Skip(fieldTypeId); err != nil { 5229 return err 5230 } 5231 } 5232 if err := iprot.ReadFieldEnd(); err != nil { 5233 return err 5234 } 5235 } 5236 if err := iprot.ReadStructEnd(); err != nil { 5237 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 5238 } 5239 if !issetColumnIdx { 5240 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ColumnIdx is not set")) 5241 } 5242 if !issetDescending { 5243 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Descending is not set")) 5244 } 5245 if !issetNullsFirst { 5246 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NullsFirst is not set")) 5247 } 5248 return nil 5249 } 5250 5251 func (p *SortingColumn) ReadField1(iprot thrift.TProtocol) error { 5252 if v, err := iprot.ReadI32(); err != nil { 5253 return thrift.PrependError("error reading field 1: ", err) 5254 } else { 5255 p.ColumnIdx = v 5256 } 5257 return nil 5258 } 5259 5260 func (p *SortingColumn) ReadField2(iprot thrift.TProtocol) error { 5261 if v, err := iprot.ReadBool(); err != nil { 5262 return thrift.PrependError("error reading field 2: ", err) 5263 } else { 5264 p.Descending = v 5265 } 5266 return nil 5267 } 5268 5269 func (p *SortingColumn) ReadField3(iprot thrift.TProtocol) error { 5270 if v, err := iprot.ReadBool(); err != nil { 5271 return thrift.PrependError("error reading field 3: ", err) 5272 } else { 5273 p.NullsFirst = v 5274 } 5275 return nil 5276 } 5277 5278 func (p *SortingColumn) Write(oprot thrift.TProtocol) error { 5279 if err := oprot.WriteStructBegin("SortingColumn"); err != nil { 5280 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 5281 } 5282 if p != nil { 5283 if err := p.writeField1(oprot); err != nil { 5284 return err 5285 } 5286 if err := p.writeField2(oprot); err != nil { 5287 return err 5288 } 5289 if err := p.writeField3(oprot); err != nil { 5290 return err 5291 } 5292 } 5293 if err := oprot.WriteFieldStop(); err != nil { 5294 return thrift.PrependError("write field stop error: ", err) 5295 } 5296 if err := oprot.WriteStructEnd(); err != nil { 5297 return thrift.PrependError("write struct stop error: ", err) 5298 } 5299 return nil 5300 } 5301 5302 func (p *SortingColumn) writeField1(oprot thrift.TProtocol) (err error) { 5303 if err := oprot.WriteFieldBegin("column_idx", thrift.I32, 1); err != nil { 5304 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:column_idx: ", p), err) 5305 } 5306 if err := oprot.WriteI32(p.ColumnIdx); err != nil { 5307 return thrift.PrependError(fmt.Sprintf("%T.column_idx (1) field write error: ", p), err) 5308 } 5309 if err := oprot.WriteFieldEnd(); err != nil { 5310 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:column_idx: ", p), err) 5311 } 5312 return err 5313 } 5314 5315 func (p *SortingColumn) writeField2(oprot thrift.TProtocol) (err error) { 5316 if err := oprot.WriteFieldBegin("descending", thrift.BOOL, 2); err != nil { 5317 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:descending: ", p), err) 5318 } 5319 if err := oprot.WriteBool(p.Descending); err != nil { 5320 return thrift.PrependError(fmt.Sprintf("%T.descending (2) field write error: ", p), err) 5321 } 5322 if err := oprot.WriteFieldEnd(); err != nil { 5323 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:descending: ", p), err) 5324 } 5325 return err 5326 } 5327 5328 func (p *SortingColumn) writeField3(oprot thrift.TProtocol) (err error) { 5329 if err := oprot.WriteFieldBegin("nulls_first", thrift.BOOL, 3); err != nil { 5330 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:nulls_first: ", p), err) 5331 } 5332 if err := oprot.WriteBool(p.NullsFirst); err != nil { 5333 return thrift.PrependError(fmt.Sprintf("%T.nulls_first (3) field write error: ", p), err) 5334 } 5335 if err := oprot.WriteFieldEnd(); err != nil { 5336 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:nulls_first: ", p), err) 5337 } 5338 return err 5339 } 5340 5341 func (p *SortingColumn) String() string { 5342 if p == nil { 5343 return "<nil>" 5344 } 5345 return fmt.Sprintf("SortingColumn(%+v)", *p) 5346 } 5347 5348 // statistics of a given page type and encoding 5349 // 5350 // Attributes: 5351 // - PageType: the page type (data/dic/...) * 5352 // - Encoding: encoding of the page * 5353 // - Count: number of pages of this type with this encoding * 5354 type PageEncodingStats struct { 5355 PageType PageType `thrift:"page_type,1,required" db:"page_type" json:"page_type"` 5356 Encoding Encoding `thrift:"encoding,2,required" db:"encoding" json:"encoding"` 5357 Count int32 `thrift:"count,3,required" db:"count" json:"count"` 5358 } 5359 5360 func NewPageEncodingStats() *PageEncodingStats { 5361 return &PageEncodingStats{} 5362 } 5363 5364 func (p *PageEncodingStats) GetPageType() PageType { 5365 return p.PageType 5366 } 5367 5368 func (p *PageEncodingStats) GetEncoding() Encoding { 5369 return p.Encoding 5370 } 5371 5372 func (p *PageEncodingStats) GetCount() int32 { 5373 return p.Count 5374 } 5375 func (p *PageEncodingStats) Read(iprot thrift.TProtocol) error { 5376 if _, err := iprot.ReadStructBegin(); err != nil { 5377 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 5378 } 5379 5380 var issetPageType bool = false 5381 var issetEncoding bool = false 5382 var issetCount bool = false 5383 5384 for { 5385 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 5386 if err != nil { 5387 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 5388 } 5389 if fieldTypeId == thrift.STOP { 5390 break 5391 } 5392 switch fieldId { 5393 case 1: 5394 if err := p.ReadField1(iprot); err != nil { 5395 return err 5396 } 5397 issetPageType = true 5398 case 2: 5399 if err := p.ReadField2(iprot); err != nil { 5400 return err 5401 } 5402 issetEncoding = true 5403 case 3: 5404 if err := p.ReadField3(iprot); err != nil { 5405 return err 5406 } 5407 issetCount = true 5408 default: 5409 if err := iprot.Skip(fieldTypeId); err != nil { 5410 return err 5411 } 5412 } 5413 if err := iprot.ReadFieldEnd(); err != nil { 5414 return err 5415 } 5416 } 5417 if err := iprot.ReadStructEnd(); err != nil { 5418 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 5419 } 5420 if !issetPageType { 5421 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field PageType is not set")) 5422 } 5423 if !issetEncoding { 5424 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encoding is not set")) 5425 } 5426 if !issetCount { 5427 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Count is not set")) 5428 } 5429 return nil 5430 } 5431 5432 func (p *PageEncodingStats) ReadField1(iprot thrift.TProtocol) error { 5433 if v, err := iprot.ReadI32(); err != nil { 5434 return thrift.PrependError("error reading field 1: ", err) 5435 } else { 5436 temp := PageType(v) 5437 p.PageType = temp 5438 } 5439 return nil 5440 } 5441 5442 func (p *PageEncodingStats) ReadField2(iprot thrift.TProtocol) error { 5443 if v, err := iprot.ReadI32(); err != nil { 5444 return thrift.PrependError("error reading field 2: ", err) 5445 } else { 5446 temp := Encoding(v) 5447 p.Encoding = temp 5448 } 5449 return nil 5450 } 5451 5452 func (p *PageEncodingStats) ReadField3(iprot thrift.TProtocol) error { 5453 if v, err := iprot.ReadI32(); err != nil { 5454 return thrift.PrependError("error reading field 3: ", err) 5455 } else { 5456 p.Count = v 5457 } 5458 return nil 5459 } 5460 5461 func (p *PageEncodingStats) Write(oprot thrift.TProtocol) error { 5462 if err := oprot.WriteStructBegin("PageEncodingStats"); err != nil { 5463 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 5464 } 5465 if p != nil { 5466 if err := p.writeField1(oprot); err != nil { 5467 return err 5468 } 5469 if err := p.writeField2(oprot); err != nil { 5470 return err 5471 } 5472 if err := p.writeField3(oprot); err != nil { 5473 return err 5474 } 5475 } 5476 if err := oprot.WriteFieldStop(); err != nil { 5477 return thrift.PrependError("write field stop error: ", err) 5478 } 5479 if err := oprot.WriteStructEnd(); err != nil { 5480 return thrift.PrependError("write struct stop error: ", err) 5481 } 5482 return nil 5483 } 5484 5485 func (p *PageEncodingStats) writeField1(oprot thrift.TProtocol) (err error) { 5486 if err := oprot.WriteFieldBegin("page_type", thrift.I32, 1); err != nil { 5487 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:page_type: ", p), err) 5488 } 5489 if err := oprot.WriteI32(int32(p.PageType)); err != nil { 5490 return thrift.PrependError(fmt.Sprintf("%T.page_type (1) field write error: ", p), err) 5491 } 5492 if err := oprot.WriteFieldEnd(); err != nil { 5493 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:page_type: ", p), err) 5494 } 5495 return err 5496 } 5497 5498 func (p *PageEncodingStats) writeField2(oprot thrift.TProtocol) (err error) { 5499 if err := oprot.WriteFieldBegin("encoding", thrift.I32, 2); err != nil { 5500 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:encoding: ", p), err) 5501 } 5502 if err := oprot.WriteI32(int32(p.Encoding)); err != nil { 5503 return thrift.PrependError(fmt.Sprintf("%T.encoding (2) field write error: ", p), err) 5504 } 5505 if err := oprot.WriteFieldEnd(); err != nil { 5506 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:encoding: ", p), err) 5507 } 5508 return err 5509 } 5510 5511 func (p *PageEncodingStats) writeField3(oprot thrift.TProtocol) (err error) { 5512 if err := oprot.WriteFieldBegin("count", thrift.I32, 3); err != nil { 5513 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:count: ", p), err) 5514 } 5515 if err := oprot.WriteI32(p.Count); err != nil { 5516 return thrift.PrependError(fmt.Sprintf("%T.count (3) field write error: ", p), err) 5517 } 5518 if err := oprot.WriteFieldEnd(); err != nil { 5519 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:count: ", p), err) 5520 } 5521 return err 5522 } 5523 5524 func (p *PageEncodingStats) String() string { 5525 if p == nil { 5526 return "<nil>" 5527 } 5528 return fmt.Sprintf("PageEncodingStats(%+v)", *p) 5529 } 5530 5531 // Description for column metadata 5532 // 5533 // Attributes: 5534 // - Type: Type of this column * 5535 // - Encodings: Set of all encodings used for this column. The purpose is to validate 5536 // whether we can decode those pages. * 5537 // - PathInSchema: Path in schema * 5538 // - Codec: Compression codec * 5539 // - NumValues: Number of values in this column * 5540 // - TotalUncompressedSize: total byte size of all uncompressed pages in this column chunk (including the headers) * 5541 // - TotalCompressedSize: total byte size of all compressed pages in this column chunk (including the headers) * 5542 // - KeyValueMetadata: Optional key/value metadata * 5543 // - DataPageOffset: Byte offset from beginning of file to first data page * 5544 // - IndexPageOffset: Byte offset from beginning of file to root index page * 5545 // - DictionaryPageOffset: Byte offset from the beginning of file to first (only) dictionary page * 5546 // - Statistics: optional statistics for this column chunk 5547 // - EncodingStats: Set of all encodings used for pages in this column chunk. 5548 // This information can be used to determine if all data pages are 5549 // dictionary encoded for example * 5550 type ColumnMetaData struct { 5551 Type Type `thrift:"type,1,required" db:"type" json:"type"` 5552 Encodings []Encoding `thrift:"encodings,2,required" db:"encodings" json:"encodings"` 5553 PathInSchema []string `thrift:"path_in_schema,3,required" db:"path_in_schema" json:"path_in_schema"` 5554 Codec CompressionCodec `thrift:"codec,4,required" db:"codec" json:"codec"` 5555 NumValues int64 `thrift:"num_values,5,required" db:"num_values" json:"num_values"` 5556 TotalUncompressedSize int64 `thrift:"total_uncompressed_size,6,required" db:"total_uncompressed_size" json:"total_uncompressed_size"` 5557 TotalCompressedSize int64 `thrift:"total_compressed_size,7,required" db:"total_compressed_size" json:"total_compressed_size"` 5558 KeyValueMetadata []*KeyValue `thrift:"key_value_metadata,8" db:"key_value_metadata" json:"key_value_metadata,omitempty"` 5559 DataPageOffset int64 `thrift:"data_page_offset,9,required" db:"data_page_offset" json:"data_page_offset"` 5560 IndexPageOffset *int64 `thrift:"index_page_offset,10" db:"index_page_offset" json:"index_page_offset,omitempty"` 5561 DictionaryPageOffset *int64 `thrift:"dictionary_page_offset,11" db:"dictionary_page_offset" json:"dictionary_page_offset,omitempty"` 5562 Statistics *Statistics `thrift:"statistics,12" db:"statistics" json:"statistics,omitempty"` 5563 EncodingStats []*PageEncodingStats `thrift:"encoding_stats,13" db:"encoding_stats" json:"encoding_stats,omitempty"` 5564 } 5565 5566 func NewColumnMetaData() *ColumnMetaData { 5567 return &ColumnMetaData{} 5568 } 5569 5570 func (p *ColumnMetaData) GetType() Type { 5571 return p.Type 5572 } 5573 5574 func (p *ColumnMetaData) GetEncodings() []Encoding { 5575 return p.Encodings 5576 } 5577 5578 func (p *ColumnMetaData) GetPathInSchema() []string { 5579 return p.PathInSchema 5580 } 5581 5582 func (p *ColumnMetaData) GetCodec() CompressionCodec { 5583 return p.Codec 5584 } 5585 5586 func (p *ColumnMetaData) GetNumValues() int64 { 5587 return p.NumValues 5588 } 5589 5590 func (p *ColumnMetaData) GetTotalUncompressedSize() int64 { 5591 return p.TotalUncompressedSize 5592 } 5593 5594 func (p *ColumnMetaData) GetTotalCompressedSize() int64 { 5595 return p.TotalCompressedSize 5596 } 5597 5598 var ColumnMetaData_KeyValueMetadata_DEFAULT []*KeyValue 5599 5600 func (p *ColumnMetaData) GetKeyValueMetadata() []*KeyValue { 5601 return p.KeyValueMetadata 5602 } 5603 5604 func (p *ColumnMetaData) GetDataPageOffset() int64 { 5605 return p.DataPageOffset 5606 } 5607 5608 var ColumnMetaData_IndexPageOffset_DEFAULT int64 5609 5610 func (p *ColumnMetaData) GetIndexPageOffset() int64 { 5611 if !p.IsSetIndexPageOffset() { 5612 return ColumnMetaData_IndexPageOffset_DEFAULT 5613 } 5614 return *p.IndexPageOffset 5615 } 5616 5617 var ColumnMetaData_DictionaryPageOffset_DEFAULT int64 5618 5619 func (p *ColumnMetaData) GetDictionaryPageOffset() int64 { 5620 if !p.IsSetDictionaryPageOffset() { 5621 return ColumnMetaData_DictionaryPageOffset_DEFAULT 5622 } 5623 return *p.DictionaryPageOffset 5624 } 5625 5626 var ColumnMetaData_Statistics_DEFAULT *Statistics 5627 5628 func (p *ColumnMetaData) GetStatistics() *Statistics { 5629 if !p.IsSetStatistics() { 5630 return ColumnMetaData_Statistics_DEFAULT 5631 } 5632 return p.Statistics 5633 } 5634 5635 var ColumnMetaData_EncodingStats_DEFAULT []*PageEncodingStats 5636 5637 func (p *ColumnMetaData) GetEncodingStats() []*PageEncodingStats { 5638 return p.EncodingStats 5639 } 5640 func (p *ColumnMetaData) IsSetKeyValueMetadata() bool { 5641 return p.KeyValueMetadata != nil 5642 } 5643 5644 func (p *ColumnMetaData) IsSetIndexPageOffset() bool { 5645 return p.IndexPageOffset != nil 5646 } 5647 5648 func (p *ColumnMetaData) IsSetDictionaryPageOffset() bool { 5649 return p.DictionaryPageOffset != nil 5650 } 5651 5652 func (p *ColumnMetaData) IsSetStatistics() bool { 5653 return p.Statistics != nil 5654 } 5655 5656 func (p *ColumnMetaData) IsSetEncodingStats() bool { 5657 return p.EncodingStats != nil 5658 } 5659 5660 func (p *ColumnMetaData) Read(iprot thrift.TProtocol) error { 5661 if _, err := iprot.ReadStructBegin(); err != nil { 5662 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 5663 } 5664 5665 var issetType bool = false 5666 var issetEncodings bool = false 5667 var issetPathInSchema bool = false 5668 var issetCodec bool = false 5669 var issetNumValues bool = false 5670 var issetTotalUncompressedSize bool = false 5671 var issetTotalCompressedSize bool = false 5672 var issetDataPageOffset bool = false 5673 5674 for { 5675 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 5676 if err != nil { 5677 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 5678 } 5679 if fieldTypeId == thrift.STOP { 5680 break 5681 } 5682 switch fieldId { 5683 case 1: 5684 if err := p.ReadField1(iprot); err != nil { 5685 return err 5686 } 5687 issetType = true 5688 case 2: 5689 if err := p.ReadField2(iprot); err != nil { 5690 return err 5691 } 5692 issetEncodings = true 5693 case 3: 5694 if err := p.ReadField3(iprot); err != nil { 5695 return err 5696 } 5697 issetPathInSchema = true 5698 case 4: 5699 if err := p.ReadField4(iprot); err != nil { 5700 return err 5701 } 5702 issetCodec = true 5703 case 5: 5704 if err := p.ReadField5(iprot); err != nil { 5705 return err 5706 } 5707 issetNumValues = true 5708 case 6: 5709 if err := p.ReadField6(iprot); err != nil { 5710 return err 5711 } 5712 issetTotalUncompressedSize = true 5713 case 7: 5714 if err := p.ReadField7(iprot); err != nil { 5715 return err 5716 } 5717 issetTotalCompressedSize = true 5718 case 8: 5719 if err := p.ReadField8(iprot); err != nil { 5720 return err 5721 } 5722 case 9: 5723 if err := p.ReadField9(iprot); err != nil { 5724 return err 5725 } 5726 issetDataPageOffset = true 5727 case 10: 5728 if err := p.ReadField10(iprot); err != nil { 5729 return err 5730 } 5731 case 11: 5732 if err := p.ReadField11(iprot); err != nil { 5733 return err 5734 } 5735 case 12: 5736 if err := p.ReadField12(iprot); err != nil { 5737 return err 5738 } 5739 case 13: 5740 if err := p.ReadField13(iprot); err != nil { 5741 return err 5742 } 5743 default: 5744 if err := iprot.Skip(fieldTypeId); err != nil { 5745 return err 5746 } 5747 } 5748 if err := iprot.ReadFieldEnd(); err != nil { 5749 return err 5750 } 5751 } 5752 if err := iprot.ReadStructEnd(); err != nil { 5753 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 5754 } 5755 if !issetType { 5756 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Type is not set")) 5757 } 5758 if !issetEncodings { 5759 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encodings is not set")) 5760 } 5761 if !issetPathInSchema { 5762 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field PathInSchema is not set")) 5763 } 5764 if !issetCodec { 5765 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Codec is not set")) 5766 } 5767 if !issetNumValues { 5768 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumValues is not set")) 5769 } 5770 if !issetTotalUncompressedSize { 5771 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TotalUncompressedSize is not set")) 5772 } 5773 if !issetTotalCompressedSize { 5774 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TotalCompressedSize is not set")) 5775 } 5776 if !issetDataPageOffset { 5777 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DataPageOffset is not set")) 5778 } 5779 return nil 5780 } 5781 5782 func (p *ColumnMetaData) ReadField1(iprot thrift.TProtocol) error { 5783 if v, err := iprot.ReadI32(); err != nil { 5784 return thrift.PrependError("error reading field 1: ", err) 5785 } else { 5786 temp := Type(v) 5787 p.Type = temp 5788 } 5789 return nil 5790 } 5791 5792 func (p *ColumnMetaData) ReadField2(iprot thrift.TProtocol) error { 5793 _, size, err := iprot.ReadListBegin() 5794 if err != nil { 5795 return thrift.PrependError("error reading list begin: ", err) 5796 } 5797 tSlice := make([]Encoding, 0, size) 5798 p.Encodings = tSlice 5799 for i := 0; i < size; i++ { 5800 var _elem0 Encoding 5801 if v, err := iprot.ReadI32(); err != nil { 5802 return thrift.PrependError("error reading field 0: ", err) 5803 } else { 5804 temp := Encoding(v) 5805 _elem0 = temp 5806 } 5807 p.Encodings = append(p.Encodings, _elem0) 5808 } 5809 if err := iprot.ReadListEnd(); err != nil { 5810 return thrift.PrependError("error reading list end: ", err) 5811 } 5812 return nil 5813 } 5814 5815 func (p *ColumnMetaData) ReadField3(iprot thrift.TProtocol) error { 5816 _, size, err := iprot.ReadListBegin() 5817 if err != nil { 5818 return thrift.PrependError("error reading list begin: ", err) 5819 } 5820 tSlice := make([]string, 0, size) 5821 p.PathInSchema = tSlice 5822 for i := 0; i < size; i++ { 5823 var _elem1 string 5824 if v, err := iprot.ReadString(); err != nil { 5825 return thrift.PrependError("error reading field 0: ", err) 5826 } else { 5827 _elem1 = v 5828 } 5829 p.PathInSchema = append(p.PathInSchema, _elem1) 5830 } 5831 if err := iprot.ReadListEnd(); err != nil { 5832 return thrift.PrependError("error reading list end: ", err) 5833 } 5834 return nil 5835 } 5836 5837 func (p *ColumnMetaData) ReadField4(iprot thrift.TProtocol) error { 5838 if v, err := iprot.ReadI32(); err != nil { 5839 return thrift.PrependError("error reading field 4: ", err) 5840 } else { 5841 temp := CompressionCodec(v) 5842 p.Codec = temp 5843 } 5844 return nil 5845 } 5846 5847 func (p *ColumnMetaData) ReadField5(iprot thrift.TProtocol) error { 5848 if v, err := iprot.ReadI64(); err != nil { 5849 return thrift.PrependError("error reading field 5: ", err) 5850 } else { 5851 p.NumValues = v 5852 } 5853 return nil 5854 } 5855 5856 func (p *ColumnMetaData) ReadField6(iprot thrift.TProtocol) error { 5857 if v, err := iprot.ReadI64(); err != nil { 5858 return thrift.PrependError("error reading field 6: ", err) 5859 } else { 5860 p.TotalUncompressedSize = v 5861 } 5862 return nil 5863 } 5864 5865 func (p *ColumnMetaData) ReadField7(iprot thrift.TProtocol) error { 5866 if v, err := iprot.ReadI64(); err != nil { 5867 return thrift.PrependError("error reading field 7: ", err) 5868 } else { 5869 p.TotalCompressedSize = v 5870 } 5871 return nil 5872 } 5873 5874 func (p *ColumnMetaData) ReadField8(iprot thrift.TProtocol) error { 5875 _, size, err := iprot.ReadListBegin() 5876 if err != nil { 5877 return thrift.PrependError("error reading list begin: ", err) 5878 } 5879 tSlice := make([]*KeyValue, 0, size) 5880 p.KeyValueMetadata = tSlice 5881 for i := 0; i < size; i++ { 5882 _elem2 := &KeyValue{} 5883 if err := _elem2.Read(iprot); err != nil { 5884 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem2), err) 5885 } 5886 p.KeyValueMetadata = append(p.KeyValueMetadata, _elem2) 5887 } 5888 if err := iprot.ReadListEnd(); err != nil { 5889 return thrift.PrependError("error reading list end: ", err) 5890 } 5891 return nil 5892 } 5893 5894 func (p *ColumnMetaData) ReadField9(iprot thrift.TProtocol) error { 5895 if v, err := iprot.ReadI64(); err != nil { 5896 return thrift.PrependError("error reading field 9: ", err) 5897 } else { 5898 p.DataPageOffset = v 5899 } 5900 return nil 5901 } 5902 5903 func (p *ColumnMetaData) ReadField10(iprot thrift.TProtocol) error { 5904 if v, err := iprot.ReadI64(); err != nil { 5905 return thrift.PrependError("error reading field 10: ", err) 5906 } else { 5907 p.IndexPageOffset = &v 5908 } 5909 return nil 5910 } 5911 5912 func (p *ColumnMetaData) ReadField11(iprot thrift.TProtocol) error { 5913 if v, err := iprot.ReadI64(); err != nil { 5914 return thrift.PrependError("error reading field 11: ", err) 5915 } else { 5916 p.DictionaryPageOffset = &v 5917 } 5918 return nil 5919 } 5920 5921 func (p *ColumnMetaData) ReadField12(iprot thrift.TProtocol) error { 5922 p.Statistics = &Statistics{} 5923 if err := p.Statistics.Read(iprot); err != nil { 5924 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Statistics), err) 5925 } 5926 return nil 5927 } 5928 5929 func (p *ColumnMetaData) ReadField13(iprot thrift.TProtocol) error { 5930 _, size, err := iprot.ReadListBegin() 5931 if err != nil { 5932 return thrift.PrependError("error reading list begin: ", err) 5933 } 5934 tSlice := make([]*PageEncodingStats, 0, size) 5935 p.EncodingStats = tSlice 5936 for i := 0; i < size; i++ { 5937 _elem3 := &PageEncodingStats{} 5938 if err := _elem3.Read(iprot); err != nil { 5939 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem3), err) 5940 } 5941 p.EncodingStats = append(p.EncodingStats, _elem3) 5942 } 5943 if err := iprot.ReadListEnd(); err != nil { 5944 return thrift.PrependError("error reading list end: ", err) 5945 } 5946 return nil 5947 } 5948 5949 func (p *ColumnMetaData) Write(oprot thrift.TProtocol) error { 5950 if err := oprot.WriteStructBegin("ColumnMetaData"); err != nil { 5951 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 5952 } 5953 if p != nil { 5954 if err := p.writeField1(oprot); err != nil { 5955 return err 5956 } 5957 if err := p.writeField2(oprot); err != nil { 5958 return err 5959 } 5960 if err := p.writeField3(oprot); err != nil { 5961 return err 5962 } 5963 if err := p.writeField4(oprot); err != nil { 5964 return err 5965 } 5966 if err := p.writeField5(oprot); err != nil { 5967 return err 5968 } 5969 if err := p.writeField6(oprot); err != nil { 5970 return err 5971 } 5972 if err := p.writeField7(oprot); err != nil { 5973 return err 5974 } 5975 if err := p.writeField8(oprot); err != nil { 5976 return err 5977 } 5978 if err := p.writeField9(oprot); err != nil { 5979 return err 5980 } 5981 if err := p.writeField10(oprot); err != nil { 5982 return err 5983 } 5984 if err := p.writeField11(oprot); err != nil { 5985 return err 5986 } 5987 if err := p.writeField12(oprot); err != nil { 5988 return err 5989 } 5990 if err := p.writeField13(oprot); err != nil { 5991 return err 5992 } 5993 } 5994 if err := oprot.WriteFieldStop(); err != nil { 5995 return thrift.PrependError("write field stop error: ", err) 5996 } 5997 if err := oprot.WriteStructEnd(); err != nil { 5998 return thrift.PrependError("write struct stop error: ", err) 5999 } 6000 return nil 6001 } 6002 6003 func (p *ColumnMetaData) writeField1(oprot thrift.TProtocol) (err error) { 6004 if err := oprot.WriteFieldBegin("type", thrift.I32, 1); err != nil { 6005 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:type: ", p), err) 6006 } 6007 if err := oprot.WriteI32(int32(p.Type)); err != nil { 6008 return thrift.PrependError(fmt.Sprintf("%T.type (1) field write error: ", p), err) 6009 } 6010 if err := oprot.WriteFieldEnd(); err != nil { 6011 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:type: ", p), err) 6012 } 6013 return err 6014 } 6015 6016 func (p *ColumnMetaData) writeField2(oprot thrift.TProtocol) (err error) { 6017 if err := oprot.WriteFieldBegin("encodings", thrift.LIST, 2); err != nil { 6018 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:encodings: ", p), err) 6019 } 6020 if err := oprot.WriteListBegin(thrift.I32, len(p.Encodings)); err != nil { 6021 return thrift.PrependError("error writing list begin: ", err) 6022 } 6023 for _, v := range p.Encodings { 6024 if err := oprot.WriteI32(int32(v)); err != nil { 6025 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) 6026 } 6027 } 6028 if err := oprot.WriteListEnd(); err != nil { 6029 return thrift.PrependError("error writing list end: ", err) 6030 } 6031 if err := oprot.WriteFieldEnd(); err != nil { 6032 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:encodings: ", p), err) 6033 } 6034 return err 6035 } 6036 6037 func (p *ColumnMetaData) writeField3(oprot thrift.TProtocol) (err error) { 6038 if err := oprot.WriteFieldBegin("path_in_schema", thrift.LIST, 3); err != nil { 6039 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:path_in_schema: ", p), err) 6040 } 6041 if err := oprot.WriteListBegin(thrift.STRING, len(p.PathInSchema)); err != nil { 6042 return thrift.PrependError("error writing list begin: ", err) 6043 } 6044 for _, v := range p.PathInSchema { 6045 if err := oprot.WriteString(string(v)); err != nil { 6046 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) 6047 } 6048 } 6049 if err := oprot.WriteListEnd(); err != nil { 6050 return thrift.PrependError("error writing list end: ", err) 6051 } 6052 if err := oprot.WriteFieldEnd(); err != nil { 6053 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:path_in_schema: ", p), err) 6054 } 6055 return err 6056 } 6057 6058 func (p *ColumnMetaData) writeField4(oprot thrift.TProtocol) (err error) { 6059 if err := oprot.WriteFieldBegin("codec", thrift.I32, 4); err != nil { 6060 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:codec: ", p), err) 6061 } 6062 if err := oprot.WriteI32(int32(p.Codec)); err != nil { 6063 return thrift.PrependError(fmt.Sprintf("%T.codec (4) field write error: ", p), err) 6064 } 6065 if err := oprot.WriteFieldEnd(); err != nil { 6066 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:codec: ", p), err) 6067 } 6068 return err 6069 } 6070 6071 func (p *ColumnMetaData) writeField5(oprot thrift.TProtocol) (err error) { 6072 if err := oprot.WriteFieldBegin("num_values", thrift.I64, 5); err != nil { 6073 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:num_values: ", p), err) 6074 } 6075 if err := oprot.WriteI64(p.NumValues); err != nil { 6076 return thrift.PrependError(fmt.Sprintf("%T.num_values (5) field write error: ", p), err) 6077 } 6078 if err := oprot.WriteFieldEnd(); err != nil { 6079 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:num_values: ", p), err) 6080 } 6081 return err 6082 } 6083 6084 func (p *ColumnMetaData) writeField6(oprot thrift.TProtocol) (err error) { 6085 if err := oprot.WriteFieldBegin("total_uncompressed_size", thrift.I64, 6); err != nil { 6086 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:total_uncompressed_size: ", p), err) 6087 } 6088 if err := oprot.WriteI64(p.TotalUncompressedSize); err != nil { 6089 return thrift.PrependError(fmt.Sprintf("%T.total_uncompressed_size (6) field write error: ", p), err) 6090 } 6091 if err := oprot.WriteFieldEnd(); err != nil { 6092 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:total_uncompressed_size: ", p), err) 6093 } 6094 return err 6095 } 6096 6097 func (p *ColumnMetaData) writeField7(oprot thrift.TProtocol) (err error) { 6098 if err := oprot.WriteFieldBegin("total_compressed_size", thrift.I64, 7); err != nil { 6099 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:total_compressed_size: ", p), err) 6100 } 6101 if err := oprot.WriteI64(p.TotalCompressedSize); err != nil { 6102 return thrift.PrependError(fmt.Sprintf("%T.total_compressed_size (7) field write error: ", p), err) 6103 } 6104 if err := oprot.WriteFieldEnd(); err != nil { 6105 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:total_compressed_size: ", p), err) 6106 } 6107 return err 6108 } 6109 6110 func (p *ColumnMetaData) writeField8(oprot thrift.TProtocol) (err error) { 6111 if p.IsSetKeyValueMetadata() { 6112 if err := oprot.WriteFieldBegin("key_value_metadata", thrift.LIST, 8); err != nil { 6113 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:key_value_metadata: ", p), err) 6114 } 6115 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.KeyValueMetadata)); err != nil { 6116 return thrift.PrependError("error writing list begin: ", err) 6117 } 6118 for _, v := range p.KeyValueMetadata { 6119 if err := v.Write(oprot); err != nil { 6120 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 6121 } 6122 } 6123 if err := oprot.WriteListEnd(); err != nil { 6124 return thrift.PrependError("error writing list end: ", err) 6125 } 6126 if err := oprot.WriteFieldEnd(); err != nil { 6127 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:key_value_metadata: ", p), err) 6128 } 6129 } 6130 return err 6131 } 6132 6133 func (p *ColumnMetaData) writeField9(oprot thrift.TProtocol) (err error) { 6134 if err := oprot.WriteFieldBegin("data_page_offset", thrift.I64, 9); err != nil { 6135 return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:data_page_offset: ", p), err) 6136 } 6137 if err := oprot.WriteI64(p.DataPageOffset); err != nil { 6138 return thrift.PrependError(fmt.Sprintf("%T.data_page_offset (9) field write error: ", p), err) 6139 } 6140 if err := oprot.WriteFieldEnd(); err != nil { 6141 return thrift.PrependError(fmt.Sprintf("%T write field end error 9:data_page_offset: ", p), err) 6142 } 6143 return err 6144 } 6145 6146 func (p *ColumnMetaData) writeField10(oprot thrift.TProtocol) (err error) { 6147 if p.IsSetIndexPageOffset() { 6148 if err := oprot.WriteFieldBegin("index_page_offset", thrift.I64, 10); err != nil { 6149 return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:index_page_offset: ", p), err) 6150 } 6151 if err := oprot.WriteI64(*p.IndexPageOffset); err != nil { 6152 return thrift.PrependError(fmt.Sprintf("%T.index_page_offset (10) field write error: ", p), err) 6153 } 6154 if err := oprot.WriteFieldEnd(); err != nil { 6155 return thrift.PrependError(fmt.Sprintf("%T write field end error 10:index_page_offset: ", p), err) 6156 } 6157 } 6158 return err 6159 } 6160 6161 func (p *ColumnMetaData) writeField11(oprot thrift.TProtocol) (err error) { 6162 if p.IsSetDictionaryPageOffset() { 6163 if err := oprot.WriteFieldBegin("dictionary_page_offset", thrift.I64, 11); err != nil { 6164 return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:dictionary_page_offset: ", p), err) 6165 } 6166 if err := oprot.WriteI64(*p.DictionaryPageOffset); err != nil { 6167 return thrift.PrependError(fmt.Sprintf("%T.dictionary_page_offset (11) field write error: ", p), err) 6168 } 6169 if err := oprot.WriteFieldEnd(); err != nil { 6170 return thrift.PrependError(fmt.Sprintf("%T write field end error 11:dictionary_page_offset: ", p), err) 6171 } 6172 } 6173 return err 6174 } 6175 6176 func (p *ColumnMetaData) writeField12(oprot thrift.TProtocol) (err error) { 6177 if p.IsSetStatistics() { 6178 if err := oprot.WriteFieldBegin("statistics", thrift.STRUCT, 12); err != nil { 6179 return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:statistics: ", p), err) 6180 } 6181 if err := p.Statistics.Write(oprot); err != nil { 6182 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Statistics), err) 6183 } 6184 if err := oprot.WriteFieldEnd(); err != nil { 6185 return thrift.PrependError(fmt.Sprintf("%T write field end error 12:statistics: ", p), err) 6186 } 6187 } 6188 return err 6189 } 6190 6191 func (p *ColumnMetaData) writeField13(oprot thrift.TProtocol) (err error) { 6192 if p.IsSetEncodingStats() { 6193 if err := oprot.WriteFieldBegin("encoding_stats", thrift.LIST, 13); err != nil { 6194 return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:encoding_stats: ", p), err) 6195 } 6196 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.EncodingStats)); err != nil { 6197 return thrift.PrependError("error writing list begin: ", err) 6198 } 6199 for _, v := range p.EncodingStats { 6200 if err := v.Write(oprot); err != nil { 6201 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 6202 } 6203 } 6204 if err := oprot.WriteListEnd(); err != nil { 6205 return thrift.PrependError("error writing list end: ", err) 6206 } 6207 if err := oprot.WriteFieldEnd(); err != nil { 6208 return thrift.PrependError(fmt.Sprintf("%T write field end error 13:encoding_stats: ", p), err) 6209 } 6210 } 6211 return err 6212 } 6213 6214 func (p *ColumnMetaData) String() string { 6215 if p == nil { 6216 return "<nil>" 6217 } 6218 return fmt.Sprintf("ColumnMetaData(%+v)", *p) 6219 } 6220 6221 // Attributes: 6222 // - FilePath: File where column data is stored. If not set, assumed to be same file as 6223 // metadata. This path is relative to the current file. 6224 // 6225 // - FileOffset: Byte offset in file_path to the ColumnMetaData * 6226 // - MetaData: Column metadata for this chunk. This is the same content as what is at 6227 // file_path/file_offset. Having it here has it replicated in the file 6228 // metadata. 6229 // 6230 // - OffsetIndexOffset: File offset of ColumnChunk's OffsetIndex * 6231 // - OffsetIndexLength: Size of ColumnChunk's OffsetIndex, in bytes * 6232 // - ColumnIndexOffset: File offset of ColumnChunk's ColumnIndex * 6233 // - ColumnIndexLength: Size of ColumnChunk's ColumnIndex, in bytes * 6234 type ColumnChunk struct { 6235 FilePath *string `thrift:"file_path,1" db:"file_path" json:"file_path,omitempty"` 6236 FileOffset int64 `thrift:"file_offset,2,required" db:"file_offset" json:"file_offset"` 6237 MetaData *ColumnMetaData `thrift:"meta_data,3" db:"meta_data" json:"meta_data,omitempty"` 6238 OffsetIndexOffset *int64 `thrift:"offset_index_offset,4" db:"offset_index_offset" json:"offset_index_offset,omitempty"` 6239 OffsetIndexLength *int32 `thrift:"offset_index_length,5" db:"offset_index_length" json:"offset_index_length,omitempty"` 6240 ColumnIndexOffset *int64 `thrift:"column_index_offset,6" db:"column_index_offset" json:"column_index_offset,omitempty"` 6241 ColumnIndexLength *int32 `thrift:"column_index_length,7" db:"column_index_length" json:"column_index_length,omitempty"` 6242 } 6243 6244 func NewColumnChunk() *ColumnChunk { 6245 return &ColumnChunk{} 6246 } 6247 6248 var ColumnChunk_FilePath_DEFAULT string 6249 6250 func (p *ColumnChunk) GetFilePath() string { 6251 if !p.IsSetFilePath() { 6252 return ColumnChunk_FilePath_DEFAULT 6253 } 6254 return *p.FilePath 6255 } 6256 6257 func (p *ColumnChunk) GetFileOffset() int64 { 6258 return p.FileOffset 6259 } 6260 6261 var ColumnChunk_MetaData_DEFAULT *ColumnMetaData 6262 6263 func (p *ColumnChunk) GetMetaData() *ColumnMetaData { 6264 if !p.IsSetMetaData() { 6265 return ColumnChunk_MetaData_DEFAULT 6266 } 6267 return p.MetaData 6268 } 6269 6270 var ColumnChunk_OffsetIndexOffset_DEFAULT int64 6271 6272 func (p *ColumnChunk) GetOffsetIndexOffset() int64 { 6273 if !p.IsSetOffsetIndexOffset() { 6274 return ColumnChunk_OffsetIndexOffset_DEFAULT 6275 } 6276 return *p.OffsetIndexOffset 6277 } 6278 6279 var ColumnChunk_OffsetIndexLength_DEFAULT int32 6280 6281 func (p *ColumnChunk) GetOffsetIndexLength() int32 { 6282 if !p.IsSetOffsetIndexLength() { 6283 return ColumnChunk_OffsetIndexLength_DEFAULT 6284 } 6285 return *p.OffsetIndexLength 6286 } 6287 6288 var ColumnChunk_ColumnIndexOffset_DEFAULT int64 6289 6290 func (p *ColumnChunk) GetColumnIndexOffset() int64 { 6291 if !p.IsSetColumnIndexOffset() { 6292 return ColumnChunk_ColumnIndexOffset_DEFAULT 6293 } 6294 return *p.ColumnIndexOffset 6295 } 6296 6297 var ColumnChunk_ColumnIndexLength_DEFAULT int32 6298 6299 func (p *ColumnChunk) GetColumnIndexLength() int32 { 6300 if !p.IsSetColumnIndexLength() { 6301 return ColumnChunk_ColumnIndexLength_DEFAULT 6302 } 6303 return *p.ColumnIndexLength 6304 } 6305 func (p *ColumnChunk) IsSetFilePath() bool { 6306 return p.FilePath != nil 6307 } 6308 6309 func (p *ColumnChunk) IsSetMetaData() bool { 6310 return p.MetaData != nil 6311 } 6312 6313 func (p *ColumnChunk) IsSetOffsetIndexOffset() bool { 6314 return p.OffsetIndexOffset != nil 6315 } 6316 6317 func (p *ColumnChunk) IsSetOffsetIndexLength() bool { 6318 return p.OffsetIndexLength != nil 6319 } 6320 6321 func (p *ColumnChunk) IsSetColumnIndexOffset() bool { 6322 return p.ColumnIndexOffset != nil 6323 } 6324 6325 func (p *ColumnChunk) IsSetColumnIndexLength() bool { 6326 return p.ColumnIndexLength != nil 6327 } 6328 6329 func (p *ColumnChunk) Read(iprot thrift.TProtocol) error { 6330 if _, err := iprot.ReadStructBegin(); err != nil { 6331 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 6332 } 6333 6334 var issetFileOffset bool = false 6335 6336 for { 6337 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 6338 if err != nil { 6339 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 6340 } 6341 if fieldTypeId == thrift.STOP { 6342 break 6343 } 6344 switch fieldId { 6345 case 1: 6346 if err := p.ReadField1(iprot); err != nil { 6347 return err 6348 } 6349 case 2: 6350 if err := p.ReadField2(iprot); err != nil { 6351 return err 6352 } 6353 issetFileOffset = true 6354 case 3: 6355 if err := p.ReadField3(iprot); err != nil { 6356 return err 6357 } 6358 case 4: 6359 if err := p.ReadField4(iprot); err != nil { 6360 return err 6361 } 6362 case 5: 6363 if err := p.ReadField5(iprot); err != nil { 6364 return err 6365 } 6366 case 6: 6367 if err := p.ReadField6(iprot); err != nil { 6368 return err 6369 } 6370 case 7: 6371 if err := p.ReadField7(iprot); err != nil { 6372 return err 6373 } 6374 default: 6375 if err := iprot.Skip(fieldTypeId); err != nil { 6376 return err 6377 } 6378 } 6379 if err := iprot.ReadFieldEnd(); err != nil { 6380 return err 6381 } 6382 } 6383 if err := iprot.ReadStructEnd(); err != nil { 6384 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 6385 } 6386 if !issetFileOffset { 6387 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field FileOffset is not set")) 6388 } 6389 return nil 6390 } 6391 6392 func (p *ColumnChunk) ReadField1(iprot thrift.TProtocol) error { 6393 if v, err := iprot.ReadString(); err != nil { 6394 return thrift.PrependError("error reading field 1: ", err) 6395 } else { 6396 p.FilePath = &v 6397 } 6398 return nil 6399 } 6400 6401 func (p *ColumnChunk) ReadField2(iprot thrift.TProtocol) error { 6402 if v, err := iprot.ReadI64(); err != nil { 6403 return thrift.PrependError("error reading field 2: ", err) 6404 } else { 6405 p.FileOffset = v 6406 } 6407 return nil 6408 } 6409 6410 func (p *ColumnChunk) ReadField3(iprot thrift.TProtocol) error { 6411 p.MetaData = &ColumnMetaData{} 6412 if err := p.MetaData.Read(iprot); err != nil { 6413 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.MetaData), err) 6414 } 6415 return nil 6416 } 6417 6418 func (p *ColumnChunk) ReadField4(iprot thrift.TProtocol) error { 6419 if v, err := iprot.ReadI64(); err != nil { 6420 return thrift.PrependError("error reading field 4: ", err) 6421 } else { 6422 p.OffsetIndexOffset = &v 6423 } 6424 return nil 6425 } 6426 6427 func (p *ColumnChunk) ReadField5(iprot thrift.TProtocol) error { 6428 if v, err := iprot.ReadI32(); err != nil { 6429 return thrift.PrependError("error reading field 5: ", err) 6430 } else { 6431 p.OffsetIndexLength = &v 6432 } 6433 return nil 6434 } 6435 6436 func (p *ColumnChunk) ReadField6(iprot thrift.TProtocol) error { 6437 if v, err := iprot.ReadI64(); err != nil { 6438 return thrift.PrependError("error reading field 6: ", err) 6439 } else { 6440 p.ColumnIndexOffset = &v 6441 } 6442 return nil 6443 } 6444 6445 func (p *ColumnChunk) ReadField7(iprot thrift.TProtocol) error { 6446 if v, err := iprot.ReadI32(); err != nil { 6447 return thrift.PrependError("error reading field 7: ", err) 6448 } else { 6449 p.ColumnIndexLength = &v 6450 } 6451 return nil 6452 } 6453 6454 func (p *ColumnChunk) Write(oprot thrift.TProtocol) error { 6455 if err := oprot.WriteStructBegin("ColumnChunk"); err != nil { 6456 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 6457 } 6458 if p != nil { 6459 if err := p.writeField1(oprot); err != nil { 6460 return err 6461 } 6462 if err := p.writeField2(oprot); err != nil { 6463 return err 6464 } 6465 if err := p.writeField3(oprot); err != nil { 6466 return err 6467 } 6468 if err := p.writeField4(oprot); err != nil { 6469 return err 6470 } 6471 if err := p.writeField5(oprot); err != nil { 6472 return err 6473 } 6474 if err := p.writeField6(oprot); err != nil { 6475 return err 6476 } 6477 if err := p.writeField7(oprot); err != nil { 6478 return err 6479 } 6480 } 6481 if err := oprot.WriteFieldStop(); err != nil { 6482 return thrift.PrependError("write field stop error: ", err) 6483 } 6484 if err := oprot.WriteStructEnd(); err != nil { 6485 return thrift.PrependError("write struct stop error: ", err) 6486 } 6487 return nil 6488 } 6489 6490 func (p *ColumnChunk) writeField1(oprot thrift.TProtocol) (err error) { 6491 if p.IsSetFilePath() { 6492 if err := oprot.WriteFieldBegin("file_path", thrift.STRING, 1); err != nil { 6493 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:file_path: ", p), err) 6494 } 6495 if err := oprot.WriteString(string(*p.FilePath)); err != nil { 6496 return thrift.PrependError(fmt.Sprintf("%T.file_path (1) field write error: ", p), err) 6497 } 6498 if err := oprot.WriteFieldEnd(); err != nil { 6499 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:file_path: ", p), err) 6500 } 6501 } 6502 return err 6503 } 6504 6505 func (p *ColumnChunk) writeField2(oprot thrift.TProtocol) (err error) { 6506 if err := oprot.WriteFieldBegin("file_offset", thrift.I64, 2); err != nil { 6507 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:file_offset: ", p), err) 6508 } 6509 if err := oprot.WriteI64(p.FileOffset); err != nil { 6510 return thrift.PrependError(fmt.Sprintf("%T.file_offset (2) field write error: ", p), err) 6511 } 6512 if err := oprot.WriteFieldEnd(); err != nil { 6513 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:file_offset: ", p), err) 6514 } 6515 return err 6516 } 6517 6518 func (p *ColumnChunk) writeField3(oprot thrift.TProtocol) (err error) { 6519 if p.IsSetMetaData() { 6520 if err := oprot.WriteFieldBegin("meta_data", thrift.STRUCT, 3); err != nil { 6521 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:meta_data: ", p), err) 6522 } 6523 if err := p.MetaData.Write(oprot); err != nil { 6524 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.MetaData), err) 6525 } 6526 if err := oprot.WriteFieldEnd(); err != nil { 6527 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:meta_data: ", p), err) 6528 } 6529 } 6530 return err 6531 } 6532 6533 func (p *ColumnChunk) writeField4(oprot thrift.TProtocol) (err error) { 6534 if p.IsSetOffsetIndexOffset() { 6535 if err := oprot.WriteFieldBegin("offset_index_offset", thrift.I64, 4); err != nil { 6536 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:offset_index_offset: ", p), err) 6537 } 6538 if err := oprot.WriteI64(*p.OffsetIndexOffset); err != nil { 6539 return thrift.PrependError(fmt.Sprintf("%T.offset_index_offset (4) field write error: ", p), err) 6540 } 6541 if err := oprot.WriteFieldEnd(); err != nil { 6542 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:offset_index_offset: ", p), err) 6543 } 6544 } 6545 return err 6546 } 6547 6548 func (p *ColumnChunk) writeField5(oprot thrift.TProtocol) (err error) { 6549 if p.IsSetOffsetIndexLength() { 6550 if err := oprot.WriteFieldBegin("offset_index_length", thrift.I32, 5); err != nil { 6551 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:offset_index_length: ", p), err) 6552 } 6553 if err := oprot.WriteI32(*p.OffsetIndexLength); err != nil { 6554 return thrift.PrependError(fmt.Sprintf("%T.offset_index_length (5) field write error: ", p), err) 6555 } 6556 if err := oprot.WriteFieldEnd(); err != nil { 6557 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:offset_index_length: ", p), err) 6558 } 6559 } 6560 return err 6561 } 6562 6563 func (p *ColumnChunk) writeField6(oprot thrift.TProtocol) (err error) { 6564 if p.IsSetColumnIndexOffset() { 6565 if err := oprot.WriteFieldBegin("column_index_offset", thrift.I64, 6); err != nil { 6566 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:column_index_offset: ", p), err) 6567 } 6568 if err := oprot.WriteI64(*p.ColumnIndexOffset); err != nil { 6569 return thrift.PrependError(fmt.Sprintf("%T.column_index_offset (6) field write error: ", p), err) 6570 } 6571 if err := oprot.WriteFieldEnd(); err != nil { 6572 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:column_index_offset: ", p), err) 6573 } 6574 } 6575 return err 6576 } 6577 6578 func (p *ColumnChunk) writeField7(oprot thrift.TProtocol) (err error) { 6579 if p.IsSetColumnIndexLength() { 6580 if err := oprot.WriteFieldBegin("column_index_length", thrift.I32, 7); err != nil { 6581 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:column_index_length: ", p), err) 6582 } 6583 if err := oprot.WriteI32(*p.ColumnIndexLength); err != nil { 6584 return thrift.PrependError(fmt.Sprintf("%T.column_index_length (7) field write error: ", p), err) 6585 } 6586 if err := oprot.WriteFieldEnd(); err != nil { 6587 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:column_index_length: ", p), err) 6588 } 6589 } 6590 return err 6591 } 6592 6593 func (p *ColumnChunk) String() string { 6594 if p == nil { 6595 return "<nil>" 6596 } 6597 return fmt.Sprintf("ColumnChunk(%+v)", *p) 6598 } 6599 6600 // Attributes: 6601 // - Columns: Metadata for each column chunk in this row group. 6602 // This list must have the same order as the SchemaElement list in FileMetaData. 6603 // 6604 // - TotalByteSize: Total byte size of all the uncompressed column data in this row group * 6605 // - NumRows: Number of rows in this row group * 6606 // - SortingColumns: If set, specifies a sort ordering of the rows in this RowGroup. 6607 // The sorting columns can be a subset of all the columns. 6608 type RowGroup struct { 6609 Columns []*ColumnChunk `thrift:"columns,1,required" db:"columns" json:"columns"` 6610 TotalByteSize int64 `thrift:"total_byte_size,2,required" db:"total_byte_size" json:"total_byte_size"` 6611 NumRows int64 `thrift:"num_rows,3,required" db:"num_rows" json:"num_rows"` 6612 SortingColumns []*SortingColumn `thrift:"sorting_columns,4" db:"sorting_columns" json:"sorting_columns,omitempty"` 6613 } 6614 6615 func NewRowGroup() *RowGroup { 6616 return &RowGroup{} 6617 } 6618 6619 func (p *RowGroup) GetColumns() []*ColumnChunk { 6620 return p.Columns 6621 } 6622 6623 func (p *RowGroup) GetTotalByteSize() int64 { 6624 return p.TotalByteSize 6625 } 6626 6627 func (p *RowGroup) GetNumRows() int64 { 6628 return p.NumRows 6629 } 6630 6631 var RowGroup_SortingColumns_DEFAULT []*SortingColumn 6632 6633 func (p *RowGroup) GetSortingColumns() []*SortingColumn { 6634 return p.SortingColumns 6635 } 6636 func (p *RowGroup) IsSetSortingColumns() bool { 6637 return p.SortingColumns != nil 6638 } 6639 6640 func (p *RowGroup) Read(iprot thrift.TProtocol) error { 6641 if _, err := iprot.ReadStructBegin(); err != nil { 6642 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 6643 } 6644 6645 var issetColumns bool = false 6646 var issetTotalByteSize bool = false 6647 var issetNumRows bool = false 6648 6649 for { 6650 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 6651 if err != nil { 6652 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 6653 } 6654 if fieldTypeId == thrift.STOP { 6655 break 6656 } 6657 switch fieldId { 6658 case 1: 6659 if err := p.ReadField1(iprot); err != nil { 6660 return err 6661 } 6662 issetColumns = true 6663 case 2: 6664 if err := p.ReadField2(iprot); err != nil { 6665 return err 6666 } 6667 issetTotalByteSize = true 6668 case 3: 6669 if err := p.ReadField3(iprot); err != nil { 6670 return err 6671 } 6672 issetNumRows = true 6673 case 4: 6674 if err := p.ReadField4(iprot); err != nil { 6675 return err 6676 } 6677 default: 6678 if err := iprot.Skip(fieldTypeId); err != nil { 6679 return err 6680 } 6681 } 6682 if err := iprot.ReadFieldEnd(); err != nil { 6683 return err 6684 } 6685 } 6686 if err := iprot.ReadStructEnd(); err != nil { 6687 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 6688 } 6689 if !issetColumns { 6690 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Columns is not set")) 6691 } 6692 if !issetTotalByteSize { 6693 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TotalByteSize is not set")) 6694 } 6695 if !issetNumRows { 6696 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumRows is not set")) 6697 } 6698 return nil 6699 } 6700 6701 func (p *RowGroup) ReadField1(iprot thrift.TProtocol) error { 6702 _, size, err := iprot.ReadListBegin() 6703 if err != nil { 6704 return thrift.PrependError("error reading list begin: ", err) 6705 } 6706 tSlice := make([]*ColumnChunk, 0, size) 6707 p.Columns = tSlice 6708 for i := 0; i < size; i++ { 6709 _elem4 := &ColumnChunk{} 6710 if err := _elem4.Read(iprot); err != nil { 6711 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem4), err) 6712 } 6713 p.Columns = append(p.Columns, _elem4) 6714 } 6715 if err := iprot.ReadListEnd(); err != nil { 6716 return thrift.PrependError("error reading list end: ", err) 6717 } 6718 return nil 6719 } 6720 6721 func (p *RowGroup) ReadField2(iprot thrift.TProtocol) error { 6722 if v, err := iprot.ReadI64(); err != nil { 6723 return thrift.PrependError("error reading field 2: ", err) 6724 } else { 6725 p.TotalByteSize = v 6726 } 6727 return nil 6728 } 6729 6730 func (p *RowGroup) ReadField3(iprot thrift.TProtocol) error { 6731 if v, err := iprot.ReadI64(); err != nil { 6732 return thrift.PrependError("error reading field 3: ", err) 6733 } else { 6734 p.NumRows = v 6735 } 6736 return nil 6737 } 6738 6739 func (p *RowGroup) ReadField4(iprot thrift.TProtocol) error { 6740 _, size, err := iprot.ReadListBegin() 6741 if err != nil { 6742 return thrift.PrependError("error reading list begin: ", err) 6743 } 6744 tSlice := make([]*SortingColumn, 0, size) 6745 p.SortingColumns = tSlice 6746 for i := 0; i < size; i++ { 6747 _elem5 := &SortingColumn{} 6748 if err := _elem5.Read(iprot); err != nil { 6749 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem5), err) 6750 } 6751 p.SortingColumns = append(p.SortingColumns, _elem5) 6752 } 6753 if err := iprot.ReadListEnd(); err != nil { 6754 return thrift.PrependError("error reading list end: ", err) 6755 } 6756 return nil 6757 } 6758 6759 func (p *RowGroup) Write(oprot thrift.TProtocol) error { 6760 if err := oprot.WriteStructBegin("RowGroup"); err != nil { 6761 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 6762 } 6763 if p != nil { 6764 if err := p.writeField1(oprot); err != nil { 6765 return err 6766 } 6767 if err := p.writeField2(oprot); err != nil { 6768 return err 6769 } 6770 if err := p.writeField3(oprot); err != nil { 6771 return err 6772 } 6773 if err := p.writeField4(oprot); err != nil { 6774 return err 6775 } 6776 } 6777 if err := oprot.WriteFieldStop(); err != nil { 6778 return thrift.PrependError("write field stop error: ", err) 6779 } 6780 if err := oprot.WriteStructEnd(); err != nil { 6781 return thrift.PrependError("write struct stop error: ", err) 6782 } 6783 return nil 6784 } 6785 6786 func (p *RowGroup) writeField1(oprot thrift.TProtocol) (err error) { 6787 if err := oprot.WriteFieldBegin("columns", thrift.LIST, 1); err != nil { 6788 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:columns: ", p), err) 6789 } 6790 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Columns)); err != nil { 6791 return thrift.PrependError("error writing list begin: ", err) 6792 } 6793 for _, v := range p.Columns { 6794 if err := v.Write(oprot); err != nil { 6795 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 6796 } 6797 } 6798 if err := oprot.WriteListEnd(); err != nil { 6799 return thrift.PrependError("error writing list end: ", err) 6800 } 6801 if err := oprot.WriteFieldEnd(); err != nil { 6802 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:columns: ", p), err) 6803 } 6804 return err 6805 } 6806 6807 func (p *RowGroup) writeField2(oprot thrift.TProtocol) (err error) { 6808 if err := oprot.WriteFieldBegin("total_byte_size", thrift.I64, 2); err != nil { 6809 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:total_byte_size: ", p), err) 6810 } 6811 if err := oprot.WriteI64(p.TotalByteSize); err != nil { 6812 return thrift.PrependError(fmt.Sprintf("%T.total_byte_size (2) field write error: ", p), err) 6813 } 6814 if err := oprot.WriteFieldEnd(); err != nil { 6815 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:total_byte_size: ", p), err) 6816 } 6817 return err 6818 } 6819 6820 func (p *RowGroup) writeField3(oprot thrift.TProtocol) (err error) { 6821 if err := oprot.WriteFieldBegin("num_rows", thrift.I64, 3); err != nil { 6822 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:num_rows: ", p), err) 6823 } 6824 if err := oprot.WriteI64(p.NumRows); err != nil { 6825 return thrift.PrependError(fmt.Sprintf("%T.num_rows (3) field write error: ", p), err) 6826 } 6827 if err := oprot.WriteFieldEnd(); err != nil { 6828 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:num_rows: ", p), err) 6829 } 6830 return err 6831 } 6832 6833 func (p *RowGroup) writeField4(oprot thrift.TProtocol) (err error) { 6834 if p.IsSetSortingColumns() { 6835 if err := oprot.WriteFieldBegin("sorting_columns", thrift.LIST, 4); err != nil { 6836 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:sorting_columns: ", p), err) 6837 } 6838 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.SortingColumns)); err != nil { 6839 return thrift.PrependError("error writing list begin: ", err) 6840 } 6841 for _, v := range p.SortingColumns { 6842 if err := v.Write(oprot); err != nil { 6843 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 6844 } 6845 } 6846 if err := oprot.WriteListEnd(); err != nil { 6847 return thrift.PrependError("error writing list end: ", err) 6848 } 6849 if err := oprot.WriteFieldEnd(); err != nil { 6850 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:sorting_columns: ", p), err) 6851 } 6852 } 6853 return err 6854 } 6855 6856 func (p *RowGroup) String() string { 6857 if p == nil { 6858 return "<nil>" 6859 } 6860 return fmt.Sprintf("RowGroup(%+v)", *p) 6861 } 6862 6863 // Empty struct to signal the order defined by the physical or logical type 6864 type TypeDefinedOrder struct { 6865 } 6866 6867 func NewTypeDefinedOrder() *TypeDefinedOrder { 6868 return &TypeDefinedOrder{} 6869 } 6870 6871 func (p *TypeDefinedOrder) Read(iprot thrift.TProtocol) error { 6872 if _, err := iprot.ReadStructBegin(); err != nil { 6873 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 6874 } 6875 6876 for { 6877 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 6878 if err != nil { 6879 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 6880 } 6881 if fieldTypeId == thrift.STOP { 6882 break 6883 } 6884 if err := iprot.Skip(fieldTypeId); err != nil { 6885 return err 6886 } 6887 if err := iprot.ReadFieldEnd(); err != nil { 6888 return err 6889 } 6890 } 6891 if err := iprot.ReadStructEnd(); err != nil { 6892 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 6893 } 6894 return nil 6895 } 6896 6897 func (p *TypeDefinedOrder) Write(oprot thrift.TProtocol) error { 6898 if err := oprot.WriteStructBegin("TypeDefinedOrder"); err != nil { 6899 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 6900 } 6901 if p != nil { 6902 } 6903 if err := oprot.WriteFieldStop(); err != nil { 6904 return thrift.PrependError("write field stop error: ", err) 6905 } 6906 if err := oprot.WriteStructEnd(); err != nil { 6907 return thrift.PrependError("write struct stop error: ", err) 6908 } 6909 return nil 6910 } 6911 6912 func (p *TypeDefinedOrder) String() string { 6913 if p == nil { 6914 return "<nil>" 6915 } 6916 return fmt.Sprintf("TypeDefinedOrder(%+v)", *p) 6917 } 6918 6919 // Union to specify the order used for the min_value and max_value fields for a 6920 // column. This union takes the role of an enhanced enum that allows rich 6921 // elements (which will be needed for a collation-based ordering in the future). 6922 // 6923 // Possible values are: 6924 // * TypeDefinedOrder - the column uses the order defined by its logical or 6925 // physical type (if there is no logical type). 6926 // 6927 // If the reader does not support the value of this union, min and max stats 6928 // for this column should be ignored. 6929 // 6930 // Attributes: 6931 // - TYPE_ORDER: The sort orders for logical types are: 6932 // UTF8 - unsigned byte-wise comparison 6933 // INT8 - signed comparison 6934 // INT16 - signed comparison 6935 // INT32 - signed comparison 6936 // INT64 - signed comparison 6937 // UINT8 - unsigned comparison 6938 // UINT16 - unsigned comparison 6939 // UINT32 - unsigned comparison 6940 // UINT64 - unsigned comparison 6941 // DECIMAL - signed comparison of the represented value 6942 // DATE - signed comparison 6943 // TIME_MILLIS - signed comparison 6944 // TIME_MICROS - signed comparison 6945 // TIMESTAMP_MILLIS - signed comparison 6946 // TIMESTAMP_MICROS - signed comparison 6947 // INTERVAL - unsigned comparison 6948 // JSON - unsigned byte-wise comparison 6949 // BSON - unsigned byte-wise comparison 6950 // ENUM - unsigned byte-wise comparison 6951 // LIST - undefined 6952 // MAP - undefined 6953 // 6954 // In the absence of logical types, the sort order is determined by the physical type: 6955 // BOOLEAN - false, true 6956 // INT32 - signed comparison 6957 // INT64 - signed comparison 6958 // INT96 (only used for legacy timestamps) - undefined 6959 // FLOAT - signed comparison of the represented value (*) 6960 // DOUBLE - signed comparison of the represented value (*) 6961 // BYTE_ARRAY - unsigned byte-wise comparison 6962 // FIXED_LEN_BYTE_ARRAY - unsigned byte-wise comparison 6963 // 6964 // (*) Because the sorting order is not specified properly for floating 6965 // point values (relations vs. total ordering) the following 6966 // compatibility rules should be applied when reading statistics: 6967 // - If the min is a NaN, it should be ignored. 6968 // - If the max is a NaN, it should be ignored. 6969 // - If the min is +0, the row group may contain -0 values as well. 6970 // - If the max is -0, the row group may contain +0 values as well. 6971 // - When looking for NaN values, min and max should be ignored. 6972 type ColumnOrder struct { 6973 TYPE_ORDER *TypeDefinedOrder `thrift:"TYPE_ORDER,1" db:"TYPE_ORDER" json:"TYPE_ORDER,omitempty"` 6974 } 6975 6976 func NewColumnOrder() *ColumnOrder { 6977 return &ColumnOrder{} 6978 } 6979 6980 var ColumnOrder_TYPE_ORDER_DEFAULT *TypeDefinedOrder 6981 6982 func (p *ColumnOrder) GetTYPE_ORDER() *TypeDefinedOrder { 6983 if !p.IsSetTYPE_ORDER() { 6984 return ColumnOrder_TYPE_ORDER_DEFAULT 6985 } 6986 return p.TYPE_ORDER 6987 } 6988 func (p *ColumnOrder) CountSetFieldsColumnOrder() int { 6989 count := 0 6990 if p.IsSetTYPE_ORDER() { 6991 count++ 6992 } 6993 return count 6994 6995 } 6996 6997 func (p *ColumnOrder) IsSetTYPE_ORDER() bool { 6998 return p.TYPE_ORDER != nil 6999 } 7000 7001 func (p *ColumnOrder) Read(iprot thrift.TProtocol) error { 7002 if _, err := iprot.ReadStructBegin(); err != nil { 7003 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 7004 } 7005 7006 for { 7007 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 7008 if err != nil { 7009 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 7010 } 7011 if fieldTypeId == thrift.STOP { 7012 break 7013 } 7014 switch fieldId { 7015 case 1: 7016 if err := p.ReadField1(iprot); err != nil { 7017 return err 7018 } 7019 default: 7020 if err := iprot.Skip(fieldTypeId); err != nil { 7021 return err 7022 } 7023 } 7024 if err := iprot.ReadFieldEnd(); err != nil { 7025 return err 7026 } 7027 } 7028 if err := iprot.ReadStructEnd(); err != nil { 7029 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 7030 } 7031 return nil 7032 } 7033 7034 func (p *ColumnOrder) ReadField1(iprot thrift.TProtocol) error { 7035 p.TYPE_ORDER = &TypeDefinedOrder{} 7036 if err := p.TYPE_ORDER.Read(iprot); err != nil { 7037 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.TYPE_ORDER), err) 7038 } 7039 return nil 7040 } 7041 7042 func (p *ColumnOrder) Write(oprot thrift.TProtocol) error { 7043 if c := p.CountSetFieldsColumnOrder(); c != 1 { 7044 return fmt.Errorf("%T write union: exactly one field must be set (%d set).", p, c) 7045 } 7046 if err := oprot.WriteStructBegin("ColumnOrder"); err != nil { 7047 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 7048 } 7049 if p != nil { 7050 if err := p.writeField1(oprot); err != nil { 7051 return err 7052 } 7053 } 7054 if err := oprot.WriteFieldStop(); err != nil { 7055 return thrift.PrependError("write field stop error: ", err) 7056 } 7057 if err := oprot.WriteStructEnd(); err != nil { 7058 return thrift.PrependError("write struct stop error: ", err) 7059 } 7060 return nil 7061 } 7062 7063 func (p *ColumnOrder) writeField1(oprot thrift.TProtocol) (err error) { 7064 if p.IsSetTYPE_ORDER() { 7065 if err := oprot.WriteFieldBegin("TYPE_ORDER", thrift.STRUCT, 1); err != nil { 7066 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:TYPE_ORDER: ", p), err) 7067 } 7068 if err := p.TYPE_ORDER.Write(oprot); err != nil { 7069 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.TYPE_ORDER), err) 7070 } 7071 if err := oprot.WriteFieldEnd(); err != nil { 7072 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:TYPE_ORDER: ", p), err) 7073 } 7074 } 7075 return err 7076 } 7077 7078 func (p *ColumnOrder) String() string { 7079 if p == nil { 7080 return "<nil>" 7081 } 7082 return fmt.Sprintf("ColumnOrder(%+v)", *p) 7083 } 7084 7085 // Attributes: 7086 // - Offset: Offset of the page in the file * 7087 // - CompressedPageSize: Size of the page, including header. Sum of compressed_page_size and header 7088 // length 7089 // - FirstRowIndex: Index within the RowGroup of the first row of the page; this means pages 7090 // change on record boundaries (r = 0). 7091 type PageLocation struct { 7092 Offset int64 `thrift:"offset,1,required" db:"offset" json:"offset"` 7093 CompressedPageSize int32 `thrift:"compressed_page_size,2,required" db:"compressed_page_size" json:"compressed_page_size"` 7094 FirstRowIndex int64 `thrift:"first_row_index,3,required" db:"first_row_index" json:"first_row_index"` 7095 } 7096 7097 func NewPageLocation() *PageLocation { 7098 return &PageLocation{} 7099 } 7100 7101 func (p *PageLocation) GetOffset() int64 { 7102 return p.Offset 7103 } 7104 7105 func (p *PageLocation) GetCompressedPageSize() int32 { 7106 return p.CompressedPageSize 7107 } 7108 7109 func (p *PageLocation) GetFirstRowIndex() int64 { 7110 return p.FirstRowIndex 7111 } 7112 func (p *PageLocation) Read(iprot thrift.TProtocol) error { 7113 if _, err := iprot.ReadStructBegin(); err != nil { 7114 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 7115 } 7116 7117 var issetOffset bool = false 7118 var issetCompressedPageSize bool = false 7119 var issetFirstRowIndex bool = false 7120 7121 for { 7122 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 7123 if err != nil { 7124 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 7125 } 7126 if fieldTypeId == thrift.STOP { 7127 break 7128 } 7129 switch fieldId { 7130 case 1: 7131 if err := p.ReadField1(iprot); err != nil { 7132 return err 7133 } 7134 issetOffset = true 7135 case 2: 7136 if err := p.ReadField2(iprot); err != nil { 7137 return err 7138 } 7139 issetCompressedPageSize = true 7140 case 3: 7141 if err := p.ReadField3(iprot); err != nil { 7142 return err 7143 } 7144 issetFirstRowIndex = true 7145 default: 7146 if err := iprot.Skip(fieldTypeId); err != nil { 7147 return err 7148 } 7149 } 7150 if err := iprot.ReadFieldEnd(); err != nil { 7151 return err 7152 } 7153 } 7154 if err := iprot.ReadStructEnd(); err != nil { 7155 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 7156 } 7157 if !issetOffset { 7158 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Offset is not set")) 7159 } 7160 if !issetCompressedPageSize { 7161 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field CompressedPageSize is not set")) 7162 } 7163 if !issetFirstRowIndex { 7164 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field FirstRowIndex is not set")) 7165 } 7166 return nil 7167 } 7168 7169 func (p *PageLocation) ReadField1(iprot thrift.TProtocol) error { 7170 if v, err := iprot.ReadI64(); err != nil { 7171 return thrift.PrependError("error reading field 1: ", err) 7172 } else { 7173 p.Offset = v 7174 } 7175 return nil 7176 } 7177 7178 func (p *PageLocation) ReadField2(iprot thrift.TProtocol) error { 7179 if v, err := iprot.ReadI32(); err != nil { 7180 return thrift.PrependError("error reading field 2: ", err) 7181 } else { 7182 p.CompressedPageSize = v 7183 } 7184 return nil 7185 } 7186 7187 func (p *PageLocation) ReadField3(iprot thrift.TProtocol) error { 7188 if v, err := iprot.ReadI64(); err != nil { 7189 return thrift.PrependError("error reading field 3: ", err) 7190 } else { 7191 p.FirstRowIndex = v 7192 } 7193 return nil 7194 } 7195 7196 func (p *PageLocation) Write(oprot thrift.TProtocol) error { 7197 if err := oprot.WriteStructBegin("PageLocation"); err != nil { 7198 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 7199 } 7200 if p != nil { 7201 if err := p.writeField1(oprot); err != nil { 7202 return err 7203 } 7204 if err := p.writeField2(oprot); err != nil { 7205 return err 7206 } 7207 if err := p.writeField3(oprot); err != nil { 7208 return err 7209 } 7210 } 7211 if err := oprot.WriteFieldStop(); err != nil { 7212 return thrift.PrependError("write field stop error: ", err) 7213 } 7214 if err := oprot.WriteStructEnd(); err != nil { 7215 return thrift.PrependError("write struct stop error: ", err) 7216 } 7217 return nil 7218 } 7219 7220 func (p *PageLocation) writeField1(oprot thrift.TProtocol) (err error) { 7221 if err := oprot.WriteFieldBegin("offset", thrift.I64, 1); err != nil { 7222 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:offset: ", p), err) 7223 } 7224 if err := oprot.WriteI64(p.Offset); err != nil { 7225 return thrift.PrependError(fmt.Sprintf("%T.offset (1) field write error: ", p), err) 7226 } 7227 if err := oprot.WriteFieldEnd(); err != nil { 7228 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:offset: ", p), err) 7229 } 7230 return err 7231 } 7232 7233 func (p *PageLocation) writeField2(oprot thrift.TProtocol) (err error) { 7234 if err := oprot.WriteFieldBegin("compressed_page_size", thrift.I32, 2); err != nil { 7235 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:compressed_page_size: ", p), err) 7236 } 7237 if err := oprot.WriteI32(p.CompressedPageSize); err != nil { 7238 return thrift.PrependError(fmt.Sprintf("%T.compressed_page_size (2) field write error: ", p), err) 7239 } 7240 if err := oprot.WriteFieldEnd(); err != nil { 7241 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:compressed_page_size: ", p), err) 7242 } 7243 return err 7244 } 7245 7246 func (p *PageLocation) writeField3(oprot thrift.TProtocol) (err error) { 7247 if err := oprot.WriteFieldBegin("first_row_index", thrift.I64, 3); err != nil { 7248 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:first_row_index: ", p), err) 7249 } 7250 if err := oprot.WriteI64(p.FirstRowIndex); err != nil { 7251 return thrift.PrependError(fmt.Sprintf("%T.first_row_index (3) field write error: ", p), err) 7252 } 7253 if err := oprot.WriteFieldEnd(); err != nil { 7254 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:first_row_index: ", p), err) 7255 } 7256 return err 7257 } 7258 7259 func (p *PageLocation) String() string { 7260 if p == nil { 7261 return "<nil>" 7262 } 7263 return fmt.Sprintf("PageLocation(%+v)", *p) 7264 } 7265 7266 // Attributes: 7267 // - PageLocations: PageLocations, ordered by increasing PageLocation.offset. It is required 7268 // that page_locations[i].first_row_index < page_locations[i+1].first_row_index. 7269 type OffsetIndex struct { 7270 PageLocations []*PageLocation `thrift:"page_locations,1,required" db:"page_locations" json:"page_locations"` 7271 } 7272 7273 func NewOffsetIndex() *OffsetIndex { 7274 return &OffsetIndex{} 7275 } 7276 7277 func (p *OffsetIndex) GetPageLocations() []*PageLocation { 7278 return p.PageLocations 7279 } 7280 func (p *OffsetIndex) Read(iprot thrift.TProtocol) error { 7281 if _, err := iprot.ReadStructBegin(); err != nil { 7282 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 7283 } 7284 7285 var issetPageLocations bool = false 7286 7287 for { 7288 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 7289 if err != nil { 7290 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 7291 } 7292 if fieldTypeId == thrift.STOP { 7293 break 7294 } 7295 switch fieldId { 7296 case 1: 7297 if err := p.ReadField1(iprot); err != nil { 7298 return err 7299 } 7300 issetPageLocations = true 7301 default: 7302 if err := iprot.Skip(fieldTypeId); err != nil { 7303 return err 7304 } 7305 } 7306 if err := iprot.ReadFieldEnd(); err != nil { 7307 return err 7308 } 7309 } 7310 if err := iprot.ReadStructEnd(); err != nil { 7311 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 7312 } 7313 if !issetPageLocations { 7314 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field PageLocations is not set")) 7315 } 7316 return nil 7317 } 7318 7319 func (p *OffsetIndex) ReadField1(iprot thrift.TProtocol) error { 7320 _, size, err := iprot.ReadListBegin() 7321 if err != nil { 7322 return thrift.PrependError("error reading list begin: ", err) 7323 } 7324 tSlice := make([]*PageLocation, 0, size) 7325 p.PageLocations = tSlice 7326 for i := 0; i < size; i++ { 7327 _elem6 := &PageLocation{} 7328 if err := _elem6.Read(iprot); err != nil { 7329 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem6), err) 7330 } 7331 p.PageLocations = append(p.PageLocations, _elem6) 7332 } 7333 if err := iprot.ReadListEnd(); err != nil { 7334 return thrift.PrependError("error reading list end: ", err) 7335 } 7336 return nil 7337 } 7338 7339 func (p *OffsetIndex) Write(oprot thrift.TProtocol) error { 7340 if err := oprot.WriteStructBegin("OffsetIndex"); err != nil { 7341 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 7342 } 7343 if p != nil { 7344 if err := p.writeField1(oprot); err != nil { 7345 return err 7346 } 7347 } 7348 if err := oprot.WriteFieldStop(); err != nil { 7349 return thrift.PrependError("write field stop error: ", err) 7350 } 7351 if err := oprot.WriteStructEnd(); err != nil { 7352 return thrift.PrependError("write struct stop error: ", err) 7353 } 7354 return nil 7355 } 7356 7357 func (p *OffsetIndex) writeField1(oprot thrift.TProtocol) (err error) { 7358 if err := oprot.WriteFieldBegin("page_locations", thrift.LIST, 1); err != nil { 7359 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:page_locations: ", p), err) 7360 } 7361 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.PageLocations)); err != nil { 7362 return thrift.PrependError("error writing list begin: ", err) 7363 } 7364 for _, v := range p.PageLocations { 7365 if err := v.Write(oprot); err != nil { 7366 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 7367 } 7368 } 7369 if err := oprot.WriteListEnd(); err != nil { 7370 return thrift.PrependError("error writing list end: ", err) 7371 } 7372 if err := oprot.WriteFieldEnd(); err != nil { 7373 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:page_locations: ", p), err) 7374 } 7375 return err 7376 } 7377 7378 func (p *OffsetIndex) String() string { 7379 if p == nil { 7380 return "<nil>" 7381 } 7382 return fmt.Sprintf("OffsetIndex(%+v)", *p) 7383 } 7384 7385 // Description for ColumnIndex. 7386 // Each <array-field>[i] refers to the page at OffsetIndex.page_locations[i] 7387 // 7388 // Attributes: 7389 // - NullPages: A list of Boolean values to determine the validity of the corresponding 7390 // min and max values. If true, a page contains only null values, and writers 7391 // have to set the corresponding entries in min_values and max_values to 7392 // byte[0], so that all lists have the same length. If false, the 7393 // corresponding entries in min_values and max_values must be valid. 7394 // - MinValues: Two lists containing lower and upper bounds for the values of each page. 7395 // These may be the actual minimum and maximum values found on a page, but 7396 // can also be (more compact) values that do not exist on a page. For 7397 // example, instead of storing ""Blart Versenwald III", a writer may set 7398 // min_values[i]="B", max_values[i]="C". Such more compact values must still 7399 // be valid values within the column's logical type. Readers must make sure 7400 // that list entries are populated before using them by inspecting null_pages. 7401 // - MaxValues 7402 // - BoundaryOrder: Stores whether both min_values and max_values are orderd and if so, in 7403 // which direction. This allows readers to perform binary searches in both 7404 // lists. Readers cannot assume that max_values[i] <= min_values[i+1], even 7405 // if the lists are ordered. 7406 // - NullCounts: A list containing the number of null values for each page * 7407 type ColumnIndex struct { 7408 NullPages []bool `thrift:"null_pages,1,required" db:"null_pages" json:"null_pages"` 7409 MinValues [][]byte `thrift:"min_values,2,required" db:"min_values" json:"min_values"` 7410 MaxValues [][]byte `thrift:"max_values,3,required" db:"max_values" json:"max_values"` 7411 BoundaryOrder BoundaryOrder `thrift:"boundary_order,4,required" db:"boundary_order" json:"boundary_order"` 7412 NullCounts []int64 `thrift:"null_counts,5" db:"null_counts" json:"null_counts,omitempty"` 7413 } 7414 7415 func NewColumnIndex() *ColumnIndex { 7416 return &ColumnIndex{} 7417 } 7418 7419 func (p *ColumnIndex) GetNullPages() []bool { 7420 return p.NullPages 7421 } 7422 7423 func (p *ColumnIndex) GetMinValues() [][]byte { 7424 return p.MinValues 7425 } 7426 7427 func (p *ColumnIndex) GetMaxValues() [][]byte { 7428 return p.MaxValues 7429 } 7430 7431 func (p *ColumnIndex) GetBoundaryOrder() BoundaryOrder { 7432 return p.BoundaryOrder 7433 } 7434 7435 var ColumnIndex_NullCounts_DEFAULT []int64 7436 7437 func (p *ColumnIndex) GetNullCounts() []int64 { 7438 return p.NullCounts 7439 } 7440 func (p *ColumnIndex) IsSetNullCounts() bool { 7441 return p.NullCounts != nil 7442 } 7443 7444 func (p *ColumnIndex) Read(iprot thrift.TProtocol) error { 7445 if _, err := iprot.ReadStructBegin(); err != nil { 7446 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 7447 } 7448 7449 var issetNullPages bool = false 7450 var issetMinValues bool = false 7451 var issetMaxValues bool = false 7452 var issetBoundaryOrder bool = false 7453 7454 for { 7455 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 7456 if err != nil { 7457 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 7458 } 7459 if fieldTypeId == thrift.STOP { 7460 break 7461 } 7462 switch fieldId { 7463 case 1: 7464 if err := p.ReadField1(iprot); err != nil { 7465 return err 7466 } 7467 issetNullPages = true 7468 case 2: 7469 if err := p.ReadField2(iprot); err != nil { 7470 return err 7471 } 7472 issetMinValues = true 7473 case 3: 7474 if err := p.ReadField3(iprot); err != nil { 7475 return err 7476 } 7477 issetMaxValues = true 7478 case 4: 7479 if err := p.ReadField4(iprot); err != nil { 7480 return err 7481 } 7482 issetBoundaryOrder = true 7483 case 5: 7484 if err := p.ReadField5(iprot); err != nil { 7485 return err 7486 } 7487 default: 7488 if err := iprot.Skip(fieldTypeId); err != nil { 7489 return err 7490 } 7491 } 7492 if err := iprot.ReadFieldEnd(); err != nil { 7493 return err 7494 } 7495 } 7496 if err := iprot.ReadStructEnd(); err != nil { 7497 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 7498 } 7499 if !issetNullPages { 7500 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NullPages is not set")) 7501 } 7502 if !issetMinValues { 7503 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MinValues is not set")) 7504 } 7505 if !issetMaxValues { 7506 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MaxValues is not set")) 7507 } 7508 if !issetBoundaryOrder { 7509 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field BoundaryOrder is not set")) 7510 } 7511 return nil 7512 } 7513 7514 func (p *ColumnIndex) ReadField1(iprot thrift.TProtocol) error { 7515 _, size, err := iprot.ReadListBegin() 7516 if err != nil { 7517 return thrift.PrependError("error reading list begin: ", err) 7518 } 7519 tSlice := make([]bool, 0, size) 7520 p.NullPages = tSlice 7521 for i := 0; i < size; i++ { 7522 var _elem7 bool 7523 if v, err := iprot.ReadBool(); err != nil { 7524 return thrift.PrependError("error reading field 0: ", err) 7525 } else { 7526 _elem7 = v 7527 } 7528 p.NullPages = append(p.NullPages, _elem7) 7529 } 7530 if err := iprot.ReadListEnd(); err != nil { 7531 return thrift.PrependError("error reading list end: ", err) 7532 } 7533 return nil 7534 } 7535 7536 func (p *ColumnIndex) ReadField2(iprot thrift.TProtocol) error { 7537 _, size, err := iprot.ReadListBegin() 7538 if err != nil { 7539 return thrift.PrependError("error reading list begin: ", err) 7540 } 7541 tSlice := make([][]byte, 0, size) 7542 p.MinValues = tSlice 7543 for i := 0; i < size; i++ { 7544 var _elem8 []byte 7545 if v, err := iprot.ReadBinary(); err != nil { 7546 return thrift.PrependError("error reading field 0: ", err) 7547 } else { 7548 _elem8 = v 7549 } 7550 p.MinValues = append(p.MinValues, _elem8) 7551 } 7552 if err := iprot.ReadListEnd(); err != nil { 7553 return thrift.PrependError("error reading list end: ", err) 7554 } 7555 return nil 7556 } 7557 7558 func (p *ColumnIndex) ReadField3(iprot thrift.TProtocol) error { 7559 _, size, err := iprot.ReadListBegin() 7560 if err != nil { 7561 return thrift.PrependError("error reading list begin: ", err) 7562 } 7563 tSlice := make([][]byte, 0, size) 7564 p.MaxValues = tSlice 7565 for i := 0; i < size; i++ { 7566 var _elem9 []byte 7567 if v, err := iprot.ReadBinary(); err != nil { 7568 return thrift.PrependError("error reading field 0: ", err) 7569 } else { 7570 _elem9 = v 7571 } 7572 p.MaxValues = append(p.MaxValues, _elem9) 7573 } 7574 if err := iprot.ReadListEnd(); err != nil { 7575 return thrift.PrependError("error reading list end: ", err) 7576 } 7577 return nil 7578 } 7579 7580 func (p *ColumnIndex) ReadField4(iprot thrift.TProtocol) error { 7581 if v, err := iprot.ReadI32(); err != nil { 7582 return thrift.PrependError("error reading field 4: ", err) 7583 } else { 7584 temp := BoundaryOrder(v) 7585 p.BoundaryOrder = temp 7586 } 7587 return nil 7588 } 7589 7590 func (p *ColumnIndex) ReadField5(iprot thrift.TProtocol) error { 7591 _, size, err := iprot.ReadListBegin() 7592 if err != nil { 7593 return thrift.PrependError("error reading list begin: ", err) 7594 } 7595 tSlice := make([]int64, 0, size) 7596 p.NullCounts = tSlice 7597 for i := 0; i < size; i++ { 7598 var _elem10 int64 7599 if v, err := iprot.ReadI64(); err != nil { 7600 return thrift.PrependError("error reading field 0: ", err) 7601 } else { 7602 _elem10 = v 7603 } 7604 p.NullCounts = append(p.NullCounts, _elem10) 7605 } 7606 if err := iprot.ReadListEnd(); err != nil { 7607 return thrift.PrependError("error reading list end: ", err) 7608 } 7609 return nil 7610 } 7611 7612 func (p *ColumnIndex) Write(oprot thrift.TProtocol) error { 7613 if err := oprot.WriteStructBegin("ColumnIndex"); err != nil { 7614 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 7615 } 7616 if p != nil { 7617 if err := p.writeField1(oprot); err != nil { 7618 return err 7619 } 7620 if err := p.writeField2(oprot); err != nil { 7621 return err 7622 } 7623 if err := p.writeField3(oprot); err != nil { 7624 return err 7625 } 7626 if err := p.writeField4(oprot); err != nil { 7627 return err 7628 } 7629 if err := p.writeField5(oprot); err != nil { 7630 return err 7631 } 7632 } 7633 if err := oprot.WriteFieldStop(); err != nil { 7634 return thrift.PrependError("write field stop error: ", err) 7635 } 7636 if err := oprot.WriteStructEnd(); err != nil { 7637 return thrift.PrependError("write struct stop error: ", err) 7638 } 7639 return nil 7640 } 7641 7642 func (p *ColumnIndex) writeField1(oprot thrift.TProtocol) (err error) { 7643 if err := oprot.WriteFieldBegin("null_pages", thrift.LIST, 1); err != nil { 7644 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:null_pages: ", p), err) 7645 } 7646 if err := oprot.WriteListBegin(thrift.BOOL, len(p.NullPages)); err != nil { 7647 return thrift.PrependError("error writing list begin: ", err) 7648 } 7649 for _, v := range p.NullPages { 7650 if err := oprot.WriteBool(v); err != nil { 7651 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) 7652 } 7653 } 7654 if err := oprot.WriteListEnd(); err != nil { 7655 return thrift.PrependError("error writing list end: ", err) 7656 } 7657 if err := oprot.WriteFieldEnd(); err != nil { 7658 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:null_pages: ", p), err) 7659 } 7660 return err 7661 } 7662 7663 func (p *ColumnIndex) writeField2(oprot thrift.TProtocol) (err error) { 7664 if err := oprot.WriteFieldBegin("min_values", thrift.LIST, 2); err != nil { 7665 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:min_values: ", p), err) 7666 } 7667 if err := oprot.WriteListBegin(thrift.STRING, len(p.MinValues)); err != nil { 7668 return thrift.PrependError("error writing list begin: ", err) 7669 } 7670 for _, v := range p.MinValues { 7671 if err := oprot.WriteBinary(v); err != nil { 7672 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) 7673 } 7674 } 7675 if err := oprot.WriteListEnd(); err != nil { 7676 return thrift.PrependError("error writing list end: ", err) 7677 } 7678 if err := oprot.WriteFieldEnd(); err != nil { 7679 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:min_values: ", p), err) 7680 } 7681 return err 7682 } 7683 7684 func (p *ColumnIndex) writeField3(oprot thrift.TProtocol) (err error) { 7685 if err := oprot.WriteFieldBegin("max_values", thrift.LIST, 3); err != nil { 7686 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:max_values: ", p), err) 7687 } 7688 if err := oprot.WriteListBegin(thrift.STRING, len(p.MaxValues)); err != nil { 7689 return thrift.PrependError("error writing list begin: ", err) 7690 } 7691 for _, v := range p.MaxValues { 7692 if err := oprot.WriteBinary(v); err != nil { 7693 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) 7694 } 7695 } 7696 if err := oprot.WriteListEnd(); err != nil { 7697 return thrift.PrependError("error writing list end: ", err) 7698 } 7699 if err := oprot.WriteFieldEnd(); err != nil { 7700 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:max_values: ", p), err) 7701 } 7702 return err 7703 } 7704 7705 func (p *ColumnIndex) writeField4(oprot thrift.TProtocol) (err error) { 7706 if err := oprot.WriteFieldBegin("boundary_order", thrift.I32, 4); err != nil { 7707 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:boundary_order: ", p), err) 7708 } 7709 if err := oprot.WriteI32(int32(p.BoundaryOrder)); err != nil { 7710 return thrift.PrependError(fmt.Sprintf("%T.boundary_order (4) field write error: ", p), err) 7711 } 7712 if err := oprot.WriteFieldEnd(); err != nil { 7713 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:boundary_order: ", p), err) 7714 } 7715 return err 7716 } 7717 7718 func (p *ColumnIndex) writeField5(oprot thrift.TProtocol) (err error) { 7719 if p.IsSetNullCounts() { 7720 if err := oprot.WriteFieldBegin("null_counts", thrift.LIST, 5); err != nil { 7721 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:null_counts: ", p), err) 7722 } 7723 if err := oprot.WriteListBegin(thrift.I64, len(p.NullCounts)); err != nil { 7724 return thrift.PrependError("error writing list begin: ", err) 7725 } 7726 for _, v := range p.NullCounts { 7727 if err := oprot.WriteI64(v); err != nil { 7728 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) 7729 } 7730 } 7731 if err := oprot.WriteListEnd(); err != nil { 7732 return thrift.PrependError("error writing list end: ", err) 7733 } 7734 if err := oprot.WriteFieldEnd(); err != nil { 7735 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:null_counts: ", p), err) 7736 } 7737 } 7738 return err 7739 } 7740 7741 func (p *ColumnIndex) String() string { 7742 if p == nil { 7743 return "<nil>" 7744 } 7745 return fmt.Sprintf("ColumnIndex(%+v)", *p) 7746 } 7747 7748 // Description for file metadata 7749 // 7750 // Attributes: 7751 // - Version: Version of this file * 7752 // - Schema: Parquet schema for this file. This schema contains metadata for all the columns. 7753 // The schema is represented as a tree with a single root. The nodes of the tree 7754 // are flattened to a list by doing a depth-first traversal. 7755 // The column metadata contains the path in the schema for that column which can be 7756 // used to map columns to nodes in the schema. 7757 // The first element is the root * 7758 // - NumRows: Number of rows in this file * 7759 // - RowGroups: Row groups in this file * 7760 // - KeyValueMetadata: Optional key/value metadata * 7761 // - CreatedBy: String for application that wrote this file. This should be in the format 7762 // <Application> version <App Version> (build <App Build Hash>). 7763 // e.g. impala version 1.0 (build 6cf94d29b2b7115df4de2c06e2ab4326d721eb55) 7764 // 7765 // - ColumnOrders: Sort order used for the min_value and max_value fields of each column in 7766 // this file. Each sort order corresponds to one column, determined by its 7767 // position in the list, matching the position of the column in the schema. 7768 // 7769 // Without column_orders, the meaning of the min_value and max_value fields is 7770 // undefined. To ensure well-defined behavior, if min_value and max_value are 7771 // written to a Parquet file, column_orders must be written as well. 7772 // 7773 // The obsolete min and max fields are always sorted by signed comparison 7774 // regardless of column_orders. 7775 type FileMetaData struct { 7776 Version int32 `thrift:"version,1,required" db:"version" json:"version"` 7777 Schema []*SchemaElement `thrift:"schema,2,required" db:"schema" json:"schema"` 7778 NumRows int64 `thrift:"num_rows,3,required" db:"num_rows" json:"num_rows"` 7779 RowGroups []*RowGroup `thrift:"row_groups,4,required" db:"row_groups" json:"row_groups"` 7780 KeyValueMetadata []*KeyValue `thrift:"key_value_metadata,5" db:"key_value_metadata" json:"key_value_metadata,omitempty"` 7781 CreatedBy *string `thrift:"created_by,6" db:"created_by" json:"created_by,omitempty"` 7782 ColumnOrders []*ColumnOrder `thrift:"column_orders,7" db:"column_orders" json:"column_orders,omitempty"` 7783 } 7784 7785 func NewFileMetaData() *FileMetaData { 7786 return &FileMetaData{} 7787 } 7788 7789 func (p *FileMetaData) GetVersion() int32 { 7790 return p.Version 7791 } 7792 7793 func (p *FileMetaData) GetSchema() []*SchemaElement { 7794 return p.Schema 7795 } 7796 7797 func (p *FileMetaData) GetNumRows() int64 { 7798 return p.NumRows 7799 } 7800 7801 func (p *FileMetaData) GetRowGroups() []*RowGroup { 7802 return p.RowGroups 7803 } 7804 7805 var FileMetaData_KeyValueMetadata_DEFAULT []*KeyValue 7806 7807 func (p *FileMetaData) GetKeyValueMetadata() []*KeyValue { 7808 return p.KeyValueMetadata 7809 } 7810 7811 var FileMetaData_CreatedBy_DEFAULT string 7812 7813 func (p *FileMetaData) GetCreatedBy() string { 7814 if !p.IsSetCreatedBy() { 7815 return FileMetaData_CreatedBy_DEFAULT 7816 } 7817 return *p.CreatedBy 7818 } 7819 7820 var FileMetaData_ColumnOrders_DEFAULT []*ColumnOrder 7821 7822 func (p *FileMetaData) GetColumnOrders() []*ColumnOrder { 7823 return p.ColumnOrders 7824 } 7825 func (p *FileMetaData) IsSetKeyValueMetadata() bool { 7826 return p.KeyValueMetadata != nil 7827 } 7828 7829 func (p *FileMetaData) IsSetCreatedBy() bool { 7830 return p.CreatedBy != nil 7831 } 7832 7833 func (p *FileMetaData) IsSetColumnOrders() bool { 7834 return p.ColumnOrders != nil 7835 } 7836 7837 func (p *FileMetaData) Read(iprot thrift.TProtocol) error { 7838 if _, err := iprot.ReadStructBegin(); err != nil { 7839 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 7840 } 7841 7842 var issetVersion bool = false 7843 var issetSchema bool = false 7844 var issetNumRows bool = false 7845 var issetRowGroups bool = false 7846 7847 for { 7848 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 7849 if err != nil { 7850 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 7851 } 7852 if fieldTypeId == thrift.STOP { 7853 break 7854 } 7855 switch fieldId { 7856 case 1: 7857 if err := p.ReadField1(iprot); err != nil { 7858 return err 7859 } 7860 issetVersion = true 7861 case 2: 7862 if err := p.ReadField2(iprot); err != nil { 7863 return err 7864 } 7865 issetSchema = true 7866 case 3: 7867 if err := p.ReadField3(iprot); err != nil { 7868 return err 7869 } 7870 issetNumRows = true 7871 case 4: 7872 if err := p.ReadField4(iprot); err != nil { 7873 return err 7874 } 7875 issetRowGroups = true 7876 case 5: 7877 if err := p.ReadField5(iprot); err != nil { 7878 return err 7879 } 7880 case 6: 7881 if err := p.ReadField6(iprot); err != nil { 7882 return err 7883 } 7884 case 7: 7885 if err := p.ReadField7(iprot); err != nil { 7886 return err 7887 } 7888 default: 7889 if err := iprot.Skip(fieldTypeId); err != nil { 7890 return err 7891 } 7892 } 7893 if err := iprot.ReadFieldEnd(); err != nil { 7894 return err 7895 } 7896 } 7897 if err := iprot.ReadStructEnd(); err != nil { 7898 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 7899 } 7900 if !issetVersion { 7901 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Version is not set")) 7902 } 7903 if !issetSchema { 7904 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Schema is not set")) 7905 } 7906 if !issetNumRows { 7907 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumRows is not set")) 7908 } 7909 if !issetRowGroups { 7910 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field RowGroups is not set")) 7911 } 7912 return nil 7913 } 7914 7915 func (p *FileMetaData) ReadField1(iprot thrift.TProtocol) error { 7916 if v, err := iprot.ReadI32(); err != nil { 7917 return thrift.PrependError("error reading field 1: ", err) 7918 } else { 7919 p.Version = v 7920 } 7921 return nil 7922 } 7923 7924 func (p *FileMetaData) ReadField2(iprot thrift.TProtocol) error { 7925 _, size, err := iprot.ReadListBegin() 7926 if err != nil { 7927 return thrift.PrependError("error reading list begin: ", err) 7928 } 7929 tSlice := make([]*SchemaElement, 0, size) 7930 p.Schema = tSlice 7931 for i := 0; i < size; i++ { 7932 _elem11 := &SchemaElement{} 7933 if err := _elem11.Read(iprot); err != nil { 7934 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem11), err) 7935 } 7936 p.Schema = append(p.Schema, _elem11) 7937 } 7938 if err := iprot.ReadListEnd(); err != nil { 7939 return thrift.PrependError("error reading list end: ", err) 7940 } 7941 return nil 7942 } 7943 7944 func (p *FileMetaData) ReadField3(iprot thrift.TProtocol) error { 7945 if v, err := iprot.ReadI64(); err != nil { 7946 return thrift.PrependError("error reading field 3: ", err) 7947 } else { 7948 p.NumRows = v 7949 } 7950 return nil 7951 } 7952 7953 func (p *FileMetaData) ReadField4(iprot thrift.TProtocol) error { 7954 _, size, err := iprot.ReadListBegin() 7955 if err != nil { 7956 return thrift.PrependError("error reading list begin: ", err) 7957 } 7958 tSlice := make([]*RowGroup, 0, size) 7959 p.RowGroups = tSlice 7960 for i := 0; i < size; i++ { 7961 _elem12 := &RowGroup{} 7962 if err := _elem12.Read(iprot); err != nil { 7963 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem12), err) 7964 } 7965 p.RowGroups = append(p.RowGroups, _elem12) 7966 } 7967 if err := iprot.ReadListEnd(); err != nil { 7968 return thrift.PrependError("error reading list end: ", err) 7969 } 7970 return nil 7971 } 7972 7973 func (p *FileMetaData) ReadField5(iprot thrift.TProtocol) error { 7974 _, size, err := iprot.ReadListBegin() 7975 if err != nil { 7976 return thrift.PrependError("error reading list begin: ", err) 7977 } 7978 tSlice := make([]*KeyValue, 0, size) 7979 p.KeyValueMetadata = tSlice 7980 for i := 0; i < size; i++ { 7981 _elem13 := &KeyValue{} 7982 if err := _elem13.Read(iprot); err != nil { 7983 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem13), err) 7984 } 7985 p.KeyValueMetadata = append(p.KeyValueMetadata, _elem13) 7986 } 7987 if err := iprot.ReadListEnd(); err != nil { 7988 return thrift.PrependError("error reading list end: ", err) 7989 } 7990 return nil 7991 } 7992 7993 func (p *FileMetaData) ReadField6(iprot thrift.TProtocol) error { 7994 if v, err := iprot.ReadString(); err != nil { 7995 return thrift.PrependError("error reading field 6: ", err) 7996 } else { 7997 p.CreatedBy = &v 7998 } 7999 return nil 8000 } 8001 8002 func (p *FileMetaData) ReadField7(iprot thrift.TProtocol) error { 8003 _, size, err := iprot.ReadListBegin() 8004 if err != nil { 8005 return thrift.PrependError("error reading list begin: ", err) 8006 } 8007 tSlice := make([]*ColumnOrder, 0, size) 8008 p.ColumnOrders = tSlice 8009 for i := 0; i < size; i++ { 8010 _elem14 := &ColumnOrder{} 8011 if err := _elem14.Read(iprot); err != nil { 8012 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem14), err) 8013 } 8014 p.ColumnOrders = append(p.ColumnOrders, _elem14) 8015 } 8016 if err := iprot.ReadListEnd(); err != nil { 8017 return thrift.PrependError("error reading list end: ", err) 8018 } 8019 return nil 8020 } 8021 8022 func (p *FileMetaData) Write(oprot thrift.TProtocol) error { 8023 if err := oprot.WriteStructBegin("FileMetaData"); err != nil { 8024 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 8025 } 8026 if p != nil { 8027 if err := p.writeField1(oprot); err != nil { 8028 return err 8029 } 8030 if err := p.writeField2(oprot); err != nil { 8031 return err 8032 } 8033 if err := p.writeField3(oprot); err != nil { 8034 return err 8035 } 8036 if err := p.writeField4(oprot); err != nil { 8037 return err 8038 } 8039 if err := p.writeField5(oprot); err != nil { 8040 return err 8041 } 8042 if err := p.writeField6(oprot); err != nil { 8043 return err 8044 } 8045 if err := p.writeField7(oprot); err != nil { 8046 return err 8047 } 8048 } 8049 if err := oprot.WriteFieldStop(); err != nil { 8050 return thrift.PrependError("write field stop error: ", err) 8051 } 8052 if err := oprot.WriteStructEnd(); err != nil { 8053 return thrift.PrependError("write struct stop error: ", err) 8054 } 8055 return nil 8056 } 8057 8058 func (p *FileMetaData) writeField1(oprot thrift.TProtocol) (err error) { 8059 if err := oprot.WriteFieldBegin("version", thrift.I32, 1); err != nil { 8060 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:version: ", p), err) 8061 } 8062 if err := oprot.WriteI32(p.Version); err != nil { 8063 return thrift.PrependError(fmt.Sprintf("%T.version (1) field write error: ", p), err) 8064 } 8065 if err := oprot.WriteFieldEnd(); err != nil { 8066 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:version: ", p), err) 8067 } 8068 return err 8069 } 8070 8071 func (p *FileMetaData) writeField2(oprot thrift.TProtocol) (err error) { 8072 if err := oprot.WriteFieldBegin("schema", thrift.LIST, 2); err != nil { 8073 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:schema: ", p), err) 8074 } 8075 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Schema)); err != nil { 8076 return thrift.PrependError("error writing list begin: ", err) 8077 } 8078 for _, v := range p.Schema { 8079 if err := v.Write(oprot); err != nil { 8080 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 8081 } 8082 } 8083 if err := oprot.WriteListEnd(); err != nil { 8084 return thrift.PrependError("error writing list end: ", err) 8085 } 8086 if err := oprot.WriteFieldEnd(); err != nil { 8087 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:schema: ", p), err) 8088 } 8089 return err 8090 } 8091 8092 func (p *FileMetaData) writeField3(oprot thrift.TProtocol) (err error) { 8093 if err := oprot.WriteFieldBegin("num_rows", thrift.I64, 3); err != nil { 8094 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:num_rows: ", p), err) 8095 } 8096 if err := oprot.WriteI64(p.NumRows); err != nil { 8097 return thrift.PrependError(fmt.Sprintf("%T.num_rows (3) field write error: ", p), err) 8098 } 8099 if err := oprot.WriteFieldEnd(); err != nil { 8100 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:num_rows: ", p), err) 8101 } 8102 return err 8103 } 8104 8105 func (p *FileMetaData) writeField4(oprot thrift.TProtocol) (err error) { 8106 if err := oprot.WriteFieldBegin("row_groups", thrift.LIST, 4); err != nil { 8107 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:row_groups: ", p), err) 8108 } 8109 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.RowGroups)); err != nil { 8110 return thrift.PrependError("error writing list begin: ", err) 8111 } 8112 for _, v := range p.RowGroups { 8113 if err := v.Write(oprot); err != nil { 8114 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 8115 } 8116 } 8117 if err := oprot.WriteListEnd(); err != nil { 8118 return thrift.PrependError("error writing list end: ", err) 8119 } 8120 if err := oprot.WriteFieldEnd(); err != nil { 8121 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:row_groups: ", p), err) 8122 } 8123 return err 8124 } 8125 8126 func (p *FileMetaData) writeField5(oprot thrift.TProtocol) (err error) { 8127 if p.IsSetKeyValueMetadata() { 8128 if err := oprot.WriteFieldBegin("key_value_metadata", thrift.LIST, 5); err != nil { 8129 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:key_value_metadata: ", p), err) 8130 } 8131 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.KeyValueMetadata)); err != nil { 8132 return thrift.PrependError("error writing list begin: ", err) 8133 } 8134 for _, v := range p.KeyValueMetadata { 8135 if err := v.Write(oprot); err != nil { 8136 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 8137 } 8138 } 8139 if err := oprot.WriteListEnd(); err != nil { 8140 return thrift.PrependError("error writing list end: ", err) 8141 } 8142 if err := oprot.WriteFieldEnd(); err != nil { 8143 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:key_value_metadata: ", p), err) 8144 } 8145 } 8146 return err 8147 } 8148 8149 func (p *FileMetaData) writeField6(oprot thrift.TProtocol) (err error) { 8150 if p.IsSetCreatedBy() { 8151 if err := oprot.WriteFieldBegin("created_by", thrift.STRING, 6); err != nil { 8152 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:created_by: ", p), err) 8153 } 8154 if err := oprot.WriteString(string(*p.CreatedBy)); err != nil { 8155 return thrift.PrependError(fmt.Sprintf("%T.created_by (6) field write error: ", p), err) 8156 } 8157 if err := oprot.WriteFieldEnd(); err != nil { 8158 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:created_by: ", p), err) 8159 } 8160 } 8161 return err 8162 } 8163 8164 func (p *FileMetaData) writeField7(oprot thrift.TProtocol) (err error) { 8165 if p.IsSetColumnOrders() { 8166 if err := oprot.WriteFieldBegin("column_orders", thrift.LIST, 7); err != nil { 8167 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:column_orders: ", p), err) 8168 } 8169 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.ColumnOrders)); err != nil { 8170 return thrift.PrependError("error writing list begin: ", err) 8171 } 8172 for _, v := range p.ColumnOrders { 8173 if err := v.Write(oprot); err != nil { 8174 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 8175 } 8176 } 8177 if err := oprot.WriteListEnd(); err != nil { 8178 return thrift.PrependError("error writing list end: ", err) 8179 } 8180 if err := oprot.WriteFieldEnd(); err != nil { 8181 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:column_orders: ", p), err) 8182 } 8183 } 8184 return err 8185 } 8186 8187 func (p *FileMetaData) String() string { 8188 if p == nil { 8189 return "<nil>" 8190 } 8191 return fmt.Sprintf("FileMetaData(%+v)", *p) 8192 }