]> git.proxmox.com Git - ceph.git/blame - ceph/src/arrow/go/parquet/internal/gen-go/parquet/parquet.go
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / go / parquet / internal / gen-go / parquet / parquet.go
CommitLineData
1d09f67e
TL
1// Code generated by Thrift Compiler (0.14.0). DO NOT EDIT.
2
3package parquet
4
5import(
6 "bytes"
7 "context"
8 "database/sql/driver"
9 "errors"
10 "fmt"
11 "time"
12 "github.com/apache/thrift/lib/go/thrift"
13)
14
15// (needed to ensure safety because of naive import list construction.)
16var _ = thrift.ZERO
17var _ = fmt.Printf
18var _ = context.Background
19var _ = time.Now
20var _ = bytes.Equal
21
22//Types supported by Parquet. These types are intended to be used in combination
23//with the encodings to control the on disk storage format.
24//For example INT16 is not included as a type since a good encoding of INT32
25//would handle this.
26type Type int64
27const (
28 Type_BOOLEAN Type = 0
29 Type_INT32 Type = 1
30 Type_INT64 Type = 2
31 Type_INT96 Type = 3
32 Type_FLOAT Type = 4
33 Type_DOUBLE Type = 5
34 Type_BYTE_ARRAY Type = 6
35 Type_FIXED_LEN_BYTE_ARRAY Type = 7
36)
37
38func (p Type) String() string {
39 switch p {
40 case Type_BOOLEAN: return "BOOLEAN"
41 case Type_INT32: return "INT32"
42 case Type_INT64: return "INT64"
43 case Type_INT96: return "INT96"
44 case Type_FLOAT: return "FLOAT"
45 case Type_DOUBLE: return "DOUBLE"
46 case Type_BYTE_ARRAY: return "BYTE_ARRAY"
47 case Type_FIXED_LEN_BYTE_ARRAY: return "FIXED_LEN_BYTE_ARRAY"
48 }
49 return "<UNSET>"
50}
51
52func TypeFromString(s string) (Type, error) {
53 switch s {
54 case "BOOLEAN": return Type_BOOLEAN, nil
55 case "INT32": return Type_INT32, nil
56 case "INT64": return Type_INT64, nil
57 case "INT96": return Type_INT96, nil
58 case "FLOAT": return Type_FLOAT, nil
59 case "DOUBLE": return Type_DOUBLE, nil
60 case "BYTE_ARRAY": return Type_BYTE_ARRAY, nil
61 case "FIXED_LEN_BYTE_ARRAY": return Type_FIXED_LEN_BYTE_ARRAY, nil
62 }
63 return Type(0), fmt.Errorf("not a valid Type string")
64}
65
66
67func TypePtr(v Type) *Type { return &v }
68
69func (p Type) MarshalText() ([]byte, error) {
70return []byte(p.String()), nil
71}
72
73func (p *Type) UnmarshalText(text []byte) error {
74q, err := TypeFromString(string(text))
75if (err != nil) {
76return err
77}
78*p = q
79return nil
80}
81
82func (p *Type) Scan(value interface{}) error {
83v, ok := value.(int64)
84if !ok {
85return errors.New("Scan value is not int64")
86}
87*p = Type(v)
88return nil
89}
90
91func (p * Type) Value() (driver.Value, error) {
92 if p == nil {
93 return nil, nil
94 }
95return int64(*p), nil
96}
97//Common types used by frameworks(e.g. hive, pig) using parquet. This helps map
98//between types in those frameworks to the base types in parquet. This is only
99//metadata and not needed to read or write the data.
100type ConvertedType int64
101const (
102 ConvertedType_UTF8 ConvertedType = 0
103 ConvertedType_MAP ConvertedType = 1
104 ConvertedType_MAP_KEY_VALUE ConvertedType = 2
105 ConvertedType_LIST ConvertedType = 3
106 ConvertedType_ENUM ConvertedType = 4
107 ConvertedType_DECIMAL ConvertedType = 5
108 ConvertedType_DATE ConvertedType = 6
109 ConvertedType_TIME_MILLIS ConvertedType = 7
110 ConvertedType_TIME_MICROS ConvertedType = 8
111 ConvertedType_TIMESTAMP_MILLIS ConvertedType = 9
112 ConvertedType_TIMESTAMP_MICROS ConvertedType = 10
113 ConvertedType_UINT_8 ConvertedType = 11
114 ConvertedType_UINT_16 ConvertedType = 12
115 ConvertedType_UINT_32 ConvertedType = 13
116 ConvertedType_UINT_64 ConvertedType = 14
117 ConvertedType_INT_8 ConvertedType = 15
118 ConvertedType_INT_16 ConvertedType = 16
119 ConvertedType_INT_32 ConvertedType = 17
120 ConvertedType_INT_64 ConvertedType = 18
121 ConvertedType_JSON ConvertedType = 19
122 ConvertedType_BSON ConvertedType = 20
123 ConvertedType_INTERVAL ConvertedType = 21
124)
125
126func (p ConvertedType) String() string {
127 switch p {
128 case ConvertedType_UTF8: return "UTF8"
129 case ConvertedType_MAP: return "MAP"
130 case ConvertedType_MAP_KEY_VALUE: return "MAP_KEY_VALUE"
131 case ConvertedType_LIST: return "LIST"
132 case ConvertedType_ENUM: return "ENUM"
133 case ConvertedType_DECIMAL: return "DECIMAL"
134 case ConvertedType_DATE: return "DATE"
135 case ConvertedType_TIME_MILLIS: return "TIME_MILLIS"
136 case ConvertedType_TIME_MICROS: return "TIME_MICROS"
137 case ConvertedType_TIMESTAMP_MILLIS: return "TIMESTAMP_MILLIS"
138 case ConvertedType_TIMESTAMP_MICROS: return "TIMESTAMP_MICROS"
139 case ConvertedType_UINT_8: return "UINT_8"
140 case ConvertedType_UINT_16: return "UINT_16"
141 case ConvertedType_UINT_32: return "UINT_32"
142 case ConvertedType_UINT_64: return "UINT_64"
143 case ConvertedType_INT_8: return "INT_8"
144 case ConvertedType_INT_16: return "INT_16"
145 case ConvertedType_INT_32: return "INT_32"
146 case ConvertedType_INT_64: return "INT_64"
147 case ConvertedType_JSON: return "JSON"
148 case ConvertedType_BSON: return "BSON"
149 case ConvertedType_INTERVAL: return "INTERVAL"
150 }
151 return "<UNSET>"
152}
153
154func ConvertedTypeFromString(s string) (ConvertedType, error) {
155 switch s {
156 case "UTF8": return ConvertedType_UTF8, nil
157 case "MAP": return ConvertedType_MAP, nil
158 case "MAP_KEY_VALUE": return ConvertedType_MAP_KEY_VALUE, nil
159 case "LIST": return ConvertedType_LIST, nil
160 case "ENUM": return ConvertedType_ENUM, nil
161 case "DECIMAL": return ConvertedType_DECIMAL, nil
162 case "DATE": return ConvertedType_DATE, nil
163 case "TIME_MILLIS": return ConvertedType_TIME_MILLIS, nil
164 case "TIME_MICROS": return ConvertedType_TIME_MICROS, nil
165 case "TIMESTAMP_MILLIS": return ConvertedType_TIMESTAMP_MILLIS, nil
166 case "TIMESTAMP_MICROS": return ConvertedType_TIMESTAMP_MICROS, nil
167 case "UINT_8": return ConvertedType_UINT_8, nil
168 case "UINT_16": return ConvertedType_UINT_16, nil
169 case "UINT_32": return ConvertedType_UINT_32, nil
170 case "UINT_64": return ConvertedType_UINT_64, nil
171 case "INT_8": return ConvertedType_INT_8, nil
172 case "INT_16": return ConvertedType_INT_16, nil
173 case "INT_32": return ConvertedType_INT_32, nil
174 case "INT_64": return ConvertedType_INT_64, nil
175 case "JSON": return ConvertedType_JSON, nil
176 case "BSON": return ConvertedType_BSON, nil
177 case "INTERVAL": return ConvertedType_INTERVAL, nil
178 }
179 return ConvertedType(0), fmt.Errorf("not a valid ConvertedType string")
180}
181
182
183func ConvertedTypePtr(v ConvertedType) *ConvertedType { return &v }
184
185func (p ConvertedType) MarshalText() ([]byte, error) {
186return []byte(p.String()), nil
187}
188
189func (p *ConvertedType) UnmarshalText(text []byte) error {
190q, err := ConvertedTypeFromString(string(text))
191if (err != nil) {
192return err
193}
194*p = q
195return nil
196}
197
198func (p *ConvertedType) Scan(value interface{}) error {
199v, ok := value.(int64)
200if !ok {
201return errors.New("Scan value is not int64")
202}
203*p = ConvertedType(v)
204return nil
205}
206
207func (p * ConvertedType) Value() (driver.Value, error) {
208 if p == nil {
209 return nil, nil
210 }
211return int64(*p), nil
212}
213//Representation of Schemas
214type FieldRepetitionType int64
215const (
216 FieldRepetitionType_REQUIRED FieldRepetitionType = 0
217 FieldRepetitionType_OPTIONAL FieldRepetitionType = 1
218 FieldRepetitionType_REPEATED FieldRepetitionType = 2
219)
220
221func (p FieldRepetitionType) String() string {
222 switch p {
223 case FieldRepetitionType_REQUIRED: return "REQUIRED"
224 case FieldRepetitionType_OPTIONAL: return "OPTIONAL"
225 case FieldRepetitionType_REPEATED: return "REPEATED"
226 }
227 return "<UNSET>"
228}
229
230func FieldRepetitionTypeFromString(s string) (FieldRepetitionType, error) {
231 switch s {
232 case "REQUIRED": return FieldRepetitionType_REQUIRED, nil
233 case "OPTIONAL": return FieldRepetitionType_OPTIONAL, nil
234 case "REPEATED": return FieldRepetitionType_REPEATED, nil
235 }
236 return FieldRepetitionType(0), fmt.Errorf("not a valid FieldRepetitionType string")
237}
238
239
240func FieldRepetitionTypePtr(v FieldRepetitionType) *FieldRepetitionType { return &v }
241
242func (p FieldRepetitionType) MarshalText() ([]byte, error) {
243return []byte(p.String()), nil
244}
245
246func (p *FieldRepetitionType) UnmarshalText(text []byte) error {
247q, err := FieldRepetitionTypeFromString(string(text))
248if (err != nil) {
249return err
250}
251*p = q
252return nil
253}
254
255func (p *FieldRepetitionType) Scan(value interface{}) error {
256v, ok := value.(int64)
257if !ok {
258return errors.New("Scan value is not int64")
259}
260*p = FieldRepetitionType(v)
261return nil
262}
263
264func (p * FieldRepetitionType) Value() (driver.Value, error) {
265 if p == nil {
266 return nil, nil
267 }
268return int64(*p), nil
269}
270//Encodings supported by Parquet. Not all encodings are valid for all types. These
271//enums are also used to specify the encoding of definition and repetition levels.
272//See the accompanying doc for the details of the more complicated encodings.
273type Encoding int64
274const (
275 Encoding_PLAIN Encoding = 0
276 Encoding_PLAIN_DICTIONARY Encoding = 2
277 Encoding_RLE Encoding = 3
278 Encoding_BIT_PACKED Encoding = 4
279 Encoding_DELTA_BINARY_PACKED Encoding = 5
280 Encoding_DELTA_LENGTH_BYTE_ARRAY Encoding = 6
281 Encoding_DELTA_BYTE_ARRAY Encoding = 7
282 Encoding_RLE_DICTIONARY Encoding = 8
283 Encoding_BYTE_STREAM_SPLIT Encoding = 9
284)
285
286func (p Encoding) String() string {
287 switch p {
288 case Encoding_PLAIN: return "PLAIN"
289 case Encoding_PLAIN_DICTIONARY: return "PLAIN_DICTIONARY"
290 case Encoding_RLE: return "RLE"
291 case Encoding_BIT_PACKED: return "BIT_PACKED"
292 case Encoding_DELTA_BINARY_PACKED: return "DELTA_BINARY_PACKED"
293 case Encoding_DELTA_LENGTH_BYTE_ARRAY: return "DELTA_LENGTH_BYTE_ARRAY"
294 case Encoding_DELTA_BYTE_ARRAY: return "DELTA_BYTE_ARRAY"
295 case Encoding_RLE_DICTIONARY: return "RLE_DICTIONARY"
296 case Encoding_BYTE_STREAM_SPLIT: return "BYTE_STREAM_SPLIT"
297 }
298 return "<UNSET>"
299}
300
301func EncodingFromString(s string) (Encoding, error) {
302 switch s {
303 case "PLAIN": return Encoding_PLAIN, nil
304 case "PLAIN_DICTIONARY": return Encoding_PLAIN_DICTIONARY, nil
305 case "RLE": return Encoding_RLE, nil
306 case "BIT_PACKED": return Encoding_BIT_PACKED, nil
307 case "DELTA_BINARY_PACKED": return Encoding_DELTA_BINARY_PACKED, nil
308 case "DELTA_LENGTH_BYTE_ARRAY": return Encoding_DELTA_LENGTH_BYTE_ARRAY, nil
309 case "DELTA_BYTE_ARRAY": return Encoding_DELTA_BYTE_ARRAY, nil
310 case "RLE_DICTIONARY": return Encoding_RLE_DICTIONARY, nil
311 case "BYTE_STREAM_SPLIT": return Encoding_BYTE_STREAM_SPLIT, nil
312 }
313 return Encoding(0), fmt.Errorf("not a valid Encoding string")
314}
315
316
317func EncodingPtr(v Encoding) *Encoding { return &v }
318
319func (p Encoding) MarshalText() ([]byte, error) {
320return []byte(p.String()), nil
321}
322
323func (p *Encoding) UnmarshalText(text []byte) error {
324q, err := EncodingFromString(string(text))
325if (err != nil) {
326return err
327}
328*p = q
329return nil
330}
331
332func (p *Encoding) Scan(value interface{}) error {
333v, ok := value.(int64)
334if !ok {
335return errors.New("Scan value is not int64")
336}
337*p = Encoding(v)
338return nil
339}
340
341func (p * Encoding) Value() (driver.Value, error) {
342 if p == nil {
343 return nil, nil
344 }
345return int64(*p), nil
346}
347//Supported compression algorithms.
348//
349//Codecs added in 2.4 can be read by readers based on 2.4 and later.
350//Codec support may vary between readers based on the format version and
351//libraries available at runtime. Gzip, Snappy, and LZ4 codecs are
352//widely available, while Zstd and Brotli require additional libraries.
353type CompressionCodec int64
354const (
355 CompressionCodec_UNCOMPRESSED CompressionCodec = 0
356 CompressionCodec_SNAPPY CompressionCodec = 1
357 CompressionCodec_GZIP CompressionCodec = 2
358 CompressionCodec_LZO CompressionCodec = 3
359 CompressionCodec_BROTLI CompressionCodec = 4
360 CompressionCodec_LZ4 CompressionCodec = 5
361 CompressionCodec_ZSTD CompressionCodec = 6
362)
363
364func (p CompressionCodec) String() string {
365 switch p {
366 case CompressionCodec_UNCOMPRESSED: return "UNCOMPRESSED"
367 case CompressionCodec_SNAPPY: return "SNAPPY"
368 case CompressionCodec_GZIP: return "GZIP"
369 case CompressionCodec_LZO: return "LZO"
370 case CompressionCodec_BROTLI: return "BROTLI"
371 case CompressionCodec_LZ4: return "LZ4"
372 case CompressionCodec_ZSTD: return "ZSTD"
373 }
374 return "<UNSET>"
375}
376
377func CompressionCodecFromString(s string) (CompressionCodec, error) {
378 switch s {
379 case "UNCOMPRESSED": return CompressionCodec_UNCOMPRESSED, nil
380 case "SNAPPY": return CompressionCodec_SNAPPY, nil
381 case "GZIP": return CompressionCodec_GZIP, nil
382 case "LZO": return CompressionCodec_LZO, nil
383 case "BROTLI": return CompressionCodec_BROTLI, nil
384 case "LZ4": return CompressionCodec_LZ4, nil
385 case "ZSTD": return CompressionCodec_ZSTD, nil
386 }
387 return CompressionCodec(0), fmt.Errorf("not a valid CompressionCodec string")
388}
389
390
391func CompressionCodecPtr(v CompressionCodec) *CompressionCodec { return &v }
392
393func (p CompressionCodec) MarshalText() ([]byte, error) {
394return []byte(p.String()), nil
395}
396
397func (p *CompressionCodec) UnmarshalText(text []byte) error {
398q, err := CompressionCodecFromString(string(text))
399if (err != nil) {
400return err
401}
402*p = q
403return nil
404}
405
406func (p *CompressionCodec) Scan(value interface{}) error {
407v, ok := value.(int64)
408if !ok {
409return errors.New("Scan value is not int64")
410}
411*p = CompressionCodec(v)
412return nil
413}
414
415func (p * CompressionCodec) Value() (driver.Value, error) {
416 if p == nil {
417 return nil, nil
418 }
419return int64(*p), nil
420}
421type PageType int64
422const (
423 PageType_DATA_PAGE PageType = 0
424 PageType_INDEX_PAGE PageType = 1
425 PageType_DICTIONARY_PAGE PageType = 2
426 PageType_DATA_PAGE_V2 PageType = 3
427)
428
429func (p PageType) String() string {
430 switch p {
431 case PageType_DATA_PAGE: return "DATA_PAGE"
432 case PageType_INDEX_PAGE: return "INDEX_PAGE"
433 case PageType_DICTIONARY_PAGE: return "DICTIONARY_PAGE"
434 case PageType_DATA_PAGE_V2: return "DATA_PAGE_V2"
435 }
436 return "<UNSET>"
437}
438
439func PageTypeFromString(s string) (PageType, error) {
440 switch s {
441 case "DATA_PAGE": return PageType_DATA_PAGE, nil
442 case "INDEX_PAGE": return PageType_INDEX_PAGE, nil
443 case "DICTIONARY_PAGE": return PageType_DICTIONARY_PAGE, nil
444 case "DATA_PAGE_V2": return PageType_DATA_PAGE_V2, nil
445 }
446 return PageType(0), fmt.Errorf("not a valid PageType string")
447}
448
449
450func PageTypePtr(v PageType) *PageType { return &v }
451
452func (p PageType) MarshalText() ([]byte, error) {
453return []byte(p.String()), nil
454}
455
456func (p *PageType) UnmarshalText(text []byte) error {
457q, err := PageTypeFromString(string(text))
458if (err != nil) {
459return err
460}
461*p = q
462return nil
463}
464
465func (p *PageType) Scan(value interface{}) error {
466v, ok := value.(int64)
467if !ok {
468return errors.New("Scan value is not int64")
469}
470*p = PageType(v)
471return nil
472}
473
474func (p * PageType) Value() (driver.Value, error) {
475 if p == nil {
476 return nil, nil
477 }
478return int64(*p), nil
479}
480//Enum to annotate whether lists of min/max elements inside ColumnIndex
481//are ordered and if so, in which direction.
482type BoundaryOrder int64
483const (
484 BoundaryOrder_UNORDERED BoundaryOrder = 0
485 BoundaryOrder_ASCENDING BoundaryOrder = 1
486 BoundaryOrder_DESCENDING BoundaryOrder = 2
487)
488
489func (p BoundaryOrder) String() string {
490 switch p {
491 case BoundaryOrder_UNORDERED: return "UNORDERED"
492 case BoundaryOrder_ASCENDING: return "ASCENDING"
493 case BoundaryOrder_DESCENDING: return "DESCENDING"
494 }
495 return "<UNSET>"
496}
497
498func BoundaryOrderFromString(s string) (BoundaryOrder, error) {
499 switch s {
500 case "UNORDERED": return BoundaryOrder_UNORDERED, nil
501 case "ASCENDING": return BoundaryOrder_ASCENDING, nil
502 case "DESCENDING": return BoundaryOrder_DESCENDING, nil
503 }
504 return BoundaryOrder(0), fmt.Errorf("not a valid BoundaryOrder string")
505}
506
507
508func BoundaryOrderPtr(v BoundaryOrder) *BoundaryOrder { return &v }
509
510func (p BoundaryOrder) MarshalText() ([]byte, error) {
511return []byte(p.String()), nil
512}
513
514func (p *BoundaryOrder) UnmarshalText(text []byte) error {
515q, err := BoundaryOrderFromString(string(text))
516if (err != nil) {
517return err
518}
519*p = q
520return nil
521}
522
523func (p *BoundaryOrder) Scan(value interface{}) error {
524v, ok := value.(int64)
525if !ok {
526return errors.New("Scan value is not int64")
527}
528*p = BoundaryOrder(v)
529return nil
530}
531
532func (p * BoundaryOrder) Value() (driver.Value, error) {
533 if p == nil {
534 return nil, nil
535 }
536return int64(*p), nil
537}
538// Statistics per row group and per page
539// All fields are optional.
540//
541// Attributes:
542// - Max: DEPRECATED: min and max value of the column. Use min_value and max_value.
543//
544// Values are encoded using PLAIN encoding, except that variable-length byte
545// arrays do not include a length prefix.
546//
547// These fields encode min and max values determined by signed comparison
548// only. New files should use the correct order for a column's logical type
549// and store the values in the min_value and max_value fields.
550//
551// To support older readers, these may be set when the column order is
552// signed.
553// - Min
554// - NullCount: count of null value in the column
555// - DistinctCount: count of distinct values occurring
556// - MaxValue: Min and max values for the column, determined by its ColumnOrder.
557//
558// Values are encoded using PLAIN encoding, except that variable-length byte
559// arrays do not include a length prefix.
560// - MinValue
561type Statistics struct {
562 Max []byte `thrift:"max,1" db:"max" json:"max,omitempty"`
563 Min []byte `thrift:"min,2" db:"min" json:"min,omitempty"`
564 NullCount *int64 `thrift:"null_count,3" db:"null_count" json:"null_count,omitempty"`
565 DistinctCount *int64 `thrift:"distinct_count,4" db:"distinct_count" json:"distinct_count,omitempty"`
566 MaxValue []byte `thrift:"max_value,5" db:"max_value" json:"max_value,omitempty"`
567 MinValue []byte `thrift:"min_value,6" db:"min_value" json:"min_value,omitempty"`
568}
569
570func NewStatistics() *Statistics {
571 return &Statistics{}
572}
573
574var Statistics_Max_DEFAULT []byte
575
576func (p *Statistics) GetMax() []byte {
577 return p.Max
578}
579var Statistics_Min_DEFAULT []byte
580
581func (p *Statistics) GetMin() []byte {
582 return p.Min
583}
584var Statistics_NullCount_DEFAULT int64
585func (p *Statistics) GetNullCount() int64 {
586 if !p.IsSetNullCount() {
587 return Statistics_NullCount_DEFAULT
588 }
589return *p.NullCount
590}
591var Statistics_DistinctCount_DEFAULT int64
592func (p *Statistics) GetDistinctCount() int64 {
593 if !p.IsSetDistinctCount() {
594 return Statistics_DistinctCount_DEFAULT
595 }
596return *p.DistinctCount
597}
598var Statistics_MaxValue_DEFAULT []byte
599
600func (p *Statistics) GetMaxValue() []byte {
601 return p.MaxValue
602}
603var Statistics_MinValue_DEFAULT []byte
604
605func (p *Statistics) GetMinValue() []byte {
606 return p.MinValue
607}
608func (p *Statistics) IsSetMax() bool {
609 return p.Max != nil
610}
611
612func (p *Statistics) IsSetMin() bool {
613 return p.Min != nil
614}
615
616func (p *Statistics) IsSetNullCount() bool {
617 return p.NullCount != nil
618}
619
620func (p *Statistics) IsSetDistinctCount() bool {
621 return p.DistinctCount != nil
622}
623
624func (p *Statistics) IsSetMaxValue() bool {
625 return p.MaxValue != nil
626}
627
628func (p *Statistics) IsSetMinValue() bool {
629 return p.MinValue != nil
630}
631
632func (p *Statistics) Read(ctx context.Context, iprot thrift.TProtocol) error {
633 if _, err := iprot.ReadStructBegin(ctx); err != nil {
634 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
635 }
636
637
638 for {
639 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
640 if err != nil {
641 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
642 }
643 if fieldTypeId == thrift.STOP { break; }
644 switch fieldId {
645 case 1:
646 if fieldTypeId == thrift.STRING {
647 if err := p.ReadField1(ctx, iprot); err != nil {
648 return err
649 }
650 } else {
651 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
652 return err
653 }
654 }
655 case 2:
656 if fieldTypeId == thrift.STRING {
657 if err := p.ReadField2(ctx, iprot); err != nil {
658 return err
659 }
660 } else {
661 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
662 return err
663 }
664 }
665 case 3:
666 if fieldTypeId == thrift.I64 {
667 if err := p.ReadField3(ctx, iprot); err != nil {
668 return err
669 }
670 } else {
671 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
672 return err
673 }
674 }
675 case 4:
676 if fieldTypeId == thrift.I64 {
677 if err := p.ReadField4(ctx, iprot); err != nil {
678 return err
679 }
680 } else {
681 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
682 return err
683 }
684 }
685 case 5:
686 if fieldTypeId == thrift.STRING {
687 if err := p.ReadField5(ctx, iprot); err != nil {
688 return err
689 }
690 } else {
691 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
692 return err
693 }
694 }
695 case 6:
696 if fieldTypeId == thrift.STRING {
697 if err := p.ReadField6(ctx, iprot); err != nil {
698 return err
699 }
700 } else {
701 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
702 return err
703 }
704 }
705 default:
706 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
707 return err
708 }
709 }
710 if err := iprot.ReadFieldEnd(ctx); err != nil {
711 return err
712 }
713 }
714 if err := iprot.ReadStructEnd(ctx); err != nil {
715 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
716 }
717 return nil
718}
719
720func (p *Statistics) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
721 if v, err := iprot.ReadBinary(ctx); err != nil {
722 return thrift.PrependError("error reading field 1: ", err)
723} else {
724 p.Max = v
725}
726 return nil
727}
728
729func (p *Statistics) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
730 if v, err := iprot.ReadBinary(ctx); err != nil {
731 return thrift.PrependError("error reading field 2: ", err)
732} else {
733 p.Min = v
734}
735 return nil
736}
737
738func (p *Statistics) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
739 if v, err := iprot.ReadI64(ctx); err != nil {
740 return thrift.PrependError("error reading field 3: ", err)
741} else {
742 p.NullCount = &v
743}
744 return nil
745}
746
747func (p *Statistics) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
748 if v, err := iprot.ReadI64(ctx); err != nil {
749 return thrift.PrependError("error reading field 4: ", err)
750} else {
751 p.DistinctCount = &v
752}
753 return nil
754}
755
756func (p *Statistics) ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
757 if v, err := iprot.ReadBinary(ctx); err != nil {
758 return thrift.PrependError("error reading field 5: ", err)
759} else {
760 p.MaxValue = v
761}
762 return nil
763}
764
765func (p *Statistics) ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
766 if v, err := iprot.ReadBinary(ctx); err != nil {
767 return thrift.PrependError("error reading field 6: ", err)
768} else {
769 p.MinValue = v
770}
771 return nil
772}
773
774func (p *Statistics) Write(ctx context.Context, oprot thrift.TProtocol) error {
775 if err := oprot.WriteStructBegin(ctx, "Statistics"); err != nil {
776 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
777 if p != nil {
778 if err := p.writeField1(ctx, oprot); err != nil { return err }
779 if err := p.writeField2(ctx, oprot); err != nil { return err }
780 if err := p.writeField3(ctx, oprot); err != nil { return err }
781 if err := p.writeField4(ctx, oprot); err != nil { return err }
782 if err := p.writeField5(ctx, oprot); err != nil { return err }
783 if err := p.writeField6(ctx, oprot); err != nil { return err }
784 }
785 if err := oprot.WriteFieldStop(ctx); err != nil {
786 return thrift.PrependError("write field stop error: ", err) }
787 if err := oprot.WriteStructEnd(ctx); err != nil {
788 return thrift.PrependError("write struct stop error: ", err) }
789 return nil
790}
791
792func (p *Statistics) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
793 if p.IsSetMax() {
794 if err := oprot.WriteFieldBegin(ctx, "max", thrift.STRING, 1); err != nil {
795 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:max: ", p), err) }
796 if err := oprot.WriteBinary(ctx, p.Max); err != nil {
797 return thrift.PrependError(fmt.Sprintf("%T.max (1) field write error: ", p), err) }
798 if err := oprot.WriteFieldEnd(ctx); err != nil {
799 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:max: ", p), err) }
800 }
801 return err
802}
803
804func (p *Statistics) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
805 if p.IsSetMin() {
806 if err := oprot.WriteFieldBegin(ctx, "min", thrift.STRING, 2); err != nil {
807 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:min: ", p), err) }
808 if err := oprot.WriteBinary(ctx, p.Min); err != nil {
809 return thrift.PrependError(fmt.Sprintf("%T.min (2) field write error: ", p), err) }
810 if err := oprot.WriteFieldEnd(ctx); err != nil {
811 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:min: ", p), err) }
812 }
813 return err
814}
815
816func (p *Statistics) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
817 if p.IsSetNullCount() {
818 if err := oprot.WriteFieldBegin(ctx, "null_count", thrift.I64, 3); err != nil {
819 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:null_count: ", p), err) }
820 if err := oprot.WriteI64(ctx, int64(*p.NullCount)); err != nil {
821 return thrift.PrependError(fmt.Sprintf("%T.null_count (3) field write error: ", p), err) }
822 if err := oprot.WriteFieldEnd(ctx); err != nil {
823 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:null_count: ", p), err) }
824 }
825 return err
826}
827
828func (p *Statistics) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
829 if p.IsSetDistinctCount() {
830 if err := oprot.WriteFieldBegin(ctx, "distinct_count", thrift.I64, 4); err != nil {
831 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:distinct_count: ", p), err) }
832 if err := oprot.WriteI64(ctx, int64(*p.DistinctCount)); err != nil {
833 return thrift.PrependError(fmt.Sprintf("%T.distinct_count (4) field write error: ", p), err) }
834 if err := oprot.WriteFieldEnd(ctx); err != nil {
835 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:distinct_count: ", p), err) }
836 }
837 return err
838}
839
840func (p *Statistics) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
841 if p.IsSetMaxValue() {
842 if err := oprot.WriteFieldBegin(ctx, "max_value", thrift.STRING, 5); err != nil {
843 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:max_value: ", p), err) }
844 if err := oprot.WriteBinary(ctx, p.MaxValue); err != nil {
845 return thrift.PrependError(fmt.Sprintf("%T.max_value (5) field write error: ", p), err) }
846 if err := oprot.WriteFieldEnd(ctx); err != nil {
847 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:max_value: ", p), err) }
848 }
849 return err
850}
851
852func (p *Statistics) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
853 if p.IsSetMinValue() {
854 if err := oprot.WriteFieldBegin(ctx, "min_value", thrift.STRING, 6); err != nil {
855 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:min_value: ", p), err) }
856 if err := oprot.WriteBinary(ctx, p.MinValue); err != nil {
857 return thrift.PrependError(fmt.Sprintf("%T.min_value (6) field write error: ", p), err) }
858 if err := oprot.WriteFieldEnd(ctx); err != nil {
859 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:min_value: ", p), err) }
860 }
861 return err
862}
863
864func (p *Statistics) Equals(other *Statistics) bool {
865 if p == other {
866 return true
867 } else if p == nil || other == nil {
868 return false
869 }
870 if bytes.Compare(p.Max, other.Max) != 0 { return false }
871 if bytes.Compare(p.Min, other.Min) != 0 { return false }
872 if p.NullCount != other.NullCount {
873 if p.NullCount == nil || other.NullCount == nil {
874 return false
875 }
876 if (*p.NullCount) != (*other.NullCount) { return false }
877 }
878 if p.DistinctCount != other.DistinctCount {
879 if p.DistinctCount == nil || other.DistinctCount == nil {
880 return false
881 }
882 if (*p.DistinctCount) != (*other.DistinctCount) { return false }
883 }
884 if bytes.Compare(p.MaxValue, other.MaxValue) != 0 { return false }
885 if bytes.Compare(p.MinValue, other.MinValue) != 0 { return false }
886 return true
887}
888
889func (p *Statistics) String() string {
890 if p == nil {
891 return "<nil>"
892 }
893 return fmt.Sprintf("Statistics(%+v)", *p)
894}
895
896// Empty structs to use as logical type annotations
897type StringType struct {
898}
899
900func NewStringType() *StringType {
901 return &StringType{}
902}
903
904func (p *StringType) Read(ctx context.Context, iprot thrift.TProtocol) error {
905 if _, err := iprot.ReadStructBegin(ctx); err != nil {
906 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
907 }
908
909
910 for {
911 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
912 if err != nil {
913 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
914 }
915 if fieldTypeId == thrift.STOP { break; }
916 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
917 return err
918 }
919 if err := iprot.ReadFieldEnd(ctx); err != nil {
920 return err
921 }
922 }
923 if err := iprot.ReadStructEnd(ctx); err != nil {
924 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
925 }
926 return nil
927}
928
929func (p *StringType) Write(ctx context.Context, oprot thrift.TProtocol) error {
930 if err := oprot.WriteStructBegin(ctx, "StringType"); err != nil {
931 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
932 if p != nil {
933 }
934 if err := oprot.WriteFieldStop(ctx); err != nil {
935 return thrift.PrependError("write field stop error: ", err) }
936 if err := oprot.WriteStructEnd(ctx); err != nil {
937 return thrift.PrependError("write struct stop error: ", err) }
938 return nil
939}
940
941func (p *StringType) Equals(other *StringType) bool {
942 if p == other {
943 return true
944 } else if p == nil || other == nil {
945 return false
946 }
947 return true
948}
949
950func (p *StringType) String() string {
951 if p == nil {
952 return "<nil>"
953 }
954 return fmt.Sprintf("StringType(%+v)", *p)
955}
956
957type UUIDType struct {
958}
959
960func NewUUIDType() *UUIDType {
961 return &UUIDType{}
962}
963
964func (p *UUIDType) Read(ctx context.Context, iprot thrift.TProtocol) error {
965 if _, err := iprot.ReadStructBegin(ctx); err != nil {
966 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
967 }
968
969
970 for {
971 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
972 if err != nil {
973 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
974 }
975 if fieldTypeId == thrift.STOP { break; }
976 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
977 return err
978 }
979 if err := iprot.ReadFieldEnd(ctx); err != nil {
980 return err
981 }
982 }
983 if err := iprot.ReadStructEnd(ctx); err != nil {
984 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
985 }
986 return nil
987}
988
989func (p *UUIDType) Write(ctx context.Context, oprot thrift.TProtocol) error {
990 if err := oprot.WriteStructBegin(ctx, "UUIDType"); err != nil {
991 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
992 if p != nil {
993 }
994 if err := oprot.WriteFieldStop(ctx); err != nil {
995 return thrift.PrependError("write field stop error: ", err) }
996 if err := oprot.WriteStructEnd(ctx); err != nil {
997 return thrift.PrependError("write struct stop error: ", err) }
998 return nil
999}
1000
1001func (p *UUIDType) Equals(other *UUIDType) bool {
1002 if p == other {
1003 return true
1004 } else if p == nil || other == nil {
1005 return false
1006 }
1007 return true
1008}
1009
1010func (p *UUIDType) String() string {
1011 if p == nil {
1012 return "<nil>"
1013 }
1014 return fmt.Sprintf("UUIDType(%+v)", *p)
1015}
1016
1017type MapType struct {
1018}
1019
1020func NewMapType() *MapType {
1021 return &MapType{}
1022}
1023
1024func (p *MapType) Read(ctx context.Context, iprot thrift.TProtocol) error {
1025 if _, err := iprot.ReadStructBegin(ctx); err != nil {
1026 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
1027 }
1028
1029
1030 for {
1031 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
1032 if err != nil {
1033 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
1034 }
1035 if fieldTypeId == thrift.STOP { break; }
1036 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1037 return err
1038 }
1039 if err := iprot.ReadFieldEnd(ctx); err != nil {
1040 return err
1041 }
1042 }
1043 if err := iprot.ReadStructEnd(ctx); err != nil {
1044 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
1045 }
1046 return nil
1047}
1048
1049func (p *MapType) Write(ctx context.Context, oprot thrift.TProtocol) error {
1050 if err := oprot.WriteStructBegin(ctx, "MapType"); err != nil {
1051 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
1052 if p != nil {
1053 }
1054 if err := oprot.WriteFieldStop(ctx); err != nil {
1055 return thrift.PrependError("write field stop error: ", err) }
1056 if err := oprot.WriteStructEnd(ctx); err != nil {
1057 return thrift.PrependError("write struct stop error: ", err) }
1058 return nil
1059}
1060
1061func (p *MapType) Equals(other *MapType) bool {
1062 if p == other {
1063 return true
1064 } else if p == nil || other == nil {
1065 return false
1066 }
1067 return true
1068}
1069
1070func (p *MapType) String() string {
1071 if p == nil {
1072 return "<nil>"
1073 }
1074 return fmt.Sprintf("MapType(%+v)", *p)
1075}
1076
1077type ListType struct {
1078}
1079
1080func NewListType() *ListType {
1081 return &ListType{}
1082}
1083
1084func (p *ListType) Read(ctx context.Context, iprot thrift.TProtocol) error {
1085 if _, err := iprot.ReadStructBegin(ctx); err != nil {
1086 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
1087 }
1088
1089
1090 for {
1091 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
1092 if err != nil {
1093 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
1094 }
1095 if fieldTypeId == thrift.STOP { break; }
1096 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1097 return err
1098 }
1099 if err := iprot.ReadFieldEnd(ctx); err != nil {
1100 return err
1101 }
1102 }
1103 if err := iprot.ReadStructEnd(ctx); err != nil {
1104 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
1105 }
1106 return nil
1107}
1108
1109func (p *ListType) Write(ctx context.Context, oprot thrift.TProtocol) error {
1110 if err := oprot.WriteStructBegin(ctx, "ListType"); err != nil {
1111 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
1112 if p != nil {
1113 }
1114 if err := oprot.WriteFieldStop(ctx); err != nil {
1115 return thrift.PrependError("write field stop error: ", err) }
1116 if err := oprot.WriteStructEnd(ctx); err != nil {
1117 return thrift.PrependError("write struct stop error: ", err) }
1118 return nil
1119}
1120
1121func (p *ListType) Equals(other *ListType) bool {
1122 if p == other {
1123 return true
1124 } else if p == nil || other == nil {
1125 return false
1126 }
1127 return true
1128}
1129
1130func (p *ListType) String() string {
1131 if p == nil {
1132 return "<nil>"
1133 }
1134 return fmt.Sprintf("ListType(%+v)", *p)
1135}
1136
1137type EnumType struct {
1138}
1139
1140func NewEnumType() *EnumType {
1141 return &EnumType{}
1142}
1143
1144func (p *EnumType) Read(ctx context.Context, iprot thrift.TProtocol) error {
1145 if _, err := iprot.ReadStructBegin(ctx); err != nil {
1146 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
1147 }
1148
1149
1150 for {
1151 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
1152 if err != nil {
1153 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
1154 }
1155 if fieldTypeId == thrift.STOP { break; }
1156 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1157 return err
1158 }
1159 if err := iprot.ReadFieldEnd(ctx); err != nil {
1160 return err
1161 }
1162 }
1163 if err := iprot.ReadStructEnd(ctx); err != nil {
1164 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
1165 }
1166 return nil
1167}
1168
1169func (p *EnumType) Write(ctx context.Context, oprot thrift.TProtocol) error {
1170 if err := oprot.WriteStructBegin(ctx, "EnumType"); err != nil {
1171 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
1172 if p != nil {
1173 }
1174 if err := oprot.WriteFieldStop(ctx); err != nil {
1175 return thrift.PrependError("write field stop error: ", err) }
1176 if err := oprot.WriteStructEnd(ctx); err != nil {
1177 return thrift.PrependError("write struct stop error: ", err) }
1178 return nil
1179}
1180
1181func (p *EnumType) Equals(other *EnumType) bool {
1182 if p == other {
1183 return true
1184 } else if p == nil || other == nil {
1185 return false
1186 }
1187 return true
1188}
1189
1190func (p *EnumType) String() string {
1191 if p == nil {
1192 return "<nil>"
1193 }
1194 return fmt.Sprintf("EnumType(%+v)", *p)
1195}
1196
1197type DateType struct {
1198}
1199
1200func NewDateType() *DateType {
1201 return &DateType{}
1202}
1203
1204func (p *DateType) Read(ctx context.Context, iprot thrift.TProtocol) error {
1205 if _, err := iprot.ReadStructBegin(ctx); err != nil {
1206 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
1207 }
1208
1209
1210 for {
1211 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
1212 if err != nil {
1213 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
1214 }
1215 if fieldTypeId == thrift.STOP { break; }
1216 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1217 return err
1218 }
1219 if err := iprot.ReadFieldEnd(ctx); err != nil {
1220 return err
1221 }
1222 }
1223 if err := iprot.ReadStructEnd(ctx); err != nil {
1224 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
1225 }
1226 return nil
1227}
1228
1229func (p *DateType) Write(ctx context.Context, oprot thrift.TProtocol) error {
1230 if err := oprot.WriteStructBegin(ctx, "DateType"); err != nil {
1231 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
1232 if p != nil {
1233 }
1234 if err := oprot.WriteFieldStop(ctx); err != nil {
1235 return thrift.PrependError("write field stop error: ", err) }
1236 if err := oprot.WriteStructEnd(ctx); err != nil {
1237 return thrift.PrependError("write struct stop error: ", err) }
1238 return nil
1239}
1240
1241func (p *DateType) Equals(other *DateType) bool {
1242 if p == other {
1243 return true
1244 } else if p == nil || other == nil {
1245 return false
1246 }
1247 return true
1248}
1249
1250func (p *DateType) String() string {
1251 if p == nil {
1252 return "<nil>"
1253 }
1254 return fmt.Sprintf("DateType(%+v)", *p)
1255}
1256
1257// Logical type to annotate a column that is always null.
1258//
1259// Sometimes when discovering the schema of existing data, values are always
1260// null and the physical type can't be determined. This annotation signals
1261// the case where the physical type was guessed from all null values.
1262type NullType struct {
1263}
1264
1265func NewNullType() *NullType {
1266 return &NullType{}
1267}
1268
1269func (p *NullType) Read(ctx context.Context, iprot thrift.TProtocol) error {
1270 if _, err := iprot.ReadStructBegin(ctx); err != nil {
1271 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
1272 }
1273
1274
1275 for {
1276 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
1277 if err != nil {
1278 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
1279 }
1280 if fieldTypeId == thrift.STOP { break; }
1281 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1282 return err
1283 }
1284 if err := iprot.ReadFieldEnd(ctx); err != nil {
1285 return err
1286 }
1287 }
1288 if err := iprot.ReadStructEnd(ctx); err != nil {
1289 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
1290 }
1291 return nil
1292}
1293
1294func (p *NullType) Write(ctx context.Context, oprot thrift.TProtocol) error {
1295 if err := oprot.WriteStructBegin(ctx, "NullType"); err != nil {
1296 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
1297 if p != nil {
1298 }
1299 if err := oprot.WriteFieldStop(ctx); err != nil {
1300 return thrift.PrependError("write field stop error: ", err) }
1301 if err := oprot.WriteStructEnd(ctx); err != nil {
1302 return thrift.PrependError("write struct stop error: ", err) }
1303 return nil
1304}
1305
1306func (p *NullType) Equals(other *NullType) bool {
1307 if p == other {
1308 return true
1309 } else if p == nil || other == nil {
1310 return false
1311 }
1312 return true
1313}
1314
1315func (p *NullType) String() string {
1316 if p == nil {
1317 return "<nil>"
1318 }
1319 return fmt.Sprintf("NullType(%+v)", *p)
1320}
1321
1322// Decimal logical type annotation
1323//
1324// To maintain forward-compatibility in v1, implementations using this logical
1325// type must also set scale and precision on the annotated SchemaElement.
1326//
1327// Allowed for physical types: INT32, INT64, FIXED, and BINARY
1328//
1329// Attributes:
1330// - Scale
1331// - Precision
1332type DecimalType struct {
1333 Scale int32 `thrift:"scale,1,required" db:"scale" json:"scale"`
1334 Precision int32 `thrift:"precision,2,required" db:"precision" json:"precision"`
1335}
1336
1337func NewDecimalType() *DecimalType {
1338 return &DecimalType{}
1339}
1340
1341
1342func (p *DecimalType) GetScale() int32 {
1343 return p.Scale
1344}
1345
1346func (p *DecimalType) GetPrecision() int32 {
1347 return p.Precision
1348}
1349func (p *DecimalType) Read(ctx context.Context, iprot thrift.TProtocol) error {
1350 if _, err := iprot.ReadStructBegin(ctx); err != nil {
1351 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
1352 }
1353
1354 var issetScale bool = false;
1355 var issetPrecision bool = false;
1356
1357 for {
1358 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
1359 if err != nil {
1360 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
1361 }
1362 if fieldTypeId == thrift.STOP { break; }
1363 switch fieldId {
1364 case 1:
1365 if fieldTypeId == thrift.I32 {
1366 if err := p.ReadField1(ctx, iprot); err != nil {
1367 return err
1368 }
1369 issetScale = true
1370 } else {
1371 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1372 return err
1373 }
1374 }
1375 case 2:
1376 if fieldTypeId == thrift.I32 {
1377 if err := p.ReadField2(ctx, iprot); err != nil {
1378 return err
1379 }
1380 issetPrecision = true
1381 } else {
1382 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1383 return err
1384 }
1385 }
1386 default:
1387 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1388 return err
1389 }
1390 }
1391 if err := iprot.ReadFieldEnd(ctx); err != nil {
1392 return err
1393 }
1394 }
1395 if err := iprot.ReadStructEnd(ctx); err != nil {
1396 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
1397 }
1398 if !issetScale{
1399 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Scale is not set"));
1400 }
1401 if !issetPrecision{
1402 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Precision is not set"));
1403 }
1404 return nil
1405}
1406
1407func (p *DecimalType) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
1408 if v, err := iprot.ReadI32(ctx); err != nil {
1409 return thrift.PrependError("error reading field 1: ", err)
1410} else {
1411 p.Scale = v
1412}
1413 return nil
1414}
1415
1416func (p *DecimalType) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
1417 if v, err := iprot.ReadI32(ctx); err != nil {
1418 return thrift.PrependError("error reading field 2: ", err)
1419} else {
1420 p.Precision = v
1421}
1422 return nil
1423}
1424
1425func (p *DecimalType) Write(ctx context.Context, oprot thrift.TProtocol) error {
1426 if err := oprot.WriteStructBegin(ctx, "DecimalType"); err != nil {
1427 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
1428 if p != nil {
1429 if err := p.writeField1(ctx, oprot); err != nil { return err }
1430 if err := p.writeField2(ctx, oprot); err != nil { return err }
1431 }
1432 if err := oprot.WriteFieldStop(ctx); err != nil {
1433 return thrift.PrependError("write field stop error: ", err) }
1434 if err := oprot.WriteStructEnd(ctx); err != nil {
1435 return thrift.PrependError("write struct stop error: ", err) }
1436 return nil
1437}
1438
1439func (p *DecimalType) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
1440 if err := oprot.WriteFieldBegin(ctx, "scale", thrift.I32, 1); err != nil {
1441 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:scale: ", p), err) }
1442 if err := oprot.WriteI32(ctx, int32(p.Scale)); err != nil {
1443 return thrift.PrependError(fmt.Sprintf("%T.scale (1) field write error: ", p), err) }
1444 if err := oprot.WriteFieldEnd(ctx); err != nil {
1445 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:scale: ", p), err) }
1446 return err
1447}
1448
1449func (p *DecimalType) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
1450 if err := oprot.WriteFieldBegin(ctx, "precision", thrift.I32, 2); err != nil {
1451 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:precision: ", p), err) }
1452 if err := oprot.WriteI32(ctx, int32(p.Precision)); err != nil {
1453 return thrift.PrependError(fmt.Sprintf("%T.precision (2) field write error: ", p), err) }
1454 if err := oprot.WriteFieldEnd(ctx); err != nil {
1455 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:precision: ", p), err) }
1456 return err
1457}
1458
1459func (p *DecimalType) Equals(other *DecimalType) bool {
1460 if p == other {
1461 return true
1462 } else if p == nil || other == nil {
1463 return false
1464 }
1465 if p.Scale != other.Scale { return false }
1466 if p.Precision != other.Precision { return false }
1467 return true
1468}
1469
1470func (p *DecimalType) String() string {
1471 if p == nil {
1472 return "<nil>"
1473 }
1474 return fmt.Sprintf("DecimalType(%+v)", *p)
1475}
1476
1477// Time units for logical types
1478type MilliSeconds struct {
1479}
1480
1481func NewMilliSeconds() *MilliSeconds {
1482 return &MilliSeconds{}
1483}
1484
1485func (p *MilliSeconds) Read(ctx context.Context, iprot thrift.TProtocol) error {
1486 if _, err := iprot.ReadStructBegin(ctx); err != nil {
1487 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
1488 }
1489
1490
1491 for {
1492 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
1493 if err != nil {
1494 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
1495 }
1496 if fieldTypeId == thrift.STOP { break; }
1497 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1498 return err
1499 }
1500 if err := iprot.ReadFieldEnd(ctx); err != nil {
1501 return err
1502 }
1503 }
1504 if err := iprot.ReadStructEnd(ctx); err != nil {
1505 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
1506 }
1507 return nil
1508}
1509
1510func (p *MilliSeconds) Write(ctx context.Context, oprot thrift.TProtocol) error {
1511 if err := oprot.WriteStructBegin(ctx, "MilliSeconds"); err != nil {
1512 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
1513 if p != nil {
1514 }
1515 if err := oprot.WriteFieldStop(ctx); err != nil {
1516 return thrift.PrependError("write field stop error: ", err) }
1517 if err := oprot.WriteStructEnd(ctx); err != nil {
1518 return thrift.PrependError("write struct stop error: ", err) }
1519 return nil
1520}
1521
1522func (p *MilliSeconds) Equals(other *MilliSeconds) bool {
1523 if p == other {
1524 return true
1525 } else if p == nil || other == nil {
1526 return false
1527 }
1528 return true
1529}
1530
1531func (p *MilliSeconds) String() string {
1532 if p == nil {
1533 return "<nil>"
1534 }
1535 return fmt.Sprintf("MilliSeconds(%+v)", *p)
1536}
1537
1538type MicroSeconds struct {
1539}
1540
1541func NewMicroSeconds() *MicroSeconds {
1542 return &MicroSeconds{}
1543}
1544
1545func (p *MicroSeconds) Read(ctx context.Context, iprot thrift.TProtocol) error {
1546 if _, err := iprot.ReadStructBegin(ctx); err != nil {
1547 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
1548 }
1549
1550
1551 for {
1552 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
1553 if err != nil {
1554 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
1555 }
1556 if fieldTypeId == thrift.STOP { break; }
1557 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1558 return err
1559 }
1560 if err := iprot.ReadFieldEnd(ctx); err != nil {
1561 return err
1562 }
1563 }
1564 if err := iprot.ReadStructEnd(ctx); err != nil {
1565 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
1566 }
1567 return nil
1568}
1569
1570func (p *MicroSeconds) Write(ctx context.Context, oprot thrift.TProtocol) error {
1571 if err := oprot.WriteStructBegin(ctx, "MicroSeconds"); err != nil {
1572 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
1573 if p != nil {
1574 }
1575 if err := oprot.WriteFieldStop(ctx); err != nil {
1576 return thrift.PrependError("write field stop error: ", err) }
1577 if err := oprot.WriteStructEnd(ctx); err != nil {
1578 return thrift.PrependError("write struct stop error: ", err) }
1579 return nil
1580}
1581
1582func (p *MicroSeconds) Equals(other *MicroSeconds) bool {
1583 if p == other {
1584 return true
1585 } else if p == nil || other == nil {
1586 return false
1587 }
1588 return true
1589}
1590
1591func (p *MicroSeconds) String() string {
1592 if p == nil {
1593 return "<nil>"
1594 }
1595 return fmt.Sprintf("MicroSeconds(%+v)", *p)
1596}
1597
1598type NanoSeconds struct {
1599}
1600
1601func NewNanoSeconds() *NanoSeconds {
1602 return &NanoSeconds{}
1603}
1604
1605func (p *NanoSeconds) Read(ctx context.Context, iprot thrift.TProtocol) error {
1606 if _, err := iprot.ReadStructBegin(ctx); err != nil {
1607 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
1608 }
1609
1610
1611 for {
1612 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
1613 if err != nil {
1614 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
1615 }
1616 if fieldTypeId == thrift.STOP { break; }
1617 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1618 return err
1619 }
1620 if err := iprot.ReadFieldEnd(ctx); err != nil {
1621 return err
1622 }
1623 }
1624 if err := iprot.ReadStructEnd(ctx); err != nil {
1625 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
1626 }
1627 return nil
1628}
1629
1630func (p *NanoSeconds) Write(ctx context.Context, oprot thrift.TProtocol) error {
1631 if err := oprot.WriteStructBegin(ctx, "NanoSeconds"); err != nil {
1632 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
1633 if p != nil {
1634 }
1635 if err := oprot.WriteFieldStop(ctx); err != nil {
1636 return thrift.PrependError("write field stop error: ", err) }
1637 if err := oprot.WriteStructEnd(ctx); err != nil {
1638 return thrift.PrependError("write struct stop error: ", err) }
1639 return nil
1640}
1641
1642func (p *NanoSeconds) Equals(other *NanoSeconds) bool {
1643 if p == other {
1644 return true
1645 } else if p == nil || other == nil {
1646 return false
1647 }
1648 return true
1649}
1650
1651func (p *NanoSeconds) String() string {
1652 if p == nil {
1653 return "<nil>"
1654 }
1655 return fmt.Sprintf("NanoSeconds(%+v)", *p)
1656}
1657
1658// Attributes:
1659// - MILLIS
1660// - MICROS
1661// - NANOS
1662type TimeUnit struct {
1663 MILLIS *MilliSeconds `thrift:"MILLIS,1" db:"MILLIS" json:"MILLIS,omitempty"`
1664 MICROS *MicroSeconds `thrift:"MICROS,2" db:"MICROS" json:"MICROS,omitempty"`
1665 NANOS *NanoSeconds `thrift:"NANOS,3" db:"NANOS" json:"NANOS,omitempty"`
1666}
1667
1668func NewTimeUnit() *TimeUnit {
1669 return &TimeUnit{}
1670}
1671
1672var TimeUnit_MILLIS_DEFAULT *MilliSeconds
1673func (p *TimeUnit) GetMILLIS() *MilliSeconds {
1674 if !p.IsSetMILLIS() {
1675 return TimeUnit_MILLIS_DEFAULT
1676 }
1677return p.MILLIS
1678}
1679var TimeUnit_MICROS_DEFAULT *MicroSeconds
1680func (p *TimeUnit) GetMICROS() *MicroSeconds {
1681 if !p.IsSetMICROS() {
1682 return TimeUnit_MICROS_DEFAULT
1683 }
1684return p.MICROS
1685}
1686var TimeUnit_NANOS_DEFAULT *NanoSeconds
1687func (p *TimeUnit) GetNANOS() *NanoSeconds {
1688 if !p.IsSetNANOS() {
1689 return TimeUnit_NANOS_DEFAULT
1690 }
1691return p.NANOS
1692}
1693func (p *TimeUnit) CountSetFieldsTimeUnit() int {
1694 count := 0
1695 if (p.IsSetMILLIS()) {
1696 count++
1697 }
1698 if (p.IsSetMICROS()) {
1699 count++
1700 }
1701 if (p.IsSetNANOS()) {
1702 count++
1703 }
1704 return count
1705
1706}
1707
1708func (p *TimeUnit) IsSetMILLIS() bool {
1709 return p.MILLIS != nil
1710}
1711
1712func (p *TimeUnit) IsSetMICROS() bool {
1713 return p.MICROS != nil
1714}
1715
1716func (p *TimeUnit) IsSetNANOS() bool {
1717 return p.NANOS != nil
1718}
1719
1720func (p *TimeUnit) Read(ctx context.Context, iprot thrift.TProtocol) error {
1721 if _, err := iprot.ReadStructBegin(ctx); err != nil {
1722 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
1723 }
1724
1725
1726 for {
1727 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
1728 if err != nil {
1729 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
1730 }
1731 if fieldTypeId == thrift.STOP { break; }
1732 switch fieldId {
1733 case 1:
1734 if fieldTypeId == thrift.STRUCT {
1735 if err := p.ReadField1(ctx, iprot); err != nil {
1736 return err
1737 }
1738 } else {
1739 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1740 return err
1741 }
1742 }
1743 case 2:
1744 if fieldTypeId == thrift.STRUCT {
1745 if err := p.ReadField2(ctx, iprot); err != nil {
1746 return err
1747 }
1748 } else {
1749 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1750 return err
1751 }
1752 }
1753 case 3:
1754 if fieldTypeId == thrift.STRUCT {
1755 if err := p.ReadField3(ctx, iprot); err != nil {
1756 return err
1757 }
1758 } else {
1759 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1760 return err
1761 }
1762 }
1763 default:
1764 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1765 return err
1766 }
1767 }
1768 if err := iprot.ReadFieldEnd(ctx); err != nil {
1769 return err
1770 }
1771 }
1772 if err := iprot.ReadStructEnd(ctx); err != nil {
1773 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
1774 }
1775 return nil
1776}
1777
1778func (p *TimeUnit) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
1779 p.MILLIS = &MilliSeconds{}
1780 if err := p.MILLIS.Read(ctx, iprot); err != nil {
1781 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.MILLIS), err)
1782 }
1783 return nil
1784}
1785
1786func (p *TimeUnit) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
1787 p.MICROS = &MicroSeconds{}
1788 if err := p.MICROS.Read(ctx, iprot); err != nil {
1789 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.MICROS), err)
1790 }
1791 return nil
1792}
1793
1794func (p *TimeUnit) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
1795 p.NANOS = &NanoSeconds{}
1796 if err := p.NANOS.Read(ctx, iprot); err != nil {
1797 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.NANOS), err)
1798 }
1799 return nil
1800}
1801
1802func (p *TimeUnit) Write(ctx context.Context, oprot thrift.TProtocol) error {
1803 if c := p.CountSetFieldsTimeUnit(); c != 1 {
1804 return fmt.Errorf("%T write union: exactly one field must be set (%d set).", p, c)
1805 }
1806 if err := oprot.WriteStructBegin(ctx, "TimeUnit"); err != nil {
1807 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
1808 if p != nil {
1809 if err := p.writeField1(ctx, oprot); err != nil { return err }
1810 if err := p.writeField2(ctx, oprot); err != nil { return err }
1811 if err := p.writeField3(ctx, oprot); err != nil { return err }
1812 }
1813 if err := oprot.WriteFieldStop(ctx); err != nil {
1814 return thrift.PrependError("write field stop error: ", err) }
1815 if err := oprot.WriteStructEnd(ctx); err != nil {
1816 return thrift.PrependError("write struct stop error: ", err) }
1817 return nil
1818}
1819
1820func (p *TimeUnit) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
1821 if p.IsSetMILLIS() {
1822 if err := oprot.WriteFieldBegin(ctx, "MILLIS", thrift.STRUCT, 1); err != nil {
1823 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:MILLIS: ", p), err) }
1824 if err := p.MILLIS.Write(ctx, oprot); err != nil {
1825 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.MILLIS), err)
1826 }
1827 if err := oprot.WriteFieldEnd(ctx); err != nil {
1828 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:MILLIS: ", p), err) }
1829 }
1830 return err
1831}
1832
1833func (p *TimeUnit) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
1834 if p.IsSetMICROS() {
1835 if err := oprot.WriteFieldBegin(ctx, "MICROS", thrift.STRUCT, 2); err != nil {
1836 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MICROS: ", p), err) }
1837 if err := p.MICROS.Write(ctx, oprot); err != nil {
1838 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.MICROS), err)
1839 }
1840 if err := oprot.WriteFieldEnd(ctx); err != nil {
1841 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MICROS: ", p), err) }
1842 }
1843 return err
1844}
1845
1846func (p *TimeUnit) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
1847 if p.IsSetNANOS() {
1848 if err := oprot.WriteFieldBegin(ctx, "NANOS", thrift.STRUCT, 3); err != nil {
1849 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:NANOS: ", p), err) }
1850 if err := p.NANOS.Write(ctx, oprot); err != nil {
1851 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.NANOS), err)
1852 }
1853 if err := oprot.WriteFieldEnd(ctx); err != nil {
1854 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:NANOS: ", p), err) }
1855 }
1856 return err
1857}
1858
1859func (p *TimeUnit) Equals(other *TimeUnit) bool {
1860 if p == other {
1861 return true
1862 } else if p == nil || other == nil {
1863 return false
1864 }
1865 if !p.MILLIS.Equals(other.MILLIS) { return false }
1866 if !p.MICROS.Equals(other.MICROS) { return false }
1867 if !p.NANOS.Equals(other.NANOS) { return false }
1868 return true
1869}
1870
1871func (p *TimeUnit) String() string {
1872 if p == nil {
1873 return "<nil>"
1874 }
1875 return fmt.Sprintf("TimeUnit(%+v)", *p)
1876}
1877
1878// Timestamp logical type annotation
1879//
1880// Allowed for physical types: INT64
1881//
1882// Attributes:
1883// - IsAdjustedToUTC
1884// - Unit
1885type TimestampType struct {
1886 IsAdjustedToUTC bool `thrift:"isAdjustedToUTC,1,required" db:"isAdjustedToUTC" json:"isAdjustedToUTC"`
1887 Unit *TimeUnit `thrift:"unit,2,required" db:"unit" json:"unit"`
1888}
1889
1890func NewTimestampType() *TimestampType {
1891 return &TimestampType{}
1892}
1893
1894
1895func (p *TimestampType) GetIsAdjustedToUTC() bool {
1896 return p.IsAdjustedToUTC
1897}
1898var TimestampType_Unit_DEFAULT *TimeUnit
1899func (p *TimestampType) GetUnit() *TimeUnit {
1900 if !p.IsSetUnit() {
1901 return TimestampType_Unit_DEFAULT
1902 }
1903return p.Unit
1904}
1905func (p *TimestampType) IsSetUnit() bool {
1906 return p.Unit != nil
1907}
1908
1909func (p *TimestampType) Read(ctx context.Context, iprot thrift.TProtocol) error {
1910 if _, err := iprot.ReadStructBegin(ctx); err != nil {
1911 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
1912 }
1913
1914 var issetIsAdjustedToUTC bool = false;
1915 var issetUnit bool = false;
1916
1917 for {
1918 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
1919 if err != nil {
1920 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
1921 }
1922 if fieldTypeId == thrift.STOP { break; }
1923 switch fieldId {
1924 case 1:
1925 if fieldTypeId == thrift.BOOL {
1926 if err := p.ReadField1(ctx, iprot); err != nil {
1927 return err
1928 }
1929 issetIsAdjustedToUTC = true
1930 } else {
1931 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1932 return err
1933 }
1934 }
1935 case 2:
1936 if fieldTypeId == thrift.STRUCT {
1937 if err := p.ReadField2(ctx, iprot); err != nil {
1938 return err
1939 }
1940 issetUnit = true
1941 } else {
1942 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1943 return err
1944 }
1945 }
1946 default:
1947 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
1948 return err
1949 }
1950 }
1951 if err := iprot.ReadFieldEnd(ctx); err != nil {
1952 return err
1953 }
1954 }
1955 if err := iprot.ReadStructEnd(ctx); err != nil {
1956 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
1957 }
1958 if !issetIsAdjustedToUTC{
1959 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IsAdjustedToUTC is not set"));
1960 }
1961 if !issetUnit{
1962 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Unit is not set"));
1963 }
1964 return nil
1965}
1966
1967func (p *TimestampType) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
1968 if v, err := iprot.ReadBool(ctx); err != nil {
1969 return thrift.PrependError("error reading field 1: ", err)
1970} else {
1971 p.IsAdjustedToUTC = v
1972}
1973 return nil
1974}
1975
1976func (p *TimestampType) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
1977 p.Unit = &TimeUnit{}
1978 if err := p.Unit.Read(ctx, iprot); err != nil {
1979 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Unit), err)
1980 }
1981 return nil
1982}
1983
1984func (p *TimestampType) Write(ctx context.Context, oprot thrift.TProtocol) error {
1985 if err := oprot.WriteStructBegin(ctx, "TimestampType"); err != nil {
1986 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
1987 if p != nil {
1988 if err := p.writeField1(ctx, oprot); err != nil { return err }
1989 if err := p.writeField2(ctx, oprot); err != nil { return err }
1990 }
1991 if err := oprot.WriteFieldStop(ctx); err != nil {
1992 return thrift.PrependError("write field stop error: ", err) }
1993 if err := oprot.WriteStructEnd(ctx); err != nil {
1994 return thrift.PrependError("write struct stop error: ", err) }
1995 return nil
1996}
1997
1998func (p *TimestampType) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
1999 if err := oprot.WriteFieldBegin(ctx, "isAdjustedToUTC", thrift.BOOL, 1); err != nil {
2000 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:isAdjustedToUTC: ", p), err) }
2001 if err := oprot.WriteBool(ctx, bool(p.IsAdjustedToUTC)); err != nil {
2002 return thrift.PrependError(fmt.Sprintf("%T.isAdjustedToUTC (1) field write error: ", p), err) }
2003 if err := oprot.WriteFieldEnd(ctx); err != nil {
2004 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:isAdjustedToUTC: ", p), err) }
2005 return err
2006}
2007
2008func (p *TimestampType) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
2009 if err := oprot.WriteFieldBegin(ctx, "unit", thrift.STRUCT, 2); err != nil {
2010 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:unit: ", p), err) }
2011 if err := p.Unit.Write(ctx, oprot); err != nil {
2012 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Unit), err)
2013 }
2014 if err := oprot.WriteFieldEnd(ctx); err != nil {
2015 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:unit: ", p), err) }
2016 return err
2017}
2018
2019func (p *TimestampType) Equals(other *TimestampType) bool {
2020 if p == other {
2021 return true
2022 } else if p == nil || other == nil {
2023 return false
2024 }
2025 if p.IsAdjustedToUTC != other.IsAdjustedToUTC { return false }
2026 if !p.Unit.Equals(other.Unit) { return false }
2027 return true
2028}
2029
2030func (p *TimestampType) String() string {
2031 if p == nil {
2032 return "<nil>"
2033 }
2034 return fmt.Sprintf("TimestampType(%+v)", *p)
2035}
2036
2037// Time logical type annotation
2038//
2039// Allowed for physical types: INT32 (millis), INT64 (micros, nanos)
2040//
2041// Attributes:
2042// - IsAdjustedToUTC
2043// - Unit
2044type TimeType struct {
2045 IsAdjustedToUTC bool `thrift:"isAdjustedToUTC,1,required" db:"isAdjustedToUTC" json:"isAdjustedToUTC"`
2046 Unit *TimeUnit `thrift:"unit,2,required" db:"unit" json:"unit"`
2047}
2048
2049func NewTimeType() *TimeType {
2050 return &TimeType{}
2051}
2052
2053
2054func (p *TimeType) GetIsAdjustedToUTC() bool {
2055 return p.IsAdjustedToUTC
2056}
2057var TimeType_Unit_DEFAULT *TimeUnit
2058func (p *TimeType) GetUnit() *TimeUnit {
2059 if !p.IsSetUnit() {
2060 return TimeType_Unit_DEFAULT
2061 }
2062return p.Unit
2063}
2064func (p *TimeType) IsSetUnit() bool {
2065 return p.Unit != nil
2066}
2067
2068func (p *TimeType) Read(ctx context.Context, iprot thrift.TProtocol) error {
2069 if _, err := iprot.ReadStructBegin(ctx); err != nil {
2070 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
2071 }
2072
2073 var issetIsAdjustedToUTC bool = false;
2074 var issetUnit bool = false;
2075
2076 for {
2077 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
2078 if err != nil {
2079 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
2080 }
2081 if fieldTypeId == thrift.STOP { break; }
2082 switch fieldId {
2083 case 1:
2084 if fieldTypeId == thrift.BOOL {
2085 if err := p.ReadField1(ctx, iprot); err != nil {
2086 return err
2087 }
2088 issetIsAdjustedToUTC = true
2089 } else {
2090 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2091 return err
2092 }
2093 }
2094 case 2:
2095 if fieldTypeId == thrift.STRUCT {
2096 if err := p.ReadField2(ctx, iprot); err != nil {
2097 return err
2098 }
2099 issetUnit = true
2100 } else {
2101 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2102 return err
2103 }
2104 }
2105 default:
2106 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2107 return err
2108 }
2109 }
2110 if err := iprot.ReadFieldEnd(ctx); err != nil {
2111 return err
2112 }
2113 }
2114 if err := iprot.ReadStructEnd(ctx); err != nil {
2115 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
2116 }
2117 if !issetIsAdjustedToUTC{
2118 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IsAdjustedToUTC is not set"));
2119 }
2120 if !issetUnit{
2121 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Unit is not set"));
2122 }
2123 return nil
2124}
2125
2126func (p *TimeType) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
2127 if v, err := iprot.ReadBool(ctx); err != nil {
2128 return thrift.PrependError("error reading field 1: ", err)
2129} else {
2130 p.IsAdjustedToUTC = v
2131}
2132 return nil
2133}
2134
2135func (p *TimeType) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
2136 p.Unit = &TimeUnit{}
2137 if err := p.Unit.Read(ctx, iprot); err != nil {
2138 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Unit), err)
2139 }
2140 return nil
2141}
2142
2143func (p *TimeType) Write(ctx context.Context, oprot thrift.TProtocol) error {
2144 if err := oprot.WriteStructBegin(ctx, "TimeType"); err != nil {
2145 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
2146 if p != nil {
2147 if err := p.writeField1(ctx, oprot); err != nil { return err }
2148 if err := p.writeField2(ctx, oprot); err != nil { return err }
2149 }
2150 if err := oprot.WriteFieldStop(ctx); err != nil {
2151 return thrift.PrependError("write field stop error: ", err) }
2152 if err := oprot.WriteStructEnd(ctx); err != nil {
2153 return thrift.PrependError("write struct stop error: ", err) }
2154 return nil
2155}
2156
2157func (p *TimeType) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
2158 if err := oprot.WriteFieldBegin(ctx, "isAdjustedToUTC", thrift.BOOL, 1); err != nil {
2159 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:isAdjustedToUTC: ", p), err) }
2160 if err := oprot.WriteBool(ctx, bool(p.IsAdjustedToUTC)); err != nil {
2161 return thrift.PrependError(fmt.Sprintf("%T.isAdjustedToUTC (1) field write error: ", p), err) }
2162 if err := oprot.WriteFieldEnd(ctx); err != nil {
2163 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:isAdjustedToUTC: ", p), err) }
2164 return err
2165}
2166
2167func (p *TimeType) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
2168 if err := oprot.WriteFieldBegin(ctx, "unit", thrift.STRUCT, 2); err != nil {
2169 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:unit: ", p), err) }
2170 if err := p.Unit.Write(ctx, oprot); err != nil {
2171 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Unit), err)
2172 }
2173 if err := oprot.WriteFieldEnd(ctx); err != nil {
2174 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:unit: ", p), err) }
2175 return err
2176}
2177
2178func (p *TimeType) Equals(other *TimeType) bool {
2179 if p == other {
2180 return true
2181 } else if p == nil || other == nil {
2182 return false
2183 }
2184 if p.IsAdjustedToUTC != other.IsAdjustedToUTC { return false }
2185 if !p.Unit.Equals(other.Unit) { return false }
2186 return true
2187}
2188
2189func (p *TimeType) String() string {
2190 if p == nil {
2191 return "<nil>"
2192 }
2193 return fmt.Sprintf("TimeType(%+v)", *p)
2194}
2195
2196// Integer logical type annotation
2197//
2198// bitWidth must be 8, 16, 32, or 64.
2199//
2200// Allowed for physical types: INT32, INT64
2201//
2202// Attributes:
2203// - BitWidth
2204// - IsSigned
2205type IntType struct {
2206 BitWidth int8 `thrift:"bitWidth,1,required" db:"bitWidth" json:"bitWidth"`
2207 IsSigned bool `thrift:"isSigned,2,required" db:"isSigned" json:"isSigned"`
2208}
2209
2210func NewIntType() *IntType {
2211 return &IntType{}
2212}
2213
2214
2215func (p *IntType) GetBitWidth() int8 {
2216 return p.BitWidth
2217}
2218
2219func (p *IntType) GetIsSigned() bool {
2220 return p.IsSigned
2221}
2222func (p *IntType) Read(ctx context.Context, iprot thrift.TProtocol) error {
2223 if _, err := iprot.ReadStructBegin(ctx); err != nil {
2224 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
2225 }
2226
2227 var issetBitWidth bool = false;
2228 var issetIsSigned bool = false;
2229
2230 for {
2231 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
2232 if err != nil {
2233 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
2234 }
2235 if fieldTypeId == thrift.STOP { break; }
2236 switch fieldId {
2237 case 1:
2238 if fieldTypeId == thrift.BYTE {
2239 if err := p.ReadField1(ctx, iprot); err != nil {
2240 return err
2241 }
2242 issetBitWidth = true
2243 } else {
2244 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2245 return err
2246 }
2247 }
2248 case 2:
2249 if fieldTypeId == thrift.BOOL {
2250 if err := p.ReadField2(ctx, iprot); err != nil {
2251 return err
2252 }
2253 issetIsSigned = true
2254 } else {
2255 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2256 return err
2257 }
2258 }
2259 default:
2260 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2261 return err
2262 }
2263 }
2264 if err := iprot.ReadFieldEnd(ctx); err != nil {
2265 return err
2266 }
2267 }
2268 if err := iprot.ReadStructEnd(ctx); err != nil {
2269 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
2270 }
2271 if !issetBitWidth{
2272 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field BitWidth is not set"));
2273 }
2274 if !issetIsSigned{
2275 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IsSigned is not set"));
2276 }
2277 return nil
2278}
2279
2280func (p *IntType) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
2281 if v, err := iprot.ReadByte(ctx); err != nil {
2282 return thrift.PrependError("error reading field 1: ", err)
2283} else {
2284 temp := int8(v)
2285 p.BitWidth = temp
2286}
2287 return nil
2288}
2289
2290func (p *IntType) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
2291 if v, err := iprot.ReadBool(ctx); err != nil {
2292 return thrift.PrependError("error reading field 2: ", err)
2293} else {
2294 p.IsSigned = v
2295}
2296 return nil
2297}
2298
2299func (p *IntType) Write(ctx context.Context, oprot thrift.TProtocol) error {
2300 if err := oprot.WriteStructBegin(ctx, "IntType"); err != nil {
2301 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
2302 if p != nil {
2303 if err := p.writeField1(ctx, oprot); err != nil { return err }
2304 if err := p.writeField2(ctx, oprot); err != nil { return err }
2305 }
2306 if err := oprot.WriteFieldStop(ctx); err != nil {
2307 return thrift.PrependError("write field stop error: ", err) }
2308 if err := oprot.WriteStructEnd(ctx); err != nil {
2309 return thrift.PrependError("write struct stop error: ", err) }
2310 return nil
2311}
2312
2313func (p *IntType) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
2314 if err := oprot.WriteFieldBegin(ctx, "bitWidth", thrift.BYTE, 1); err != nil {
2315 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:bitWidth: ", p), err) }
2316 if err := oprot.WriteByte(ctx, int8(p.BitWidth)); err != nil {
2317 return thrift.PrependError(fmt.Sprintf("%T.bitWidth (1) field write error: ", p), err) }
2318 if err := oprot.WriteFieldEnd(ctx); err != nil {
2319 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:bitWidth: ", p), err) }
2320 return err
2321}
2322
2323func (p *IntType) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
2324 if err := oprot.WriteFieldBegin(ctx, "isSigned", thrift.BOOL, 2); err != nil {
2325 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:isSigned: ", p), err) }
2326 if err := oprot.WriteBool(ctx, bool(p.IsSigned)); err != nil {
2327 return thrift.PrependError(fmt.Sprintf("%T.isSigned (2) field write error: ", p), err) }
2328 if err := oprot.WriteFieldEnd(ctx); err != nil {
2329 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:isSigned: ", p), err) }
2330 return err
2331}
2332
2333func (p *IntType) Equals(other *IntType) bool {
2334 if p == other {
2335 return true
2336 } else if p == nil || other == nil {
2337 return false
2338 }
2339 if p.BitWidth != other.BitWidth { return false }
2340 if p.IsSigned != other.IsSigned { return false }
2341 return true
2342}
2343
2344func (p *IntType) String() string {
2345 if p == nil {
2346 return "<nil>"
2347 }
2348 return fmt.Sprintf("IntType(%+v)", *p)
2349}
2350
2351// Embedded JSON logical type annotation
2352//
2353// Allowed for physical types: BINARY
2354type JsonType struct {
2355}
2356
2357func NewJsonType() *JsonType {
2358 return &JsonType{}
2359}
2360
2361func (p *JsonType) Read(ctx context.Context, iprot thrift.TProtocol) error {
2362 if _, err := iprot.ReadStructBegin(ctx); err != nil {
2363 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
2364 }
2365
2366
2367 for {
2368 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
2369 if err != nil {
2370 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
2371 }
2372 if fieldTypeId == thrift.STOP { break; }
2373 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2374 return err
2375 }
2376 if err := iprot.ReadFieldEnd(ctx); err != nil {
2377 return err
2378 }
2379 }
2380 if err := iprot.ReadStructEnd(ctx); err != nil {
2381 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
2382 }
2383 return nil
2384}
2385
2386func (p *JsonType) Write(ctx context.Context, oprot thrift.TProtocol) error {
2387 if err := oprot.WriteStructBegin(ctx, "JsonType"); err != nil {
2388 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
2389 if p != nil {
2390 }
2391 if err := oprot.WriteFieldStop(ctx); err != nil {
2392 return thrift.PrependError("write field stop error: ", err) }
2393 if err := oprot.WriteStructEnd(ctx); err != nil {
2394 return thrift.PrependError("write struct stop error: ", err) }
2395 return nil
2396}
2397
2398func (p *JsonType) Equals(other *JsonType) bool {
2399 if p == other {
2400 return true
2401 } else if p == nil || other == nil {
2402 return false
2403 }
2404 return true
2405}
2406
2407func (p *JsonType) String() string {
2408 if p == nil {
2409 return "<nil>"
2410 }
2411 return fmt.Sprintf("JsonType(%+v)", *p)
2412}
2413
2414// Embedded BSON logical type annotation
2415//
2416// Allowed for physical types: BINARY
2417type BsonType struct {
2418}
2419
2420func NewBsonType() *BsonType {
2421 return &BsonType{}
2422}
2423
2424func (p *BsonType) Read(ctx context.Context, iprot thrift.TProtocol) error {
2425 if _, err := iprot.ReadStructBegin(ctx); err != nil {
2426 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
2427 }
2428
2429
2430 for {
2431 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
2432 if err != nil {
2433 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
2434 }
2435 if fieldTypeId == thrift.STOP { break; }
2436 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2437 return err
2438 }
2439 if err := iprot.ReadFieldEnd(ctx); err != nil {
2440 return err
2441 }
2442 }
2443 if err := iprot.ReadStructEnd(ctx); err != nil {
2444 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
2445 }
2446 return nil
2447}
2448
2449func (p *BsonType) Write(ctx context.Context, oprot thrift.TProtocol) error {
2450 if err := oprot.WriteStructBegin(ctx, "BsonType"); err != nil {
2451 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
2452 if p != nil {
2453 }
2454 if err := oprot.WriteFieldStop(ctx); err != nil {
2455 return thrift.PrependError("write field stop error: ", err) }
2456 if err := oprot.WriteStructEnd(ctx); err != nil {
2457 return thrift.PrependError("write struct stop error: ", err) }
2458 return nil
2459}
2460
2461func (p *BsonType) Equals(other *BsonType) bool {
2462 if p == other {
2463 return true
2464 } else if p == nil || other == nil {
2465 return false
2466 }
2467 return true
2468}
2469
2470func (p *BsonType) String() string {
2471 if p == nil {
2472 return "<nil>"
2473 }
2474 return fmt.Sprintf("BsonType(%+v)", *p)
2475}
2476
2477// LogicalType annotations to replace ConvertedType.
2478//
2479// To maintain compatibility, implementations using LogicalType for a
2480// SchemaElement must also set the corresponding ConvertedType from the
2481// following table.
2482//
2483// Attributes:
2484// - STRING
2485// - MAP
2486// - LIST
2487// - ENUM
2488// - DECIMAL
2489// - DATE
2490// - TIME
2491// - TIMESTAMP
2492// - INTEGER
2493// - UNKNOWN
2494// - JSON
2495// - BSON
2496// - UUID
2497type LogicalType struct {
2498 STRING *StringType `thrift:"STRING,1" db:"STRING" json:"STRING,omitempty"`
2499 MAP *MapType `thrift:"MAP,2" db:"MAP" json:"MAP,omitempty"`
2500 LIST *ListType `thrift:"LIST,3" db:"LIST" json:"LIST,omitempty"`
2501 ENUM *EnumType `thrift:"ENUM,4" db:"ENUM" json:"ENUM,omitempty"`
2502 DECIMAL *DecimalType `thrift:"DECIMAL,5" db:"DECIMAL" json:"DECIMAL,omitempty"`
2503 DATE *DateType `thrift:"DATE,6" db:"DATE" json:"DATE,omitempty"`
2504 TIME *TimeType `thrift:"TIME,7" db:"TIME" json:"TIME,omitempty"`
2505 TIMESTAMP *TimestampType `thrift:"TIMESTAMP,8" db:"TIMESTAMP" json:"TIMESTAMP,omitempty"`
2506 // unused field # 9
2507 INTEGER *IntType `thrift:"INTEGER,10" db:"INTEGER" json:"INTEGER,omitempty"`
2508 UNKNOWN *NullType `thrift:"UNKNOWN,11" db:"UNKNOWN" json:"UNKNOWN,omitempty"`
2509 JSON *JsonType `thrift:"JSON,12" db:"JSON" json:"JSON,omitempty"`
2510 BSON *BsonType `thrift:"BSON,13" db:"BSON" json:"BSON,omitempty"`
2511 UUID *UUIDType `thrift:"UUID,14" db:"UUID" json:"UUID,omitempty"`
2512}
2513
2514func NewLogicalType() *LogicalType {
2515 return &LogicalType{}
2516}
2517
2518var LogicalType_STRING_DEFAULT *StringType
2519func (p *LogicalType) GetSTRING() *StringType {
2520 if !p.IsSetSTRING() {
2521 return LogicalType_STRING_DEFAULT
2522 }
2523return p.STRING
2524}
2525var LogicalType_MAP_DEFAULT *MapType
2526func (p *LogicalType) GetMAP() *MapType {
2527 if !p.IsSetMAP() {
2528 return LogicalType_MAP_DEFAULT
2529 }
2530return p.MAP
2531}
2532var LogicalType_LIST_DEFAULT *ListType
2533func (p *LogicalType) GetLIST() *ListType {
2534 if !p.IsSetLIST() {
2535 return LogicalType_LIST_DEFAULT
2536 }
2537return p.LIST
2538}
2539var LogicalType_ENUM_DEFAULT *EnumType
2540func (p *LogicalType) GetENUM() *EnumType {
2541 if !p.IsSetENUM() {
2542 return LogicalType_ENUM_DEFAULT
2543 }
2544return p.ENUM
2545}
2546var LogicalType_DECIMAL_DEFAULT *DecimalType
2547func (p *LogicalType) GetDECIMAL() *DecimalType {
2548 if !p.IsSetDECIMAL() {
2549 return LogicalType_DECIMAL_DEFAULT
2550 }
2551return p.DECIMAL
2552}
2553var LogicalType_DATE_DEFAULT *DateType
2554func (p *LogicalType) GetDATE() *DateType {
2555 if !p.IsSetDATE() {
2556 return LogicalType_DATE_DEFAULT
2557 }
2558return p.DATE
2559}
2560var LogicalType_TIME_DEFAULT *TimeType
2561func (p *LogicalType) GetTIME() *TimeType {
2562 if !p.IsSetTIME() {
2563 return LogicalType_TIME_DEFAULT
2564 }
2565return p.TIME
2566}
2567var LogicalType_TIMESTAMP_DEFAULT *TimestampType
2568func (p *LogicalType) GetTIMESTAMP() *TimestampType {
2569 if !p.IsSetTIMESTAMP() {
2570 return LogicalType_TIMESTAMP_DEFAULT
2571 }
2572return p.TIMESTAMP
2573}
2574var LogicalType_INTEGER_DEFAULT *IntType
2575func (p *LogicalType) GetINTEGER() *IntType {
2576 if !p.IsSetINTEGER() {
2577 return LogicalType_INTEGER_DEFAULT
2578 }
2579return p.INTEGER
2580}
2581var LogicalType_UNKNOWN_DEFAULT *NullType
2582func (p *LogicalType) GetUNKNOWN() *NullType {
2583 if !p.IsSetUNKNOWN() {
2584 return LogicalType_UNKNOWN_DEFAULT
2585 }
2586return p.UNKNOWN
2587}
2588var LogicalType_JSON_DEFAULT *JsonType
2589func (p *LogicalType) GetJSON() *JsonType {
2590 if !p.IsSetJSON() {
2591 return LogicalType_JSON_DEFAULT
2592 }
2593return p.JSON
2594}
2595var LogicalType_BSON_DEFAULT *BsonType
2596func (p *LogicalType) GetBSON() *BsonType {
2597 if !p.IsSetBSON() {
2598 return LogicalType_BSON_DEFAULT
2599 }
2600return p.BSON
2601}
2602var LogicalType_UUID_DEFAULT *UUIDType
2603func (p *LogicalType) GetUUID() *UUIDType {
2604 if !p.IsSetUUID() {
2605 return LogicalType_UUID_DEFAULT
2606 }
2607return p.UUID
2608}
2609func (p *LogicalType) CountSetFieldsLogicalType() int {
2610 count := 0
2611 if (p.IsSetSTRING()) {
2612 count++
2613 }
2614 if (p.IsSetMAP()) {
2615 count++
2616 }
2617 if (p.IsSetLIST()) {
2618 count++
2619 }
2620 if (p.IsSetENUM()) {
2621 count++
2622 }
2623 if (p.IsSetDECIMAL()) {
2624 count++
2625 }
2626 if (p.IsSetDATE()) {
2627 count++
2628 }
2629 if (p.IsSetTIME()) {
2630 count++
2631 }
2632 if (p.IsSetTIMESTAMP()) {
2633 count++
2634 }
2635 if (p.IsSetINTEGER()) {
2636 count++
2637 }
2638 if (p.IsSetUNKNOWN()) {
2639 count++
2640 }
2641 if (p.IsSetJSON()) {
2642 count++
2643 }
2644 if (p.IsSetBSON()) {
2645 count++
2646 }
2647 if (p.IsSetUUID()) {
2648 count++
2649 }
2650 return count
2651
2652}
2653
2654func (p *LogicalType) IsSetSTRING() bool {
2655 return p.STRING != nil
2656}
2657
2658func (p *LogicalType) IsSetMAP() bool {
2659 return p.MAP != nil
2660}
2661
2662func (p *LogicalType) IsSetLIST() bool {
2663 return p.LIST != nil
2664}
2665
2666func (p *LogicalType) IsSetENUM() bool {
2667 return p.ENUM != nil
2668}
2669
2670func (p *LogicalType) IsSetDECIMAL() bool {
2671 return p.DECIMAL != nil
2672}
2673
2674func (p *LogicalType) IsSetDATE() bool {
2675 return p.DATE != nil
2676}
2677
2678func (p *LogicalType) IsSetTIME() bool {
2679 return p.TIME != nil
2680}
2681
2682func (p *LogicalType) IsSetTIMESTAMP() bool {
2683 return p.TIMESTAMP != nil
2684}
2685
2686func (p *LogicalType) IsSetINTEGER() bool {
2687 return p.INTEGER != nil
2688}
2689
2690func (p *LogicalType) IsSetUNKNOWN() bool {
2691 return p.UNKNOWN != nil
2692}
2693
2694func (p *LogicalType) IsSetJSON() bool {
2695 return p.JSON != nil
2696}
2697
2698func (p *LogicalType) IsSetBSON() bool {
2699 return p.BSON != nil
2700}
2701
2702func (p *LogicalType) IsSetUUID() bool {
2703 return p.UUID != nil
2704}
2705
2706func (p *LogicalType) Read(ctx context.Context, iprot thrift.TProtocol) error {
2707 if _, err := iprot.ReadStructBegin(ctx); err != nil {
2708 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
2709 }
2710
2711
2712 for {
2713 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
2714 if err != nil {
2715 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
2716 }
2717 if fieldTypeId == thrift.STOP { break; }
2718 switch fieldId {
2719 case 1:
2720 if fieldTypeId == thrift.STRUCT {
2721 if err := p.ReadField1(ctx, iprot); err != nil {
2722 return err
2723 }
2724 } else {
2725 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2726 return err
2727 }
2728 }
2729 case 2:
2730 if fieldTypeId == thrift.STRUCT {
2731 if err := p.ReadField2(ctx, iprot); err != nil {
2732 return err
2733 }
2734 } else {
2735 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2736 return err
2737 }
2738 }
2739 case 3:
2740 if fieldTypeId == thrift.STRUCT {
2741 if err := p.ReadField3(ctx, iprot); err != nil {
2742 return err
2743 }
2744 } else {
2745 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2746 return err
2747 }
2748 }
2749 case 4:
2750 if fieldTypeId == thrift.STRUCT {
2751 if err := p.ReadField4(ctx, iprot); err != nil {
2752 return err
2753 }
2754 } else {
2755 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2756 return err
2757 }
2758 }
2759 case 5:
2760 if fieldTypeId == thrift.STRUCT {
2761 if err := p.ReadField5(ctx, iprot); err != nil {
2762 return err
2763 }
2764 } else {
2765 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2766 return err
2767 }
2768 }
2769 case 6:
2770 if fieldTypeId == thrift.STRUCT {
2771 if err := p.ReadField6(ctx, iprot); err != nil {
2772 return err
2773 }
2774 } else {
2775 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2776 return err
2777 }
2778 }
2779 case 7:
2780 if fieldTypeId == thrift.STRUCT {
2781 if err := p.ReadField7(ctx, iprot); err != nil {
2782 return err
2783 }
2784 } else {
2785 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2786 return err
2787 }
2788 }
2789 case 8:
2790 if fieldTypeId == thrift.STRUCT {
2791 if err := p.ReadField8(ctx, iprot); err != nil {
2792 return err
2793 }
2794 } else {
2795 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2796 return err
2797 }
2798 }
2799 case 10:
2800 if fieldTypeId == thrift.STRUCT {
2801 if err := p.ReadField10(ctx, iprot); err != nil {
2802 return err
2803 }
2804 } else {
2805 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2806 return err
2807 }
2808 }
2809 case 11:
2810 if fieldTypeId == thrift.STRUCT {
2811 if err := p.ReadField11(ctx, iprot); err != nil {
2812 return err
2813 }
2814 } else {
2815 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2816 return err
2817 }
2818 }
2819 case 12:
2820 if fieldTypeId == thrift.STRUCT {
2821 if err := p.ReadField12(ctx, iprot); err != nil {
2822 return err
2823 }
2824 } else {
2825 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2826 return err
2827 }
2828 }
2829 case 13:
2830 if fieldTypeId == thrift.STRUCT {
2831 if err := p.ReadField13(ctx, iprot); err != nil {
2832 return err
2833 }
2834 } else {
2835 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2836 return err
2837 }
2838 }
2839 case 14:
2840 if fieldTypeId == thrift.STRUCT {
2841 if err := p.ReadField14(ctx, iprot); err != nil {
2842 return err
2843 }
2844 } else {
2845 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2846 return err
2847 }
2848 }
2849 default:
2850 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
2851 return err
2852 }
2853 }
2854 if err := iprot.ReadFieldEnd(ctx); err != nil {
2855 return err
2856 }
2857 }
2858 if err := iprot.ReadStructEnd(ctx); err != nil {
2859 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
2860 }
2861 return nil
2862}
2863
2864func (p *LogicalType) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
2865 p.STRING = &StringType{}
2866 if err := p.STRING.Read(ctx, iprot); err != nil {
2867 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.STRING), err)
2868 }
2869 return nil
2870}
2871
2872func (p *LogicalType) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
2873 p.MAP = &MapType{}
2874 if err := p.MAP.Read(ctx, iprot); err != nil {
2875 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.MAP), err)
2876 }
2877 return nil
2878}
2879
2880func (p *LogicalType) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
2881 p.LIST = &ListType{}
2882 if err := p.LIST.Read(ctx, iprot); err != nil {
2883 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.LIST), err)
2884 }
2885 return nil
2886}
2887
2888func (p *LogicalType) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
2889 p.ENUM = &EnumType{}
2890 if err := p.ENUM.Read(ctx, iprot); err != nil {
2891 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.ENUM), err)
2892 }
2893 return nil
2894}
2895
2896func (p *LogicalType) ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
2897 p.DECIMAL = &DecimalType{}
2898 if err := p.DECIMAL.Read(ctx, iprot); err != nil {
2899 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.DECIMAL), err)
2900 }
2901 return nil
2902}
2903
2904func (p *LogicalType) ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
2905 p.DATE = &DateType{}
2906 if err := p.DATE.Read(ctx, iprot); err != nil {
2907 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.DATE), err)
2908 }
2909 return nil
2910}
2911
2912func (p *LogicalType) ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
2913 p.TIME = &TimeType{}
2914 if err := p.TIME.Read(ctx, iprot); err != nil {
2915 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.TIME), err)
2916 }
2917 return nil
2918}
2919
2920func (p *LogicalType) ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
2921 p.TIMESTAMP = &TimestampType{}
2922 if err := p.TIMESTAMP.Read(ctx, iprot); err != nil {
2923 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.TIMESTAMP), err)
2924 }
2925 return nil
2926}
2927
2928func (p *LogicalType) ReadField10(ctx context.Context, iprot thrift.TProtocol) error {
2929 p.INTEGER = &IntType{}
2930 if err := p.INTEGER.Read(ctx, iprot); err != nil {
2931 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.INTEGER), err)
2932 }
2933 return nil
2934}
2935
2936func (p *LogicalType) ReadField11(ctx context.Context, iprot thrift.TProtocol) error {
2937 p.UNKNOWN = &NullType{}
2938 if err := p.UNKNOWN.Read(ctx, iprot); err != nil {
2939 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.UNKNOWN), err)
2940 }
2941 return nil
2942}
2943
2944func (p *LogicalType) ReadField12(ctx context.Context, iprot thrift.TProtocol) error {
2945 p.JSON = &JsonType{}
2946 if err := p.JSON.Read(ctx, iprot); err != nil {
2947 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.JSON), err)
2948 }
2949 return nil
2950}
2951
2952func (p *LogicalType) ReadField13(ctx context.Context, iprot thrift.TProtocol) error {
2953 p.BSON = &BsonType{}
2954 if err := p.BSON.Read(ctx, iprot); err != nil {
2955 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.BSON), err)
2956 }
2957 return nil
2958}
2959
2960func (p *LogicalType) ReadField14(ctx context.Context, iprot thrift.TProtocol) error {
2961 p.UUID = &UUIDType{}
2962 if err := p.UUID.Read(ctx, iprot); err != nil {
2963 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.UUID), err)
2964 }
2965 return nil
2966}
2967
2968func (p *LogicalType) Write(ctx context.Context, oprot thrift.TProtocol) error {
2969 if c := p.CountSetFieldsLogicalType(); c != 1 {
2970 return fmt.Errorf("%T write union: exactly one field must be set (%d set).", p, c)
2971 }
2972 if err := oprot.WriteStructBegin(ctx, "LogicalType"); err != nil {
2973 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
2974 if p != nil {
2975 if err := p.writeField1(ctx, oprot); err != nil { return err }
2976 if err := p.writeField2(ctx, oprot); err != nil { return err }
2977 if err := p.writeField3(ctx, oprot); err != nil { return err }
2978 if err := p.writeField4(ctx, oprot); err != nil { return err }
2979 if err := p.writeField5(ctx, oprot); err != nil { return err }
2980 if err := p.writeField6(ctx, oprot); err != nil { return err }
2981 if err := p.writeField7(ctx, oprot); err != nil { return err }
2982 if err := p.writeField8(ctx, oprot); err != nil { return err }
2983 if err := p.writeField10(ctx, oprot); err != nil { return err }
2984 if err := p.writeField11(ctx, oprot); err != nil { return err }
2985 if err := p.writeField12(ctx, oprot); err != nil { return err }
2986 if err := p.writeField13(ctx, oprot); err != nil { return err }
2987 if err := p.writeField14(ctx, oprot); err != nil { return err }
2988 }
2989 if err := oprot.WriteFieldStop(ctx); err != nil {
2990 return thrift.PrependError("write field stop error: ", err) }
2991 if err := oprot.WriteStructEnd(ctx); err != nil {
2992 return thrift.PrependError("write struct stop error: ", err) }
2993 return nil
2994}
2995
2996func (p *LogicalType) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
2997 if p.IsSetSTRING() {
2998 if err := oprot.WriteFieldBegin(ctx, "STRING", thrift.STRUCT, 1); err != nil {
2999 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:STRING: ", p), err) }
3000 if err := p.STRING.Write(ctx, oprot); err != nil {
3001 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.STRING), err)
3002 }
3003 if err := oprot.WriteFieldEnd(ctx); err != nil {
3004 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:STRING: ", p), err) }
3005 }
3006 return err
3007}
3008
3009func (p *LogicalType) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
3010 if p.IsSetMAP() {
3011 if err := oprot.WriteFieldBegin(ctx, "MAP", thrift.STRUCT, 2); err != nil {
3012 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MAP: ", p), err) }
3013 if err := p.MAP.Write(ctx, oprot); err != nil {
3014 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.MAP), err)
3015 }
3016 if err := oprot.WriteFieldEnd(ctx); err != nil {
3017 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MAP: ", p), err) }
3018 }
3019 return err
3020}
3021
3022func (p *LogicalType) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
3023 if p.IsSetLIST() {
3024 if err := oprot.WriteFieldBegin(ctx, "LIST", thrift.STRUCT, 3); err != nil {
3025 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:LIST: ", p), err) }
3026 if err := p.LIST.Write(ctx, oprot); err != nil {
3027 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.LIST), err)
3028 }
3029 if err := oprot.WriteFieldEnd(ctx); err != nil {
3030 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:LIST: ", p), err) }
3031 }
3032 return err
3033}
3034
3035func (p *LogicalType) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
3036 if p.IsSetENUM() {
3037 if err := oprot.WriteFieldBegin(ctx, "ENUM", thrift.STRUCT, 4); err != nil {
3038 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:ENUM: ", p), err) }
3039 if err := p.ENUM.Write(ctx, oprot); err != nil {
3040 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.ENUM), err)
3041 }
3042 if err := oprot.WriteFieldEnd(ctx); err != nil {
3043 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:ENUM: ", p), err) }
3044 }
3045 return err
3046}
3047
3048func (p *LogicalType) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
3049 if p.IsSetDECIMAL() {
3050 if err := oprot.WriteFieldBegin(ctx, "DECIMAL", thrift.STRUCT, 5); err != nil {
3051 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:DECIMAL: ", p), err) }
3052 if err := p.DECIMAL.Write(ctx, oprot); err != nil {
3053 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.DECIMAL), err)
3054 }
3055 if err := oprot.WriteFieldEnd(ctx); err != nil {
3056 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:DECIMAL: ", p), err) }
3057 }
3058 return err
3059}
3060
3061func (p *LogicalType) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
3062 if p.IsSetDATE() {
3063 if err := oprot.WriteFieldBegin(ctx, "DATE", thrift.STRUCT, 6); err != nil {
3064 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:DATE: ", p), err) }
3065 if err := p.DATE.Write(ctx, oprot); err != nil {
3066 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.DATE), err)
3067 }
3068 if err := oprot.WriteFieldEnd(ctx); err != nil {
3069 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:DATE: ", p), err) }
3070 }
3071 return err
3072}
3073
3074func (p *LogicalType) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
3075 if p.IsSetTIME() {
3076 if err := oprot.WriteFieldBegin(ctx, "TIME", thrift.STRUCT, 7); err != nil {
3077 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:TIME: ", p), err) }
3078 if err := p.TIME.Write(ctx, oprot); err != nil {
3079 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.TIME), err)
3080 }
3081 if err := oprot.WriteFieldEnd(ctx); err != nil {
3082 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:TIME: ", p), err) }
3083 }
3084 return err
3085}
3086
3087func (p *LogicalType) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
3088 if p.IsSetTIMESTAMP() {
3089 if err := oprot.WriteFieldBegin(ctx, "TIMESTAMP", thrift.STRUCT, 8); err != nil {
3090 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:TIMESTAMP: ", p), err) }
3091 if err := p.TIMESTAMP.Write(ctx, oprot); err != nil {
3092 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.TIMESTAMP), err)
3093 }
3094 if err := oprot.WriteFieldEnd(ctx); err != nil {
3095 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:TIMESTAMP: ", p), err) }
3096 }
3097 return err
3098}
3099
3100func (p *LogicalType) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) {
3101 if p.IsSetINTEGER() {
3102 if err := oprot.WriteFieldBegin(ctx, "INTEGER", thrift.STRUCT, 10); err != nil {
3103 return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:INTEGER: ", p), err) }
3104 if err := p.INTEGER.Write(ctx, oprot); err != nil {
3105 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.INTEGER), err)
3106 }
3107 if err := oprot.WriteFieldEnd(ctx); err != nil {
3108 return thrift.PrependError(fmt.Sprintf("%T write field end error 10:INTEGER: ", p), err) }
3109 }
3110 return err
3111}
3112
3113func (p *LogicalType) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) {
3114 if p.IsSetUNKNOWN() {
3115 if err := oprot.WriteFieldBegin(ctx, "UNKNOWN", thrift.STRUCT, 11); err != nil {
3116 return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:UNKNOWN: ", p), err) }
3117 if err := p.UNKNOWN.Write(ctx, oprot); err != nil {
3118 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.UNKNOWN), err)
3119 }
3120 if err := oprot.WriteFieldEnd(ctx); err != nil {
3121 return thrift.PrependError(fmt.Sprintf("%T write field end error 11:UNKNOWN: ", p), err) }
3122 }
3123 return err
3124}
3125
3126func (p *LogicalType) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) {
3127 if p.IsSetJSON() {
3128 if err := oprot.WriteFieldBegin(ctx, "JSON", thrift.STRUCT, 12); err != nil {
3129 return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:JSON: ", p), err) }
3130 if err := p.JSON.Write(ctx, oprot); err != nil {
3131 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.JSON), err)
3132 }
3133 if err := oprot.WriteFieldEnd(ctx); err != nil {
3134 return thrift.PrependError(fmt.Sprintf("%T write field end error 12:JSON: ", p), err) }
3135 }
3136 return err
3137}
3138
3139func (p *LogicalType) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) {
3140 if p.IsSetBSON() {
3141 if err := oprot.WriteFieldBegin(ctx, "BSON", thrift.STRUCT, 13); err != nil {
3142 return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:BSON: ", p), err) }
3143 if err := p.BSON.Write(ctx, oprot); err != nil {
3144 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.BSON), err)
3145 }
3146 if err := oprot.WriteFieldEnd(ctx); err != nil {
3147 return thrift.PrependError(fmt.Sprintf("%T write field end error 13:BSON: ", p), err) }
3148 }
3149 return err
3150}
3151
3152func (p *LogicalType) writeField14(ctx context.Context, oprot thrift.TProtocol) (err error) {
3153 if p.IsSetUUID() {
3154 if err := oprot.WriteFieldBegin(ctx, "UUID", thrift.STRUCT, 14); err != nil {
3155 return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:UUID: ", p), err) }
3156 if err := p.UUID.Write(ctx, oprot); err != nil {
3157 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.UUID), err)
3158 }
3159 if err := oprot.WriteFieldEnd(ctx); err != nil {
3160 return thrift.PrependError(fmt.Sprintf("%T write field end error 14:UUID: ", p), err) }
3161 }
3162 return err
3163}
3164
3165func (p *LogicalType) Equals(other *LogicalType) bool {
3166 if p == other {
3167 return true
3168 } else if p == nil || other == nil {
3169 return false
3170 }
3171 if !p.STRING.Equals(other.STRING) { return false }
3172 if !p.MAP.Equals(other.MAP) { return false }
3173 if !p.LIST.Equals(other.LIST) { return false }
3174 if !p.ENUM.Equals(other.ENUM) { return false }
3175 if !p.DECIMAL.Equals(other.DECIMAL) { return false }
3176 if !p.DATE.Equals(other.DATE) { return false }
3177 if !p.TIME.Equals(other.TIME) { return false }
3178 if !p.TIMESTAMP.Equals(other.TIMESTAMP) { return false }
3179 if !p.INTEGER.Equals(other.INTEGER) { return false }
3180 if !p.UNKNOWN.Equals(other.UNKNOWN) { return false }
3181 if !p.JSON.Equals(other.JSON) { return false }
3182 if !p.BSON.Equals(other.BSON) { return false }
3183 if !p.UUID.Equals(other.UUID) { return false }
3184 return true
3185}
3186
3187func (p *LogicalType) String() string {
3188 if p == nil {
3189 return "<nil>"
3190 }
3191 return fmt.Sprintf("LogicalType(%+v)", *p)
3192}
3193
3194// Represents a element inside a schema definition.
3195// - if it is a group (inner node) then type is undefined and num_children is defined
3196// - if it is a primitive type (leaf) then type is defined and num_children is undefined
3197// the nodes are listed in depth first traversal order.
3198//
3199// Attributes:
3200// - Type: Data type for this field. Not set if the current element is a non-leaf node
3201// - TypeLength: If type is FIXED_LEN_BYTE_ARRAY, this is the byte length of the vales.
3202// Otherwise, if specified, this is the maximum bit length to store any of the values.
3203// (e.g. a low cardinality INT col could have this set to 3). Note that this is
3204// in the schema, and therefore fixed for the entire file.
3205// - RepetitionType: repetition of the field. The root of the schema does not have a repetition_type.
3206// All other nodes must have one
3207// - Name: Name of the field in the schema
3208// - NumChildren: Nested fields. Since thrift does not support nested fields,
3209// the nesting is flattened to a single list by a depth-first traversal.
3210// The children count is used to construct the nested relationship.
3211// This field is not set when the element is a primitive type
3212// - ConvertedType: When the schema is the result of a conversion from another model
3213// Used to record the original type to help with cross conversion.
3214// - Scale: Used when this column contains decimal data.
3215// See the DECIMAL converted type for more details.
3216// - Precision
3217// - FieldID: When the original schema supports field ids, this will save the
3218// original field id in the parquet schema
3219// - LogicalType: The logical type of this SchemaElement
3220//
3221// LogicalType replaces ConvertedType, but ConvertedType is still required
3222// for some logical types to ensure forward-compatibility in format v1.
3223type SchemaElement struct {
3224 Type *Type `thrift:"type,1" db:"type" json:"type,omitempty"`
3225 TypeLength *int32 `thrift:"type_length,2" db:"type_length" json:"type_length,omitempty"`
3226 RepetitionType *FieldRepetitionType `thrift:"repetition_type,3" db:"repetition_type" json:"repetition_type,omitempty"`
3227 Name string `thrift:"name,4,required" db:"name" json:"name"`
3228 NumChildren *int32 `thrift:"num_children,5" db:"num_children" json:"num_children,omitempty"`
3229 ConvertedType *ConvertedType `thrift:"converted_type,6" db:"converted_type" json:"converted_type,omitempty"`
3230 Scale *int32 `thrift:"scale,7" db:"scale" json:"scale,omitempty"`
3231 Precision *int32 `thrift:"precision,8" db:"precision" json:"precision,omitempty"`
3232 FieldID *int32 `thrift:"field_id,9" db:"field_id" json:"field_id,omitempty"`
3233 LogicalType *LogicalType `thrift:"logicalType,10" db:"logicalType" json:"logicalType,omitempty"`
3234}
3235
3236func NewSchemaElement() *SchemaElement {
3237 return &SchemaElement{}
3238}
3239
3240var SchemaElement_Type_DEFAULT Type
3241func (p *SchemaElement) GetType() Type {
3242 if !p.IsSetType() {
3243 return SchemaElement_Type_DEFAULT
3244 }
3245return *p.Type
3246}
3247var SchemaElement_TypeLength_DEFAULT int32
3248func (p *SchemaElement) GetTypeLength() int32 {
3249 if !p.IsSetTypeLength() {
3250 return SchemaElement_TypeLength_DEFAULT
3251 }
3252return *p.TypeLength
3253}
3254var SchemaElement_RepetitionType_DEFAULT FieldRepetitionType
3255func (p *SchemaElement) GetRepetitionType() FieldRepetitionType {
3256 if !p.IsSetRepetitionType() {
3257 return SchemaElement_RepetitionType_DEFAULT
3258 }
3259return *p.RepetitionType
3260}
3261
3262func (p *SchemaElement) GetName() string {
3263 return p.Name
3264}
3265var SchemaElement_NumChildren_DEFAULT int32
3266func (p *SchemaElement) GetNumChildren() int32 {
3267 if !p.IsSetNumChildren() {
3268 return SchemaElement_NumChildren_DEFAULT
3269 }
3270return *p.NumChildren
3271}
3272var SchemaElement_ConvertedType_DEFAULT ConvertedType
3273func (p *SchemaElement) GetConvertedType() ConvertedType {
3274 if !p.IsSetConvertedType() {
3275 return SchemaElement_ConvertedType_DEFAULT
3276 }
3277return *p.ConvertedType
3278}
3279var SchemaElement_Scale_DEFAULT int32
3280func (p *SchemaElement) GetScale() int32 {
3281 if !p.IsSetScale() {
3282 return SchemaElement_Scale_DEFAULT
3283 }
3284return *p.Scale
3285}
3286var SchemaElement_Precision_DEFAULT int32
3287func (p *SchemaElement) GetPrecision() int32 {
3288 if !p.IsSetPrecision() {
3289 return SchemaElement_Precision_DEFAULT
3290 }
3291return *p.Precision
3292}
3293var SchemaElement_FieldID_DEFAULT int32
3294func (p *SchemaElement) GetFieldID() int32 {
3295 if !p.IsSetFieldID() {
3296 return SchemaElement_FieldID_DEFAULT
3297 }
3298return *p.FieldID
3299}
3300var SchemaElement_LogicalType_DEFAULT *LogicalType
3301func (p *SchemaElement) GetLogicalType() *LogicalType {
3302 if !p.IsSetLogicalType() {
3303 return SchemaElement_LogicalType_DEFAULT
3304 }
3305return p.LogicalType
3306}
3307func (p *SchemaElement) IsSetType() bool {
3308 return p.Type != nil
3309}
3310
3311func (p *SchemaElement) IsSetTypeLength() bool {
3312 return p.TypeLength != nil
3313}
3314
3315func (p *SchemaElement) IsSetRepetitionType() bool {
3316 return p.RepetitionType != nil
3317}
3318
3319func (p *SchemaElement) IsSetNumChildren() bool {
3320 return p.NumChildren != nil
3321}
3322
3323func (p *SchemaElement) IsSetConvertedType() bool {
3324 return p.ConvertedType != nil
3325}
3326
3327func (p *SchemaElement) IsSetScale() bool {
3328 return p.Scale != nil
3329}
3330
3331func (p *SchemaElement) IsSetPrecision() bool {
3332 return p.Precision != nil
3333}
3334
3335func (p *SchemaElement) IsSetFieldID() bool {
3336 return p.FieldID != nil
3337}
3338
3339func (p *SchemaElement) IsSetLogicalType() bool {
3340 return p.LogicalType != nil
3341}
3342
3343func (p *SchemaElement) Read(ctx context.Context, iprot thrift.TProtocol) error {
3344 if _, err := iprot.ReadStructBegin(ctx); err != nil {
3345 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
3346 }
3347
3348 var issetName bool = false;
3349
3350 for {
3351 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
3352 if err != nil {
3353 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
3354 }
3355 if fieldTypeId == thrift.STOP { break; }
3356 switch fieldId {
3357 case 1:
3358 if fieldTypeId == thrift.I32 {
3359 if err := p.ReadField1(ctx, iprot); err != nil {
3360 return err
3361 }
3362 } else {
3363 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3364 return err
3365 }
3366 }
3367 case 2:
3368 if fieldTypeId == thrift.I32 {
3369 if err := p.ReadField2(ctx, iprot); err != nil {
3370 return err
3371 }
3372 } else {
3373 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3374 return err
3375 }
3376 }
3377 case 3:
3378 if fieldTypeId == thrift.I32 {
3379 if err := p.ReadField3(ctx, iprot); err != nil {
3380 return err
3381 }
3382 } else {
3383 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3384 return err
3385 }
3386 }
3387 case 4:
3388 if fieldTypeId == thrift.STRING {
3389 if err := p.ReadField4(ctx, iprot); err != nil {
3390 return err
3391 }
3392 issetName = true
3393 } else {
3394 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3395 return err
3396 }
3397 }
3398 case 5:
3399 if fieldTypeId == thrift.I32 {
3400 if err := p.ReadField5(ctx, iprot); err != nil {
3401 return err
3402 }
3403 } else {
3404 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3405 return err
3406 }
3407 }
3408 case 6:
3409 if fieldTypeId == thrift.I32 {
3410 if err := p.ReadField6(ctx, iprot); err != nil {
3411 return err
3412 }
3413 } else {
3414 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3415 return err
3416 }
3417 }
3418 case 7:
3419 if fieldTypeId == thrift.I32 {
3420 if err := p.ReadField7(ctx, iprot); err != nil {
3421 return err
3422 }
3423 } else {
3424 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3425 return err
3426 }
3427 }
3428 case 8:
3429 if fieldTypeId == thrift.I32 {
3430 if err := p.ReadField8(ctx, iprot); err != nil {
3431 return err
3432 }
3433 } else {
3434 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3435 return err
3436 }
3437 }
3438 case 9:
3439 if fieldTypeId == thrift.I32 {
3440 if err := p.ReadField9(ctx, iprot); err != nil {
3441 return err
3442 }
3443 } else {
3444 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3445 return err
3446 }
3447 }
3448 case 10:
3449 if fieldTypeId == thrift.STRUCT {
3450 if err := p.ReadField10(ctx, iprot); err != nil {
3451 return err
3452 }
3453 } else {
3454 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3455 return err
3456 }
3457 }
3458 default:
3459 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3460 return err
3461 }
3462 }
3463 if err := iprot.ReadFieldEnd(ctx); err != nil {
3464 return err
3465 }
3466 }
3467 if err := iprot.ReadStructEnd(ctx); err != nil {
3468 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
3469 }
3470 if !issetName{
3471 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Name is not set"));
3472 }
3473 return nil
3474}
3475
3476func (p *SchemaElement) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
3477 if v, err := iprot.ReadI32(ctx); err != nil {
3478 return thrift.PrependError("error reading field 1: ", err)
3479} else {
3480 temp := Type(v)
3481 p.Type = &temp
3482}
3483 return nil
3484}
3485
3486func (p *SchemaElement) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
3487 if v, err := iprot.ReadI32(ctx); err != nil {
3488 return thrift.PrependError("error reading field 2: ", err)
3489} else {
3490 p.TypeLength = &v
3491}
3492 return nil
3493}
3494
3495func (p *SchemaElement) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
3496 if v, err := iprot.ReadI32(ctx); err != nil {
3497 return thrift.PrependError("error reading field 3: ", err)
3498} else {
3499 temp := FieldRepetitionType(v)
3500 p.RepetitionType = &temp
3501}
3502 return nil
3503}
3504
3505func (p *SchemaElement) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
3506 if v, err := iprot.ReadString(ctx); err != nil {
3507 return thrift.PrependError("error reading field 4: ", err)
3508} else {
3509 p.Name = v
3510}
3511 return nil
3512}
3513
3514func (p *SchemaElement) ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
3515 if v, err := iprot.ReadI32(ctx); err != nil {
3516 return thrift.PrependError("error reading field 5: ", err)
3517} else {
3518 p.NumChildren = &v
3519}
3520 return nil
3521}
3522
3523func (p *SchemaElement) ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
3524 if v, err := iprot.ReadI32(ctx); err != nil {
3525 return thrift.PrependError("error reading field 6: ", err)
3526} else {
3527 temp := ConvertedType(v)
3528 p.ConvertedType = &temp
3529}
3530 return nil
3531}
3532
3533func (p *SchemaElement) ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
3534 if v, err := iprot.ReadI32(ctx); err != nil {
3535 return thrift.PrependError("error reading field 7: ", err)
3536} else {
3537 p.Scale = &v
3538}
3539 return nil
3540}
3541
3542func (p *SchemaElement) ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
3543 if v, err := iprot.ReadI32(ctx); err != nil {
3544 return thrift.PrependError("error reading field 8: ", err)
3545} else {
3546 p.Precision = &v
3547}
3548 return nil
3549}
3550
3551func (p *SchemaElement) ReadField9(ctx context.Context, iprot thrift.TProtocol) error {
3552 if v, err := iprot.ReadI32(ctx); err != nil {
3553 return thrift.PrependError("error reading field 9: ", err)
3554} else {
3555 p.FieldID = &v
3556}
3557 return nil
3558}
3559
3560func (p *SchemaElement) ReadField10(ctx context.Context, iprot thrift.TProtocol) error {
3561 p.LogicalType = &LogicalType{}
3562 if err := p.LogicalType.Read(ctx, iprot); err != nil {
3563 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.LogicalType), err)
3564 }
3565 return nil
3566}
3567
3568func (p *SchemaElement) Write(ctx context.Context, oprot thrift.TProtocol) error {
3569 if err := oprot.WriteStructBegin(ctx, "SchemaElement"); err != nil {
3570 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
3571 if p != nil {
3572 if err := p.writeField1(ctx, oprot); err != nil { return err }
3573 if err := p.writeField2(ctx, oprot); err != nil { return err }
3574 if err := p.writeField3(ctx, oprot); err != nil { return err }
3575 if err := p.writeField4(ctx, oprot); err != nil { return err }
3576 if err := p.writeField5(ctx, oprot); err != nil { return err }
3577 if err := p.writeField6(ctx, oprot); err != nil { return err }
3578 if err := p.writeField7(ctx, oprot); err != nil { return err }
3579 if err := p.writeField8(ctx, oprot); err != nil { return err }
3580 if err := p.writeField9(ctx, oprot); err != nil { return err }
3581 if err := p.writeField10(ctx, oprot); err != nil { return err }
3582 }
3583 if err := oprot.WriteFieldStop(ctx); err != nil {
3584 return thrift.PrependError("write field stop error: ", err) }
3585 if err := oprot.WriteStructEnd(ctx); err != nil {
3586 return thrift.PrependError("write struct stop error: ", err) }
3587 return nil
3588}
3589
3590func (p *SchemaElement) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
3591 if p.IsSetType() {
3592 if err := oprot.WriteFieldBegin(ctx, "type", thrift.I32, 1); err != nil {
3593 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:type: ", p), err) }
3594 if err := oprot.WriteI32(ctx, int32(*p.Type)); err != nil {
3595 return thrift.PrependError(fmt.Sprintf("%T.type (1) field write error: ", p), err) }
3596 if err := oprot.WriteFieldEnd(ctx); err != nil {
3597 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:type: ", p), err) }
3598 }
3599 return err
3600}
3601
3602func (p *SchemaElement) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
3603 if p.IsSetTypeLength() {
3604 if err := oprot.WriteFieldBegin(ctx, "type_length", thrift.I32, 2); err != nil {
3605 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:type_length: ", p), err) }
3606 if err := oprot.WriteI32(ctx, int32(*p.TypeLength)); err != nil {
3607 return thrift.PrependError(fmt.Sprintf("%T.type_length (2) field write error: ", p), err) }
3608 if err := oprot.WriteFieldEnd(ctx); err != nil {
3609 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:type_length: ", p), err) }
3610 }
3611 return err
3612}
3613
3614func (p *SchemaElement) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
3615 if p.IsSetRepetitionType() {
3616 if err := oprot.WriteFieldBegin(ctx, "repetition_type", thrift.I32, 3); err != nil {
3617 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:repetition_type: ", p), err) }
3618 if err := oprot.WriteI32(ctx, int32(*p.RepetitionType)); err != nil {
3619 return thrift.PrependError(fmt.Sprintf("%T.repetition_type (3) field write error: ", p), err) }
3620 if err := oprot.WriteFieldEnd(ctx); err != nil {
3621 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:repetition_type: ", p), err) }
3622 }
3623 return err
3624}
3625
3626func (p *SchemaElement) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
3627 if err := oprot.WriteFieldBegin(ctx, "name", thrift.STRING, 4); err != nil {
3628 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:name: ", p), err) }
3629 if err := oprot.WriteString(ctx, string(p.Name)); err != nil {
3630 return thrift.PrependError(fmt.Sprintf("%T.name (4) field write error: ", p), err) }
3631 if err := oprot.WriteFieldEnd(ctx); err != nil {
3632 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:name: ", p), err) }
3633 return err
3634}
3635
3636func (p *SchemaElement) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
3637 if p.IsSetNumChildren() {
3638 if err := oprot.WriteFieldBegin(ctx, "num_children", thrift.I32, 5); err != nil {
3639 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:num_children: ", p), err) }
3640 if err := oprot.WriteI32(ctx, int32(*p.NumChildren)); err != nil {
3641 return thrift.PrependError(fmt.Sprintf("%T.num_children (5) field write error: ", p), err) }
3642 if err := oprot.WriteFieldEnd(ctx); err != nil {
3643 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:num_children: ", p), err) }
3644 }
3645 return err
3646}
3647
3648func (p *SchemaElement) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
3649 if p.IsSetConvertedType() {
3650 if err := oprot.WriteFieldBegin(ctx, "converted_type", thrift.I32, 6); err != nil {
3651 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:converted_type: ", p), err) }
3652 if err := oprot.WriteI32(ctx, int32(*p.ConvertedType)); err != nil {
3653 return thrift.PrependError(fmt.Sprintf("%T.converted_type (6) field write error: ", p), err) }
3654 if err := oprot.WriteFieldEnd(ctx); err != nil {
3655 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:converted_type: ", p), err) }
3656 }
3657 return err
3658}
3659
3660func (p *SchemaElement) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
3661 if p.IsSetScale() {
3662 if err := oprot.WriteFieldBegin(ctx, "scale", thrift.I32, 7); err != nil {
3663 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:scale: ", p), err) }
3664 if err := oprot.WriteI32(ctx, int32(*p.Scale)); err != nil {
3665 return thrift.PrependError(fmt.Sprintf("%T.scale (7) field write error: ", p), err) }
3666 if err := oprot.WriteFieldEnd(ctx); err != nil {
3667 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:scale: ", p), err) }
3668 }
3669 return err
3670}
3671
3672func (p *SchemaElement) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
3673 if p.IsSetPrecision() {
3674 if err := oprot.WriteFieldBegin(ctx, "precision", thrift.I32, 8); err != nil {
3675 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:precision: ", p), err) }
3676 if err := oprot.WriteI32(ctx, int32(*p.Precision)); err != nil {
3677 return thrift.PrependError(fmt.Sprintf("%T.precision (8) field write error: ", p), err) }
3678 if err := oprot.WriteFieldEnd(ctx); err != nil {
3679 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:precision: ", p), err) }
3680 }
3681 return err
3682}
3683
3684func (p *SchemaElement) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
3685 if p.IsSetFieldID() {
3686 if err := oprot.WriteFieldBegin(ctx, "field_id", thrift.I32, 9); err != nil {
3687 return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:field_id: ", p), err) }
3688 if err := oprot.WriteI32(ctx, int32(*p.FieldID)); err != nil {
3689 return thrift.PrependError(fmt.Sprintf("%T.field_id (9) field write error: ", p), err) }
3690 if err := oprot.WriteFieldEnd(ctx); err != nil {
3691 return thrift.PrependError(fmt.Sprintf("%T write field end error 9:field_id: ", p), err) }
3692 }
3693 return err
3694}
3695
3696func (p *SchemaElement) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) {
3697 if p.IsSetLogicalType() {
3698 if err := oprot.WriteFieldBegin(ctx, "logicalType", thrift.STRUCT, 10); err != nil {
3699 return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:logicalType: ", p), err) }
3700 if err := p.LogicalType.Write(ctx, oprot); err != nil {
3701 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.LogicalType), err)
3702 }
3703 if err := oprot.WriteFieldEnd(ctx); err != nil {
3704 return thrift.PrependError(fmt.Sprintf("%T write field end error 10:logicalType: ", p), err) }
3705 }
3706 return err
3707}
3708
3709func (p *SchemaElement) Equals(other *SchemaElement) bool {
3710 if p == other {
3711 return true
3712 } else if p == nil || other == nil {
3713 return false
3714 }
3715 if p.Type != other.Type {
3716 if p.Type == nil || other.Type == nil {
3717 return false
3718 }
3719 if (*p.Type) != (*other.Type) { return false }
3720 }
3721 if p.TypeLength != other.TypeLength {
3722 if p.TypeLength == nil || other.TypeLength == nil {
3723 return false
3724 }
3725 if (*p.TypeLength) != (*other.TypeLength) { return false }
3726 }
3727 if p.RepetitionType != other.RepetitionType {
3728 if p.RepetitionType == nil || other.RepetitionType == nil {
3729 return false
3730 }
3731 if (*p.RepetitionType) != (*other.RepetitionType) { return false }
3732 }
3733 if p.Name != other.Name { return false }
3734 if p.NumChildren != other.NumChildren {
3735 if p.NumChildren == nil || other.NumChildren == nil {
3736 return false
3737 }
3738 if (*p.NumChildren) != (*other.NumChildren) { return false }
3739 }
3740 if p.ConvertedType != other.ConvertedType {
3741 if p.ConvertedType == nil || other.ConvertedType == nil {
3742 return false
3743 }
3744 if (*p.ConvertedType) != (*other.ConvertedType) { return false }
3745 }
3746 if p.Scale != other.Scale {
3747 if p.Scale == nil || other.Scale == nil {
3748 return false
3749 }
3750 if (*p.Scale) != (*other.Scale) { return false }
3751 }
3752 if p.Precision != other.Precision {
3753 if p.Precision == nil || other.Precision == nil {
3754 return false
3755 }
3756 if (*p.Precision) != (*other.Precision) { return false }
3757 }
3758 if p.FieldID != other.FieldID {
3759 if p.FieldID == nil || other.FieldID == nil {
3760 return false
3761 }
3762 if (*p.FieldID) != (*other.FieldID) { return false }
3763 }
3764 if !p.LogicalType.Equals(other.LogicalType) { return false }
3765 return true
3766}
3767
3768func (p *SchemaElement) String() string {
3769 if p == nil {
3770 return "<nil>"
3771 }
3772 return fmt.Sprintf("SchemaElement(%+v)", *p)
3773}
3774
3775// Data page header
3776//
3777// Attributes:
3778// - NumValues: Number of values, including NULLs, in this data page. *
3779// - Encoding: Encoding used for this data page *
3780// - DefinitionLevelEncoding: Encoding used for definition levels *
3781// - RepetitionLevelEncoding: Encoding used for repetition levels *
3782// - Statistics: Optional statistics for the data in this page*
3783type DataPageHeader struct {
3784 NumValues int32 `thrift:"num_values,1,required" db:"num_values" json:"num_values"`
3785 Encoding Encoding `thrift:"encoding,2,required" db:"encoding" json:"encoding"`
3786 DefinitionLevelEncoding Encoding `thrift:"definition_level_encoding,3,required" db:"definition_level_encoding" json:"definition_level_encoding"`
3787 RepetitionLevelEncoding Encoding `thrift:"repetition_level_encoding,4,required" db:"repetition_level_encoding" json:"repetition_level_encoding"`
3788 Statistics *Statistics `thrift:"statistics,5" db:"statistics" json:"statistics,omitempty"`
3789}
3790
3791func NewDataPageHeader() *DataPageHeader {
3792 return &DataPageHeader{}
3793}
3794
3795
3796func (p *DataPageHeader) GetNumValues() int32 {
3797 return p.NumValues
3798}
3799
3800func (p *DataPageHeader) GetEncoding() Encoding {
3801 return p.Encoding
3802}
3803
3804func (p *DataPageHeader) GetDefinitionLevelEncoding() Encoding {
3805 return p.DefinitionLevelEncoding
3806}
3807
3808func (p *DataPageHeader) GetRepetitionLevelEncoding() Encoding {
3809 return p.RepetitionLevelEncoding
3810}
3811var DataPageHeader_Statistics_DEFAULT *Statistics
3812func (p *DataPageHeader) GetStatistics() *Statistics {
3813 if !p.IsSetStatistics() {
3814 return DataPageHeader_Statistics_DEFAULT
3815 }
3816return p.Statistics
3817}
3818func (p *DataPageHeader) IsSetStatistics() bool {
3819 return p.Statistics != nil
3820}
3821
3822func (p *DataPageHeader) Read(ctx context.Context, iprot thrift.TProtocol) error {
3823 if _, err := iprot.ReadStructBegin(ctx); err != nil {
3824 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
3825 }
3826
3827 var issetNumValues bool = false;
3828 var issetEncoding bool = false;
3829 var issetDefinitionLevelEncoding bool = false;
3830 var issetRepetitionLevelEncoding bool = false;
3831
3832 for {
3833 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
3834 if err != nil {
3835 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
3836 }
3837 if fieldTypeId == thrift.STOP { break; }
3838 switch fieldId {
3839 case 1:
3840 if fieldTypeId == thrift.I32 {
3841 if err := p.ReadField1(ctx, iprot); err != nil {
3842 return err
3843 }
3844 issetNumValues = true
3845 } else {
3846 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3847 return err
3848 }
3849 }
3850 case 2:
3851 if fieldTypeId == thrift.I32 {
3852 if err := p.ReadField2(ctx, iprot); err != nil {
3853 return err
3854 }
3855 issetEncoding = true
3856 } else {
3857 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3858 return err
3859 }
3860 }
3861 case 3:
3862 if fieldTypeId == thrift.I32 {
3863 if err := p.ReadField3(ctx, iprot); err != nil {
3864 return err
3865 }
3866 issetDefinitionLevelEncoding = true
3867 } else {
3868 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3869 return err
3870 }
3871 }
3872 case 4:
3873 if fieldTypeId == thrift.I32 {
3874 if err := p.ReadField4(ctx, iprot); err != nil {
3875 return err
3876 }
3877 issetRepetitionLevelEncoding = true
3878 } else {
3879 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3880 return err
3881 }
3882 }
3883 case 5:
3884 if fieldTypeId == thrift.STRUCT {
3885 if err := p.ReadField5(ctx, iprot); err != nil {
3886 return err
3887 }
3888 } else {
3889 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3890 return err
3891 }
3892 }
3893 default:
3894 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
3895 return err
3896 }
3897 }
3898 if err := iprot.ReadFieldEnd(ctx); err != nil {
3899 return err
3900 }
3901 }
3902 if err := iprot.ReadStructEnd(ctx); err != nil {
3903 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
3904 }
3905 if !issetNumValues{
3906 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumValues is not set"));
3907 }
3908 if !issetEncoding{
3909 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encoding is not set"));
3910 }
3911 if !issetDefinitionLevelEncoding{
3912 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DefinitionLevelEncoding is not set"));
3913 }
3914 if !issetRepetitionLevelEncoding{
3915 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field RepetitionLevelEncoding is not set"));
3916 }
3917 return nil
3918}
3919
3920func (p *DataPageHeader) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
3921 if v, err := iprot.ReadI32(ctx); err != nil {
3922 return thrift.PrependError("error reading field 1: ", err)
3923} else {
3924 p.NumValues = v
3925}
3926 return nil
3927}
3928
3929func (p *DataPageHeader) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
3930 if v, err := iprot.ReadI32(ctx); err != nil {
3931 return thrift.PrependError("error reading field 2: ", err)
3932} else {
3933 temp := Encoding(v)
3934 p.Encoding = temp
3935}
3936 return nil
3937}
3938
3939func (p *DataPageHeader) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
3940 if v, err := iprot.ReadI32(ctx); err != nil {
3941 return thrift.PrependError("error reading field 3: ", err)
3942} else {
3943 temp := Encoding(v)
3944 p.DefinitionLevelEncoding = temp
3945}
3946 return nil
3947}
3948
3949func (p *DataPageHeader) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
3950 if v, err := iprot.ReadI32(ctx); err != nil {
3951 return thrift.PrependError("error reading field 4: ", err)
3952} else {
3953 temp := Encoding(v)
3954 p.RepetitionLevelEncoding = temp
3955}
3956 return nil
3957}
3958
3959func (p *DataPageHeader) ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
3960 p.Statistics = &Statistics{}
3961 if err := p.Statistics.Read(ctx, iprot); err != nil {
3962 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Statistics), err)
3963 }
3964 return nil
3965}
3966
3967func (p *DataPageHeader) Write(ctx context.Context, oprot thrift.TProtocol) error {
3968 if err := oprot.WriteStructBegin(ctx, "DataPageHeader"); err != nil {
3969 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
3970 if p != nil {
3971 if err := p.writeField1(ctx, oprot); err != nil { return err }
3972 if err := p.writeField2(ctx, oprot); err != nil { return err }
3973 if err := p.writeField3(ctx, oprot); err != nil { return err }
3974 if err := p.writeField4(ctx, oprot); err != nil { return err }
3975 if err := p.writeField5(ctx, oprot); err != nil { return err }
3976 }
3977 if err := oprot.WriteFieldStop(ctx); err != nil {
3978 return thrift.PrependError("write field stop error: ", err) }
3979 if err := oprot.WriteStructEnd(ctx); err != nil {
3980 return thrift.PrependError("write struct stop error: ", err) }
3981 return nil
3982}
3983
3984func (p *DataPageHeader) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
3985 if err := oprot.WriteFieldBegin(ctx, "num_values", thrift.I32, 1); err != nil {
3986 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:num_values: ", p), err) }
3987 if err := oprot.WriteI32(ctx, int32(p.NumValues)); err != nil {
3988 return thrift.PrependError(fmt.Sprintf("%T.num_values (1) field write error: ", p), err) }
3989 if err := oprot.WriteFieldEnd(ctx); err != nil {
3990 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:num_values: ", p), err) }
3991 return err
3992}
3993
3994func (p *DataPageHeader) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
3995 if err := oprot.WriteFieldBegin(ctx, "encoding", thrift.I32, 2); err != nil {
3996 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:encoding: ", p), err) }
3997 if err := oprot.WriteI32(ctx, int32(p.Encoding)); err != nil {
3998 return thrift.PrependError(fmt.Sprintf("%T.encoding (2) field write error: ", p), err) }
3999 if err := oprot.WriteFieldEnd(ctx); err != nil {
4000 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:encoding: ", p), err) }
4001 return err
4002}
4003
4004func (p *DataPageHeader) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
4005 if err := oprot.WriteFieldBegin(ctx, "definition_level_encoding", thrift.I32, 3); err != nil {
4006 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:definition_level_encoding: ", p), err) }
4007 if err := oprot.WriteI32(ctx, int32(p.DefinitionLevelEncoding)); err != nil {
4008 return thrift.PrependError(fmt.Sprintf("%T.definition_level_encoding (3) field write error: ", p), err) }
4009 if err := oprot.WriteFieldEnd(ctx); err != nil {
4010 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:definition_level_encoding: ", p), err) }
4011 return err
4012}
4013
4014func (p *DataPageHeader) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
4015 if err := oprot.WriteFieldBegin(ctx, "repetition_level_encoding", thrift.I32, 4); err != nil {
4016 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:repetition_level_encoding: ", p), err) }
4017 if err := oprot.WriteI32(ctx, int32(p.RepetitionLevelEncoding)); err != nil {
4018 return thrift.PrependError(fmt.Sprintf("%T.repetition_level_encoding (4) field write error: ", p), err) }
4019 if err := oprot.WriteFieldEnd(ctx); err != nil {
4020 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:repetition_level_encoding: ", p), err) }
4021 return err
4022}
4023
4024func (p *DataPageHeader) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
4025 if p.IsSetStatistics() {
4026 if err := oprot.WriteFieldBegin(ctx, "statistics", thrift.STRUCT, 5); err != nil {
4027 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:statistics: ", p), err) }
4028 if err := p.Statistics.Write(ctx, oprot); err != nil {
4029 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Statistics), err)
4030 }
4031 if err := oprot.WriteFieldEnd(ctx); err != nil {
4032 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:statistics: ", p), err) }
4033 }
4034 return err
4035}
4036
4037func (p *DataPageHeader) Equals(other *DataPageHeader) bool {
4038 if p == other {
4039 return true
4040 } else if p == nil || other == nil {
4041 return false
4042 }
4043 if p.NumValues != other.NumValues { return false }
4044 if p.Encoding != other.Encoding { return false }
4045 if p.DefinitionLevelEncoding != other.DefinitionLevelEncoding { return false }
4046 if p.RepetitionLevelEncoding != other.RepetitionLevelEncoding { return false }
4047 if !p.Statistics.Equals(other.Statistics) { return false }
4048 return true
4049}
4050
4051func (p *DataPageHeader) String() string {
4052 if p == nil {
4053 return "<nil>"
4054 }
4055 return fmt.Sprintf("DataPageHeader(%+v)", *p)
4056}
4057
4058type IndexPageHeader struct {
4059}
4060
4061func NewIndexPageHeader() *IndexPageHeader {
4062 return &IndexPageHeader{}
4063}
4064
4065func (p *IndexPageHeader) Read(ctx context.Context, iprot thrift.TProtocol) error {
4066 if _, err := iprot.ReadStructBegin(ctx); err != nil {
4067 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
4068 }
4069
4070
4071 for {
4072 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
4073 if err != nil {
4074 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
4075 }
4076 if fieldTypeId == thrift.STOP { break; }
4077 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4078 return err
4079 }
4080 if err := iprot.ReadFieldEnd(ctx); err != nil {
4081 return err
4082 }
4083 }
4084 if err := iprot.ReadStructEnd(ctx); err != nil {
4085 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
4086 }
4087 return nil
4088}
4089
4090func (p *IndexPageHeader) Write(ctx context.Context, oprot thrift.TProtocol) error {
4091 if err := oprot.WriteStructBegin(ctx, "IndexPageHeader"); err != nil {
4092 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
4093 if p != nil {
4094 }
4095 if err := oprot.WriteFieldStop(ctx); err != nil {
4096 return thrift.PrependError("write field stop error: ", err) }
4097 if err := oprot.WriteStructEnd(ctx); err != nil {
4098 return thrift.PrependError("write struct stop error: ", err) }
4099 return nil
4100}
4101
4102func (p *IndexPageHeader) Equals(other *IndexPageHeader) bool {
4103 if p == other {
4104 return true
4105 } else if p == nil || other == nil {
4106 return false
4107 }
4108 return true
4109}
4110
4111func (p *IndexPageHeader) String() string {
4112 if p == nil {
4113 return "<nil>"
4114 }
4115 return fmt.Sprintf("IndexPageHeader(%+v)", *p)
4116}
4117
4118// Attributes:
4119// - NumValues: Number of values in the dictionary *
4120// - Encoding: Encoding using this dictionary page *
4121// - IsSorted: If true, the entries in the dictionary are sorted in ascending order *
4122type DictionaryPageHeader struct {
4123 NumValues int32 `thrift:"num_values,1,required" db:"num_values" json:"num_values"`
4124 Encoding Encoding `thrift:"encoding,2,required" db:"encoding" json:"encoding"`
4125 IsSorted *bool `thrift:"is_sorted,3" db:"is_sorted" json:"is_sorted,omitempty"`
4126}
4127
4128func NewDictionaryPageHeader() *DictionaryPageHeader {
4129 return &DictionaryPageHeader{}
4130}
4131
4132
4133func (p *DictionaryPageHeader) GetNumValues() int32 {
4134 return p.NumValues
4135}
4136
4137func (p *DictionaryPageHeader) GetEncoding() Encoding {
4138 return p.Encoding
4139}
4140var DictionaryPageHeader_IsSorted_DEFAULT bool
4141func (p *DictionaryPageHeader) GetIsSorted() bool {
4142 if !p.IsSetIsSorted() {
4143 return DictionaryPageHeader_IsSorted_DEFAULT
4144 }
4145return *p.IsSorted
4146}
4147func (p *DictionaryPageHeader) IsSetIsSorted() bool {
4148 return p.IsSorted != nil
4149}
4150
4151func (p *DictionaryPageHeader) Read(ctx context.Context, iprot thrift.TProtocol) error {
4152 if _, err := iprot.ReadStructBegin(ctx); err != nil {
4153 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
4154 }
4155
4156 var issetNumValues bool = false;
4157 var issetEncoding bool = false;
4158
4159 for {
4160 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
4161 if err != nil {
4162 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
4163 }
4164 if fieldTypeId == thrift.STOP { break; }
4165 switch fieldId {
4166 case 1:
4167 if fieldTypeId == thrift.I32 {
4168 if err := p.ReadField1(ctx, iprot); err != nil {
4169 return err
4170 }
4171 issetNumValues = true
4172 } else {
4173 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4174 return err
4175 }
4176 }
4177 case 2:
4178 if fieldTypeId == thrift.I32 {
4179 if err := p.ReadField2(ctx, iprot); err != nil {
4180 return err
4181 }
4182 issetEncoding = true
4183 } else {
4184 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4185 return err
4186 }
4187 }
4188 case 3:
4189 if fieldTypeId == thrift.BOOL {
4190 if err := p.ReadField3(ctx, iprot); err != nil {
4191 return err
4192 }
4193 } else {
4194 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4195 return err
4196 }
4197 }
4198 default:
4199 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4200 return err
4201 }
4202 }
4203 if err := iprot.ReadFieldEnd(ctx); err != nil {
4204 return err
4205 }
4206 }
4207 if err := iprot.ReadStructEnd(ctx); err != nil {
4208 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
4209 }
4210 if !issetNumValues{
4211 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumValues is not set"));
4212 }
4213 if !issetEncoding{
4214 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encoding is not set"));
4215 }
4216 return nil
4217}
4218
4219func (p *DictionaryPageHeader) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
4220 if v, err := iprot.ReadI32(ctx); err != nil {
4221 return thrift.PrependError("error reading field 1: ", err)
4222} else {
4223 p.NumValues = v
4224}
4225 return nil
4226}
4227
4228func (p *DictionaryPageHeader) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
4229 if v, err := iprot.ReadI32(ctx); err != nil {
4230 return thrift.PrependError("error reading field 2: ", err)
4231} else {
4232 temp := Encoding(v)
4233 p.Encoding = temp
4234}
4235 return nil
4236}
4237
4238func (p *DictionaryPageHeader) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
4239 if v, err := iprot.ReadBool(ctx); err != nil {
4240 return thrift.PrependError("error reading field 3: ", err)
4241} else {
4242 p.IsSorted = &v
4243}
4244 return nil
4245}
4246
4247func (p *DictionaryPageHeader) Write(ctx context.Context, oprot thrift.TProtocol) error {
4248 if err := oprot.WriteStructBegin(ctx, "DictionaryPageHeader"); err != nil {
4249 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
4250 if p != nil {
4251 if err := p.writeField1(ctx, oprot); err != nil { return err }
4252 if err := p.writeField2(ctx, oprot); err != nil { return err }
4253 if err := p.writeField3(ctx, oprot); err != nil { return err }
4254 }
4255 if err := oprot.WriteFieldStop(ctx); err != nil {
4256 return thrift.PrependError("write field stop error: ", err) }
4257 if err := oprot.WriteStructEnd(ctx); err != nil {
4258 return thrift.PrependError("write struct stop error: ", err) }
4259 return nil
4260}
4261
4262func (p *DictionaryPageHeader) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
4263 if err := oprot.WriteFieldBegin(ctx, "num_values", thrift.I32, 1); err != nil {
4264 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:num_values: ", p), err) }
4265 if err := oprot.WriteI32(ctx, int32(p.NumValues)); err != nil {
4266 return thrift.PrependError(fmt.Sprintf("%T.num_values (1) field write error: ", p), err) }
4267 if err := oprot.WriteFieldEnd(ctx); err != nil {
4268 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:num_values: ", p), err) }
4269 return err
4270}
4271
4272func (p *DictionaryPageHeader) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
4273 if err := oprot.WriteFieldBegin(ctx, "encoding", thrift.I32, 2); err != nil {
4274 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:encoding: ", p), err) }
4275 if err := oprot.WriteI32(ctx, int32(p.Encoding)); err != nil {
4276 return thrift.PrependError(fmt.Sprintf("%T.encoding (2) field write error: ", p), err) }
4277 if err := oprot.WriteFieldEnd(ctx); err != nil {
4278 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:encoding: ", p), err) }
4279 return err
4280}
4281
4282func (p *DictionaryPageHeader) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
4283 if p.IsSetIsSorted() {
4284 if err := oprot.WriteFieldBegin(ctx, "is_sorted", thrift.BOOL, 3); err != nil {
4285 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:is_sorted: ", p), err) }
4286 if err := oprot.WriteBool(ctx, bool(*p.IsSorted)); err != nil {
4287 return thrift.PrependError(fmt.Sprintf("%T.is_sorted (3) field write error: ", p), err) }
4288 if err := oprot.WriteFieldEnd(ctx); err != nil {
4289 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:is_sorted: ", p), err) }
4290 }
4291 return err
4292}
4293
4294func (p *DictionaryPageHeader) Equals(other *DictionaryPageHeader) bool {
4295 if p == other {
4296 return true
4297 } else if p == nil || other == nil {
4298 return false
4299 }
4300 if p.NumValues != other.NumValues { return false }
4301 if p.Encoding != other.Encoding { return false }
4302 if p.IsSorted != other.IsSorted {
4303 if p.IsSorted == nil || other.IsSorted == nil {
4304 return false
4305 }
4306 if (*p.IsSorted) != (*other.IsSorted) { return false }
4307 }
4308 return true
4309}
4310
4311func (p *DictionaryPageHeader) String() string {
4312 if p == nil {
4313 return "<nil>"
4314 }
4315 return fmt.Sprintf("DictionaryPageHeader(%+v)", *p)
4316}
4317
4318// New page format allowing reading levels without decompressing the data
4319// Repetition and definition levels are uncompressed
4320// The remaining section containing the data is compressed if is_compressed is true
4321//
4322//
4323// Attributes:
4324// - NumValues: Number of values, including NULLs, in this data page. *
4325// - NumNulls: Number of NULL values, in this data page.
4326// Number of non-null = num_values - num_nulls which is also the number of values in the data section *
4327// - NumRows: Number of rows in this data page. which means pages change on record boundaries (r = 0) *
4328// - Encoding: Encoding used for data in this page *
4329// - DefinitionLevelsByteLength: length of the definition levels
4330// - RepetitionLevelsByteLength: length of the repetition levels
4331// - IsCompressed: whether the values are compressed.
4332// Which means the section of the page between
4333// definition_levels_byte_length + repetition_levels_byte_length + 1 and compressed_page_size (included)
4334// is compressed with the compression_codec.
4335// If missing it is considered compressed
4336// - Statistics: optional statistics for this column chunk
4337type DataPageHeaderV2 struct {
4338 NumValues int32 `thrift:"num_values,1,required" db:"num_values" json:"num_values"`
4339 NumNulls int32 `thrift:"num_nulls,2,required" db:"num_nulls" json:"num_nulls"`
4340 NumRows int32 `thrift:"num_rows,3,required" db:"num_rows" json:"num_rows"`
4341 Encoding Encoding `thrift:"encoding,4,required" db:"encoding" json:"encoding"`
4342 DefinitionLevelsByteLength int32 `thrift:"definition_levels_byte_length,5,required" db:"definition_levels_byte_length" json:"definition_levels_byte_length"`
4343 RepetitionLevelsByteLength int32 `thrift:"repetition_levels_byte_length,6,required" db:"repetition_levels_byte_length" json:"repetition_levels_byte_length"`
4344 IsCompressed bool `thrift:"is_compressed,7" db:"is_compressed" json:"is_compressed"`
4345 Statistics *Statistics `thrift:"statistics,8" db:"statistics" json:"statistics,omitempty"`
4346}
4347
4348func NewDataPageHeaderV2() *DataPageHeaderV2 {
4349 return &DataPageHeaderV2{
4350IsCompressed: true,
4351}
4352}
4353
4354
4355func (p *DataPageHeaderV2) GetNumValues() int32 {
4356 return p.NumValues
4357}
4358
4359func (p *DataPageHeaderV2) GetNumNulls() int32 {
4360 return p.NumNulls
4361}
4362
4363func (p *DataPageHeaderV2) GetNumRows() int32 {
4364 return p.NumRows
4365}
4366
4367func (p *DataPageHeaderV2) GetEncoding() Encoding {
4368 return p.Encoding
4369}
4370
4371func (p *DataPageHeaderV2) GetDefinitionLevelsByteLength() int32 {
4372 return p.DefinitionLevelsByteLength
4373}
4374
4375func (p *DataPageHeaderV2) GetRepetitionLevelsByteLength() int32 {
4376 return p.RepetitionLevelsByteLength
4377}
4378var DataPageHeaderV2_IsCompressed_DEFAULT bool = true
4379
4380func (p *DataPageHeaderV2) GetIsCompressed() bool {
4381 return p.IsCompressed
4382}
4383var DataPageHeaderV2_Statistics_DEFAULT *Statistics
4384func (p *DataPageHeaderV2) GetStatistics() *Statistics {
4385 if !p.IsSetStatistics() {
4386 return DataPageHeaderV2_Statistics_DEFAULT
4387 }
4388return p.Statistics
4389}
4390func (p *DataPageHeaderV2) IsSetIsCompressed() bool {
4391 return p.IsCompressed != DataPageHeaderV2_IsCompressed_DEFAULT
4392}
4393
4394func (p *DataPageHeaderV2) IsSetStatistics() bool {
4395 return p.Statistics != nil
4396}
4397
4398func (p *DataPageHeaderV2) Read(ctx context.Context, iprot thrift.TProtocol) error {
4399 if _, err := iprot.ReadStructBegin(ctx); err != nil {
4400 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
4401 }
4402
4403 var issetNumValues bool = false;
4404 var issetNumNulls bool = false;
4405 var issetNumRows bool = false;
4406 var issetEncoding bool = false;
4407 var issetDefinitionLevelsByteLength bool = false;
4408 var issetRepetitionLevelsByteLength bool = false;
4409
4410 for {
4411 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
4412 if err != nil {
4413 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
4414 }
4415 if fieldTypeId == thrift.STOP { break; }
4416 switch fieldId {
4417 case 1:
4418 if fieldTypeId == thrift.I32 {
4419 if err := p.ReadField1(ctx, iprot); err != nil {
4420 return err
4421 }
4422 issetNumValues = true
4423 } else {
4424 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4425 return err
4426 }
4427 }
4428 case 2:
4429 if fieldTypeId == thrift.I32 {
4430 if err := p.ReadField2(ctx, iprot); err != nil {
4431 return err
4432 }
4433 issetNumNulls = true
4434 } else {
4435 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4436 return err
4437 }
4438 }
4439 case 3:
4440 if fieldTypeId == thrift.I32 {
4441 if err := p.ReadField3(ctx, iprot); err != nil {
4442 return err
4443 }
4444 issetNumRows = true
4445 } else {
4446 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4447 return err
4448 }
4449 }
4450 case 4:
4451 if fieldTypeId == thrift.I32 {
4452 if err := p.ReadField4(ctx, iprot); err != nil {
4453 return err
4454 }
4455 issetEncoding = true
4456 } else {
4457 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4458 return err
4459 }
4460 }
4461 case 5:
4462 if fieldTypeId == thrift.I32 {
4463 if err := p.ReadField5(ctx, iprot); err != nil {
4464 return err
4465 }
4466 issetDefinitionLevelsByteLength = true
4467 } else {
4468 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4469 return err
4470 }
4471 }
4472 case 6:
4473 if fieldTypeId == thrift.I32 {
4474 if err := p.ReadField6(ctx, iprot); err != nil {
4475 return err
4476 }
4477 issetRepetitionLevelsByteLength = true
4478 } else {
4479 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4480 return err
4481 }
4482 }
4483 case 7:
4484 if fieldTypeId == thrift.BOOL {
4485 if err := p.ReadField7(ctx, iprot); err != nil {
4486 return err
4487 }
4488 } else {
4489 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4490 return err
4491 }
4492 }
4493 case 8:
4494 if fieldTypeId == thrift.STRUCT {
4495 if err := p.ReadField8(ctx, iprot); err != nil {
4496 return err
4497 }
4498 } else {
4499 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4500 return err
4501 }
4502 }
4503 default:
4504 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4505 return err
4506 }
4507 }
4508 if err := iprot.ReadFieldEnd(ctx); err != nil {
4509 return err
4510 }
4511 }
4512 if err := iprot.ReadStructEnd(ctx); err != nil {
4513 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
4514 }
4515 if !issetNumValues{
4516 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumValues is not set"));
4517 }
4518 if !issetNumNulls{
4519 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumNulls is not set"));
4520 }
4521 if !issetNumRows{
4522 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumRows is not set"));
4523 }
4524 if !issetEncoding{
4525 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encoding is not set"));
4526 }
4527 if !issetDefinitionLevelsByteLength{
4528 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DefinitionLevelsByteLength is not set"));
4529 }
4530 if !issetRepetitionLevelsByteLength{
4531 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field RepetitionLevelsByteLength is not set"));
4532 }
4533 return nil
4534}
4535
4536func (p *DataPageHeaderV2) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
4537 if v, err := iprot.ReadI32(ctx); err != nil {
4538 return thrift.PrependError("error reading field 1: ", err)
4539} else {
4540 p.NumValues = v
4541}
4542 return nil
4543}
4544
4545func (p *DataPageHeaderV2) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
4546 if v, err := iprot.ReadI32(ctx); err != nil {
4547 return thrift.PrependError("error reading field 2: ", err)
4548} else {
4549 p.NumNulls = v
4550}
4551 return nil
4552}
4553
4554func (p *DataPageHeaderV2) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
4555 if v, err := iprot.ReadI32(ctx); err != nil {
4556 return thrift.PrependError("error reading field 3: ", err)
4557} else {
4558 p.NumRows = v
4559}
4560 return nil
4561}
4562
4563func (p *DataPageHeaderV2) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
4564 if v, err := iprot.ReadI32(ctx); err != nil {
4565 return thrift.PrependError("error reading field 4: ", err)
4566} else {
4567 temp := Encoding(v)
4568 p.Encoding = temp
4569}
4570 return nil
4571}
4572
4573func (p *DataPageHeaderV2) ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
4574 if v, err := iprot.ReadI32(ctx); err != nil {
4575 return thrift.PrependError("error reading field 5: ", err)
4576} else {
4577 p.DefinitionLevelsByteLength = v
4578}
4579 return nil
4580}
4581
4582func (p *DataPageHeaderV2) ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
4583 if v, err := iprot.ReadI32(ctx); err != nil {
4584 return thrift.PrependError("error reading field 6: ", err)
4585} else {
4586 p.RepetitionLevelsByteLength = v
4587}
4588 return nil
4589}
4590
4591func (p *DataPageHeaderV2) ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
4592 if v, err := iprot.ReadBool(ctx); err != nil {
4593 return thrift.PrependError("error reading field 7: ", err)
4594} else {
4595 p.IsCompressed = v
4596}
4597 return nil
4598}
4599
4600func (p *DataPageHeaderV2) ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
4601 p.Statistics = &Statistics{}
4602 if err := p.Statistics.Read(ctx, iprot); err != nil {
4603 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Statistics), err)
4604 }
4605 return nil
4606}
4607
4608func (p *DataPageHeaderV2) Write(ctx context.Context, oprot thrift.TProtocol) error {
4609 if err := oprot.WriteStructBegin(ctx, "DataPageHeaderV2"); err != nil {
4610 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
4611 if p != nil {
4612 if err := p.writeField1(ctx, oprot); err != nil { return err }
4613 if err := p.writeField2(ctx, oprot); err != nil { return err }
4614 if err := p.writeField3(ctx, oprot); err != nil { return err }
4615 if err := p.writeField4(ctx, oprot); err != nil { return err }
4616 if err := p.writeField5(ctx, oprot); err != nil { return err }
4617 if err := p.writeField6(ctx, oprot); err != nil { return err }
4618 if err := p.writeField7(ctx, oprot); err != nil { return err }
4619 if err := p.writeField8(ctx, oprot); err != nil { return err }
4620 }
4621 if err := oprot.WriteFieldStop(ctx); err != nil {
4622 return thrift.PrependError("write field stop error: ", err) }
4623 if err := oprot.WriteStructEnd(ctx); err != nil {
4624 return thrift.PrependError("write struct stop error: ", err) }
4625 return nil
4626}
4627
4628func (p *DataPageHeaderV2) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
4629 if err := oprot.WriteFieldBegin(ctx, "num_values", thrift.I32, 1); err != nil {
4630 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:num_values: ", p), err) }
4631 if err := oprot.WriteI32(ctx, int32(p.NumValues)); err != nil {
4632 return thrift.PrependError(fmt.Sprintf("%T.num_values (1) field write error: ", p), err) }
4633 if err := oprot.WriteFieldEnd(ctx); err != nil {
4634 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:num_values: ", p), err) }
4635 return err
4636}
4637
4638func (p *DataPageHeaderV2) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
4639 if err := oprot.WriteFieldBegin(ctx, "num_nulls", thrift.I32, 2); err != nil {
4640 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:num_nulls: ", p), err) }
4641 if err := oprot.WriteI32(ctx, int32(p.NumNulls)); err != nil {
4642 return thrift.PrependError(fmt.Sprintf("%T.num_nulls (2) field write error: ", p), err) }
4643 if err := oprot.WriteFieldEnd(ctx); err != nil {
4644 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:num_nulls: ", p), err) }
4645 return err
4646}
4647
4648func (p *DataPageHeaderV2) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
4649 if err := oprot.WriteFieldBegin(ctx, "num_rows", thrift.I32, 3); err != nil {
4650 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:num_rows: ", p), err) }
4651 if err := oprot.WriteI32(ctx, int32(p.NumRows)); err != nil {
4652 return thrift.PrependError(fmt.Sprintf("%T.num_rows (3) field write error: ", p), err) }
4653 if err := oprot.WriteFieldEnd(ctx); err != nil {
4654 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:num_rows: ", p), err) }
4655 return err
4656}
4657
4658func (p *DataPageHeaderV2) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
4659 if err := oprot.WriteFieldBegin(ctx, "encoding", thrift.I32, 4); err != nil {
4660 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:encoding: ", p), err) }
4661 if err := oprot.WriteI32(ctx, int32(p.Encoding)); err != nil {
4662 return thrift.PrependError(fmt.Sprintf("%T.encoding (4) field write error: ", p), err) }
4663 if err := oprot.WriteFieldEnd(ctx); err != nil {
4664 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:encoding: ", p), err) }
4665 return err
4666}
4667
4668func (p *DataPageHeaderV2) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
4669 if err := oprot.WriteFieldBegin(ctx, "definition_levels_byte_length", thrift.I32, 5); err != nil {
4670 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:definition_levels_byte_length: ", p), err) }
4671 if err := oprot.WriteI32(ctx, int32(p.DefinitionLevelsByteLength)); err != nil {
4672 return thrift.PrependError(fmt.Sprintf("%T.definition_levels_byte_length (5) field write error: ", p), err) }
4673 if err := oprot.WriteFieldEnd(ctx); err != nil {
4674 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:definition_levels_byte_length: ", p), err) }
4675 return err
4676}
4677
4678func (p *DataPageHeaderV2) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
4679 if err := oprot.WriteFieldBegin(ctx, "repetition_levels_byte_length", thrift.I32, 6); err != nil {
4680 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:repetition_levels_byte_length: ", p), err) }
4681 if err := oprot.WriteI32(ctx, int32(p.RepetitionLevelsByteLength)); err != nil {
4682 return thrift.PrependError(fmt.Sprintf("%T.repetition_levels_byte_length (6) field write error: ", p), err) }
4683 if err := oprot.WriteFieldEnd(ctx); err != nil {
4684 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:repetition_levels_byte_length: ", p), err) }
4685 return err
4686}
4687
4688func (p *DataPageHeaderV2) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
4689 if p.IsSetIsCompressed() {
4690 if err := oprot.WriteFieldBegin(ctx, "is_compressed", thrift.BOOL, 7); err != nil {
4691 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:is_compressed: ", p), err) }
4692 if err := oprot.WriteBool(ctx, bool(p.IsCompressed)); err != nil {
4693 return thrift.PrependError(fmt.Sprintf("%T.is_compressed (7) field write error: ", p), err) }
4694 if err := oprot.WriteFieldEnd(ctx); err != nil {
4695 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:is_compressed: ", p), err) }
4696 }
4697 return err
4698}
4699
4700func (p *DataPageHeaderV2) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
4701 if p.IsSetStatistics() {
4702 if err := oprot.WriteFieldBegin(ctx, "statistics", thrift.STRUCT, 8); err != nil {
4703 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:statistics: ", p), err) }
4704 if err := p.Statistics.Write(ctx, oprot); err != nil {
4705 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Statistics), err)
4706 }
4707 if err := oprot.WriteFieldEnd(ctx); err != nil {
4708 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:statistics: ", p), err) }
4709 }
4710 return err
4711}
4712
4713func (p *DataPageHeaderV2) Equals(other *DataPageHeaderV2) bool {
4714 if p == other {
4715 return true
4716 } else if p == nil || other == nil {
4717 return false
4718 }
4719 if p.NumValues != other.NumValues { return false }
4720 if p.NumNulls != other.NumNulls { return false }
4721 if p.NumRows != other.NumRows { return false }
4722 if p.Encoding != other.Encoding { return false }
4723 if p.DefinitionLevelsByteLength != other.DefinitionLevelsByteLength { return false }
4724 if p.RepetitionLevelsByteLength != other.RepetitionLevelsByteLength { return false }
4725 if p.IsCompressed != other.IsCompressed { return false }
4726 if !p.Statistics.Equals(other.Statistics) { return false }
4727 return true
4728}
4729
4730func (p *DataPageHeaderV2) String() string {
4731 if p == nil {
4732 return "<nil>"
4733 }
4734 return fmt.Sprintf("DataPageHeaderV2(%+v)", *p)
4735}
4736
4737// Block-based algorithm type annotation. *
4738type SplitBlockAlgorithm struct {
4739}
4740
4741func NewSplitBlockAlgorithm() *SplitBlockAlgorithm {
4742 return &SplitBlockAlgorithm{}
4743}
4744
4745func (p *SplitBlockAlgorithm) Read(ctx context.Context, iprot thrift.TProtocol) error {
4746 if _, err := iprot.ReadStructBegin(ctx); err != nil {
4747 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
4748 }
4749
4750
4751 for {
4752 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
4753 if err != nil {
4754 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
4755 }
4756 if fieldTypeId == thrift.STOP { break; }
4757 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4758 return err
4759 }
4760 if err := iprot.ReadFieldEnd(ctx); err != nil {
4761 return err
4762 }
4763 }
4764 if err := iprot.ReadStructEnd(ctx); err != nil {
4765 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
4766 }
4767 return nil
4768}
4769
4770func (p *SplitBlockAlgorithm) Write(ctx context.Context, oprot thrift.TProtocol) error {
4771 if err := oprot.WriteStructBegin(ctx, "SplitBlockAlgorithm"); err != nil {
4772 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
4773 if p != nil {
4774 }
4775 if err := oprot.WriteFieldStop(ctx); err != nil {
4776 return thrift.PrependError("write field stop error: ", err) }
4777 if err := oprot.WriteStructEnd(ctx); err != nil {
4778 return thrift.PrependError("write struct stop error: ", err) }
4779 return nil
4780}
4781
4782func (p *SplitBlockAlgorithm) Equals(other *SplitBlockAlgorithm) bool {
4783 if p == other {
4784 return true
4785 } else if p == nil || other == nil {
4786 return false
4787 }
4788 return true
4789}
4790
4791func (p *SplitBlockAlgorithm) String() string {
4792 if p == nil {
4793 return "<nil>"
4794 }
4795 return fmt.Sprintf("SplitBlockAlgorithm(%+v)", *p)
4796}
4797
4798// The algorithm used in Bloom filter. *
4799//
4800// Attributes:
4801// - BLOCK: Block-based Bloom filter. *
4802type BloomFilterAlgorithm struct {
4803 BLOCK *SplitBlockAlgorithm `thrift:"BLOCK,1" db:"BLOCK" json:"BLOCK,omitempty"`
4804}
4805
4806func NewBloomFilterAlgorithm() *BloomFilterAlgorithm {
4807 return &BloomFilterAlgorithm{}
4808}
4809
4810var BloomFilterAlgorithm_BLOCK_DEFAULT *SplitBlockAlgorithm
4811func (p *BloomFilterAlgorithm) GetBLOCK() *SplitBlockAlgorithm {
4812 if !p.IsSetBLOCK() {
4813 return BloomFilterAlgorithm_BLOCK_DEFAULT
4814 }
4815return p.BLOCK
4816}
4817func (p *BloomFilterAlgorithm) CountSetFieldsBloomFilterAlgorithm() int {
4818 count := 0
4819 if (p.IsSetBLOCK()) {
4820 count++
4821 }
4822 return count
4823
4824}
4825
4826func (p *BloomFilterAlgorithm) IsSetBLOCK() bool {
4827 return p.BLOCK != nil
4828}
4829
4830func (p *BloomFilterAlgorithm) Read(ctx context.Context, iprot thrift.TProtocol) error {
4831 if _, err := iprot.ReadStructBegin(ctx); err != nil {
4832 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
4833 }
4834
4835
4836 for {
4837 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
4838 if err != nil {
4839 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
4840 }
4841 if fieldTypeId == thrift.STOP { break; }
4842 switch fieldId {
4843 case 1:
4844 if fieldTypeId == thrift.STRUCT {
4845 if err := p.ReadField1(ctx, iprot); err != nil {
4846 return err
4847 }
4848 } else {
4849 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4850 return err
4851 }
4852 }
4853 default:
4854 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4855 return err
4856 }
4857 }
4858 if err := iprot.ReadFieldEnd(ctx); err != nil {
4859 return err
4860 }
4861 }
4862 if err := iprot.ReadStructEnd(ctx); err != nil {
4863 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
4864 }
4865 return nil
4866}
4867
4868func (p *BloomFilterAlgorithm) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
4869 p.BLOCK = &SplitBlockAlgorithm{}
4870 if err := p.BLOCK.Read(ctx, iprot); err != nil {
4871 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.BLOCK), err)
4872 }
4873 return nil
4874}
4875
4876func (p *BloomFilterAlgorithm) Write(ctx context.Context, oprot thrift.TProtocol) error {
4877 if c := p.CountSetFieldsBloomFilterAlgorithm(); c != 1 {
4878 return fmt.Errorf("%T write union: exactly one field must be set (%d set).", p, c)
4879 }
4880 if err := oprot.WriteStructBegin(ctx, "BloomFilterAlgorithm"); err != nil {
4881 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
4882 if p != nil {
4883 if err := p.writeField1(ctx, oprot); err != nil { return err }
4884 }
4885 if err := oprot.WriteFieldStop(ctx); err != nil {
4886 return thrift.PrependError("write field stop error: ", err) }
4887 if err := oprot.WriteStructEnd(ctx); err != nil {
4888 return thrift.PrependError("write struct stop error: ", err) }
4889 return nil
4890}
4891
4892func (p *BloomFilterAlgorithm) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
4893 if p.IsSetBLOCK() {
4894 if err := oprot.WriteFieldBegin(ctx, "BLOCK", thrift.STRUCT, 1); err != nil {
4895 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:BLOCK: ", p), err) }
4896 if err := p.BLOCK.Write(ctx, oprot); err != nil {
4897 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.BLOCK), err)
4898 }
4899 if err := oprot.WriteFieldEnd(ctx); err != nil {
4900 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:BLOCK: ", p), err) }
4901 }
4902 return err
4903}
4904
4905func (p *BloomFilterAlgorithm) Equals(other *BloomFilterAlgorithm) bool {
4906 if p == other {
4907 return true
4908 } else if p == nil || other == nil {
4909 return false
4910 }
4911 if !p.BLOCK.Equals(other.BLOCK) { return false }
4912 return true
4913}
4914
4915func (p *BloomFilterAlgorithm) String() string {
4916 if p == nil {
4917 return "<nil>"
4918 }
4919 return fmt.Sprintf("BloomFilterAlgorithm(%+v)", *p)
4920}
4921
4922// Hash strategy type annotation. xxHash is an extremely fast non-cryptographic hash
4923// algorithm. It uses 64 bits version of xxHash.
4924//
4925type XxHash struct {
4926}
4927
4928func NewXxHash() *XxHash {
4929 return &XxHash{}
4930}
4931
4932func (p *XxHash) Read(ctx context.Context, iprot thrift.TProtocol) error {
4933 if _, err := iprot.ReadStructBegin(ctx); err != nil {
4934 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
4935 }
4936
4937
4938 for {
4939 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
4940 if err != nil {
4941 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
4942 }
4943 if fieldTypeId == thrift.STOP { break; }
4944 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
4945 return err
4946 }
4947 if err := iprot.ReadFieldEnd(ctx); err != nil {
4948 return err
4949 }
4950 }
4951 if err := iprot.ReadStructEnd(ctx); err != nil {
4952 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
4953 }
4954 return nil
4955}
4956
4957func (p *XxHash) Write(ctx context.Context, oprot thrift.TProtocol) error {
4958 if err := oprot.WriteStructBegin(ctx, "XxHash"); err != nil {
4959 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
4960 if p != nil {
4961 }
4962 if err := oprot.WriteFieldStop(ctx); err != nil {
4963 return thrift.PrependError("write field stop error: ", err) }
4964 if err := oprot.WriteStructEnd(ctx); err != nil {
4965 return thrift.PrependError("write struct stop error: ", err) }
4966 return nil
4967}
4968
4969func (p *XxHash) Equals(other *XxHash) bool {
4970 if p == other {
4971 return true
4972 } else if p == nil || other == nil {
4973 return false
4974 }
4975 return true
4976}
4977
4978func (p *XxHash) String() string {
4979 if p == nil {
4980 return "<nil>"
4981 }
4982 return fmt.Sprintf("XxHash(%+v)", *p)
4983}
4984
4985// The hash function used in Bloom filter. This function takes the hash of a column value
4986// using plain encoding.
4987//
4988//
4989// Attributes:
4990// - XXHASH: xxHash Strategy. *
4991type BloomFilterHash struct {
4992 XXHASH *XxHash `thrift:"XXHASH,1" db:"XXHASH" json:"XXHASH,omitempty"`
4993}
4994
4995func NewBloomFilterHash() *BloomFilterHash {
4996 return &BloomFilterHash{}
4997}
4998
4999var BloomFilterHash_XXHASH_DEFAULT *XxHash
5000func (p *BloomFilterHash) GetXXHASH() *XxHash {
5001 if !p.IsSetXXHASH() {
5002 return BloomFilterHash_XXHASH_DEFAULT
5003 }
5004return p.XXHASH
5005}
5006func (p *BloomFilterHash) CountSetFieldsBloomFilterHash() int {
5007 count := 0
5008 if (p.IsSetXXHASH()) {
5009 count++
5010 }
5011 return count
5012
5013}
5014
5015func (p *BloomFilterHash) IsSetXXHASH() bool {
5016 return p.XXHASH != nil
5017}
5018
5019func (p *BloomFilterHash) Read(ctx context.Context, iprot thrift.TProtocol) error {
5020 if _, err := iprot.ReadStructBegin(ctx); err != nil {
5021 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
5022 }
5023
5024
5025 for {
5026 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
5027 if err != nil {
5028 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
5029 }
5030 if fieldTypeId == thrift.STOP { break; }
5031 switch fieldId {
5032 case 1:
5033 if fieldTypeId == thrift.STRUCT {
5034 if err := p.ReadField1(ctx, iprot); err != nil {
5035 return err
5036 }
5037 } else {
5038 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5039 return err
5040 }
5041 }
5042 default:
5043 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5044 return err
5045 }
5046 }
5047 if err := iprot.ReadFieldEnd(ctx); err != nil {
5048 return err
5049 }
5050 }
5051 if err := iprot.ReadStructEnd(ctx); err != nil {
5052 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
5053 }
5054 return nil
5055}
5056
5057func (p *BloomFilterHash) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
5058 p.XXHASH = &XxHash{}
5059 if err := p.XXHASH.Read(ctx, iprot); err != nil {
5060 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.XXHASH), err)
5061 }
5062 return nil
5063}
5064
5065func (p *BloomFilterHash) Write(ctx context.Context, oprot thrift.TProtocol) error {
5066 if c := p.CountSetFieldsBloomFilterHash(); c != 1 {
5067 return fmt.Errorf("%T write union: exactly one field must be set (%d set).", p, c)
5068 }
5069 if err := oprot.WriteStructBegin(ctx, "BloomFilterHash"); err != nil {
5070 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
5071 if p != nil {
5072 if err := p.writeField1(ctx, oprot); err != nil { return err }
5073 }
5074 if err := oprot.WriteFieldStop(ctx); err != nil {
5075 return thrift.PrependError("write field stop error: ", err) }
5076 if err := oprot.WriteStructEnd(ctx); err != nil {
5077 return thrift.PrependError("write struct stop error: ", err) }
5078 return nil
5079}
5080
5081func (p *BloomFilterHash) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
5082 if p.IsSetXXHASH() {
5083 if err := oprot.WriteFieldBegin(ctx, "XXHASH", thrift.STRUCT, 1); err != nil {
5084 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:XXHASH: ", p), err) }
5085 if err := p.XXHASH.Write(ctx, oprot); err != nil {
5086 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.XXHASH), err)
5087 }
5088 if err := oprot.WriteFieldEnd(ctx); err != nil {
5089 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:XXHASH: ", p), err) }
5090 }
5091 return err
5092}
5093
5094func (p *BloomFilterHash) Equals(other *BloomFilterHash) bool {
5095 if p == other {
5096 return true
5097 } else if p == nil || other == nil {
5098 return false
5099 }
5100 if !p.XXHASH.Equals(other.XXHASH) { return false }
5101 return true
5102}
5103
5104func (p *BloomFilterHash) String() string {
5105 if p == nil {
5106 return "<nil>"
5107 }
5108 return fmt.Sprintf("BloomFilterHash(%+v)", *p)
5109}
5110
5111// The compression used in the Bloom filter.
5112//
5113type Uncompressed struct {
5114}
5115
5116func NewUncompressed() *Uncompressed {
5117 return &Uncompressed{}
5118}
5119
5120func (p *Uncompressed) Read(ctx context.Context, iprot thrift.TProtocol) error {
5121 if _, err := iprot.ReadStructBegin(ctx); err != nil {
5122 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
5123 }
5124
5125
5126 for {
5127 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
5128 if err != nil {
5129 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
5130 }
5131 if fieldTypeId == thrift.STOP { break; }
5132 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5133 return err
5134 }
5135 if err := iprot.ReadFieldEnd(ctx); err != nil {
5136 return err
5137 }
5138 }
5139 if err := iprot.ReadStructEnd(ctx); err != nil {
5140 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
5141 }
5142 return nil
5143}
5144
5145func (p *Uncompressed) Write(ctx context.Context, oprot thrift.TProtocol) error {
5146 if err := oprot.WriteStructBegin(ctx, "Uncompressed"); err != nil {
5147 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
5148 if p != nil {
5149 }
5150 if err := oprot.WriteFieldStop(ctx); err != nil {
5151 return thrift.PrependError("write field stop error: ", err) }
5152 if err := oprot.WriteStructEnd(ctx); err != nil {
5153 return thrift.PrependError("write struct stop error: ", err) }
5154 return nil
5155}
5156
5157func (p *Uncompressed) Equals(other *Uncompressed) bool {
5158 if p == other {
5159 return true
5160 } else if p == nil || other == nil {
5161 return false
5162 }
5163 return true
5164}
5165
5166func (p *Uncompressed) String() string {
5167 if p == nil {
5168 return "<nil>"
5169 }
5170 return fmt.Sprintf("Uncompressed(%+v)", *p)
5171}
5172
5173// Attributes:
5174// - UNCOMPRESSED
5175type BloomFilterCompression struct {
5176 UNCOMPRESSED *Uncompressed `thrift:"UNCOMPRESSED,1" db:"UNCOMPRESSED" json:"UNCOMPRESSED,omitempty"`
5177}
5178
5179func NewBloomFilterCompression() *BloomFilterCompression {
5180 return &BloomFilterCompression{}
5181}
5182
5183var BloomFilterCompression_UNCOMPRESSED_DEFAULT *Uncompressed
5184func (p *BloomFilterCompression) GetUNCOMPRESSED() *Uncompressed {
5185 if !p.IsSetUNCOMPRESSED() {
5186 return BloomFilterCompression_UNCOMPRESSED_DEFAULT
5187 }
5188return p.UNCOMPRESSED
5189}
5190func (p *BloomFilterCompression) CountSetFieldsBloomFilterCompression() int {
5191 count := 0
5192 if (p.IsSetUNCOMPRESSED()) {
5193 count++
5194 }
5195 return count
5196
5197}
5198
5199func (p *BloomFilterCompression) IsSetUNCOMPRESSED() bool {
5200 return p.UNCOMPRESSED != nil
5201}
5202
5203func (p *BloomFilterCompression) Read(ctx context.Context, iprot thrift.TProtocol) error {
5204 if _, err := iprot.ReadStructBegin(ctx); err != nil {
5205 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
5206 }
5207
5208
5209 for {
5210 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
5211 if err != nil {
5212 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
5213 }
5214 if fieldTypeId == thrift.STOP { break; }
5215 switch fieldId {
5216 case 1:
5217 if fieldTypeId == thrift.STRUCT {
5218 if err := p.ReadField1(ctx, iprot); err != nil {
5219 return err
5220 }
5221 } else {
5222 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5223 return err
5224 }
5225 }
5226 default:
5227 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5228 return err
5229 }
5230 }
5231 if err := iprot.ReadFieldEnd(ctx); err != nil {
5232 return err
5233 }
5234 }
5235 if err := iprot.ReadStructEnd(ctx); err != nil {
5236 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
5237 }
5238 return nil
5239}
5240
5241func (p *BloomFilterCompression) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
5242 p.UNCOMPRESSED = &Uncompressed{}
5243 if err := p.UNCOMPRESSED.Read(ctx, iprot); err != nil {
5244 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.UNCOMPRESSED), err)
5245 }
5246 return nil
5247}
5248
5249func (p *BloomFilterCompression) Write(ctx context.Context, oprot thrift.TProtocol) error {
5250 if c := p.CountSetFieldsBloomFilterCompression(); c != 1 {
5251 return fmt.Errorf("%T write union: exactly one field must be set (%d set).", p, c)
5252 }
5253 if err := oprot.WriteStructBegin(ctx, "BloomFilterCompression"); err != nil {
5254 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
5255 if p != nil {
5256 if err := p.writeField1(ctx, oprot); err != nil { return err }
5257 }
5258 if err := oprot.WriteFieldStop(ctx); err != nil {
5259 return thrift.PrependError("write field stop error: ", err) }
5260 if err := oprot.WriteStructEnd(ctx); err != nil {
5261 return thrift.PrependError("write struct stop error: ", err) }
5262 return nil
5263}
5264
5265func (p *BloomFilterCompression) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
5266 if p.IsSetUNCOMPRESSED() {
5267 if err := oprot.WriteFieldBegin(ctx, "UNCOMPRESSED", thrift.STRUCT, 1); err != nil {
5268 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:UNCOMPRESSED: ", p), err) }
5269 if err := p.UNCOMPRESSED.Write(ctx, oprot); err != nil {
5270 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.UNCOMPRESSED), err)
5271 }
5272 if err := oprot.WriteFieldEnd(ctx); err != nil {
5273 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:UNCOMPRESSED: ", p), err) }
5274 }
5275 return err
5276}
5277
5278func (p *BloomFilterCompression) Equals(other *BloomFilterCompression) bool {
5279 if p == other {
5280 return true
5281 } else if p == nil || other == nil {
5282 return false
5283 }
5284 if !p.UNCOMPRESSED.Equals(other.UNCOMPRESSED) { return false }
5285 return true
5286}
5287
5288func (p *BloomFilterCompression) String() string {
5289 if p == nil {
5290 return "<nil>"
5291 }
5292 return fmt.Sprintf("BloomFilterCompression(%+v)", *p)
5293}
5294
5295// Bloom filter header is stored at beginning of Bloom filter data of each column
5296// and followed by its bitset.
5297//
5298//
5299// Attributes:
5300// - NumBytes: The size of bitset in bytes *
5301// - Algorithm: The algorithm for setting bits. *
5302// - Hash: The hash function used for Bloom filter. *
5303// - Compression: The compression used in the Bloom filter *
5304type BloomFilterHeader struct {
5305 NumBytes int32 `thrift:"numBytes,1,required" db:"numBytes" json:"numBytes"`
5306 Algorithm *BloomFilterAlgorithm `thrift:"algorithm,2,required" db:"algorithm" json:"algorithm"`
5307 Hash *BloomFilterHash `thrift:"hash,3,required" db:"hash" json:"hash"`
5308 Compression *BloomFilterCompression `thrift:"compression,4,required" db:"compression" json:"compression"`
5309}
5310
5311func NewBloomFilterHeader() *BloomFilterHeader {
5312 return &BloomFilterHeader{}
5313}
5314
5315
5316func (p *BloomFilterHeader) GetNumBytes() int32 {
5317 return p.NumBytes
5318}
5319var BloomFilterHeader_Algorithm_DEFAULT *BloomFilterAlgorithm
5320func (p *BloomFilterHeader) GetAlgorithm() *BloomFilterAlgorithm {
5321 if !p.IsSetAlgorithm() {
5322 return BloomFilterHeader_Algorithm_DEFAULT
5323 }
5324return p.Algorithm
5325}
5326var BloomFilterHeader_Hash_DEFAULT *BloomFilterHash
5327func (p *BloomFilterHeader) GetHash() *BloomFilterHash {
5328 if !p.IsSetHash() {
5329 return BloomFilterHeader_Hash_DEFAULT
5330 }
5331return p.Hash
5332}
5333var BloomFilterHeader_Compression_DEFAULT *BloomFilterCompression
5334func (p *BloomFilterHeader) GetCompression() *BloomFilterCompression {
5335 if !p.IsSetCompression() {
5336 return BloomFilterHeader_Compression_DEFAULT
5337 }
5338return p.Compression
5339}
5340func (p *BloomFilterHeader) IsSetAlgorithm() bool {
5341 return p.Algorithm != nil
5342}
5343
5344func (p *BloomFilterHeader) IsSetHash() bool {
5345 return p.Hash != nil
5346}
5347
5348func (p *BloomFilterHeader) IsSetCompression() bool {
5349 return p.Compression != nil
5350}
5351
5352func (p *BloomFilterHeader) Read(ctx context.Context, iprot thrift.TProtocol) error {
5353 if _, err := iprot.ReadStructBegin(ctx); err != nil {
5354 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
5355 }
5356
5357 var issetNumBytes bool = false;
5358 var issetAlgorithm bool = false;
5359 var issetHash bool = false;
5360 var issetCompression bool = false;
5361
5362 for {
5363 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
5364 if err != nil {
5365 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
5366 }
5367 if fieldTypeId == thrift.STOP { break; }
5368 switch fieldId {
5369 case 1:
5370 if fieldTypeId == thrift.I32 {
5371 if err := p.ReadField1(ctx, iprot); err != nil {
5372 return err
5373 }
5374 issetNumBytes = true
5375 } else {
5376 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5377 return err
5378 }
5379 }
5380 case 2:
5381 if fieldTypeId == thrift.STRUCT {
5382 if err := p.ReadField2(ctx, iprot); err != nil {
5383 return err
5384 }
5385 issetAlgorithm = true
5386 } else {
5387 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5388 return err
5389 }
5390 }
5391 case 3:
5392 if fieldTypeId == thrift.STRUCT {
5393 if err := p.ReadField3(ctx, iprot); err != nil {
5394 return err
5395 }
5396 issetHash = true
5397 } else {
5398 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5399 return err
5400 }
5401 }
5402 case 4:
5403 if fieldTypeId == thrift.STRUCT {
5404 if err := p.ReadField4(ctx, iprot); err != nil {
5405 return err
5406 }
5407 issetCompression = true
5408 } else {
5409 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5410 return err
5411 }
5412 }
5413 default:
5414 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5415 return err
5416 }
5417 }
5418 if err := iprot.ReadFieldEnd(ctx); err != nil {
5419 return err
5420 }
5421 }
5422 if err := iprot.ReadStructEnd(ctx); err != nil {
5423 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
5424 }
5425 if !issetNumBytes{
5426 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumBytes is not set"));
5427 }
5428 if !issetAlgorithm{
5429 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Algorithm is not set"));
5430 }
5431 if !issetHash{
5432 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Hash is not set"));
5433 }
5434 if !issetCompression{
5435 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Compression is not set"));
5436 }
5437 return nil
5438}
5439
5440func (p *BloomFilterHeader) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
5441 if v, err := iprot.ReadI32(ctx); err != nil {
5442 return thrift.PrependError("error reading field 1: ", err)
5443} else {
5444 p.NumBytes = v
5445}
5446 return nil
5447}
5448
5449func (p *BloomFilterHeader) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
5450 p.Algorithm = &BloomFilterAlgorithm{}
5451 if err := p.Algorithm.Read(ctx, iprot); err != nil {
5452 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Algorithm), err)
5453 }
5454 return nil
5455}
5456
5457func (p *BloomFilterHeader) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
5458 p.Hash = &BloomFilterHash{}
5459 if err := p.Hash.Read(ctx, iprot); err != nil {
5460 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Hash), err)
5461 }
5462 return nil
5463}
5464
5465func (p *BloomFilterHeader) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
5466 p.Compression = &BloomFilterCompression{}
5467 if err := p.Compression.Read(ctx, iprot); err != nil {
5468 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Compression), err)
5469 }
5470 return nil
5471}
5472
5473func (p *BloomFilterHeader) Write(ctx context.Context, oprot thrift.TProtocol) error {
5474 if err := oprot.WriteStructBegin(ctx, "BloomFilterHeader"); err != nil {
5475 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
5476 if p != nil {
5477 if err := p.writeField1(ctx, oprot); err != nil { return err }
5478 if err := p.writeField2(ctx, oprot); err != nil { return err }
5479 if err := p.writeField3(ctx, oprot); err != nil { return err }
5480 if err := p.writeField4(ctx, oprot); err != nil { return err }
5481 }
5482 if err := oprot.WriteFieldStop(ctx); err != nil {
5483 return thrift.PrependError("write field stop error: ", err) }
5484 if err := oprot.WriteStructEnd(ctx); err != nil {
5485 return thrift.PrependError("write struct stop error: ", err) }
5486 return nil
5487}
5488
5489func (p *BloomFilterHeader) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
5490 if err := oprot.WriteFieldBegin(ctx, "numBytes", thrift.I32, 1); err != nil {
5491 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:numBytes: ", p), err) }
5492 if err := oprot.WriteI32(ctx, int32(p.NumBytes)); err != nil {
5493 return thrift.PrependError(fmt.Sprintf("%T.numBytes (1) field write error: ", p), err) }
5494 if err := oprot.WriteFieldEnd(ctx); err != nil {
5495 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:numBytes: ", p), err) }
5496 return err
5497}
5498
5499func (p *BloomFilterHeader) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
5500 if err := oprot.WriteFieldBegin(ctx, "algorithm", thrift.STRUCT, 2); err != nil {
5501 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:algorithm: ", p), err) }
5502 if err := p.Algorithm.Write(ctx, oprot); err != nil {
5503 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Algorithm), err)
5504 }
5505 if err := oprot.WriteFieldEnd(ctx); err != nil {
5506 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:algorithm: ", p), err) }
5507 return err
5508}
5509
5510func (p *BloomFilterHeader) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
5511 if err := oprot.WriteFieldBegin(ctx, "hash", thrift.STRUCT, 3); err != nil {
5512 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:hash: ", p), err) }
5513 if err := p.Hash.Write(ctx, oprot); err != nil {
5514 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Hash), err)
5515 }
5516 if err := oprot.WriteFieldEnd(ctx); err != nil {
5517 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:hash: ", p), err) }
5518 return err
5519}
5520
5521func (p *BloomFilterHeader) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
5522 if err := oprot.WriteFieldBegin(ctx, "compression", thrift.STRUCT, 4); err != nil {
5523 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:compression: ", p), err) }
5524 if err := p.Compression.Write(ctx, oprot); err != nil {
5525 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Compression), err)
5526 }
5527 if err := oprot.WriteFieldEnd(ctx); err != nil {
5528 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:compression: ", p), err) }
5529 return err
5530}
5531
5532func (p *BloomFilterHeader) Equals(other *BloomFilterHeader) bool {
5533 if p == other {
5534 return true
5535 } else if p == nil || other == nil {
5536 return false
5537 }
5538 if p.NumBytes != other.NumBytes { return false }
5539 if !p.Algorithm.Equals(other.Algorithm) { return false }
5540 if !p.Hash.Equals(other.Hash) { return false }
5541 if !p.Compression.Equals(other.Compression) { return false }
5542 return true
5543}
5544
5545func (p *BloomFilterHeader) String() string {
5546 if p == nil {
5547 return "<nil>"
5548 }
5549 return fmt.Sprintf("BloomFilterHeader(%+v)", *p)
5550}
5551
5552// Attributes:
5553// - Type: the type of the page: indicates which of the *_header fields is set *
5554// - UncompressedPageSize: Uncompressed page size in bytes (not including this header) *
5555// - CompressedPageSize: Compressed (and potentially encrypted) page size in bytes, not including this header *
5556// - Crc: The 32bit CRC for the page, to be be calculated as follows:
5557// - Using the standard CRC32 algorithm
5558// - On the data only, i.e. this header should not be included. 'Data'
5559// hereby refers to the concatenation of the repetition levels, the
5560// definition levels and the column value, in this exact order.
5561// - On the encoded versions of the repetition levels, definition levels and
5562// column values
5563// - On the compressed versions of the repetition levels, definition levels
5564// and column values where possible;
5565// - For v1 data pages, the repetition levels, definition levels and column
5566// values are always compressed together. If a compression scheme is
5567// specified, the CRC shall be calculated on the compressed version of
5568// this concatenation. If no compression scheme is specified, the CRC
5569// shall be calculated on the uncompressed version of this concatenation.
5570// - For v2 data pages, the repetition levels and definition levels are
5571// handled separately from the data and are never compressed (only
5572// encoded). If a compression scheme is specified, the CRC shall be
5573// calculated on the concatenation of the uncompressed repetition levels,
5574// uncompressed definition levels and the compressed column values.
5575// If no compression scheme is specified, the CRC shall be calculated on
5576// the uncompressed concatenation.
5577// If enabled, this allows for disabling checksumming in HDFS if only a few
5578// pages need to be read.
5579//
5580// - DataPageHeader
5581// - IndexPageHeader
5582// - DictionaryPageHeader
5583// - DataPageHeaderV2
5584type PageHeader struct {
5585 Type PageType `thrift:"type,1,required" db:"type" json:"type"`
5586 UncompressedPageSize int32 `thrift:"uncompressed_page_size,2,required" db:"uncompressed_page_size" json:"uncompressed_page_size"`
5587 CompressedPageSize int32 `thrift:"compressed_page_size,3,required" db:"compressed_page_size" json:"compressed_page_size"`
5588 Crc *int32 `thrift:"crc,4" db:"crc" json:"crc,omitempty"`
5589 DataPageHeader *DataPageHeader `thrift:"data_page_header,5" db:"data_page_header" json:"data_page_header,omitempty"`
5590 IndexPageHeader *IndexPageHeader `thrift:"index_page_header,6" db:"index_page_header" json:"index_page_header,omitempty"`
5591 DictionaryPageHeader *DictionaryPageHeader `thrift:"dictionary_page_header,7" db:"dictionary_page_header" json:"dictionary_page_header,omitempty"`
5592 DataPageHeaderV2 *DataPageHeaderV2 `thrift:"data_page_header_v2,8" db:"data_page_header_v2" json:"data_page_header_v2,omitempty"`
5593}
5594
5595func NewPageHeader() *PageHeader {
5596 return &PageHeader{}
5597}
5598
5599
5600func (p *PageHeader) GetType() PageType {
5601 return p.Type
5602}
5603
5604func (p *PageHeader) GetUncompressedPageSize() int32 {
5605 return p.UncompressedPageSize
5606}
5607
5608func (p *PageHeader) GetCompressedPageSize() int32 {
5609 return p.CompressedPageSize
5610}
5611var PageHeader_Crc_DEFAULT int32
5612func (p *PageHeader) GetCrc() int32 {
5613 if !p.IsSetCrc() {
5614 return PageHeader_Crc_DEFAULT
5615 }
5616return *p.Crc
5617}
5618var PageHeader_DataPageHeader_DEFAULT *DataPageHeader
5619func (p *PageHeader) GetDataPageHeader() *DataPageHeader {
5620 if !p.IsSetDataPageHeader() {
5621 return PageHeader_DataPageHeader_DEFAULT
5622 }
5623return p.DataPageHeader
5624}
5625var PageHeader_IndexPageHeader_DEFAULT *IndexPageHeader
5626func (p *PageHeader) GetIndexPageHeader() *IndexPageHeader {
5627 if !p.IsSetIndexPageHeader() {
5628 return PageHeader_IndexPageHeader_DEFAULT
5629 }
5630return p.IndexPageHeader
5631}
5632var PageHeader_DictionaryPageHeader_DEFAULT *DictionaryPageHeader
5633func (p *PageHeader) GetDictionaryPageHeader() *DictionaryPageHeader {
5634 if !p.IsSetDictionaryPageHeader() {
5635 return PageHeader_DictionaryPageHeader_DEFAULT
5636 }
5637return p.DictionaryPageHeader
5638}
5639var PageHeader_DataPageHeaderV2_DEFAULT *DataPageHeaderV2
5640func (p *PageHeader) GetDataPageHeaderV2() *DataPageHeaderV2 {
5641 if !p.IsSetDataPageHeaderV2() {
5642 return PageHeader_DataPageHeaderV2_DEFAULT
5643 }
5644return p.DataPageHeaderV2
5645}
5646func (p *PageHeader) IsSetCrc() bool {
5647 return p.Crc != nil
5648}
5649
5650func (p *PageHeader) IsSetDataPageHeader() bool {
5651 return p.DataPageHeader != nil
5652}
5653
5654func (p *PageHeader) IsSetIndexPageHeader() bool {
5655 return p.IndexPageHeader != nil
5656}
5657
5658func (p *PageHeader) IsSetDictionaryPageHeader() bool {
5659 return p.DictionaryPageHeader != nil
5660}
5661
5662func (p *PageHeader) IsSetDataPageHeaderV2() bool {
5663 return p.DataPageHeaderV2 != nil
5664}
5665
5666func (p *PageHeader) Read(ctx context.Context, iprot thrift.TProtocol) error {
5667 if _, err := iprot.ReadStructBegin(ctx); err != nil {
5668 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
5669 }
5670
5671 var issetType bool = false;
5672 var issetUncompressedPageSize bool = false;
5673 var issetCompressedPageSize bool = false;
5674
5675 for {
5676 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
5677 if err != nil {
5678 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
5679 }
5680 if fieldTypeId == thrift.STOP { break; }
5681 switch fieldId {
5682 case 1:
5683 if fieldTypeId == thrift.I32 {
5684 if err := p.ReadField1(ctx, iprot); err != nil {
5685 return err
5686 }
5687 issetType = true
5688 } else {
5689 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5690 return err
5691 }
5692 }
5693 case 2:
5694 if fieldTypeId == thrift.I32 {
5695 if err := p.ReadField2(ctx, iprot); err != nil {
5696 return err
5697 }
5698 issetUncompressedPageSize = true
5699 } else {
5700 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5701 return err
5702 }
5703 }
5704 case 3:
5705 if fieldTypeId == thrift.I32 {
5706 if err := p.ReadField3(ctx, iprot); err != nil {
5707 return err
5708 }
5709 issetCompressedPageSize = true
5710 } else {
5711 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5712 return err
5713 }
5714 }
5715 case 4:
5716 if fieldTypeId == thrift.I32 {
5717 if err := p.ReadField4(ctx, iprot); err != nil {
5718 return err
5719 }
5720 } else {
5721 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5722 return err
5723 }
5724 }
5725 case 5:
5726 if fieldTypeId == thrift.STRUCT {
5727 if err := p.ReadField5(ctx, iprot); err != nil {
5728 return err
5729 }
5730 } else {
5731 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5732 return err
5733 }
5734 }
5735 case 6:
5736 if fieldTypeId == thrift.STRUCT {
5737 if err := p.ReadField6(ctx, iprot); err != nil {
5738 return err
5739 }
5740 } else {
5741 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5742 return err
5743 }
5744 }
5745 case 7:
5746 if fieldTypeId == thrift.STRUCT {
5747 if err := p.ReadField7(ctx, iprot); err != nil {
5748 return err
5749 }
5750 } else {
5751 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5752 return err
5753 }
5754 }
5755 case 8:
5756 if fieldTypeId == thrift.STRUCT {
5757 if err := p.ReadField8(ctx, iprot); err != nil {
5758 return err
5759 }
5760 } else {
5761 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5762 return err
5763 }
5764 }
5765 default:
5766 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
5767 return err
5768 }
5769 }
5770 if err := iprot.ReadFieldEnd(ctx); err != nil {
5771 return err
5772 }
5773 }
5774 if err := iprot.ReadStructEnd(ctx); err != nil {
5775 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
5776 }
5777 if !issetType{
5778 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Type is not set"));
5779 }
5780 if !issetUncompressedPageSize{
5781 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field UncompressedPageSize is not set"));
5782 }
5783 if !issetCompressedPageSize{
5784 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field CompressedPageSize is not set"));
5785 }
5786 return nil
5787}
5788
5789func (p *PageHeader) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
5790 if v, err := iprot.ReadI32(ctx); err != nil {
5791 return thrift.PrependError("error reading field 1: ", err)
5792} else {
5793 temp := PageType(v)
5794 p.Type = temp
5795}
5796 return nil
5797}
5798
5799func (p *PageHeader) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
5800 if v, err := iprot.ReadI32(ctx); err != nil {
5801 return thrift.PrependError("error reading field 2: ", err)
5802} else {
5803 p.UncompressedPageSize = v
5804}
5805 return nil
5806}
5807
5808func (p *PageHeader) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
5809 if v, err := iprot.ReadI32(ctx); err != nil {
5810 return thrift.PrependError("error reading field 3: ", err)
5811} else {
5812 p.CompressedPageSize = v
5813}
5814 return nil
5815}
5816
5817func (p *PageHeader) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
5818 if v, err := iprot.ReadI32(ctx); err != nil {
5819 return thrift.PrependError("error reading field 4: ", err)
5820} else {
5821 p.Crc = &v
5822}
5823 return nil
5824}
5825
5826func (p *PageHeader) ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
5827 p.DataPageHeader = &DataPageHeader{}
5828 if err := p.DataPageHeader.Read(ctx, iprot); err != nil {
5829 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.DataPageHeader), err)
5830 }
5831 return nil
5832}
5833
5834func (p *PageHeader) ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
5835 p.IndexPageHeader = &IndexPageHeader{}
5836 if err := p.IndexPageHeader.Read(ctx, iprot); err != nil {
5837 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.IndexPageHeader), err)
5838 }
5839 return nil
5840}
5841
5842func (p *PageHeader) ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
5843 p.DictionaryPageHeader = &DictionaryPageHeader{}
5844 if err := p.DictionaryPageHeader.Read(ctx, iprot); err != nil {
5845 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.DictionaryPageHeader), err)
5846 }
5847 return nil
5848}
5849
5850func (p *PageHeader) ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
5851 p.DataPageHeaderV2 = &DataPageHeaderV2{
5852 IsCompressed: true,
5853}
5854 if err := p.DataPageHeaderV2.Read(ctx, iprot); err != nil {
5855 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.DataPageHeaderV2), err)
5856 }
5857 return nil
5858}
5859
5860func (p *PageHeader) Write(ctx context.Context, oprot thrift.TProtocol) error {
5861 if err := oprot.WriteStructBegin(ctx, "PageHeader"); err != nil {
5862 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
5863 if p != nil {
5864 if err := p.writeField1(ctx, oprot); err != nil { return err }
5865 if err := p.writeField2(ctx, oprot); err != nil { return err }
5866 if err := p.writeField3(ctx, oprot); err != nil { return err }
5867 if err := p.writeField4(ctx, oprot); err != nil { return err }
5868 if err := p.writeField5(ctx, oprot); err != nil { return err }
5869 if err := p.writeField6(ctx, oprot); err != nil { return err }
5870 if err := p.writeField7(ctx, oprot); err != nil { return err }
5871 if err := p.writeField8(ctx, oprot); err != nil { return err }
5872 }
5873 if err := oprot.WriteFieldStop(ctx); err != nil {
5874 return thrift.PrependError("write field stop error: ", err) }
5875 if err := oprot.WriteStructEnd(ctx); err != nil {
5876 return thrift.PrependError("write struct stop error: ", err) }
5877 return nil
5878}
5879
5880func (p *PageHeader) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
5881 if err := oprot.WriteFieldBegin(ctx, "type", thrift.I32, 1); err != nil {
5882 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:type: ", p), err) }
5883 if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil {
5884 return thrift.PrependError(fmt.Sprintf("%T.type (1) field write error: ", p), err) }
5885 if err := oprot.WriteFieldEnd(ctx); err != nil {
5886 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:type: ", p), err) }
5887 return err
5888}
5889
5890func (p *PageHeader) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
5891 if err := oprot.WriteFieldBegin(ctx, "uncompressed_page_size", thrift.I32, 2); err != nil {
5892 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:uncompressed_page_size: ", p), err) }
5893 if err := oprot.WriteI32(ctx, int32(p.UncompressedPageSize)); err != nil {
5894 return thrift.PrependError(fmt.Sprintf("%T.uncompressed_page_size (2) field write error: ", p), err) }
5895 if err := oprot.WriteFieldEnd(ctx); err != nil {
5896 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:uncompressed_page_size: ", p), err) }
5897 return err
5898}
5899
5900func (p *PageHeader) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
5901 if err := oprot.WriteFieldBegin(ctx, "compressed_page_size", thrift.I32, 3); err != nil {
5902 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:compressed_page_size: ", p), err) }
5903 if err := oprot.WriteI32(ctx, int32(p.CompressedPageSize)); err != nil {
5904 return thrift.PrependError(fmt.Sprintf("%T.compressed_page_size (3) field write error: ", p), err) }
5905 if err := oprot.WriteFieldEnd(ctx); err != nil {
5906 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:compressed_page_size: ", p), err) }
5907 return err
5908}
5909
5910func (p *PageHeader) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
5911 if p.IsSetCrc() {
5912 if err := oprot.WriteFieldBegin(ctx, "crc", thrift.I32, 4); err != nil {
5913 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:crc: ", p), err) }
5914 if err := oprot.WriteI32(ctx, int32(*p.Crc)); err != nil {
5915 return thrift.PrependError(fmt.Sprintf("%T.crc (4) field write error: ", p), err) }
5916 if err := oprot.WriteFieldEnd(ctx); err != nil {
5917 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:crc: ", p), err) }
5918 }
5919 return err
5920}
5921
5922func (p *PageHeader) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
5923 if p.IsSetDataPageHeader() {
5924 if err := oprot.WriteFieldBegin(ctx, "data_page_header", thrift.STRUCT, 5); err != nil {
5925 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:data_page_header: ", p), err) }
5926 if err := p.DataPageHeader.Write(ctx, oprot); err != nil {
5927 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.DataPageHeader), err)
5928 }
5929 if err := oprot.WriteFieldEnd(ctx); err != nil {
5930 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:data_page_header: ", p), err) }
5931 }
5932 return err
5933}
5934
5935func (p *PageHeader) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
5936 if p.IsSetIndexPageHeader() {
5937 if err := oprot.WriteFieldBegin(ctx, "index_page_header", thrift.STRUCT, 6); err != nil {
5938 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:index_page_header: ", p), err) }
5939 if err := p.IndexPageHeader.Write(ctx, oprot); err != nil {
5940 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.IndexPageHeader), err)
5941 }
5942 if err := oprot.WriteFieldEnd(ctx); err != nil {
5943 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:index_page_header: ", p), err) }
5944 }
5945 return err
5946}
5947
5948func (p *PageHeader) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
5949 if p.IsSetDictionaryPageHeader() {
5950 if err := oprot.WriteFieldBegin(ctx, "dictionary_page_header", thrift.STRUCT, 7); err != nil {
5951 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:dictionary_page_header: ", p), err) }
5952 if err := p.DictionaryPageHeader.Write(ctx, oprot); err != nil {
5953 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.DictionaryPageHeader), err)
5954 }
5955 if err := oprot.WriteFieldEnd(ctx); err != nil {
5956 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:dictionary_page_header: ", p), err) }
5957 }
5958 return err
5959}
5960
5961func (p *PageHeader) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
5962 if p.IsSetDataPageHeaderV2() {
5963 if err := oprot.WriteFieldBegin(ctx, "data_page_header_v2", thrift.STRUCT, 8); err != nil {
5964 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:data_page_header_v2: ", p), err) }
5965 if err := p.DataPageHeaderV2.Write(ctx, oprot); err != nil {
5966 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.DataPageHeaderV2), err)
5967 }
5968 if err := oprot.WriteFieldEnd(ctx); err != nil {
5969 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:data_page_header_v2: ", p), err) }
5970 }
5971 return err
5972}
5973
5974func (p *PageHeader) Equals(other *PageHeader) bool {
5975 if p == other {
5976 return true
5977 } else if p == nil || other == nil {
5978 return false
5979 }
5980 if p.Type != other.Type { return false }
5981 if p.UncompressedPageSize != other.UncompressedPageSize { return false }
5982 if p.CompressedPageSize != other.CompressedPageSize { return false }
5983 if p.Crc != other.Crc {
5984 if p.Crc == nil || other.Crc == nil {
5985 return false
5986 }
5987 if (*p.Crc) != (*other.Crc) { return false }
5988 }
5989 if !p.DataPageHeader.Equals(other.DataPageHeader) { return false }
5990 if !p.IndexPageHeader.Equals(other.IndexPageHeader) { return false }
5991 if !p.DictionaryPageHeader.Equals(other.DictionaryPageHeader) { return false }
5992 if !p.DataPageHeaderV2.Equals(other.DataPageHeaderV2) { return false }
5993 return true
5994}
5995
5996func (p *PageHeader) String() string {
5997 if p == nil {
5998 return "<nil>"
5999 }
6000 return fmt.Sprintf("PageHeader(%+v)", *p)
6001}
6002
6003// Wrapper struct to store key values
6004//
6005// Attributes:
6006// - Key
6007// - Value
6008type KeyValue struct {
6009 Key string `thrift:"key,1,required" db:"key" json:"key"`
6010 Value *string `thrift:"value,2" db:"value" json:"value,omitempty"`
6011}
6012
6013func NewKeyValue() *KeyValue {
6014 return &KeyValue{}
6015}
6016
6017
6018func (p *KeyValue) GetKey() string {
6019 return p.Key
6020}
6021var KeyValue_Value_DEFAULT string
6022func (p *KeyValue) GetValue() string {
6023 if !p.IsSetValue() {
6024 return KeyValue_Value_DEFAULT
6025 }
6026return *p.Value
6027}
6028func (p *KeyValue) IsSetValue() bool {
6029 return p.Value != nil
6030}
6031
6032func (p *KeyValue) Read(ctx context.Context, iprot thrift.TProtocol) error {
6033 if _, err := iprot.ReadStructBegin(ctx); err != nil {
6034 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
6035 }
6036
6037 var issetKey bool = false;
6038
6039 for {
6040 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
6041 if err != nil {
6042 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
6043 }
6044 if fieldTypeId == thrift.STOP { break; }
6045 switch fieldId {
6046 case 1:
6047 if fieldTypeId == thrift.STRING {
6048 if err := p.ReadField1(ctx, iprot); err != nil {
6049 return err
6050 }
6051 issetKey = true
6052 } else {
6053 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6054 return err
6055 }
6056 }
6057 case 2:
6058 if fieldTypeId == thrift.STRING {
6059 if err := p.ReadField2(ctx, iprot); err != nil {
6060 return err
6061 }
6062 } else {
6063 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6064 return err
6065 }
6066 }
6067 default:
6068 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6069 return err
6070 }
6071 }
6072 if err := iprot.ReadFieldEnd(ctx); err != nil {
6073 return err
6074 }
6075 }
6076 if err := iprot.ReadStructEnd(ctx); err != nil {
6077 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
6078 }
6079 if !issetKey{
6080 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Key is not set"));
6081 }
6082 return nil
6083}
6084
6085func (p *KeyValue) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
6086 if v, err := iprot.ReadString(ctx); err != nil {
6087 return thrift.PrependError("error reading field 1: ", err)
6088} else {
6089 p.Key = v
6090}
6091 return nil
6092}
6093
6094func (p *KeyValue) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
6095 if v, err := iprot.ReadString(ctx); err != nil {
6096 return thrift.PrependError("error reading field 2: ", err)
6097} else {
6098 p.Value = &v
6099}
6100 return nil
6101}
6102
6103func (p *KeyValue) Write(ctx context.Context, oprot thrift.TProtocol) error {
6104 if err := oprot.WriteStructBegin(ctx, "KeyValue"); err != nil {
6105 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
6106 if p != nil {
6107 if err := p.writeField1(ctx, oprot); err != nil { return err }
6108 if err := p.writeField2(ctx, oprot); err != nil { return err }
6109 }
6110 if err := oprot.WriteFieldStop(ctx); err != nil {
6111 return thrift.PrependError("write field stop error: ", err) }
6112 if err := oprot.WriteStructEnd(ctx); err != nil {
6113 return thrift.PrependError("write struct stop error: ", err) }
6114 return nil
6115}
6116
6117func (p *KeyValue) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
6118 if err := oprot.WriteFieldBegin(ctx, "key", thrift.STRING, 1); err != nil {
6119 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:key: ", p), err) }
6120 if err := oprot.WriteString(ctx, string(p.Key)); err != nil {
6121 return thrift.PrependError(fmt.Sprintf("%T.key (1) field write error: ", p), err) }
6122 if err := oprot.WriteFieldEnd(ctx); err != nil {
6123 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:key: ", p), err) }
6124 return err
6125}
6126
6127func (p *KeyValue) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
6128 if p.IsSetValue() {
6129 if err := oprot.WriteFieldBegin(ctx, "value", thrift.STRING, 2); err != nil {
6130 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:value: ", p), err) }
6131 if err := oprot.WriteString(ctx, string(*p.Value)); err != nil {
6132 return thrift.PrependError(fmt.Sprintf("%T.value (2) field write error: ", p), err) }
6133 if err := oprot.WriteFieldEnd(ctx); err != nil {
6134 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:value: ", p), err) }
6135 }
6136 return err
6137}
6138
6139func (p *KeyValue) Equals(other *KeyValue) bool {
6140 if p == other {
6141 return true
6142 } else if p == nil || other == nil {
6143 return false
6144 }
6145 if p.Key != other.Key { return false }
6146 if p.Value != other.Value {
6147 if p.Value == nil || other.Value == nil {
6148 return false
6149 }
6150 if (*p.Value) != (*other.Value) { return false }
6151 }
6152 return true
6153}
6154
6155func (p *KeyValue) String() string {
6156 if p == nil {
6157 return "<nil>"
6158 }
6159 return fmt.Sprintf("KeyValue(%+v)", *p)
6160}
6161
6162// Wrapper struct to specify sort order
6163//
6164// Attributes:
6165// - ColumnIdx: The column index (in this row group) *
6166// - Descending: If true, indicates this column is sorted in descending order. *
6167// - NullsFirst: If true, nulls will come before non-null values, otherwise,
6168// nulls go at the end.
6169type SortingColumn struct {
6170 ColumnIdx int32 `thrift:"column_idx,1,required" db:"column_idx" json:"column_idx"`
6171 Descending bool `thrift:"descending,2,required" db:"descending" json:"descending"`
6172 NullsFirst bool `thrift:"nulls_first,3,required" db:"nulls_first" json:"nulls_first"`
6173}
6174
6175func NewSortingColumn() *SortingColumn {
6176 return &SortingColumn{}
6177}
6178
6179
6180func (p *SortingColumn) GetColumnIdx() int32 {
6181 return p.ColumnIdx
6182}
6183
6184func (p *SortingColumn) GetDescending() bool {
6185 return p.Descending
6186}
6187
6188func (p *SortingColumn) GetNullsFirst() bool {
6189 return p.NullsFirst
6190}
6191func (p *SortingColumn) Read(ctx context.Context, iprot thrift.TProtocol) error {
6192 if _, err := iprot.ReadStructBegin(ctx); err != nil {
6193 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
6194 }
6195
6196 var issetColumnIdx bool = false;
6197 var issetDescending bool = false;
6198 var issetNullsFirst bool = false;
6199
6200 for {
6201 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
6202 if err != nil {
6203 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
6204 }
6205 if fieldTypeId == thrift.STOP { break; }
6206 switch fieldId {
6207 case 1:
6208 if fieldTypeId == thrift.I32 {
6209 if err := p.ReadField1(ctx, iprot); err != nil {
6210 return err
6211 }
6212 issetColumnIdx = true
6213 } else {
6214 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6215 return err
6216 }
6217 }
6218 case 2:
6219 if fieldTypeId == thrift.BOOL {
6220 if err := p.ReadField2(ctx, iprot); err != nil {
6221 return err
6222 }
6223 issetDescending = true
6224 } else {
6225 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6226 return err
6227 }
6228 }
6229 case 3:
6230 if fieldTypeId == thrift.BOOL {
6231 if err := p.ReadField3(ctx, iprot); err != nil {
6232 return err
6233 }
6234 issetNullsFirst = true
6235 } else {
6236 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6237 return err
6238 }
6239 }
6240 default:
6241 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6242 return err
6243 }
6244 }
6245 if err := iprot.ReadFieldEnd(ctx); err != nil {
6246 return err
6247 }
6248 }
6249 if err := iprot.ReadStructEnd(ctx); err != nil {
6250 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
6251 }
6252 if !issetColumnIdx{
6253 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ColumnIdx is not set"));
6254 }
6255 if !issetDescending{
6256 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Descending is not set"));
6257 }
6258 if !issetNullsFirst{
6259 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NullsFirst is not set"));
6260 }
6261 return nil
6262}
6263
6264func (p *SortingColumn) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
6265 if v, err := iprot.ReadI32(ctx); err != nil {
6266 return thrift.PrependError("error reading field 1: ", err)
6267} else {
6268 p.ColumnIdx = v
6269}
6270 return nil
6271}
6272
6273func (p *SortingColumn) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
6274 if v, err := iprot.ReadBool(ctx); err != nil {
6275 return thrift.PrependError("error reading field 2: ", err)
6276} else {
6277 p.Descending = v
6278}
6279 return nil
6280}
6281
6282func (p *SortingColumn) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
6283 if v, err := iprot.ReadBool(ctx); err != nil {
6284 return thrift.PrependError("error reading field 3: ", err)
6285} else {
6286 p.NullsFirst = v
6287}
6288 return nil
6289}
6290
6291func (p *SortingColumn) Write(ctx context.Context, oprot thrift.TProtocol) error {
6292 if err := oprot.WriteStructBegin(ctx, "SortingColumn"); err != nil {
6293 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
6294 if p != nil {
6295 if err := p.writeField1(ctx, oprot); err != nil { return err }
6296 if err := p.writeField2(ctx, oprot); err != nil { return err }
6297 if err := p.writeField3(ctx, oprot); err != nil { return err }
6298 }
6299 if err := oprot.WriteFieldStop(ctx); err != nil {
6300 return thrift.PrependError("write field stop error: ", err) }
6301 if err := oprot.WriteStructEnd(ctx); err != nil {
6302 return thrift.PrependError("write struct stop error: ", err) }
6303 return nil
6304}
6305
6306func (p *SortingColumn) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
6307 if err := oprot.WriteFieldBegin(ctx, "column_idx", thrift.I32, 1); err != nil {
6308 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:column_idx: ", p), err) }
6309 if err := oprot.WriteI32(ctx, int32(p.ColumnIdx)); err != nil {
6310 return thrift.PrependError(fmt.Sprintf("%T.column_idx (1) field write error: ", p), err) }
6311 if err := oprot.WriteFieldEnd(ctx); err != nil {
6312 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:column_idx: ", p), err) }
6313 return err
6314}
6315
6316func (p *SortingColumn) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
6317 if err := oprot.WriteFieldBegin(ctx, "descending", thrift.BOOL, 2); err != nil {
6318 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:descending: ", p), err) }
6319 if err := oprot.WriteBool(ctx, bool(p.Descending)); err != nil {
6320 return thrift.PrependError(fmt.Sprintf("%T.descending (2) field write error: ", p), err) }
6321 if err := oprot.WriteFieldEnd(ctx); err != nil {
6322 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:descending: ", p), err) }
6323 return err
6324}
6325
6326func (p *SortingColumn) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
6327 if err := oprot.WriteFieldBegin(ctx, "nulls_first", thrift.BOOL, 3); err != nil {
6328 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:nulls_first: ", p), err) }
6329 if err := oprot.WriteBool(ctx, bool(p.NullsFirst)); err != nil {
6330 return thrift.PrependError(fmt.Sprintf("%T.nulls_first (3) field write error: ", p), err) }
6331 if err := oprot.WriteFieldEnd(ctx); err != nil {
6332 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:nulls_first: ", p), err) }
6333 return err
6334}
6335
6336func (p *SortingColumn) Equals(other *SortingColumn) bool {
6337 if p == other {
6338 return true
6339 } else if p == nil || other == nil {
6340 return false
6341 }
6342 if p.ColumnIdx != other.ColumnIdx { return false }
6343 if p.Descending != other.Descending { return false }
6344 if p.NullsFirst != other.NullsFirst { return false }
6345 return true
6346}
6347
6348func (p *SortingColumn) String() string {
6349 if p == nil {
6350 return "<nil>"
6351 }
6352 return fmt.Sprintf("SortingColumn(%+v)", *p)
6353}
6354
6355// statistics of a given page type and encoding
6356//
6357// Attributes:
6358// - PageType: the page type (data/dic/...) *
6359// - Encoding: encoding of the page *
6360// - Count: number of pages of this type with this encoding *
6361type PageEncodingStats struct {
6362 PageType PageType `thrift:"page_type,1,required" db:"page_type" json:"page_type"`
6363 Encoding Encoding `thrift:"encoding,2,required" db:"encoding" json:"encoding"`
6364 Count int32 `thrift:"count,3,required" db:"count" json:"count"`
6365}
6366
6367func NewPageEncodingStats() *PageEncodingStats {
6368 return &PageEncodingStats{}
6369}
6370
6371
6372func (p *PageEncodingStats) GetPageType() PageType {
6373 return p.PageType
6374}
6375
6376func (p *PageEncodingStats) GetEncoding() Encoding {
6377 return p.Encoding
6378}
6379
6380func (p *PageEncodingStats) GetCount() int32 {
6381 return p.Count
6382}
6383func (p *PageEncodingStats) Read(ctx context.Context, iprot thrift.TProtocol) error {
6384 if _, err := iprot.ReadStructBegin(ctx); err != nil {
6385 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
6386 }
6387
6388 var issetPageType bool = false;
6389 var issetEncoding bool = false;
6390 var issetCount bool = false;
6391
6392 for {
6393 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
6394 if err != nil {
6395 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
6396 }
6397 if fieldTypeId == thrift.STOP { break; }
6398 switch fieldId {
6399 case 1:
6400 if fieldTypeId == thrift.I32 {
6401 if err := p.ReadField1(ctx, iprot); err != nil {
6402 return err
6403 }
6404 issetPageType = true
6405 } else {
6406 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6407 return err
6408 }
6409 }
6410 case 2:
6411 if fieldTypeId == thrift.I32 {
6412 if err := p.ReadField2(ctx, iprot); err != nil {
6413 return err
6414 }
6415 issetEncoding = true
6416 } else {
6417 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6418 return err
6419 }
6420 }
6421 case 3:
6422 if fieldTypeId == thrift.I32 {
6423 if err := p.ReadField3(ctx, iprot); err != nil {
6424 return err
6425 }
6426 issetCount = true
6427 } else {
6428 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6429 return err
6430 }
6431 }
6432 default:
6433 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6434 return err
6435 }
6436 }
6437 if err := iprot.ReadFieldEnd(ctx); err != nil {
6438 return err
6439 }
6440 }
6441 if err := iprot.ReadStructEnd(ctx); err != nil {
6442 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
6443 }
6444 if !issetPageType{
6445 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field PageType is not set"));
6446 }
6447 if !issetEncoding{
6448 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encoding is not set"));
6449 }
6450 if !issetCount{
6451 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Count is not set"));
6452 }
6453 return nil
6454}
6455
6456func (p *PageEncodingStats) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
6457 if v, err := iprot.ReadI32(ctx); err != nil {
6458 return thrift.PrependError("error reading field 1: ", err)
6459} else {
6460 temp := PageType(v)
6461 p.PageType = temp
6462}
6463 return nil
6464}
6465
6466func (p *PageEncodingStats) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
6467 if v, err := iprot.ReadI32(ctx); err != nil {
6468 return thrift.PrependError("error reading field 2: ", err)
6469} else {
6470 temp := Encoding(v)
6471 p.Encoding = temp
6472}
6473 return nil
6474}
6475
6476func (p *PageEncodingStats) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
6477 if v, err := iprot.ReadI32(ctx); err != nil {
6478 return thrift.PrependError("error reading field 3: ", err)
6479} else {
6480 p.Count = v
6481}
6482 return nil
6483}
6484
6485func (p *PageEncodingStats) Write(ctx context.Context, oprot thrift.TProtocol) error {
6486 if err := oprot.WriteStructBegin(ctx, "PageEncodingStats"); err != nil {
6487 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
6488 if p != nil {
6489 if err := p.writeField1(ctx, oprot); err != nil { return err }
6490 if err := p.writeField2(ctx, oprot); err != nil { return err }
6491 if err := p.writeField3(ctx, oprot); err != nil { return err }
6492 }
6493 if err := oprot.WriteFieldStop(ctx); err != nil {
6494 return thrift.PrependError("write field stop error: ", err) }
6495 if err := oprot.WriteStructEnd(ctx); err != nil {
6496 return thrift.PrependError("write struct stop error: ", err) }
6497 return nil
6498}
6499
6500func (p *PageEncodingStats) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
6501 if err := oprot.WriteFieldBegin(ctx, "page_type", thrift.I32, 1); err != nil {
6502 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:page_type: ", p), err) }
6503 if err := oprot.WriteI32(ctx, int32(p.PageType)); err != nil {
6504 return thrift.PrependError(fmt.Sprintf("%T.page_type (1) field write error: ", p), err) }
6505 if err := oprot.WriteFieldEnd(ctx); err != nil {
6506 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:page_type: ", p), err) }
6507 return err
6508}
6509
6510func (p *PageEncodingStats) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
6511 if err := oprot.WriteFieldBegin(ctx, "encoding", thrift.I32, 2); err != nil {
6512 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:encoding: ", p), err) }
6513 if err := oprot.WriteI32(ctx, int32(p.Encoding)); err != nil {
6514 return thrift.PrependError(fmt.Sprintf("%T.encoding (2) field write error: ", p), err) }
6515 if err := oprot.WriteFieldEnd(ctx); err != nil {
6516 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:encoding: ", p), err) }
6517 return err
6518}
6519
6520func (p *PageEncodingStats) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
6521 if err := oprot.WriteFieldBegin(ctx, "count", thrift.I32, 3); err != nil {
6522 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:count: ", p), err) }
6523 if err := oprot.WriteI32(ctx, int32(p.Count)); err != nil {
6524 return thrift.PrependError(fmt.Sprintf("%T.count (3) field write error: ", p), err) }
6525 if err := oprot.WriteFieldEnd(ctx); err != nil {
6526 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:count: ", p), err) }
6527 return err
6528}
6529
6530func (p *PageEncodingStats) Equals(other *PageEncodingStats) bool {
6531 if p == other {
6532 return true
6533 } else if p == nil || other == nil {
6534 return false
6535 }
6536 if p.PageType != other.PageType { return false }
6537 if p.Encoding != other.Encoding { return false }
6538 if p.Count != other.Count { return false }
6539 return true
6540}
6541
6542func (p *PageEncodingStats) String() string {
6543 if p == nil {
6544 return "<nil>"
6545 }
6546 return fmt.Sprintf("PageEncodingStats(%+v)", *p)
6547}
6548
6549// Description for column metadata
6550//
6551// Attributes:
6552// - Type: Type of this column *
6553// - Encodings: Set of all encodings used for this column. The purpose is to validate
6554// whether we can decode those pages. *
6555// - PathInSchema: Path in schema *
6556// - Codec: Compression codec *
6557// - NumValues: Number of values in this column *
6558// - TotalUncompressedSize: total byte size of all uncompressed pages in this column chunk (including the headers) *
6559// - TotalCompressedSize: total byte size of all compressed, and potentially encrypted, pages
6560// in this column chunk (including the headers) *
6561// - KeyValueMetadata: Optional key/value metadata *
6562// - DataPageOffset: Byte offset from beginning of file to first data page *
6563// - IndexPageOffset: Byte offset from beginning of file to root index page *
6564// - DictionaryPageOffset: Byte offset from the beginning of file to first (only) dictionary page *
6565// - Statistics: optional statistics for this column chunk
6566// - EncodingStats: Set of all encodings used for pages in this column chunk.
6567// This information can be used to determine if all data pages are
6568// dictionary encoded for example *
6569// - BloomFilterOffset: Byte offset from beginning of file to Bloom filter data. *
6570type ColumnMetaData struct {
6571 Type Type `thrift:"type,1,required" db:"type" json:"type"`
6572 Encodings []Encoding `thrift:"encodings,2,required" db:"encodings" json:"encodings"`
6573 PathInSchema []string `thrift:"path_in_schema,3,required" db:"path_in_schema" json:"path_in_schema"`
6574 Codec CompressionCodec `thrift:"codec,4,required" db:"codec" json:"codec"`
6575 NumValues int64 `thrift:"num_values,5,required" db:"num_values" json:"num_values"`
6576 TotalUncompressedSize int64 `thrift:"total_uncompressed_size,6,required" db:"total_uncompressed_size" json:"total_uncompressed_size"`
6577 TotalCompressedSize int64 `thrift:"total_compressed_size,7,required" db:"total_compressed_size" json:"total_compressed_size"`
6578 KeyValueMetadata []*KeyValue `thrift:"key_value_metadata,8" db:"key_value_metadata" json:"key_value_metadata,omitempty"`
6579 DataPageOffset int64 `thrift:"data_page_offset,9,required" db:"data_page_offset" json:"data_page_offset"`
6580 IndexPageOffset *int64 `thrift:"index_page_offset,10" db:"index_page_offset" json:"index_page_offset,omitempty"`
6581 DictionaryPageOffset *int64 `thrift:"dictionary_page_offset,11" db:"dictionary_page_offset" json:"dictionary_page_offset,omitempty"`
6582 Statistics *Statistics `thrift:"statistics,12" db:"statistics" json:"statistics,omitempty"`
6583 EncodingStats []*PageEncodingStats `thrift:"encoding_stats,13" db:"encoding_stats" json:"encoding_stats,omitempty"`
6584 BloomFilterOffset *int64 `thrift:"bloom_filter_offset,14" db:"bloom_filter_offset" json:"bloom_filter_offset,omitempty"`
6585}
6586
6587func NewColumnMetaData() *ColumnMetaData {
6588 return &ColumnMetaData{}
6589}
6590
6591
6592func (p *ColumnMetaData) GetType() Type {
6593 return p.Type
6594}
6595
6596func (p *ColumnMetaData) GetEncodings() []Encoding {
6597 return p.Encodings
6598}
6599
6600func (p *ColumnMetaData) GetPathInSchema() []string {
6601 return p.PathInSchema
6602}
6603
6604func (p *ColumnMetaData) GetCodec() CompressionCodec {
6605 return p.Codec
6606}
6607
6608func (p *ColumnMetaData) GetNumValues() int64 {
6609 return p.NumValues
6610}
6611
6612func (p *ColumnMetaData) GetTotalUncompressedSize() int64 {
6613 return p.TotalUncompressedSize
6614}
6615
6616func (p *ColumnMetaData) GetTotalCompressedSize() int64 {
6617 return p.TotalCompressedSize
6618}
6619var ColumnMetaData_KeyValueMetadata_DEFAULT []*KeyValue
6620
6621func (p *ColumnMetaData) GetKeyValueMetadata() []*KeyValue {
6622 return p.KeyValueMetadata
6623}
6624
6625func (p *ColumnMetaData) GetDataPageOffset() int64 {
6626 return p.DataPageOffset
6627}
6628var ColumnMetaData_IndexPageOffset_DEFAULT int64
6629func (p *ColumnMetaData) GetIndexPageOffset() int64 {
6630 if !p.IsSetIndexPageOffset() {
6631 return ColumnMetaData_IndexPageOffset_DEFAULT
6632 }
6633return *p.IndexPageOffset
6634}
6635var ColumnMetaData_DictionaryPageOffset_DEFAULT int64
6636func (p *ColumnMetaData) GetDictionaryPageOffset() int64 {
6637 if !p.IsSetDictionaryPageOffset() {
6638 return ColumnMetaData_DictionaryPageOffset_DEFAULT
6639 }
6640return *p.DictionaryPageOffset
6641}
6642var ColumnMetaData_Statistics_DEFAULT *Statistics
6643func (p *ColumnMetaData) GetStatistics() *Statistics {
6644 if !p.IsSetStatistics() {
6645 return ColumnMetaData_Statistics_DEFAULT
6646 }
6647return p.Statistics
6648}
6649var ColumnMetaData_EncodingStats_DEFAULT []*PageEncodingStats
6650
6651func (p *ColumnMetaData) GetEncodingStats() []*PageEncodingStats {
6652 return p.EncodingStats
6653}
6654var ColumnMetaData_BloomFilterOffset_DEFAULT int64
6655func (p *ColumnMetaData) GetBloomFilterOffset() int64 {
6656 if !p.IsSetBloomFilterOffset() {
6657 return ColumnMetaData_BloomFilterOffset_DEFAULT
6658 }
6659return *p.BloomFilterOffset
6660}
6661func (p *ColumnMetaData) IsSetKeyValueMetadata() bool {
6662 return p.KeyValueMetadata != nil
6663}
6664
6665func (p *ColumnMetaData) IsSetIndexPageOffset() bool {
6666 return p.IndexPageOffset != nil
6667}
6668
6669func (p *ColumnMetaData) IsSetDictionaryPageOffset() bool {
6670 return p.DictionaryPageOffset != nil
6671}
6672
6673func (p *ColumnMetaData) IsSetStatistics() bool {
6674 return p.Statistics != nil
6675}
6676
6677func (p *ColumnMetaData) IsSetEncodingStats() bool {
6678 return p.EncodingStats != nil
6679}
6680
6681func (p *ColumnMetaData) IsSetBloomFilterOffset() bool {
6682 return p.BloomFilterOffset != nil
6683}
6684
6685func (p *ColumnMetaData) Read(ctx context.Context, iprot thrift.TProtocol) error {
6686 if _, err := iprot.ReadStructBegin(ctx); err != nil {
6687 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
6688 }
6689
6690 var issetType bool = false;
6691 var issetEncodings bool = false;
6692 var issetPathInSchema bool = false;
6693 var issetCodec bool = false;
6694 var issetNumValues bool = false;
6695 var issetTotalUncompressedSize bool = false;
6696 var issetTotalCompressedSize bool = false;
6697 var issetDataPageOffset bool = false;
6698
6699 for {
6700 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
6701 if err != nil {
6702 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
6703 }
6704 if fieldTypeId == thrift.STOP { break; }
6705 switch fieldId {
6706 case 1:
6707 if fieldTypeId == thrift.I32 {
6708 if err := p.ReadField1(ctx, iprot); err != nil {
6709 return err
6710 }
6711 issetType = true
6712 } else {
6713 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6714 return err
6715 }
6716 }
6717 case 2:
6718 if fieldTypeId == thrift.LIST {
6719 if err := p.ReadField2(ctx, iprot); err != nil {
6720 return err
6721 }
6722 issetEncodings = true
6723 } else {
6724 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6725 return err
6726 }
6727 }
6728 case 3:
6729 if fieldTypeId == thrift.LIST {
6730 if err := p.ReadField3(ctx, iprot); err != nil {
6731 return err
6732 }
6733 issetPathInSchema = true
6734 } else {
6735 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6736 return err
6737 }
6738 }
6739 case 4:
6740 if fieldTypeId == thrift.I32 {
6741 if err := p.ReadField4(ctx, iprot); err != nil {
6742 return err
6743 }
6744 issetCodec = true
6745 } else {
6746 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6747 return err
6748 }
6749 }
6750 case 5:
6751 if fieldTypeId == thrift.I64 {
6752 if err := p.ReadField5(ctx, iprot); err != nil {
6753 return err
6754 }
6755 issetNumValues = true
6756 } else {
6757 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6758 return err
6759 }
6760 }
6761 case 6:
6762 if fieldTypeId == thrift.I64 {
6763 if err := p.ReadField6(ctx, iprot); err != nil {
6764 return err
6765 }
6766 issetTotalUncompressedSize = true
6767 } else {
6768 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6769 return err
6770 }
6771 }
6772 case 7:
6773 if fieldTypeId == thrift.I64 {
6774 if err := p.ReadField7(ctx, iprot); err != nil {
6775 return err
6776 }
6777 issetTotalCompressedSize = true
6778 } else {
6779 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6780 return err
6781 }
6782 }
6783 case 8:
6784 if fieldTypeId == thrift.LIST {
6785 if err := p.ReadField8(ctx, iprot); err != nil {
6786 return err
6787 }
6788 } else {
6789 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6790 return err
6791 }
6792 }
6793 case 9:
6794 if fieldTypeId == thrift.I64 {
6795 if err := p.ReadField9(ctx, iprot); err != nil {
6796 return err
6797 }
6798 issetDataPageOffset = true
6799 } else {
6800 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6801 return err
6802 }
6803 }
6804 case 10:
6805 if fieldTypeId == thrift.I64 {
6806 if err := p.ReadField10(ctx, iprot); err != nil {
6807 return err
6808 }
6809 } else {
6810 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6811 return err
6812 }
6813 }
6814 case 11:
6815 if fieldTypeId == thrift.I64 {
6816 if err := p.ReadField11(ctx, iprot); err != nil {
6817 return err
6818 }
6819 } else {
6820 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6821 return err
6822 }
6823 }
6824 case 12:
6825 if fieldTypeId == thrift.STRUCT {
6826 if err := p.ReadField12(ctx, iprot); err != nil {
6827 return err
6828 }
6829 } else {
6830 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6831 return err
6832 }
6833 }
6834 case 13:
6835 if fieldTypeId == thrift.LIST {
6836 if err := p.ReadField13(ctx, iprot); err != nil {
6837 return err
6838 }
6839 } else {
6840 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6841 return err
6842 }
6843 }
6844 case 14:
6845 if fieldTypeId == thrift.I64 {
6846 if err := p.ReadField14(ctx, iprot); err != nil {
6847 return err
6848 }
6849 } else {
6850 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6851 return err
6852 }
6853 }
6854 default:
6855 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
6856 return err
6857 }
6858 }
6859 if err := iprot.ReadFieldEnd(ctx); err != nil {
6860 return err
6861 }
6862 }
6863 if err := iprot.ReadStructEnd(ctx); err != nil {
6864 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
6865 }
6866 if !issetType{
6867 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Type is not set"));
6868 }
6869 if !issetEncodings{
6870 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encodings is not set"));
6871 }
6872 if !issetPathInSchema{
6873 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field PathInSchema is not set"));
6874 }
6875 if !issetCodec{
6876 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Codec is not set"));
6877 }
6878 if !issetNumValues{
6879 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumValues is not set"));
6880 }
6881 if !issetTotalUncompressedSize{
6882 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TotalUncompressedSize is not set"));
6883 }
6884 if !issetTotalCompressedSize{
6885 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TotalCompressedSize is not set"));
6886 }
6887 if !issetDataPageOffset{
6888 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DataPageOffset is not set"));
6889 }
6890 return nil
6891}
6892
6893func (p *ColumnMetaData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
6894 if v, err := iprot.ReadI32(ctx); err != nil {
6895 return thrift.PrependError("error reading field 1: ", err)
6896} else {
6897 temp := Type(v)
6898 p.Type = temp
6899}
6900 return nil
6901}
6902
6903func (p *ColumnMetaData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
6904 _, size, err := iprot.ReadListBegin(ctx)
6905 if err != nil {
6906 return thrift.PrependError("error reading list begin: ", err)
6907 }
6908 tSlice := make([]Encoding, 0, size)
6909 p.Encodings = tSlice
6910 for i := 0; i < size; i ++ {
6911var _elem0 Encoding
6912 if v, err := iprot.ReadI32(ctx); err != nil {
6913 return thrift.PrependError("error reading field 0: ", err)
6914} else {
6915 temp := Encoding(v)
6916 _elem0 = temp
6917}
6918 p.Encodings = append(p.Encodings, _elem0)
6919 }
6920 if err := iprot.ReadListEnd(ctx); err != nil {
6921 return thrift.PrependError("error reading list end: ", err)
6922 }
6923 return nil
6924}
6925
6926func (p *ColumnMetaData) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
6927 _, size, err := iprot.ReadListBegin(ctx)
6928 if err != nil {
6929 return thrift.PrependError("error reading list begin: ", err)
6930 }
6931 tSlice := make([]string, 0, size)
6932 p.PathInSchema = tSlice
6933 for i := 0; i < size; i ++ {
6934var _elem1 string
6935 if v, err := iprot.ReadString(ctx); err != nil {
6936 return thrift.PrependError("error reading field 0: ", err)
6937} else {
6938 _elem1 = v
6939}
6940 p.PathInSchema = append(p.PathInSchema, _elem1)
6941 }
6942 if err := iprot.ReadListEnd(ctx); err != nil {
6943 return thrift.PrependError("error reading list end: ", err)
6944 }
6945 return nil
6946}
6947
6948func (p *ColumnMetaData) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
6949 if v, err := iprot.ReadI32(ctx); err != nil {
6950 return thrift.PrependError("error reading field 4: ", err)
6951} else {
6952 temp := CompressionCodec(v)
6953 p.Codec = temp
6954}
6955 return nil
6956}
6957
6958func (p *ColumnMetaData) ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
6959 if v, err := iprot.ReadI64(ctx); err != nil {
6960 return thrift.PrependError("error reading field 5: ", err)
6961} else {
6962 p.NumValues = v
6963}
6964 return nil
6965}
6966
6967func (p *ColumnMetaData) ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
6968 if v, err := iprot.ReadI64(ctx); err != nil {
6969 return thrift.PrependError("error reading field 6: ", err)
6970} else {
6971 p.TotalUncompressedSize = v
6972}
6973 return nil
6974}
6975
6976func (p *ColumnMetaData) ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
6977 if v, err := iprot.ReadI64(ctx); err != nil {
6978 return thrift.PrependError("error reading field 7: ", err)
6979} else {
6980 p.TotalCompressedSize = v
6981}
6982 return nil
6983}
6984
6985func (p *ColumnMetaData) ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
6986 _, size, err := iprot.ReadListBegin(ctx)
6987 if err != nil {
6988 return thrift.PrependError("error reading list begin: ", err)
6989 }
6990 tSlice := make([]*KeyValue, 0, size)
6991 p.KeyValueMetadata = tSlice
6992 for i := 0; i < size; i ++ {
6993 _elem2 := &KeyValue{}
6994 if err := _elem2.Read(ctx, iprot); err != nil {
6995 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem2), err)
6996 }
6997 p.KeyValueMetadata = append(p.KeyValueMetadata, _elem2)
6998 }
6999 if err := iprot.ReadListEnd(ctx); err != nil {
7000 return thrift.PrependError("error reading list end: ", err)
7001 }
7002 return nil
7003}
7004
7005func (p *ColumnMetaData) ReadField9(ctx context.Context, iprot thrift.TProtocol) error {
7006 if v, err := iprot.ReadI64(ctx); err != nil {
7007 return thrift.PrependError("error reading field 9: ", err)
7008} else {
7009 p.DataPageOffset = v
7010}
7011 return nil
7012}
7013
7014func (p *ColumnMetaData) ReadField10(ctx context.Context, iprot thrift.TProtocol) error {
7015 if v, err := iprot.ReadI64(ctx); err != nil {
7016 return thrift.PrependError("error reading field 10: ", err)
7017} else {
7018 p.IndexPageOffset = &v
7019}
7020 return nil
7021}
7022
7023func (p *ColumnMetaData) ReadField11(ctx context.Context, iprot thrift.TProtocol) error {
7024 if v, err := iprot.ReadI64(ctx); err != nil {
7025 return thrift.PrependError("error reading field 11: ", err)
7026} else {
7027 p.DictionaryPageOffset = &v
7028}
7029 return nil
7030}
7031
7032func (p *ColumnMetaData) ReadField12(ctx context.Context, iprot thrift.TProtocol) error {
7033 p.Statistics = &Statistics{}
7034 if err := p.Statistics.Read(ctx, iprot); err != nil {
7035 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Statistics), err)
7036 }
7037 return nil
7038}
7039
7040func (p *ColumnMetaData) ReadField13(ctx context.Context, iprot thrift.TProtocol) error {
7041 _, size, err := iprot.ReadListBegin(ctx)
7042 if err != nil {
7043 return thrift.PrependError("error reading list begin: ", err)
7044 }
7045 tSlice := make([]*PageEncodingStats, 0, size)
7046 p.EncodingStats = tSlice
7047 for i := 0; i < size; i ++ {
7048 _elem3 := &PageEncodingStats{}
7049 if err := _elem3.Read(ctx, iprot); err != nil {
7050 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem3), err)
7051 }
7052 p.EncodingStats = append(p.EncodingStats, _elem3)
7053 }
7054 if err := iprot.ReadListEnd(ctx); err != nil {
7055 return thrift.PrependError("error reading list end: ", err)
7056 }
7057 return nil
7058}
7059
7060func (p *ColumnMetaData) ReadField14(ctx context.Context, iprot thrift.TProtocol) error {
7061 if v, err := iprot.ReadI64(ctx); err != nil {
7062 return thrift.PrependError("error reading field 14: ", err)
7063} else {
7064 p.BloomFilterOffset = &v
7065}
7066 return nil
7067}
7068
7069func (p *ColumnMetaData) Write(ctx context.Context, oprot thrift.TProtocol) error {
7070 if err := oprot.WriteStructBegin(ctx, "ColumnMetaData"); err != nil {
7071 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
7072 if p != nil {
7073 if err := p.writeField1(ctx, oprot); err != nil { return err }
7074 if err := p.writeField2(ctx, oprot); err != nil { return err }
7075 if err := p.writeField3(ctx, oprot); err != nil { return err }
7076 if err := p.writeField4(ctx, oprot); err != nil { return err }
7077 if err := p.writeField5(ctx, oprot); err != nil { return err }
7078 if err := p.writeField6(ctx, oprot); err != nil { return err }
7079 if err := p.writeField7(ctx, oprot); err != nil { return err }
7080 if err := p.writeField8(ctx, oprot); err != nil { return err }
7081 if err := p.writeField9(ctx, oprot); err != nil { return err }
7082 if err := p.writeField10(ctx, oprot); err != nil { return err }
7083 if err := p.writeField11(ctx, oprot); err != nil { return err }
7084 if err := p.writeField12(ctx, oprot); err != nil { return err }
7085 if err := p.writeField13(ctx, oprot); err != nil { return err }
7086 if err := p.writeField14(ctx, oprot); err != nil { return err }
7087 }
7088 if err := oprot.WriteFieldStop(ctx); err != nil {
7089 return thrift.PrependError("write field stop error: ", err) }
7090 if err := oprot.WriteStructEnd(ctx); err != nil {
7091 return thrift.PrependError("write struct stop error: ", err) }
7092 return nil
7093}
7094
7095func (p *ColumnMetaData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
7096 if err := oprot.WriteFieldBegin(ctx, "type", thrift.I32, 1); err != nil {
7097 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:type: ", p), err) }
7098 if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil {
7099 return thrift.PrependError(fmt.Sprintf("%T.type (1) field write error: ", p), err) }
7100 if err := oprot.WriteFieldEnd(ctx); err != nil {
7101 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:type: ", p), err) }
7102 return err
7103}
7104
7105func (p *ColumnMetaData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
7106 if err := oprot.WriteFieldBegin(ctx, "encodings", thrift.LIST, 2); err != nil {
7107 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:encodings: ", p), err) }
7108 if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Encodings)); err != nil {
7109 return thrift.PrependError("error writing list begin: ", err)
7110 }
7111 for _, v := range p.Encodings {
7112 if err := oprot.WriteI32(ctx, int32(v)); err != nil {
7113 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
7114 }
7115 if err := oprot.WriteListEnd(ctx); err != nil {
7116 return thrift.PrependError("error writing list end: ", err)
7117 }
7118 if err := oprot.WriteFieldEnd(ctx); err != nil {
7119 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:encodings: ", p), err) }
7120 return err
7121}
7122
7123func (p *ColumnMetaData) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
7124 if err := oprot.WriteFieldBegin(ctx, "path_in_schema", thrift.LIST, 3); err != nil {
7125 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:path_in_schema: ", p), err) }
7126 if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.PathInSchema)); err != nil {
7127 return thrift.PrependError("error writing list begin: ", err)
7128 }
7129 for _, v := range p.PathInSchema {
7130 if err := oprot.WriteString(ctx, string(v)); err != nil {
7131 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
7132 }
7133 if err := oprot.WriteListEnd(ctx); err != nil {
7134 return thrift.PrependError("error writing list end: ", err)
7135 }
7136 if err := oprot.WriteFieldEnd(ctx); err != nil {
7137 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:path_in_schema: ", p), err) }
7138 return err
7139}
7140
7141func (p *ColumnMetaData) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
7142 if err := oprot.WriteFieldBegin(ctx, "codec", thrift.I32, 4); err != nil {
7143 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:codec: ", p), err) }
7144 if err := oprot.WriteI32(ctx, int32(p.Codec)); err != nil {
7145 return thrift.PrependError(fmt.Sprintf("%T.codec (4) field write error: ", p), err) }
7146 if err := oprot.WriteFieldEnd(ctx); err != nil {
7147 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:codec: ", p), err) }
7148 return err
7149}
7150
7151func (p *ColumnMetaData) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
7152 if err := oprot.WriteFieldBegin(ctx, "num_values", thrift.I64, 5); err != nil {
7153 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:num_values: ", p), err) }
7154 if err := oprot.WriteI64(ctx, int64(p.NumValues)); err != nil {
7155 return thrift.PrependError(fmt.Sprintf("%T.num_values (5) field write error: ", p), err) }
7156 if err := oprot.WriteFieldEnd(ctx); err != nil {
7157 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:num_values: ", p), err) }
7158 return err
7159}
7160
7161func (p *ColumnMetaData) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
7162 if err := oprot.WriteFieldBegin(ctx, "total_uncompressed_size", thrift.I64, 6); err != nil {
7163 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:total_uncompressed_size: ", p), err) }
7164 if err := oprot.WriteI64(ctx, int64(p.TotalUncompressedSize)); err != nil {
7165 return thrift.PrependError(fmt.Sprintf("%T.total_uncompressed_size (6) field write error: ", p), err) }
7166 if err := oprot.WriteFieldEnd(ctx); err != nil {
7167 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:total_uncompressed_size: ", p), err) }
7168 return err
7169}
7170
7171func (p *ColumnMetaData) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
7172 if err := oprot.WriteFieldBegin(ctx, "total_compressed_size", thrift.I64, 7); err != nil {
7173 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:total_compressed_size: ", p), err) }
7174 if err := oprot.WriteI64(ctx, int64(p.TotalCompressedSize)); err != nil {
7175 return thrift.PrependError(fmt.Sprintf("%T.total_compressed_size (7) field write error: ", p), err) }
7176 if err := oprot.WriteFieldEnd(ctx); err != nil {
7177 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:total_compressed_size: ", p), err) }
7178 return err
7179}
7180
7181func (p *ColumnMetaData) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
7182 if p.IsSetKeyValueMetadata() {
7183 if err := oprot.WriteFieldBegin(ctx, "key_value_metadata", thrift.LIST, 8); err != nil {
7184 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:key_value_metadata: ", p), err) }
7185 if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.KeyValueMetadata)); err != nil {
7186 return thrift.PrependError("error writing list begin: ", err)
7187 }
7188 for _, v := range p.KeyValueMetadata {
7189 if err := v.Write(ctx, oprot); err != nil {
7190 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
7191 }
7192 }
7193 if err := oprot.WriteListEnd(ctx); err != nil {
7194 return thrift.PrependError("error writing list end: ", err)
7195 }
7196 if err := oprot.WriteFieldEnd(ctx); err != nil {
7197 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:key_value_metadata: ", p), err) }
7198 }
7199 return err
7200}
7201
7202func (p *ColumnMetaData) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
7203 if err := oprot.WriteFieldBegin(ctx, "data_page_offset", thrift.I64, 9); err != nil {
7204 return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:data_page_offset: ", p), err) }
7205 if err := oprot.WriteI64(ctx, int64(p.DataPageOffset)); err != nil {
7206 return thrift.PrependError(fmt.Sprintf("%T.data_page_offset (9) field write error: ", p), err) }
7207 if err := oprot.WriteFieldEnd(ctx); err != nil {
7208 return thrift.PrependError(fmt.Sprintf("%T write field end error 9:data_page_offset: ", p), err) }
7209 return err
7210}
7211
7212func (p *ColumnMetaData) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) {
7213 if p.IsSetIndexPageOffset() {
7214 if err := oprot.WriteFieldBegin(ctx, "index_page_offset", thrift.I64, 10); err != nil {
7215 return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:index_page_offset: ", p), err) }
7216 if err := oprot.WriteI64(ctx, int64(*p.IndexPageOffset)); err != nil {
7217 return thrift.PrependError(fmt.Sprintf("%T.index_page_offset (10) field write error: ", p), err) }
7218 if err := oprot.WriteFieldEnd(ctx); err != nil {
7219 return thrift.PrependError(fmt.Sprintf("%T write field end error 10:index_page_offset: ", p), err) }
7220 }
7221 return err
7222}
7223
7224func (p *ColumnMetaData) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) {
7225 if p.IsSetDictionaryPageOffset() {
7226 if err := oprot.WriteFieldBegin(ctx, "dictionary_page_offset", thrift.I64, 11); err != nil {
7227 return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:dictionary_page_offset: ", p), err) }
7228 if err := oprot.WriteI64(ctx, int64(*p.DictionaryPageOffset)); err != nil {
7229 return thrift.PrependError(fmt.Sprintf("%T.dictionary_page_offset (11) field write error: ", p), err) }
7230 if err := oprot.WriteFieldEnd(ctx); err != nil {
7231 return thrift.PrependError(fmt.Sprintf("%T write field end error 11:dictionary_page_offset: ", p), err) }
7232 }
7233 return err
7234}
7235
7236func (p *ColumnMetaData) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) {
7237 if p.IsSetStatistics() {
7238 if err := oprot.WriteFieldBegin(ctx, "statistics", thrift.STRUCT, 12); err != nil {
7239 return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:statistics: ", p), err) }
7240 if err := p.Statistics.Write(ctx, oprot); err != nil {
7241 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Statistics), err)
7242 }
7243 if err := oprot.WriteFieldEnd(ctx); err != nil {
7244 return thrift.PrependError(fmt.Sprintf("%T write field end error 12:statistics: ", p), err) }
7245 }
7246 return err
7247}
7248
7249func (p *ColumnMetaData) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) {
7250 if p.IsSetEncodingStats() {
7251 if err := oprot.WriteFieldBegin(ctx, "encoding_stats", thrift.LIST, 13); err != nil {
7252 return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:encoding_stats: ", p), err) }
7253 if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.EncodingStats)); err != nil {
7254 return thrift.PrependError("error writing list begin: ", err)
7255 }
7256 for _, v := range p.EncodingStats {
7257 if err := v.Write(ctx, oprot); err != nil {
7258 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
7259 }
7260 }
7261 if err := oprot.WriteListEnd(ctx); err != nil {
7262 return thrift.PrependError("error writing list end: ", err)
7263 }
7264 if err := oprot.WriteFieldEnd(ctx); err != nil {
7265 return thrift.PrependError(fmt.Sprintf("%T write field end error 13:encoding_stats: ", p), err) }
7266 }
7267 return err
7268}
7269
7270func (p *ColumnMetaData) writeField14(ctx context.Context, oprot thrift.TProtocol) (err error) {
7271 if p.IsSetBloomFilterOffset() {
7272 if err := oprot.WriteFieldBegin(ctx, "bloom_filter_offset", thrift.I64, 14); err != nil {
7273 return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:bloom_filter_offset: ", p), err) }
7274 if err := oprot.WriteI64(ctx, int64(*p.BloomFilterOffset)); err != nil {
7275 return thrift.PrependError(fmt.Sprintf("%T.bloom_filter_offset (14) field write error: ", p), err) }
7276 if err := oprot.WriteFieldEnd(ctx); err != nil {
7277 return thrift.PrependError(fmt.Sprintf("%T write field end error 14:bloom_filter_offset: ", p), err) }
7278 }
7279 return err
7280}
7281
7282func (p *ColumnMetaData) Equals(other *ColumnMetaData) bool {
7283 if p == other {
7284 return true
7285 } else if p == nil || other == nil {
7286 return false
7287 }
7288 if p.Type != other.Type { return false }
7289 if len(p.Encodings) != len(other.Encodings) { return false }
7290 for i, _tgt := range p.Encodings {
7291 _src4 := other.Encodings[i]
7292 if _tgt != _src4 { return false }
7293 }
7294 if len(p.PathInSchema) != len(other.PathInSchema) { return false }
7295 for i, _tgt := range p.PathInSchema {
7296 _src5 := other.PathInSchema[i]
7297 if _tgt != _src5 { return false }
7298 }
7299 if p.Codec != other.Codec { return false }
7300 if p.NumValues != other.NumValues { return false }
7301 if p.TotalUncompressedSize != other.TotalUncompressedSize { return false }
7302 if p.TotalCompressedSize != other.TotalCompressedSize { return false }
7303 if len(p.KeyValueMetadata) != len(other.KeyValueMetadata) { return false }
7304 for i, _tgt := range p.KeyValueMetadata {
7305 _src6 := other.KeyValueMetadata[i]
7306 if !_tgt.Equals(_src6) { return false }
7307 }
7308 if p.DataPageOffset != other.DataPageOffset { return false }
7309 if p.IndexPageOffset != other.IndexPageOffset {
7310 if p.IndexPageOffset == nil || other.IndexPageOffset == nil {
7311 return false
7312 }
7313 if (*p.IndexPageOffset) != (*other.IndexPageOffset) { return false }
7314 }
7315 if p.DictionaryPageOffset != other.DictionaryPageOffset {
7316 if p.DictionaryPageOffset == nil || other.DictionaryPageOffset == nil {
7317 return false
7318 }
7319 if (*p.DictionaryPageOffset) != (*other.DictionaryPageOffset) { return false }
7320 }
7321 if !p.Statistics.Equals(other.Statistics) { return false }
7322 if len(p.EncodingStats) != len(other.EncodingStats) { return false }
7323 for i, _tgt := range p.EncodingStats {
7324 _src7 := other.EncodingStats[i]
7325 if !_tgt.Equals(_src7) { return false }
7326 }
7327 if p.BloomFilterOffset != other.BloomFilterOffset {
7328 if p.BloomFilterOffset == nil || other.BloomFilterOffset == nil {
7329 return false
7330 }
7331 if (*p.BloomFilterOffset) != (*other.BloomFilterOffset) { return false }
7332 }
7333 return true
7334}
7335
7336func (p *ColumnMetaData) String() string {
7337 if p == nil {
7338 return "<nil>"
7339 }
7340 return fmt.Sprintf("ColumnMetaData(%+v)", *p)
7341}
7342
7343type EncryptionWithFooterKey struct {
7344}
7345
7346func NewEncryptionWithFooterKey() *EncryptionWithFooterKey {
7347 return &EncryptionWithFooterKey{}
7348}
7349
7350func (p *EncryptionWithFooterKey) Read(ctx context.Context, iprot thrift.TProtocol) error {
7351 if _, err := iprot.ReadStructBegin(ctx); err != nil {
7352 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
7353 }
7354
7355
7356 for {
7357 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
7358 if err != nil {
7359 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
7360 }
7361 if fieldTypeId == thrift.STOP { break; }
7362 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7363 return err
7364 }
7365 if err := iprot.ReadFieldEnd(ctx); err != nil {
7366 return err
7367 }
7368 }
7369 if err := iprot.ReadStructEnd(ctx); err != nil {
7370 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
7371 }
7372 return nil
7373}
7374
7375func (p *EncryptionWithFooterKey) Write(ctx context.Context, oprot thrift.TProtocol) error {
7376 if err := oprot.WriteStructBegin(ctx, "EncryptionWithFooterKey"); err != nil {
7377 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
7378 if p != nil {
7379 }
7380 if err := oprot.WriteFieldStop(ctx); err != nil {
7381 return thrift.PrependError("write field stop error: ", err) }
7382 if err := oprot.WriteStructEnd(ctx); err != nil {
7383 return thrift.PrependError("write struct stop error: ", err) }
7384 return nil
7385}
7386
7387func (p *EncryptionWithFooterKey) Equals(other *EncryptionWithFooterKey) bool {
7388 if p == other {
7389 return true
7390 } else if p == nil || other == nil {
7391 return false
7392 }
7393 return true
7394}
7395
7396func (p *EncryptionWithFooterKey) String() string {
7397 if p == nil {
7398 return "<nil>"
7399 }
7400 return fmt.Sprintf("EncryptionWithFooterKey(%+v)", *p)
7401}
7402
7403// Attributes:
7404// - PathInSchema: Column path in schema *
7405// - KeyMetadata: Retrieval metadata of column encryption key *
7406type EncryptionWithColumnKey struct {
7407 PathInSchema []string `thrift:"path_in_schema,1,required" db:"path_in_schema" json:"path_in_schema"`
7408 KeyMetadata []byte `thrift:"key_metadata,2" db:"key_metadata" json:"key_metadata,omitempty"`
7409}
7410
7411func NewEncryptionWithColumnKey() *EncryptionWithColumnKey {
7412 return &EncryptionWithColumnKey{}
7413}
7414
7415
7416func (p *EncryptionWithColumnKey) GetPathInSchema() []string {
7417 return p.PathInSchema
7418}
7419var EncryptionWithColumnKey_KeyMetadata_DEFAULT []byte
7420
7421func (p *EncryptionWithColumnKey) GetKeyMetadata() []byte {
7422 return p.KeyMetadata
7423}
7424func (p *EncryptionWithColumnKey) IsSetKeyMetadata() bool {
7425 return p.KeyMetadata != nil
7426}
7427
7428func (p *EncryptionWithColumnKey) Read(ctx context.Context, iprot thrift.TProtocol) error {
7429 if _, err := iprot.ReadStructBegin(ctx); err != nil {
7430 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
7431 }
7432
7433 var issetPathInSchema bool = false;
7434
7435 for {
7436 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
7437 if err != nil {
7438 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
7439 }
7440 if fieldTypeId == thrift.STOP { break; }
7441 switch fieldId {
7442 case 1:
7443 if fieldTypeId == thrift.LIST {
7444 if err := p.ReadField1(ctx, iprot); err != nil {
7445 return err
7446 }
7447 issetPathInSchema = true
7448 } else {
7449 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7450 return err
7451 }
7452 }
7453 case 2:
7454 if fieldTypeId == thrift.STRING {
7455 if err := p.ReadField2(ctx, iprot); err != nil {
7456 return err
7457 }
7458 } else {
7459 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7460 return err
7461 }
7462 }
7463 default:
7464 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7465 return err
7466 }
7467 }
7468 if err := iprot.ReadFieldEnd(ctx); err != nil {
7469 return err
7470 }
7471 }
7472 if err := iprot.ReadStructEnd(ctx); err != nil {
7473 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
7474 }
7475 if !issetPathInSchema{
7476 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field PathInSchema is not set"));
7477 }
7478 return nil
7479}
7480
7481func (p *EncryptionWithColumnKey) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
7482 _, size, err := iprot.ReadListBegin(ctx)
7483 if err != nil {
7484 return thrift.PrependError("error reading list begin: ", err)
7485 }
7486 tSlice := make([]string, 0, size)
7487 p.PathInSchema = tSlice
7488 for i := 0; i < size; i ++ {
7489var _elem8 string
7490 if v, err := iprot.ReadString(ctx); err != nil {
7491 return thrift.PrependError("error reading field 0: ", err)
7492} else {
7493 _elem8 = v
7494}
7495 p.PathInSchema = append(p.PathInSchema, _elem8)
7496 }
7497 if err := iprot.ReadListEnd(ctx); err != nil {
7498 return thrift.PrependError("error reading list end: ", err)
7499 }
7500 return nil
7501}
7502
7503func (p *EncryptionWithColumnKey) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
7504 if v, err := iprot.ReadBinary(ctx); err != nil {
7505 return thrift.PrependError("error reading field 2: ", err)
7506} else {
7507 p.KeyMetadata = v
7508}
7509 return nil
7510}
7511
7512func (p *EncryptionWithColumnKey) Write(ctx context.Context, oprot thrift.TProtocol) error {
7513 if err := oprot.WriteStructBegin(ctx, "EncryptionWithColumnKey"); err != nil {
7514 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
7515 if p != nil {
7516 if err := p.writeField1(ctx, oprot); err != nil { return err }
7517 if err := p.writeField2(ctx, oprot); err != nil { return err }
7518 }
7519 if err := oprot.WriteFieldStop(ctx); err != nil {
7520 return thrift.PrependError("write field stop error: ", err) }
7521 if err := oprot.WriteStructEnd(ctx); err != nil {
7522 return thrift.PrependError("write struct stop error: ", err) }
7523 return nil
7524}
7525
7526func (p *EncryptionWithColumnKey) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
7527 if err := oprot.WriteFieldBegin(ctx, "path_in_schema", thrift.LIST, 1); err != nil {
7528 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:path_in_schema: ", p), err) }
7529 if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.PathInSchema)); err != nil {
7530 return thrift.PrependError("error writing list begin: ", err)
7531 }
7532 for _, v := range p.PathInSchema {
7533 if err := oprot.WriteString(ctx, string(v)); err != nil {
7534 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
7535 }
7536 if err := oprot.WriteListEnd(ctx); err != nil {
7537 return thrift.PrependError("error writing list end: ", err)
7538 }
7539 if err := oprot.WriteFieldEnd(ctx); err != nil {
7540 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:path_in_schema: ", p), err) }
7541 return err
7542}
7543
7544func (p *EncryptionWithColumnKey) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
7545 if p.IsSetKeyMetadata() {
7546 if err := oprot.WriteFieldBegin(ctx, "key_metadata", thrift.STRING, 2); err != nil {
7547 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:key_metadata: ", p), err) }
7548 if err := oprot.WriteBinary(ctx, p.KeyMetadata); err != nil {
7549 return thrift.PrependError(fmt.Sprintf("%T.key_metadata (2) field write error: ", p), err) }
7550 if err := oprot.WriteFieldEnd(ctx); err != nil {
7551 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:key_metadata: ", p), err) }
7552 }
7553 return err
7554}
7555
7556func (p *EncryptionWithColumnKey) Equals(other *EncryptionWithColumnKey) bool {
7557 if p == other {
7558 return true
7559 } else if p == nil || other == nil {
7560 return false
7561 }
7562 if len(p.PathInSchema) != len(other.PathInSchema) { return false }
7563 for i, _tgt := range p.PathInSchema {
7564 _src9 := other.PathInSchema[i]
7565 if _tgt != _src9 { return false }
7566 }
7567 if bytes.Compare(p.KeyMetadata, other.KeyMetadata) != 0 { return false }
7568 return true
7569}
7570
7571func (p *EncryptionWithColumnKey) String() string {
7572 if p == nil {
7573 return "<nil>"
7574 }
7575 return fmt.Sprintf("EncryptionWithColumnKey(%+v)", *p)
7576}
7577
7578// Attributes:
7579// - ENCRYPTION_WITH_FOOTER_KEY
7580// - ENCRYPTION_WITH_COLUMN_KEY
7581type ColumnCryptoMetaData struct {
7582 ENCRYPTION_WITH_FOOTER_KEY *EncryptionWithFooterKey `thrift:"ENCRYPTION_WITH_FOOTER_KEY,1" db:"ENCRYPTION_WITH_FOOTER_KEY" json:"ENCRYPTION_WITH_FOOTER_KEY,omitempty"`
7583 ENCRYPTION_WITH_COLUMN_KEY *EncryptionWithColumnKey `thrift:"ENCRYPTION_WITH_COLUMN_KEY,2" db:"ENCRYPTION_WITH_COLUMN_KEY" json:"ENCRYPTION_WITH_COLUMN_KEY,omitempty"`
7584}
7585
7586func NewColumnCryptoMetaData() *ColumnCryptoMetaData {
7587 return &ColumnCryptoMetaData{}
7588}
7589
7590var ColumnCryptoMetaData_ENCRYPTION_WITH_FOOTER_KEY_DEFAULT *EncryptionWithFooterKey
7591func (p *ColumnCryptoMetaData) GetENCRYPTION_WITH_FOOTER_KEY() *EncryptionWithFooterKey {
7592 if !p.IsSetENCRYPTION_WITH_FOOTER_KEY() {
7593 return ColumnCryptoMetaData_ENCRYPTION_WITH_FOOTER_KEY_DEFAULT
7594 }
7595return p.ENCRYPTION_WITH_FOOTER_KEY
7596}
7597var ColumnCryptoMetaData_ENCRYPTION_WITH_COLUMN_KEY_DEFAULT *EncryptionWithColumnKey
7598func (p *ColumnCryptoMetaData) GetENCRYPTION_WITH_COLUMN_KEY() *EncryptionWithColumnKey {
7599 if !p.IsSetENCRYPTION_WITH_COLUMN_KEY() {
7600 return ColumnCryptoMetaData_ENCRYPTION_WITH_COLUMN_KEY_DEFAULT
7601 }
7602return p.ENCRYPTION_WITH_COLUMN_KEY
7603}
7604func (p *ColumnCryptoMetaData) CountSetFieldsColumnCryptoMetaData() int {
7605 count := 0
7606 if (p.IsSetENCRYPTION_WITH_FOOTER_KEY()) {
7607 count++
7608 }
7609 if (p.IsSetENCRYPTION_WITH_COLUMN_KEY()) {
7610 count++
7611 }
7612 return count
7613
7614}
7615
7616func (p *ColumnCryptoMetaData) IsSetENCRYPTION_WITH_FOOTER_KEY() bool {
7617 return p.ENCRYPTION_WITH_FOOTER_KEY != nil
7618}
7619
7620func (p *ColumnCryptoMetaData) IsSetENCRYPTION_WITH_COLUMN_KEY() bool {
7621 return p.ENCRYPTION_WITH_COLUMN_KEY != nil
7622}
7623
7624func (p *ColumnCryptoMetaData) Read(ctx context.Context, iprot thrift.TProtocol) error {
7625 if _, err := iprot.ReadStructBegin(ctx); err != nil {
7626 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
7627 }
7628
7629
7630 for {
7631 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
7632 if err != nil {
7633 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
7634 }
7635 if fieldTypeId == thrift.STOP { break; }
7636 switch fieldId {
7637 case 1:
7638 if fieldTypeId == thrift.STRUCT {
7639 if err := p.ReadField1(ctx, iprot); err != nil {
7640 return err
7641 }
7642 } else {
7643 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7644 return err
7645 }
7646 }
7647 case 2:
7648 if fieldTypeId == thrift.STRUCT {
7649 if err := p.ReadField2(ctx, iprot); err != nil {
7650 return err
7651 }
7652 } else {
7653 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7654 return err
7655 }
7656 }
7657 default:
7658 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7659 return err
7660 }
7661 }
7662 if err := iprot.ReadFieldEnd(ctx); err != nil {
7663 return err
7664 }
7665 }
7666 if err := iprot.ReadStructEnd(ctx); err != nil {
7667 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
7668 }
7669 return nil
7670}
7671
7672func (p *ColumnCryptoMetaData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
7673 p.ENCRYPTION_WITH_FOOTER_KEY = &EncryptionWithFooterKey{}
7674 if err := p.ENCRYPTION_WITH_FOOTER_KEY.Read(ctx, iprot); err != nil {
7675 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.ENCRYPTION_WITH_FOOTER_KEY), err)
7676 }
7677 return nil
7678}
7679
7680func (p *ColumnCryptoMetaData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
7681 p.ENCRYPTION_WITH_COLUMN_KEY = &EncryptionWithColumnKey{}
7682 if err := p.ENCRYPTION_WITH_COLUMN_KEY.Read(ctx, iprot); err != nil {
7683 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.ENCRYPTION_WITH_COLUMN_KEY), err)
7684 }
7685 return nil
7686}
7687
7688func (p *ColumnCryptoMetaData) Write(ctx context.Context, oprot thrift.TProtocol) error {
7689 if c := p.CountSetFieldsColumnCryptoMetaData(); c != 1 {
7690 return fmt.Errorf("%T write union: exactly one field must be set (%d set).", p, c)
7691 }
7692 if err := oprot.WriteStructBegin(ctx, "ColumnCryptoMetaData"); err != nil {
7693 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
7694 if p != nil {
7695 if err := p.writeField1(ctx, oprot); err != nil { return err }
7696 if err := p.writeField2(ctx, oprot); err != nil { return err }
7697 }
7698 if err := oprot.WriteFieldStop(ctx); err != nil {
7699 return thrift.PrependError("write field stop error: ", err) }
7700 if err := oprot.WriteStructEnd(ctx); err != nil {
7701 return thrift.PrependError("write struct stop error: ", err) }
7702 return nil
7703}
7704
7705func (p *ColumnCryptoMetaData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
7706 if p.IsSetENCRYPTION_WITH_FOOTER_KEY() {
7707 if err := oprot.WriteFieldBegin(ctx, "ENCRYPTION_WITH_FOOTER_KEY", thrift.STRUCT, 1); err != nil {
7708 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ENCRYPTION_WITH_FOOTER_KEY: ", p), err) }
7709 if err := p.ENCRYPTION_WITH_FOOTER_KEY.Write(ctx, oprot); err != nil {
7710 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.ENCRYPTION_WITH_FOOTER_KEY), err)
7711 }
7712 if err := oprot.WriteFieldEnd(ctx); err != nil {
7713 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ENCRYPTION_WITH_FOOTER_KEY: ", p), err) }
7714 }
7715 return err
7716}
7717
7718func (p *ColumnCryptoMetaData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
7719 if p.IsSetENCRYPTION_WITH_COLUMN_KEY() {
7720 if err := oprot.WriteFieldBegin(ctx, "ENCRYPTION_WITH_COLUMN_KEY", thrift.STRUCT, 2); err != nil {
7721 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:ENCRYPTION_WITH_COLUMN_KEY: ", p), err) }
7722 if err := p.ENCRYPTION_WITH_COLUMN_KEY.Write(ctx, oprot); err != nil {
7723 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.ENCRYPTION_WITH_COLUMN_KEY), err)
7724 }
7725 if err := oprot.WriteFieldEnd(ctx); err != nil {
7726 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:ENCRYPTION_WITH_COLUMN_KEY: ", p), err) }
7727 }
7728 return err
7729}
7730
7731func (p *ColumnCryptoMetaData) Equals(other *ColumnCryptoMetaData) bool {
7732 if p == other {
7733 return true
7734 } else if p == nil || other == nil {
7735 return false
7736 }
7737 if !p.ENCRYPTION_WITH_FOOTER_KEY.Equals(other.ENCRYPTION_WITH_FOOTER_KEY) { return false }
7738 if !p.ENCRYPTION_WITH_COLUMN_KEY.Equals(other.ENCRYPTION_WITH_COLUMN_KEY) { return false }
7739 return true
7740}
7741
7742func (p *ColumnCryptoMetaData) String() string {
7743 if p == nil {
7744 return "<nil>"
7745 }
7746 return fmt.Sprintf("ColumnCryptoMetaData(%+v)", *p)
7747}
7748
7749// Attributes:
7750// - FilePath: File where column data is stored. If not set, assumed to be same file as
7751// metadata. This path is relative to the current file.
7752//
7753// - FileOffset: Byte offset in file_path to the ColumnMetaData *
7754// - MetaData: Column metadata for this chunk. This is the same content as what is at
7755// file_path/file_offset. Having it here has it replicated in the file
7756// metadata.
7757//
7758// - OffsetIndexOffset: File offset of ColumnChunk's OffsetIndex *
7759// - OffsetIndexLength: Size of ColumnChunk's OffsetIndex, in bytes *
7760// - ColumnIndexOffset: File offset of ColumnChunk's ColumnIndex *
7761// - ColumnIndexLength: Size of ColumnChunk's ColumnIndex, in bytes *
7762// - CryptoMetadata: Crypto metadata of encrypted columns *
7763// - EncryptedColumnMetadata: Encrypted column metadata for this chunk *
7764type ColumnChunk struct {
7765 FilePath *string `thrift:"file_path,1" db:"file_path" json:"file_path,omitempty"`
7766 FileOffset int64 `thrift:"file_offset,2,required" db:"file_offset" json:"file_offset"`
7767 MetaData *ColumnMetaData `thrift:"meta_data,3" db:"meta_data" json:"meta_data,omitempty"`
7768 OffsetIndexOffset *int64 `thrift:"offset_index_offset,4" db:"offset_index_offset" json:"offset_index_offset,omitempty"`
7769 OffsetIndexLength *int32 `thrift:"offset_index_length,5" db:"offset_index_length" json:"offset_index_length,omitempty"`
7770 ColumnIndexOffset *int64 `thrift:"column_index_offset,6" db:"column_index_offset" json:"column_index_offset,omitempty"`
7771 ColumnIndexLength *int32 `thrift:"column_index_length,7" db:"column_index_length" json:"column_index_length,omitempty"`
7772 CryptoMetadata *ColumnCryptoMetaData `thrift:"crypto_metadata,8" db:"crypto_metadata" json:"crypto_metadata,omitempty"`
7773 EncryptedColumnMetadata []byte `thrift:"encrypted_column_metadata,9" db:"encrypted_column_metadata" json:"encrypted_column_metadata,omitempty"`
7774}
7775
7776func NewColumnChunk() *ColumnChunk {
7777 return &ColumnChunk{}
7778}
7779
7780var ColumnChunk_FilePath_DEFAULT string
7781func (p *ColumnChunk) GetFilePath() string {
7782 if !p.IsSetFilePath() {
7783 return ColumnChunk_FilePath_DEFAULT
7784 }
7785return *p.FilePath
7786}
7787
7788func (p *ColumnChunk) GetFileOffset() int64 {
7789 return p.FileOffset
7790}
7791var ColumnChunk_MetaData_DEFAULT *ColumnMetaData
7792func (p *ColumnChunk) GetMetaData() *ColumnMetaData {
7793 if !p.IsSetMetaData() {
7794 return ColumnChunk_MetaData_DEFAULT
7795 }
7796return p.MetaData
7797}
7798var ColumnChunk_OffsetIndexOffset_DEFAULT int64
7799func (p *ColumnChunk) GetOffsetIndexOffset() int64 {
7800 if !p.IsSetOffsetIndexOffset() {
7801 return ColumnChunk_OffsetIndexOffset_DEFAULT
7802 }
7803return *p.OffsetIndexOffset
7804}
7805var ColumnChunk_OffsetIndexLength_DEFAULT int32
7806func (p *ColumnChunk) GetOffsetIndexLength() int32 {
7807 if !p.IsSetOffsetIndexLength() {
7808 return ColumnChunk_OffsetIndexLength_DEFAULT
7809 }
7810return *p.OffsetIndexLength
7811}
7812var ColumnChunk_ColumnIndexOffset_DEFAULT int64
7813func (p *ColumnChunk) GetColumnIndexOffset() int64 {
7814 if !p.IsSetColumnIndexOffset() {
7815 return ColumnChunk_ColumnIndexOffset_DEFAULT
7816 }
7817return *p.ColumnIndexOffset
7818}
7819var ColumnChunk_ColumnIndexLength_DEFAULT int32
7820func (p *ColumnChunk) GetColumnIndexLength() int32 {
7821 if !p.IsSetColumnIndexLength() {
7822 return ColumnChunk_ColumnIndexLength_DEFAULT
7823 }
7824return *p.ColumnIndexLength
7825}
7826var ColumnChunk_CryptoMetadata_DEFAULT *ColumnCryptoMetaData
7827func (p *ColumnChunk) GetCryptoMetadata() *ColumnCryptoMetaData {
7828 if !p.IsSetCryptoMetadata() {
7829 return ColumnChunk_CryptoMetadata_DEFAULT
7830 }
7831return p.CryptoMetadata
7832}
7833var ColumnChunk_EncryptedColumnMetadata_DEFAULT []byte
7834
7835func (p *ColumnChunk) GetEncryptedColumnMetadata() []byte {
7836 return p.EncryptedColumnMetadata
7837}
7838func (p *ColumnChunk) IsSetFilePath() bool {
7839 return p.FilePath != nil
7840}
7841
7842func (p *ColumnChunk) IsSetMetaData() bool {
7843 return p.MetaData != nil
7844}
7845
7846func (p *ColumnChunk) IsSetOffsetIndexOffset() bool {
7847 return p.OffsetIndexOffset != nil
7848}
7849
7850func (p *ColumnChunk) IsSetOffsetIndexLength() bool {
7851 return p.OffsetIndexLength != nil
7852}
7853
7854func (p *ColumnChunk) IsSetColumnIndexOffset() bool {
7855 return p.ColumnIndexOffset != nil
7856}
7857
7858func (p *ColumnChunk) IsSetColumnIndexLength() bool {
7859 return p.ColumnIndexLength != nil
7860}
7861
7862func (p *ColumnChunk) IsSetCryptoMetadata() bool {
7863 return p.CryptoMetadata != nil
7864}
7865
7866func (p *ColumnChunk) IsSetEncryptedColumnMetadata() bool {
7867 return p.EncryptedColumnMetadata != nil
7868}
7869
7870func (p *ColumnChunk) Read(ctx context.Context, iprot thrift.TProtocol) error {
7871 if _, err := iprot.ReadStructBegin(ctx); err != nil {
7872 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
7873 }
7874
7875 var issetFileOffset bool = false;
7876
7877 for {
7878 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
7879 if err != nil {
7880 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
7881 }
7882 if fieldTypeId == thrift.STOP { break; }
7883 switch fieldId {
7884 case 1:
7885 if fieldTypeId == thrift.STRING {
7886 if err := p.ReadField1(ctx, iprot); err != nil {
7887 return err
7888 }
7889 } else {
7890 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7891 return err
7892 }
7893 }
7894 case 2:
7895 if fieldTypeId == thrift.I64 {
7896 if err := p.ReadField2(ctx, iprot); err != nil {
7897 return err
7898 }
7899 issetFileOffset = true
7900 } else {
7901 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7902 return err
7903 }
7904 }
7905 case 3:
7906 if fieldTypeId == thrift.STRUCT {
7907 if err := p.ReadField3(ctx, iprot); err != nil {
7908 return err
7909 }
7910 } else {
7911 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7912 return err
7913 }
7914 }
7915 case 4:
7916 if fieldTypeId == thrift.I64 {
7917 if err := p.ReadField4(ctx, iprot); err != nil {
7918 return err
7919 }
7920 } else {
7921 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7922 return err
7923 }
7924 }
7925 case 5:
7926 if fieldTypeId == thrift.I32 {
7927 if err := p.ReadField5(ctx, iprot); err != nil {
7928 return err
7929 }
7930 } else {
7931 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7932 return err
7933 }
7934 }
7935 case 6:
7936 if fieldTypeId == thrift.I64 {
7937 if err := p.ReadField6(ctx, iprot); err != nil {
7938 return err
7939 }
7940 } else {
7941 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7942 return err
7943 }
7944 }
7945 case 7:
7946 if fieldTypeId == thrift.I32 {
7947 if err := p.ReadField7(ctx, iprot); err != nil {
7948 return err
7949 }
7950 } else {
7951 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7952 return err
7953 }
7954 }
7955 case 8:
7956 if fieldTypeId == thrift.STRUCT {
7957 if err := p.ReadField8(ctx, iprot); err != nil {
7958 return err
7959 }
7960 } else {
7961 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7962 return err
7963 }
7964 }
7965 case 9:
7966 if fieldTypeId == thrift.STRING {
7967 if err := p.ReadField9(ctx, iprot); err != nil {
7968 return err
7969 }
7970 } else {
7971 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7972 return err
7973 }
7974 }
7975 default:
7976 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
7977 return err
7978 }
7979 }
7980 if err := iprot.ReadFieldEnd(ctx); err != nil {
7981 return err
7982 }
7983 }
7984 if err := iprot.ReadStructEnd(ctx); err != nil {
7985 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
7986 }
7987 if !issetFileOffset{
7988 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field FileOffset is not set"));
7989 }
7990 return nil
7991}
7992
7993func (p *ColumnChunk) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
7994 if v, err := iprot.ReadString(ctx); err != nil {
7995 return thrift.PrependError("error reading field 1: ", err)
7996} else {
7997 p.FilePath = &v
7998}
7999 return nil
8000}
8001
8002func (p *ColumnChunk) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
8003 if v, err := iprot.ReadI64(ctx); err != nil {
8004 return thrift.PrependError("error reading field 2: ", err)
8005} else {
8006 p.FileOffset = v
8007}
8008 return nil
8009}
8010
8011func (p *ColumnChunk) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
8012 p.MetaData = &ColumnMetaData{}
8013 if err := p.MetaData.Read(ctx, iprot); err != nil {
8014 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.MetaData), err)
8015 }
8016 return nil
8017}
8018
8019func (p *ColumnChunk) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
8020 if v, err := iprot.ReadI64(ctx); err != nil {
8021 return thrift.PrependError("error reading field 4: ", err)
8022} else {
8023 p.OffsetIndexOffset = &v
8024}
8025 return nil
8026}
8027
8028func (p *ColumnChunk) ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
8029 if v, err := iprot.ReadI32(ctx); err != nil {
8030 return thrift.PrependError("error reading field 5: ", err)
8031} else {
8032 p.OffsetIndexLength = &v
8033}
8034 return nil
8035}
8036
8037func (p *ColumnChunk) ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
8038 if v, err := iprot.ReadI64(ctx); err != nil {
8039 return thrift.PrependError("error reading field 6: ", err)
8040} else {
8041 p.ColumnIndexOffset = &v
8042}
8043 return nil
8044}
8045
8046func (p *ColumnChunk) ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
8047 if v, err := iprot.ReadI32(ctx); err != nil {
8048 return thrift.PrependError("error reading field 7: ", err)
8049} else {
8050 p.ColumnIndexLength = &v
8051}
8052 return nil
8053}
8054
8055func (p *ColumnChunk) ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
8056 p.CryptoMetadata = &ColumnCryptoMetaData{}
8057 if err := p.CryptoMetadata.Read(ctx, iprot); err != nil {
8058 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.CryptoMetadata), err)
8059 }
8060 return nil
8061}
8062
8063func (p *ColumnChunk) ReadField9(ctx context.Context, iprot thrift.TProtocol) error {
8064 if v, err := iprot.ReadBinary(ctx); err != nil {
8065 return thrift.PrependError("error reading field 9: ", err)
8066} else {
8067 p.EncryptedColumnMetadata = v
8068}
8069 return nil
8070}
8071
8072func (p *ColumnChunk) Write(ctx context.Context, oprot thrift.TProtocol) error {
8073 if err := oprot.WriteStructBegin(ctx, "ColumnChunk"); err != nil {
8074 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
8075 if p != nil {
8076 if err := p.writeField1(ctx, oprot); err != nil { return err }
8077 if err := p.writeField2(ctx, oprot); err != nil { return err }
8078 if err := p.writeField3(ctx, oprot); err != nil { return err }
8079 if err := p.writeField4(ctx, oprot); err != nil { return err }
8080 if err := p.writeField5(ctx, oprot); err != nil { return err }
8081 if err := p.writeField6(ctx, oprot); err != nil { return err }
8082 if err := p.writeField7(ctx, oprot); err != nil { return err }
8083 if err := p.writeField8(ctx, oprot); err != nil { return err }
8084 if err := p.writeField9(ctx, oprot); err != nil { return err }
8085 }
8086 if err := oprot.WriteFieldStop(ctx); err != nil {
8087 return thrift.PrependError("write field stop error: ", err) }
8088 if err := oprot.WriteStructEnd(ctx); err != nil {
8089 return thrift.PrependError("write struct stop error: ", err) }
8090 return nil
8091}
8092
8093func (p *ColumnChunk) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
8094 if p.IsSetFilePath() {
8095 if err := oprot.WriteFieldBegin(ctx, "file_path", thrift.STRING, 1); err != nil {
8096 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:file_path: ", p), err) }
8097 if err := oprot.WriteString(ctx, string(*p.FilePath)); err != nil {
8098 return thrift.PrependError(fmt.Sprintf("%T.file_path (1) field write error: ", p), err) }
8099 if err := oprot.WriteFieldEnd(ctx); err != nil {
8100 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:file_path: ", p), err) }
8101 }
8102 return err
8103}
8104
8105func (p *ColumnChunk) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
8106 if err := oprot.WriteFieldBegin(ctx, "file_offset", thrift.I64, 2); err != nil {
8107 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:file_offset: ", p), err) }
8108 if err := oprot.WriteI64(ctx, int64(p.FileOffset)); err != nil {
8109 return thrift.PrependError(fmt.Sprintf("%T.file_offset (2) field write error: ", p), err) }
8110 if err := oprot.WriteFieldEnd(ctx); err != nil {
8111 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:file_offset: ", p), err) }
8112 return err
8113}
8114
8115func (p *ColumnChunk) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
8116 if p.IsSetMetaData() {
8117 if err := oprot.WriteFieldBegin(ctx, "meta_data", thrift.STRUCT, 3); err != nil {
8118 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:meta_data: ", p), err) }
8119 if err := p.MetaData.Write(ctx, oprot); err != nil {
8120 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.MetaData), err)
8121 }
8122 if err := oprot.WriteFieldEnd(ctx); err != nil {
8123 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:meta_data: ", p), err) }
8124 }
8125 return err
8126}
8127
8128func (p *ColumnChunk) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
8129 if p.IsSetOffsetIndexOffset() {
8130 if err := oprot.WriteFieldBegin(ctx, "offset_index_offset", thrift.I64, 4); err != nil {
8131 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:offset_index_offset: ", p), err) }
8132 if err := oprot.WriteI64(ctx, int64(*p.OffsetIndexOffset)); err != nil {
8133 return thrift.PrependError(fmt.Sprintf("%T.offset_index_offset (4) field write error: ", p), err) }
8134 if err := oprot.WriteFieldEnd(ctx); err != nil {
8135 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:offset_index_offset: ", p), err) }
8136 }
8137 return err
8138}
8139
8140func (p *ColumnChunk) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
8141 if p.IsSetOffsetIndexLength() {
8142 if err := oprot.WriteFieldBegin(ctx, "offset_index_length", thrift.I32, 5); err != nil {
8143 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:offset_index_length: ", p), err) }
8144 if err := oprot.WriteI32(ctx, int32(*p.OffsetIndexLength)); err != nil {
8145 return thrift.PrependError(fmt.Sprintf("%T.offset_index_length (5) field write error: ", p), err) }
8146 if err := oprot.WriteFieldEnd(ctx); err != nil {
8147 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:offset_index_length: ", p), err) }
8148 }
8149 return err
8150}
8151
8152func (p *ColumnChunk) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
8153 if p.IsSetColumnIndexOffset() {
8154 if err := oprot.WriteFieldBegin(ctx, "column_index_offset", thrift.I64, 6); err != nil {
8155 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:column_index_offset: ", p), err) }
8156 if err := oprot.WriteI64(ctx, int64(*p.ColumnIndexOffset)); err != nil {
8157 return thrift.PrependError(fmt.Sprintf("%T.column_index_offset (6) field write error: ", p), err) }
8158 if err := oprot.WriteFieldEnd(ctx); err != nil {
8159 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:column_index_offset: ", p), err) }
8160 }
8161 return err
8162}
8163
8164func (p *ColumnChunk) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
8165 if p.IsSetColumnIndexLength() {
8166 if err := oprot.WriteFieldBegin(ctx, "column_index_length", thrift.I32, 7); err != nil {
8167 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:column_index_length: ", p), err) }
8168 if err := oprot.WriteI32(ctx, int32(*p.ColumnIndexLength)); err != nil {
8169 return thrift.PrependError(fmt.Sprintf("%T.column_index_length (7) field write error: ", p), err) }
8170 if err := oprot.WriteFieldEnd(ctx); err != nil {
8171 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:column_index_length: ", p), err) }
8172 }
8173 return err
8174}
8175
8176func (p *ColumnChunk) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
8177 if p.IsSetCryptoMetadata() {
8178 if err := oprot.WriteFieldBegin(ctx, "crypto_metadata", thrift.STRUCT, 8); err != nil {
8179 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:crypto_metadata: ", p), err) }
8180 if err := p.CryptoMetadata.Write(ctx, oprot); err != nil {
8181 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.CryptoMetadata), err)
8182 }
8183 if err := oprot.WriteFieldEnd(ctx); err != nil {
8184 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:crypto_metadata: ", p), err) }
8185 }
8186 return err
8187}
8188
8189func (p *ColumnChunk) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
8190 if p.IsSetEncryptedColumnMetadata() {
8191 if err := oprot.WriteFieldBegin(ctx, "encrypted_column_metadata", thrift.STRING, 9); err != nil {
8192 return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:encrypted_column_metadata: ", p), err) }
8193 if err := oprot.WriteBinary(ctx, p.EncryptedColumnMetadata); err != nil {
8194 return thrift.PrependError(fmt.Sprintf("%T.encrypted_column_metadata (9) field write error: ", p), err) }
8195 if err := oprot.WriteFieldEnd(ctx); err != nil {
8196 return thrift.PrependError(fmt.Sprintf("%T write field end error 9:encrypted_column_metadata: ", p), err) }
8197 }
8198 return err
8199}
8200
8201func (p *ColumnChunk) Equals(other *ColumnChunk) bool {
8202 if p == other {
8203 return true
8204 } else if p == nil || other == nil {
8205 return false
8206 }
8207 if p.FilePath != other.FilePath {
8208 if p.FilePath == nil || other.FilePath == nil {
8209 return false
8210 }
8211 if (*p.FilePath) != (*other.FilePath) { return false }
8212 }
8213 if p.FileOffset != other.FileOffset { return false }
8214 if !p.MetaData.Equals(other.MetaData) { return false }
8215 if p.OffsetIndexOffset != other.OffsetIndexOffset {
8216 if p.OffsetIndexOffset == nil || other.OffsetIndexOffset == nil {
8217 return false
8218 }
8219 if (*p.OffsetIndexOffset) != (*other.OffsetIndexOffset) { return false }
8220 }
8221 if p.OffsetIndexLength != other.OffsetIndexLength {
8222 if p.OffsetIndexLength == nil || other.OffsetIndexLength == nil {
8223 return false
8224 }
8225 if (*p.OffsetIndexLength) != (*other.OffsetIndexLength) { return false }
8226 }
8227 if p.ColumnIndexOffset != other.ColumnIndexOffset {
8228 if p.ColumnIndexOffset == nil || other.ColumnIndexOffset == nil {
8229 return false
8230 }
8231 if (*p.ColumnIndexOffset) != (*other.ColumnIndexOffset) { return false }
8232 }
8233 if p.ColumnIndexLength != other.ColumnIndexLength {
8234 if p.ColumnIndexLength == nil || other.ColumnIndexLength == nil {
8235 return false
8236 }
8237 if (*p.ColumnIndexLength) != (*other.ColumnIndexLength) { return false }
8238 }
8239 if !p.CryptoMetadata.Equals(other.CryptoMetadata) { return false }
8240 if bytes.Compare(p.EncryptedColumnMetadata, other.EncryptedColumnMetadata) != 0 { return false }
8241 return true
8242}
8243
8244func (p *ColumnChunk) String() string {
8245 if p == nil {
8246 return "<nil>"
8247 }
8248 return fmt.Sprintf("ColumnChunk(%+v)", *p)
8249}
8250
8251// Attributes:
8252// - Columns: Metadata for each column chunk in this row group.
8253// This list must have the same order as the SchemaElement list in FileMetaData.
8254//
8255// - TotalByteSize: Total byte size of all the uncompressed column data in this row group *
8256// - NumRows: Number of rows in this row group *
8257// - SortingColumns: If set, specifies a sort ordering of the rows in this RowGroup.
8258// The sorting columns can be a subset of all the columns.
8259// - FileOffset: Byte offset from beginning of file to first page (data or dictionary)
8260// in this row group *
8261// - TotalCompressedSize: Total byte size of all compressed (and potentially encrypted) column data
8262// in this row group *
8263// - Ordinal: Row group ordinal in the file *
8264type RowGroup struct {
8265 Columns []*ColumnChunk `thrift:"columns,1,required" db:"columns" json:"columns"`
8266 TotalByteSize int64 `thrift:"total_byte_size,2,required" db:"total_byte_size" json:"total_byte_size"`
8267 NumRows int64 `thrift:"num_rows,3,required" db:"num_rows" json:"num_rows"`
8268 SortingColumns []*SortingColumn `thrift:"sorting_columns,4" db:"sorting_columns" json:"sorting_columns,omitempty"`
8269 FileOffset *int64 `thrift:"file_offset,5" db:"file_offset" json:"file_offset,omitempty"`
8270 TotalCompressedSize *int64 `thrift:"total_compressed_size,6" db:"total_compressed_size" json:"total_compressed_size,omitempty"`
8271 Ordinal *int16 `thrift:"ordinal,7" db:"ordinal" json:"ordinal,omitempty"`
8272}
8273
8274func NewRowGroup() *RowGroup {
8275 return &RowGroup{}
8276}
8277
8278
8279func (p *RowGroup) GetColumns() []*ColumnChunk {
8280 return p.Columns
8281}
8282
8283func (p *RowGroup) GetTotalByteSize() int64 {
8284 return p.TotalByteSize
8285}
8286
8287func (p *RowGroup) GetNumRows() int64 {
8288 return p.NumRows
8289}
8290var RowGroup_SortingColumns_DEFAULT []*SortingColumn
8291
8292func (p *RowGroup) GetSortingColumns() []*SortingColumn {
8293 return p.SortingColumns
8294}
8295var RowGroup_FileOffset_DEFAULT int64
8296func (p *RowGroup) GetFileOffset() int64 {
8297 if !p.IsSetFileOffset() {
8298 return RowGroup_FileOffset_DEFAULT
8299 }
8300return *p.FileOffset
8301}
8302var RowGroup_TotalCompressedSize_DEFAULT int64
8303func (p *RowGroup) GetTotalCompressedSize() int64 {
8304 if !p.IsSetTotalCompressedSize() {
8305 return RowGroup_TotalCompressedSize_DEFAULT
8306 }
8307return *p.TotalCompressedSize
8308}
8309var RowGroup_Ordinal_DEFAULT int16
8310func (p *RowGroup) GetOrdinal() int16 {
8311 if !p.IsSetOrdinal() {
8312 return RowGroup_Ordinal_DEFAULT
8313 }
8314return *p.Ordinal
8315}
8316func (p *RowGroup) IsSetSortingColumns() bool {
8317 return p.SortingColumns != nil
8318}
8319
8320func (p *RowGroup) IsSetFileOffset() bool {
8321 return p.FileOffset != nil
8322}
8323
8324func (p *RowGroup) IsSetTotalCompressedSize() bool {
8325 return p.TotalCompressedSize != nil
8326}
8327
8328func (p *RowGroup) IsSetOrdinal() bool {
8329 return p.Ordinal != nil
8330}
8331
8332func (p *RowGroup) Read(ctx context.Context, iprot thrift.TProtocol) error {
8333 if _, err := iprot.ReadStructBegin(ctx); err != nil {
8334 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
8335 }
8336
8337 var issetColumns bool = false;
8338 var issetTotalByteSize bool = false;
8339 var issetNumRows bool = false;
8340
8341 for {
8342 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
8343 if err != nil {
8344 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
8345 }
8346 if fieldTypeId == thrift.STOP { break; }
8347 switch fieldId {
8348 case 1:
8349 if fieldTypeId == thrift.LIST {
8350 if err := p.ReadField1(ctx, iprot); err != nil {
8351 return err
8352 }
8353 issetColumns = true
8354 } else {
8355 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8356 return err
8357 }
8358 }
8359 case 2:
8360 if fieldTypeId == thrift.I64 {
8361 if err := p.ReadField2(ctx, iprot); err != nil {
8362 return err
8363 }
8364 issetTotalByteSize = true
8365 } else {
8366 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8367 return err
8368 }
8369 }
8370 case 3:
8371 if fieldTypeId == thrift.I64 {
8372 if err := p.ReadField3(ctx, iprot); err != nil {
8373 return err
8374 }
8375 issetNumRows = true
8376 } else {
8377 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8378 return err
8379 }
8380 }
8381 case 4:
8382 if fieldTypeId == thrift.LIST {
8383 if err := p.ReadField4(ctx, iprot); err != nil {
8384 return err
8385 }
8386 } else {
8387 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8388 return err
8389 }
8390 }
8391 case 5:
8392 if fieldTypeId == thrift.I64 {
8393 if err := p.ReadField5(ctx, iprot); err != nil {
8394 return err
8395 }
8396 } else {
8397 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8398 return err
8399 }
8400 }
8401 case 6:
8402 if fieldTypeId == thrift.I64 {
8403 if err := p.ReadField6(ctx, iprot); err != nil {
8404 return err
8405 }
8406 } else {
8407 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8408 return err
8409 }
8410 }
8411 case 7:
8412 if fieldTypeId == thrift.I16 {
8413 if err := p.ReadField7(ctx, iprot); err != nil {
8414 return err
8415 }
8416 } else {
8417 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8418 return err
8419 }
8420 }
8421 default:
8422 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8423 return err
8424 }
8425 }
8426 if err := iprot.ReadFieldEnd(ctx); err != nil {
8427 return err
8428 }
8429 }
8430 if err := iprot.ReadStructEnd(ctx); err != nil {
8431 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
8432 }
8433 if !issetColumns{
8434 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Columns is not set"));
8435 }
8436 if !issetTotalByteSize{
8437 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TotalByteSize is not set"));
8438 }
8439 if !issetNumRows{
8440 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumRows is not set"));
8441 }
8442 return nil
8443}
8444
8445func (p *RowGroup) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
8446 _, size, err := iprot.ReadListBegin(ctx)
8447 if err != nil {
8448 return thrift.PrependError("error reading list begin: ", err)
8449 }
8450 tSlice := make([]*ColumnChunk, 0, size)
8451 p.Columns = tSlice
8452 for i := 0; i < size; i ++ {
8453 _elem10 := &ColumnChunk{}
8454 if err := _elem10.Read(ctx, iprot); err != nil {
8455 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem10), err)
8456 }
8457 p.Columns = append(p.Columns, _elem10)
8458 }
8459 if err := iprot.ReadListEnd(ctx); err != nil {
8460 return thrift.PrependError("error reading list end: ", err)
8461 }
8462 return nil
8463}
8464
8465func (p *RowGroup) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
8466 if v, err := iprot.ReadI64(ctx); err != nil {
8467 return thrift.PrependError("error reading field 2: ", err)
8468} else {
8469 p.TotalByteSize = v
8470}
8471 return nil
8472}
8473
8474func (p *RowGroup) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
8475 if v, err := iprot.ReadI64(ctx); err != nil {
8476 return thrift.PrependError("error reading field 3: ", err)
8477} else {
8478 p.NumRows = v
8479}
8480 return nil
8481}
8482
8483func (p *RowGroup) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
8484 _, size, err := iprot.ReadListBegin(ctx)
8485 if err != nil {
8486 return thrift.PrependError("error reading list begin: ", err)
8487 }
8488 tSlice := make([]*SortingColumn, 0, size)
8489 p.SortingColumns = tSlice
8490 for i := 0; i < size; i ++ {
8491 _elem11 := &SortingColumn{}
8492 if err := _elem11.Read(ctx, iprot); err != nil {
8493 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem11), err)
8494 }
8495 p.SortingColumns = append(p.SortingColumns, _elem11)
8496 }
8497 if err := iprot.ReadListEnd(ctx); err != nil {
8498 return thrift.PrependError("error reading list end: ", err)
8499 }
8500 return nil
8501}
8502
8503func (p *RowGroup) ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
8504 if v, err := iprot.ReadI64(ctx); err != nil {
8505 return thrift.PrependError("error reading field 5: ", err)
8506} else {
8507 p.FileOffset = &v
8508}
8509 return nil
8510}
8511
8512func (p *RowGroup) ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
8513 if v, err := iprot.ReadI64(ctx); err != nil {
8514 return thrift.PrependError("error reading field 6: ", err)
8515} else {
8516 p.TotalCompressedSize = &v
8517}
8518 return nil
8519}
8520
8521func (p *RowGroup) ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
8522 if v, err := iprot.ReadI16(ctx); err != nil {
8523 return thrift.PrependError("error reading field 7: ", err)
8524} else {
8525 p.Ordinal = &v
8526}
8527 return nil
8528}
8529
8530func (p *RowGroup) Write(ctx context.Context, oprot thrift.TProtocol) error {
8531 if err := oprot.WriteStructBegin(ctx, "RowGroup"); err != nil {
8532 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
8533 if p != nil {
8534 if err := p.writeField1(ctx, oprot); err != nil { return err }
8535 if err := p.writeField2(ctx, oprot); err != nil { return err }
8536 if err := p.writeField3(ctx, oprot); err != nil { return err }
8537 if err := p.writeField4(ctx, oprot); err != nil { return err }
8538 if err := p.writeField5(ctx, oprot); err != nil { return err }
8539 if err := p.writeField6(ctx, oprot); err != nil { return err }
8540 if err := p.writeField7(ctx, oprot); err != nil { return err }
8541 }
8542 if err := oprot.WriteFieldStop(ctx); err != nil {
8543 return thrift.PrependError("write field stop error: ", err) }
8544 if err := oprot.WriteStructEnd(ctx); err != nil {
8545 return thrift.PrependError("write struct stop error: ", err) }
8546 return nil
8547}
8548
8549func (p *RowGroup) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
8550 if err := oprot.WriteFieldBegin(ctx, "columns", thrift.LIST, 1); err != nil {
8551 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:columns: ", p), err) }
8552 if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Columns)); err != nil {
8553 return thrift.PrependError("error writing list begin: ", err)
8554 }
8555 for _, v := range p.Columns {
8556 if err := v.Write(ctx, oprot); err != nil {
8557 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
8558 }
8559 }
8560 if err := oprot.WriteListEnd(ctx); err != nil {
8561 return thrift.PrependError("error writing list end: ", err)
8562 }
8563 if err := oprot.WriteFieldEnd(ctx); err != nil {
8564 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:columns: ", p), err) }
8565 return err
8566}
8567
8568func (p *RowGroup) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
8569 if err := oprot.WriteFieldBegin(ctx, "total_byte_size", thrift.I64, 2); err != nil {
8570 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:total_byte_size: ", p), err) }
8571 if err := oprot.WriteI64(ctx, int64(p.TotalByteSize)); err != nil {
8572 return thrift.PrependError(fmt.Sprintf("%T.total_byte_size (2) field write error: ", p), err) }
8573 if err := oprot.WriteFieldEnd(ctx); err != nil {
8574 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:total_byte_size: ", p), err) }
8575 return err
8576}
8577
8578func (p *RowGroup) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
8579 if err := oprot.WriteFieldBegin(ctx, "num_rows", thrift.I64, 3); err != nil {
8580 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:num_rows: ", p), err) }
8581 if err := oprot.WriteI64(ctx, int64(p.NumRows)); err != nil {
8582 return thrift.PrependError(fmt.Sprintf("%T.num_rows (3) field write error: ", p), err) }
8583 if err := oprot.WriteFieldEnd(ctx); err != nil {
8584 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:num_rows: ", p), err) }
8585 return err
8586}
8587
8588func (p *RowGroup) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
8589 if p.IsSetSortingColumns() {
8590 if err := oprot.WriteFieldBegin(ctx, "sorting_columns", thrift.LIST, 4); err != nil {
8591 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:sorting_columns: ", p), err) }
8592 if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.SortingColumns)); err != nil {
8593 return thrift.PrependError("error writing list begin: ", err)
8594 }
8595 for _, v := range p.SortingColumns {
8596 if err := v.Write(ctx, oprot); err != nil {
8597 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
8598 }
8599 }
8600 if err := oprot.WriteListEnd(ctx); err != nil {
8601 return thrift.PrependError("error writing list end: ", err)
8602 }
8603 if err := oprot.WriteFieldEnd(ctx); err != nil {
8604 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:sorting_columns: ", p), err) }
8605 }
8606 return err
8607}
8608
8609func (p *RowGroup) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
8610 if p.IsSetFileOffset() {
8611 if err := oprot.WriteFieldBegin(ctx, "file_offset", thrift.I64, 5); err != nil {
8612 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:file_offset: ", p), err) }
8613 if err := oprot.WriteI64(ctx, int64(*p.FileOffset)); err != nil {
8614 return thrift.PrependError(fmt.Sprintf("%T.file_offset (5) field write error: ", p), err) }
8615 if err := oprot.WriteFieldEnd(ctx); err != nil {
8616 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:file_offset: ", p), err) }
8617 }
8618 return err
8619}
8620
8621func (p *RowGroup) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
8622 if p.IsSetTotalCompressedSize() {
8623 if err := oprot.WriteFieldBegin(ctx, "total_compressed_size", thrift.I64, 6); err != nil {
8624 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:total_compressed_size: ", p), err) }
8625 if err := oprot.WriteI64(ctx, int64(*p.TotalCompressedSize)); err != nil {
8626 return thrift.PrependError(fmt.Sprintf("%T.total_compressed_size (6) field write error: ", p), err) }
8627 if err := oprot.WriteFieldEnd(ctx); err != nil {
8628 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:total_compressed_size: ", p), err) }
8629 }
8630 return err
8631}
8632
8633func (p *RowGroup) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
8634 if p.IsSetOrdinal() {
8635 if err := oprot.WriteFieldBegin(ctx, "ordinal", thrift.I16, 7); err != nil {
8636 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:ordinal: ", p), err) }
8637 if err := oprot.WriteI16(ctx, int16(*p.Ordinal)); err != nil {
8638 return thrift.PrependError(fmt.Sprintf("%T.ordinal (7) field write error: ", p), err) }
8639 if err := oprot.WriteFieldEnd(ctx); err != nil {
8640 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:ordinal: ", p), err) }
8641 }
8642 return err
8643}
8644
8645func (p *RowGroup) Equals(other *RowGroup) bool {
8646 if p == other {
8647 return true
8648 } else if p == nil || other == nil {
8649 return false
8650 }
8651 if len(p.Columns) != len(other.Columns) { return false }
8652 for i, _tgt := range p.Columns {
8653 _src12 := other.Columns[i]
8654 if !_tgt.Equals(_src12) { return false }
8655 }
8656 if p.TotalByteSize != other.TotalByteSize { return false }
8657 if p.NumRows != other.NumRows { return false }
8658 if len(p.SortingColumns) != len(other.SortingColumns) { return false }
8659 for i, _tgt := range p.SortingColumns {
8660 _src13 := other.SortingColumns[i]
8661 if !_tgt.Equals(_src13) { return false }
8662 }
8663 if p.FileOffset != other.FileOffset {
8664 if p.FileOffset == nil || other.FileOffset == nil {
8665 return false
8666 }
8667 if (*p.FileOffset) != (*other.FileOffset) { return false }
8668 }
8669 if p.TotalCompressedSize != other.TotalCompressedSize {
8670 if p.TotalCompressedSize == nil || other.TotalCompressedSize == nil {
8671 return false
8672 }
8673 if (*p.TotalCompressedSize) != (*other.TotalCompressedSize) { return false }
8674 }
8675 if p.Ordinal != other.Ordinal {
8676 if p.Ordinal == nil || other.Ordinal == nil {
8677 return false
8678 }
8679 if (*p.Ordinal) != (*other.Ordinal) { return false }
8680 }
8681 return true
8682}
8683
8684func (p *RowGroup) String() string {
8685 if p == nil {
8686 return "<nil>"
8687 }
8688 return fmt.Sprintf("RowGroup(%+v)", *p)
8689}
8690
8691// Empty struct to signal the order defined by the physical or logical type
8692type TypeDefinedOrder struct {
8693}
8694
8695func NewTypeDefinedOrder() *TypeDefinedOrder {
8696 return &TypeDefinedOrder{}
8697}
8698
8699func (p *TypeDefinedOrder) Read(ctx context.Context, iprot thrift.TProtocol) error {
8700 if _, err := iprot.ReadStructBegin(ctx); err != nil {
8701 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
8702 }
8703
8704
8705 for {
8706 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
8707 if err != nil {
8708 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
8709 }
8710 if fieldTypeId == thrift.STOP { break; }
8711 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8712 return err
8713 }
8714 if err := iprot.ReadFieldEnd(ctx); err != nil {
8715 return err
8716 }
8717 }
8718 if err := iprot.ReadStructEnd(ctx); err != nil {
8719 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
8720 }
8721 return nil
8722}
8723
8724func (p *TypeDefinedOrder) Write(ctx context.Context, oprot thrift.TProtocol) error {
8725 if err := oprot.WriteStructBegin(ctx, "TypeDefinedOrder"); err != nil {
8726 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
8727 if p != nil {
8728 }
8729 if err := oprot.WriteFieldStop(ctx); err != nil {
8730 return thrift.PrependError("write field stop error: ", err) }
8731 if err := oprot.WriteStructEnd(ctx); err != nil {
8732 return thrift.PrependError("write struct stop error: ", err) }
8733 return nil
8734}
8735
8736func (p *TypeDefinedOrder) Equals(other *TypeDefinedOrder) bool {
8737 if p == other {
8738 return true
8739 } else if p == nil || other == nil {
8740 return false
8741 }
8742 return true
8743}
8744
8745func (p *TypeDefinedOrder) String() string {
8746 if p == nil {
8747 return "<nil>"
8748 }
8749 return fmt.Sprintf("TypeDefinedOrder(%+v)", *p)
8750}
8751
8752// Union to specify the order used for the min_value and max_value fields for a
8753// column. This union takes the role of an enhanced enum that allows rich
8754// elements (which will be needed for a collation-based ordering in the future).
8755//
8756// Possible values are:
8757// * TypeDefinedOrder - the column uses the order defined by its logical or
8758// physical type (if there is no logical type).
8759//
8760// If the reader does not support the value of this union, min and max stats
8761// for this column should be ignored.
8762//
8763// Attributes:
8764// - TYPE_ORDER: The sort orders for logical types are:
8765// UTF8 - unsigned byte-wise comparison
8766// INT8 - signed comparison
8767// INT16 - signed comparison
8768// INT32 - signed comparison
8769// INT64 - signed comparison
8770// UINT8 - unsigned comparison
8771// UINT16 - unsigned comparison
8772// UINT32 - unsigned comparison
8773// UINT64 - unsigned comparison
8774// DECIMAL - signed comparison of the represented value
8775// DATE - signed comparison
8776// TIME_MILLIS - signed comparison
8777// TIME_MICROS - signed comparison
8778// TIMESTAMP_MILLIS - signed comparison
8779// TIMESTAMP_MICROS - signed comparison
8780// INTERVAL - unsigned comparison
8781// JSON - unsigned byte-wise comparison
8782// BSON - unsigned byte-wise comparison
8783// ENUM - unsigned byte-wise comparison
8784// LIST - undefined
8785// MAP - undefined
8786//
8787// In the absence of logical types, the sort order is determined by the physical type:
8788// BOOLEAN - false, true
8789// INT32 - signed comparison
8790// INT64 - signed comparison
8791// INT96 (only used for legacy timestamps) - undefined
8792// FLOAT - signed comparison of the represented value (*)
8793// DOUBLE - signed comparison of the represented value (*)
8794// BYTE_ARRAY - unsigned byte-wise comparison
8795// FIXED_LEN_BYTE_ARRAY - unsigned byte-wise comparison
8796//
8797// (*) Because the sorting order is not specified properly for floating
8798// point values (relations vs. total ordering) the following
8799// compatibility rules should be applied when reading statistics:
8800// - If the min is a NaN, it should be ignored.
8801// - If the max is a NaN, it should be ignored.
8802// - If the min is +0, the row group may contain -0 values as well.
8803// - If the max is -0, the row group may contain +0 values as well.
8804// - When looking for NaN values, min and max should be ignored.
8805type ColumnOrder struct {
8806 TYPE_ORDER *TypeDefinedOrder `thrift:"TYPE_ORDER,1" db:"TYPE_ORDER" json:"TYPE_ORDER,omitempty"`
8807}
8808
8809func NewColumnOrder() *ColumnOrder {
8810 return &ColumnOrder{}
8811}
8812
8813var ColumnOrder_TYPE_ORDER_DEFAULT *TypeDefinedOrder
8814func (p *ColumnOrder) GetTYPE_ORDER() *TypeDefinedOrder {
8815 if !p.IsSetTYPE_ORDER() {
8816 return ColumnOrder_TYPE_ORDER_DEFAULT
8817 }
8818return p.TYPE_ORDER
8819}
8820func (p *ColumnOrder) CountSetFieldsColumnOrder() int {
8821 count := 0
8822 if (p.IsSetTYPE_ORDER()) {
8823 count++
8824 }
8825 return count
8826
8827}
8828
8829func (p *ColumnOrder) IsSetTYPE_ORDER() bool {
8830 return p.TYPE_ORDER != nil
8831}
8832
8833func (p *ColumnOrder) Read(ctx context.Context, iprot thrift.TProtocol) error {
8834 if _, err := iprot.ReadStructBegin(ctx); err != nil {
8835 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
8836 }
8837
8838
8839 for {
8840 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
8841 if err != nil {
8842 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
8843 }
8844 if fieldTypeId == thrift.STOP { break; }
8845 switch fieldId {
8846 case 1:
8847 if fieldTypeId == thrift.STRUCT {
8848 if err := p.ReadField1(ctx, iprot); err != nil {
8849 return err
8850 }
8851 } else {
8852 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8853 return err
8854 }
8855 }
8856 default:
8857 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8858 return err
8859 }
8860 }
8861 if err := iprot.ReadFieldEnd(ctx); err != nil {
8862 return err
8863 }
8864 }
8865 if err := iprot.ReadStructEnd(ctx); err != nil {
8866 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
8867 }
8868 return nil
8869}
8870
8871func (p *ColumnOrder) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
8872 p.TYPE_ORDER = &TypeDefinedOrder{}
8873 if err := p.TYPE_ORDER.Read(ctx, iprot); err != nil {
8874 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.TYPE_ORDER), err)
8875 }
8876 return nil
8877}
8878
8879func (p *ColumnOrder) Write(ctx context.Context, oprot thrift.TProtocol) error {
8880 if c := p.CountSetFieldsColumnOrder(); c != 1 {
8881 return fmt.Errorf("%T write union: exactly one field must be set (%d set).", p, c)
8882 }
8883 if err := oprot.WriteStructBegin(ctx, "ColumnOrder"); err != nil {
8884 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
8885 if p != nil {
8886 if err := p.writeField1(ctx, oprot); err != nil { return err }
8887 }
8888 if err := oprot.WriteFieldStop(ctx); err != nil {
8889 return thrift.PrependError("write field stop error: ", err) }
8890 if err := oprot.WriteStructEnd(ctx); err != nil {
8891 return thrift.PrependError("write struct stop error: ", err) }
8892 return nil
8893}
8894
8895func (p *ColumnOrder) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
8896 if p.IsSetTYPE_ORDER() {
8897 if err := oprot.WriteFieldBegin(ctx, "TYPE_ORDER", thrift.STRUCT, 1); err != nil {
8898 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:TYPE_ORDER: ", p), err) }
8899 if err := p.TYPE_ORDER.Write(ctx, oprot); err != nil {
8900 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.TYPE_ORDER), err)
8901 }
8902 if err := oprot.WriteFieldEnd(ctx); err != nil {
8903 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:TYPE_ORDER: ", p), err) }
8904 }
8905 return err
8906}
8907
8908func (p *ColumnOrder) Equals(other *ColumnOrder) bool {
8909 if p == other {
8910 return true
8911 } else if p == nil || other == nil {
8912 return false
8913 }
8914 if !p.TYPE_ORDER.Equals(other.TYPE_ORDER) { return false }
8915 return true
8916}
8917
8918func (p *ColumnOrder) String() string {
8919 if p == nil {
8920 return "<nil>"
8921 }
8922 return fmt.Sprintf("ColumnOrder(%+v)", *p)
8923}
8924
8925// Attributes:
8926// - Offset: Offset of the page in the file *
8927// - CompressedPageSize: Size of the page, including header. Sum of compressed_page_size and header
8928// length
8929// - FirstRowIndex: Index within the RowGroup of the first row of the page; this means pages
8930// change on record boundaries (r = 0).
8931type PageLocation struct {
8932 Offset int64 `thrift:"offset,1,required" db:"offset" json:"offset"`
8933 CompressedPageSize int32 `thrift:"compressed_page_size,2,required" db:"compressed_page_size" json:"compressed_page_size"`
8934 FirstRowIndex int64 `thrift:"first_row_index,3,required" db:"first_row_index" json:"first_row_index"`
8935}
8936
8937func NewPageLocation() *PageLocation {
8938 return &PageLocation{}
8939}
8940
8941
8942func (p *PageLocation) GetOffset() int64 {
8943 return p.Offset
8944}
8945
8946func (p *PageLocation) GetCompressedPageSize() int32 {
8947 return p.CompressedPageSize
8948}
8949
8950func (p *PageLocation) GetFirstRowIndex() int64 {
8951 return p.FirstRowIndex
8952}
8953func (p *PageLocation) Read(ctx context.Context, iprot thrift.TProtocol) error {
8954 if _, err := iprot.ReadStructBegin(ctx); err != nil {
8955 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
8956 }
8957
8958 var issetOffset bool = false;
8959 var issetCompressedPageSize bool = false;
8960 var issetFirstRowIndex bool = false;
8961
8962 for {
8963 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
8964 if err != nil {
8965 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
8966 }
8967 if fieldTypeId == thrift.STOP { break; }
8968 switch fieldId {
8969 case 1:
8970 if fieldTypeId == thrift.I64 {
8971 if err := p.ReadField1(ctx, iprot); err != nil {
8972 return err
8973 }
8974 issetOffset = true
8975 } else {
8976 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8977 return err
8978 }
8979 }
8980 case 2:
8981 if fieldTypeId == thrift.I32 {
8982 if err := p.ReadField2(ctx, iprot); err != nil {
8983 return err
8984 }
8985 issetCompressedPageSize = true
8986 } else {
8987 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8988 return err
8989 }
8990 }
8991 case 3:
8992 if fieldTypeId == thrift.I64 {
8993 if err := p.ReadField3(ctx, iprot); err != nil {
8994 return err
8995 }
8996 issetFirstRowIndex = true
8997 } else {
8998 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
8999 return err
9000 }
9001 }
9002 default:
9003 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9004 return err
9005 }
9006 }
9007 if err := iprot.ReadFieldEnd(ctx); err != nil {
9008 return err
9009 }
9010 }
9011 if err := iprot.ReadStructEnd(ctx); err != nil {
9012 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
9013 }
9014 if !issetOffset{
9015 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Offset is not set"));
9016 }
9017 if !issetCompressedPageSize{
9018 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field CompressedPageSize is not set"));
9019 }
9020 if !issetFirstRowIndex{
9021 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field FirstRowIndex is not set"));
9022 }
9023 return nil
9024}
9025
9026func (p *PageLocation) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
9027 if v, err := iprot.ReadI64(ctx); err != nil {
9028 return thrift.PrependError("error reading field 1: ", err)
9029} else {
9030 p.Offset = v
9031}
9032 return nil
9033}
9034
9035func (p *PageLocation) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
9036 if v, err := iprot.ReadI32(ctx); err != nil {
9037 return thrift.PrependError("error reading field 2: ", err)
9038} else {
9039 p.CompressedPageSize = v
9040}
9041 return nil
9042}
9043
9044func (p *PageLocation) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
9045 if v, err := iprot.ReadI64(ctx); err != nil {
9046 return thrift.PrependError("error reading field 3: ", err)
9047} else {
9048 p.FirstRowIndex = v
9049}
9050 return nil
9051}
9052
9053func (p *PageLocation) Write(ctx context.Context, oprot thrift.TProtocol) error {
9054 if err := oprot.WriteStructBegin(ctx, "PageLocation"); err != nil {
9055 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
9056 if p != nil {
9057 if err := p.writeField1(ctx, oprot); err != nil { return err }
9058 if err := p.writeField2(ctx, oprot); err != nil { return err }
9059 if err := p.writeField3(ctx, oprot); err != nil { return err }
9060 }
9061 if err := oprot.WriteFieldStop(ctx); err != nil {
9062 return thrift.PrependError("write field stop error: ", err) }
9063 if err := oprot.WriteStructEnd(ctx); err != nil {
9064 return thrift.PrependError("write struct stop error: ", err) }
9065 return nil
9066}
9067
9068func (p *PageLocation) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
9069 if err := oprot.WriteFieldBegin(ctx, "offset", thrift.I64, 1); err != nil {
9070 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:offset: ", p), err) }
9071 if err := oprot.WriteI64(ctx, int64(p.Offset)); err != nil {
9072 return thrift.PrependError(fmt.Sprintf("%T.offset (1) field write error: ", p), err) }
9073 if err := oprot.WriteFieldEnd(ctx); err != nil {
9074 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:offset: ", p), err) }
9075 return err
9076}
9077
9078func (p *PageLocation) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
9079 if err := oprot.WriteFieldBegin(ctx, "compressed_page_size", thrift.I32, 2); err != nil {
9080 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:compressed_page_size: ", p), err) }
9081 if err := oprot.WriteI32(ctx, int32(p.CompressedPageSize)); err != nil {
9082 return thrift.PrependError(fmt.Sprintf("%T.compressed_page_size (2) field write error: ", p), err) }
9083 if err := oprot.WriteFieldEnd(ctx); err != nil {
9084 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:compressed_page_size: ", p), err) }
9085 return err
9086}
9087
9088func (p *PageLocation) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
9089 if err := oprot.WriteFieldBegin(ctx, "first_row_index", thrift.I64, 3); err != nil {
9090 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:first_row_index: ", p), err) }
9091 if err := oprot.WriteI64(ctx, int64(p.FirstRowIndex)); err != nil {
9092 return thrift.PrependError(fmt.Sprintf("%T.first_row_index (3) field write error: ", p), err) }
9093 if err := oprot.WriteFieldEnd(ctx); err != nil {
9094 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:first_row_index: ", p), err) }
9095 return err
9096}
9097
9098func (p *PageLocation) Equals(other *PageLocation) bool {
9099 if p == other {
9100 return true
9101 } else if p == nil || other == nil {
9102 return false
9103 }
9104 if p.Offset != other.Offset { return false }
9105 if p.CompressedPageSize != other.CompressedPageSize { return false }
9106 if p.FirstRowIndex != other.FirstRowIndex { return false }
9107 return true
9108}
9109
9110func (p *PageLocation) String() string {
9111 if p == nil {
9112 return "<nil>"
9113 }
9114 return fmt.Sprintf("PageLocation(%+v)", *p)
9115}
9116
9117// Attributes:
9118// - PageLocations: PageLocations, ordered by increasing PageLocation.offset. It is required
9119// that page_locations[i].first_row_index < page_locations[i+1].first_row_index.
9120type OffsetIndex struct {
9121 PageLocations []*PageLocation `thrift:"page_locations,1,required" db:"page_locations" json:"page_locations"`
9122}
9123
9124func NewOffsetIndex() *OffsetIndex {
9125 return &OffsetIndex{}
9126}
9127
9128
9129func (p *OffsetIndex) GetPageLocations() []*PageLocation {
9130 return p.PageLocations
9131}
9132func (p *OffsetIndex) Read(ctx context.Context, iprot thrift.TProtocol) error {
9133 if _, err := iprot.ReadStructBegin(ctx); err != nil {
9134 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
9135 }
9136
9137 var issetPageLocations bool = false;
9138
9139 for {
9140 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
9141 if err != nil {
9142 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
9143 }
9144 if fieldTypeId == thrift.STOP { break; }
9145 switch fieldId {
9146 case 1:
9147 if fieldTypeId == thrift.LIST {
9148 if err := p.ReadField1(ctx, iprot); err != nil {
9149 return err
9150 }
9151 issetPageLocations = true
9152 } else {
9153 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9154 return err
9155 }
9156 }
9157 default:
9158 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9159 return err
9160 }
9161 }
9162 if err := iprot.ReadFieldEnd(ctx); err != nil {
9163 return err
9164 }
9165 }
9166 if err := iprot.ReadStructEnd(ctx); err != nil {
9167 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
9168 }
9169 if !issetPageLocations{
9170 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field PageLocations is not set"));
9171 }
9172 return nil
9173}
9174
9175func (p *OffsetIndex) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
9176 _, size, err := iprot.ReadListBegin(ctx)
9177 if err != nil {
9178 return thrift.PrependError("error reading list begin: ", err)
9179 }
9180 tSlice := make([]*PageLocation, 0, size)
9181 p.PageLocations = tSlice
9182 for i := 0; i < size; i ++ {
9183 _elem14 := &PageLocation{}
9184 if err := _elem14.Read(ctx, iprot); err != nil {
9185 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem14), err)
9186 }
9187 p.PageLocations = append(p.PageLocations, _elem14)
9188 }
9189 if err := iprot.ReadListEnd(ctx); err != nil {
9190 return thrift.PrependError("error reading list end: ", err)
9191 }
9192 return nil
9193}
9194
9195func (p *OffsetIndex) Write(ctx context.Context, oprot thrift.TProtocol) error {
9196 if err := oprot.WriteStructBegin(ctx, "OffsetIndex"); err != nil {
9197 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
9198 if p != nil {
9199 if err := p.writeField1(ctx, oprot); err != nil { return err }
9200 }
9201 if err := oprot.WriteFieldStop(ctx); err != nil {
9202 return thrift.PrependError("write field stop error: ", err) }
9203 if err := oprot.WriteStructEnd(ctx); err != nil {
9204 return thrift.PrependError("write struct stop error: ", err) }
9205 return nil
9206}
9207
9208func (p *OffsetIndex) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
9209 if err := oprot.WriteFieldBegin(ctx, "page_locations", thrift.LIST, 1); err != nil {
9210 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:page_locations: ", p), err) }
9211 if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.PageLocations)); err != nil {
9212 return thrift.PrependError("error writing list begin: ", err)
9213 }
9214 for _, v := range p.PageLocations {
9215 if err := v.Write(ctx, oprot); err != nil {
9216 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
9217 }
9218 }
9219 if err := oprot.WriteListEnd(ctx); err != nil {
9220 return thrift.PrependError("error writing list end: ", err)
9221 }
9222 if err := oprot.WriteFieldEnd(ctx); err != nil {
9223 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:page_locations: ", p), err) }
9224 return err
9225}
9226
9227func (p *OffsetIndex) Equals(other *OffsetIndex) bool {
9228 if p == other {
9229 return true
9230 } else if p == nil || other == nil {
9231 return false
9232 }
9233 if len(p.PageLocations) != len(other.PageLocations) { return false }
9234 for i, _tgt := range p.PageLocations {
9235 _src15 := other.PageLocations[i]
9236 if !_tgt.Equals(_src15) { return false }
9237 }
9238 return true
9239}
9240
9241func (p *OffsetIndex) String() string {
9242 if p == nil {
9243 return "<nil>"
9244 }
9245 return fmt.Sprintf("OffsetIndex(%+v)", *p)
9246}
9247
9248// Description for ColumnIndex.
9249// Each <array-field>[i] refers to the page at OffsetIndex.page_locations[i]
9250//
9251// Attributes:
9252// - NullPages: A list of Boolean values to determine the validity of the corresponding
9253// min and max values. If true, a page contains only null values, and writers
9254// have to set the corresponding entries in min_values and max_values to
9255// byte[0], so that all lists have the same length. If false, the
9256// corresponding entries in min_values and max_values must be valid.
9257// - MinValues: Two lists containing lower and upper bounds for the values of each page.
9258// These may be the actual minimum and maximum values found on a page, but
9259// can also be (more compact) values that do not exist on a page. For
9260// example, instead of storing ""Blart Versenwald III", a writer may set
9261// min_values[i]="B", max_values[i]="C". Such more compact values must still
9262// be valid values within the column's logical type. Readers must make sure
9263// that list entries are populated before using them by inspecting null_pages.
9264// - MaxValues
9265// - BoundaryOrder: Stores whether both min_values and max_values are ordered and if so, in
9266// which direction. This allows readers to perform binary searches in both
9267// lists. Readers cannot assume that max_values[i] <= min_values[i+1], even
9268// if the lists are ordered.
9269// - NullCounts: A list containing the number of null values for each page *
9270type ColumnIndex struct {
9271 NullPages []bool `thrift:"null_pages,1,required" db:"null_pages" json:"null_pages"`
9272 MinValues [][]byte `thrift:"min_values,2,required" db:"min_values" json:"min_values"`
9273 MaxValues [][]byte `thrift:"max_values,3,required" db:"max_values" json:"max_values"`
9274 BoundaryOrder BoundaryOrder `thrift:"boundary_order,4,required" db:"boundary_order" json:"boundary_order"`
9275 NullCounts []int64 `thrift:"null_counts,5" db:"null_counts" json:"null_counts,omitempty"`
9276}
9277
9278func NewColumnIndex() *ColumnIndex {
9279 return &ColumnIndex{}
9280}
9281
9282
9283func (p *ColumnIndex) GetNullPages() []bool {
9284 return p.NullPages
9285}
9286
9287func (p *ColumnIndex) GetMinValues() [][]byte {
9288 return p.MinValues
9289}
9290
9291func (p *ColumnIndex) GetMaxValues() [][]byte {
9292 return p.MaxValues
9293}
9294
9295func (p *ColumnIndex) GetBoundaryOrder() BoundaryOrder {
9296 return p.BoundaryOrder
9297}
9298var ColumnIndex_NullCounts_DEFAULT []int64
9299
9300func (p *ColumnIndex) GetNullCounts() []int64 {
9301 return p.NullCounts
9302}
9303func (p *ColumnIndex) IsSetNullCounts() bool {
9304 return p.NullCounts != nil
9305}
9306
9307func (p *ColumnIndex) Read(ctx context.Context, iprot thrift.TProtocol) error {
9308 if _, err := iprot.ReadStructBegin(ctx); err != nil {
9309 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
9310 }
9311
9312 var issetNullPages bool = false;
9313 var issetMinValues bool = false;
9314 var issetMaxValues bool = false;
9315 var issetBoundaryOrder bool = false;
9316
9317 for {
9318 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
9319 if err != nil {
9320 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
9321 }
9322 if fieldTypeId == thrift.STOP { break; }
9323 switch fieldId {
9324 case 1:
9325 if fieldTypeId == thrift.LIST {
9326 if err := p.ReadField1(ctx, iprot); err != nil {
9327 return err
9328 }
9329 issetNullPages = true
9330 } else {
9331 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9332 return err
9333 }
9334 }
9335 case 2:
9336 if fieldTypeId == thrift.LIST {
9337 if err := p.ReadField2(ctx, iprot); err != nil {
9338 return err
9339 }
9340 issetMinValues = true
9341 } else {
9342 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9343 return err
9344 }
9345 }
9346 case 3:
9347 if fieldTypeId == thrift.LIST {
9348 if err := p.ReadField3(ctx, iprot); err != nil {
9349 return err
9350 }
9351 issetMaxValues = true
9352 } else {
9353 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9354 return err
9355 }
9356 }
9357 case 4:
9358 if fieldTypeId == thrift.I32 {
9359 if err := p.ReadField4(ctx, iprot); err != nil {
9360 return err
9361 }
9362 issetBoundaryOrder = true
9363 } else {
9364 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9365 return err
9366 }
9367 }
9368 case 5:
9369 if fieldTypeId == thrift.LIST {
9370 if err := p.ReadField5(ctx, iprot); err != nil {
9371 return err
9372 }
9373 } else {
9374 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9375 return err
9376 }
9377 }
9378 default:
9379 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9380 return err
9381 }
9382 }
9383 if err := iprot.ReadFieldEnd(ctx); err != nil {
9384 return err
9385 }
9386 }
9387 if err := iprot.ReadStructEnd(ctx); err != nil {
9388 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
9389 }
9390 if !issetNullPages{
9391 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NullPages is not set"));
9392 }
9393 if !issetMinValues{
9394 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MinValues is not set"));
9395 }
9396 if !issetMaxValues{
9397 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MaxValues is not set"));
9398 }
9399 if !issetBoundaryOrder{
9400 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field BoundaryOrder is not set"));
9401 }
9402 return nil
9403}
9404
9405func (p *ColumnIndex) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
9406 _, size, err := iprot.ReadListBegin(ctx)
9407 if err != nil {
9408 return thrift.PrependError("error reading list begin: ", err)
9409 }
9410 tSlice := make([]bool, 0, size)
9411 p.NullPages = tSlice
9412 for i := 0; i < size; i ++ {
9413var _elem16 bool
9414 if v, err := iprot.ReadBool(ctx); err != nil {
9415 return thrift.PrependError("error reading field 0: ", err)
9416} else {
9417 _elem16 = v
9418}
9419 p.NullPages = append(p.NullPages, _elem16)
9420 }
9421 if err := iprot.ReadListEnd(ctx); err != nil {
9422 return thrift.PrependError("error reading list end: ", err)
9423 }
9424 return nil
9425}
9426
9427func (p *ColumnIndex) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
9428 _, size, err := iprot.ReadListBegin(ctx)
9429 if err != nil {
9430 return thrift.PrependError("error reading list begin: ", err)
9431 }
9432 tSlice := make([][]byte, 0, size)
9433 p.MinValues = tSlice
9434 for i := 0; i < size; i ++ {
9435var _elem17 []byte
9436 if v, err := iprot.ReadBinary(ctx); err != nil {
9437 return thrift.PrependError("error reading field 0: ", err)
9438} else {
9439 _elem17 = v
9440}
9441 p.MinValues = append(p.MinValues, _elem17)
9442 }
9443 if err := iprot.ReadListEnd(ctx); err != nil {
9444 return thrift.PrependError("error reading list end: ", err)
9445 }
9446 return nil
9447}
9448
9449func (p *ColumnIndex) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
9450 _, size, err := iprot.ReadListBegin(ctx)
9451 if err != nil {
9452 return thrift.PrependError("error reading list begin: ", err)
9453 }
9454 tSlice := make([][]byte, 0, size)
9455 p.MaxValues = tSlice
9456 for i := 0; i < size; i ++ {
9457var _elem18 []byte
9458 if v, err := iprot.ReadBinary(ctx); err != nil {
9459 return thrift.PrependError("error reading field 0: ", err)
9460} else {
9461 _elem18 = v
9462}
9463 p.MaxValues = append(p.MaxValues, _elem18)
9464 }
9465 if err := iprot.ReadListEnd(ctx); err != nil {
9466 return thrift.PrependError("error reading list end: ", err)
9467 }
9468 return nil
9469}
9470
9471func (p *ColumnIndex) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
9472 if v, err := iprot.ReadI32(ctx); err != nil {
9473 return thrift.PrependError("error reading field 4: ", err)
9474} else {
9475 temp := BoundaryOrder(v)
9476 p.BoundaryOrder = temp
9477}
9478 return nil
9479}
9480
9481func (p *ColumnIndex) ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
9482 _, size, err := iprot.ReadListBegin(ctx)
9483 if err != nil {
9484 return thrift.PrependError("error reading list begin: ", err)
9485 }
9486 tSlice := make([]int64, 0, size)
9487 p.NullCounts = tSlice
9488 for i := 0; i < size; i ++ {
9489var _elem19 int64
9490 if v, err := iprot.ReadI64(ctx); err != nil {
9491 return thrift.PrependError("error reading field 0: ", err)
9492} else {
9493 _elem19 = v
9494}
9495 p.NullCounts = append(p.NullCounts, _elem19)
9496 }
9497 if err := iprot.ReadListEnd(ctx); err != nil {
9498 return thrift.PrependError("error reading list end: ", err)
9499 }
9500 return nil
9501}
9502
9503func (p *ColumnIndex) Write(ctx context.Context, oprot thrift.TProtocol) error {
9504 if err := oprot.WriteStructBegin(ctx, "ColumnIndex"); err != nil {
9505 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
9506 if p != nil {
9507 if err := p.writeField1(ctx, oprot); err != nil { return err }
9508 if err := p.writeField2(ctx, oprot); err != nil { return err }
9509 if err := p.writeField3(ctx, oprot); err != nil { return err }
9510 if err := p.writeField4(ctx, oprot); err != nil { return err }
9511 if err := p.writeField5(ctx, oprot); err != nil { return err }
9512 }
9513 if err := oprot.WriteFieldStop(ctx); err != nil {
9514 return thrift.PrependError("write field stop error: ", err) }
9515 if err := oprot.WriteStructEnd(ctx); err != nil {
9516 return thrift.PrependError("write struct stop error: ", err) }
9517 return nil
9518}
9519
9520func (p *ColumnIndex) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
9521 if err := oprot.WriteFieldBegin(ctx, "null_pages", thrift.LIST, 1); err != nil {
9522 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:null_pages: ", p), err) }
9523 if err := oprot.WriteListBegin(ctx, thrift.BOOL, len(p.NullPages)); err != nil {
9524 return thrift.PrependError("error writing list begin: ", err)
9525 }
9526 for _, v := range p.NullPages {
9527 if err := oprot.WriteBool(ctx, bool(v)); err != nil {
9528 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
9529 }
9530 if err := oprot.WriteListEnd(ctx); err != nil {
9531 return thrift.PrependError("error writing list end: ", err)
9532 }
9533 if err := oprot.WriteFieldEnd(ctx); err != nil {
9534 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:null_pages: ", p), err) }
9535 return err
9536}
9537
9538func (p *ColumnIndex) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
9539 if err := oprot.WriteFieldBegin(ctx, "min_values", thrift.LIST, 2); err != nil {
9540 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:min_values: ", p), err) }
9541 if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.MinValues)); err != nil {
9542 return thrift.PrependError("error writing list begin: ", err)
9543 }
9544 for _, v := range p.MinValues {
9545 if err := oprot.WriteBinary(ctx, v); err != nil {
9546 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
9547 }
9548 if err := oprot.WriteListEnd(ctx); err != nil {
9549 return thrift.PrependError("error writing list end: ", err)
9550 }
9551 if err := oprot.WriteFieldEnd(ctx); err != nil {
9552 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:min_values: ", p), err) }
9553 return err
9554}
9555
9556func (p *ColumnIndex) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
9557 if err := oprot.WriteFieldBegin(ctx, "max_values", thrift.LIST, 3); err != nil {
9558 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:max_values: ", p), err) }
9559 if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.MaxValues)); err != nil {
9560 return thrift.PrependError("error writing list begin: ", err)
9561 }
9562 for _, v := range p.MaxValues {
9563 if err := oprot.WriteBinary(ctx, v); err != nil {
9564 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
9565 }
9566 if err := oprot.WriteListEnd(ctx); err != nil {
9567 return thrift.PrependError("error writing list end: ", err)
9568 }
9569 if err := oprot.WriteFieldEnd(ctx); err != nil {
9570 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:max_values: ", p), err) }
9571 return err
9572}
9573
9574func (p *ColumnIndex) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
9575 if err := oprot.WriteFieldBegin(ctx, "boundary_order", thrift.I32, 4); err != nil {
9576 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:boundary_order: ", p), err) }
9577 if err := oprot.WriteI32(ctx, int32(p.BoundaryOrder)); err != nil {
9578 return thrift.PrependError(fmt.Sprintf("%T.boundary_order (4) field write error: ", p), err) }
9579 if err := oprot.WriteFieldEnd(ctx); err != nil {
9580 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:boundary_order: ", p), err) }
9581 return err
9582}
9583
9584func (p *ColumnIndex) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
9585 if p.IsSetNullCounts() {
9586 if err := oprot.WriteFieldBegin(ctx, "null_counts", thrift.LIST, 5); err != nil {
9587 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:null_counts: ", p), err) }
9588 if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.NullCounts)); err != nil {
9589 return thrift.PrependError("error writing list begin: ", err)
9590 }
9591 for _, v := range p.NullCounts {
9592 if err := oprot.WriteI64(ctx, int64(v)); err != nil {
9593 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
9594 }
9595 if err := oprot.WriteListEnd(ctx); err != nil {
9596 return thrift.PrependError("error writing list end: ", err)
9597 }
9598 if err := oprot.WriteFieldEnd(ctx); err != nil {
9599 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:null_counts: ", p), err) }
9600 }
9601 return err
9602}
9603
9604func (p *ColumnIndex) Equals(other *ColumnIndex) bool {
9605 if p == other {
9606 return true
9607 } else if p == nil || other == nil {
9608 return false
9609 }
9610 if len(p.NullPages) != len(other.NullPages) { return false }
9611 for i, _tgt := range p.NullPages {
9612 _src20 := other.NullPages[i]
9613 if _tgt != _src20 { return false }
9614 }
9615 if len(p.MinValues) != len(other.MinValues) { return false }
9616 for i, _tgt := range p.MinValues {
9617 _src21 := other.MinValues[i]
9618 if bytes.Compare(_tgt, _src21) != 0 { return false }
9619 }
9620 if len(p.MaxValues) != len(other.MaxValues) { return false }
9621 for i, _tgt := range p.MaxValues {
9622 _src22 := other.MaxValues[i]
9623 if bytes.Compare(_tgt, _src22) != 0 { return false }
9624 }
9625 if p.BoundaryOrder != other.BoundaryOrder { return false }
9626 if len(p.NullCounts) != len(other.NullCounts) { return false }
9627 for i, _tgt := range p.NullCounts {
9628 _src23 := other.NullCounts[i]
9629 if _tgt != _src23 { return false }
9630 }
9631 return true
9632}
9633
9634func (p *ColumnIndex) String() string {
9635 if p == nil {
9636 return "<nil>"
9637 }
9638 return fmt.Sprintf("ColumnIndex(%+v)", *p)
9639}
9640
9641// Attributes:
9642// - AadPrefix: AAD prefix *
9643// - AadFileUnique: Unique file identifier part of AAD suffix *
9644// - SupplyAadPrefix: In files encrypted with AAD prefix without storing it,
9645// readers must supply the prefix *
9646type AesGcmV1 struct {
9647 AadPrefix []byte `thrift:"aad_prefix,1" db:"aad_prefix" json:"aad_prefix,omitempty"`
9648 AadFileUnique []byte `thrift:"aad_file_unique,2" db:"aad_file_unique" json:"aad_file_unique,omitempty"`
9649 SupplyAadPrefix *bool `thrift:"supply_aad_prefix,3" db:"supply_aad_prefix" json:"supply_aad_prefix,omitempty"`
9650}
9651
9652func NewAesGcmV1() *AesGcmV1 {
9653 return &AesGcmV1{}
9654}
9655
9656var AesGcmV1_AadPrefix_DEFAULT []byte
9657
9658func (p *AesGcmV1) GetAadPrefix() []byte {
9659 return p.AadPrefix
9660}
9661var AesGcmV1_AadFileUnique_DEFAULT []byte
9662
9663func (p *AesGcmV1) GetAadFileUnique() []byte {
9664 return p.AadFileUnique
9665}
9666var AesGcmV1_SupplyAadPrefix_DEFAULT bool
9667func (p *AesGcmV1) GetSupplyAadPrefix() bool {
9668 if !p.IsSetSupplyAadPrefix() {
9669 return AesGcmV1_SupplyAadPrefix_DEFAULT
9670 }
9671return *p.SupplyAadPrefix
9672}
9673func (p *AesGcmV1) IsSetAadPrefix() bool {
9674 return p.AadPrefix != nil
9675}
9676
9677func (p *AesGcmV1) IsSetAadFileUnique() bool {
9678 return p.AadFileUnique != nil
9679}
9680
9681func (p *AesGcmV1) IsSetSupplyAadPrefix() bool {
9682 return p.SupplyAadPrefix != nil
9683}
9684
9685func (p *AesGcmV1) Read(ctx context.Context, iprot thrift.TProtocol) error {
9686 if _, err := iprot.ReadStructBegin(ctx); err != nil {
9687 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
9688 }
9689
9690
9691 for {
9692 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
9693 if err != nil {
9694 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
9695 }
9696 if fieldTypeId == thrift.STOP { break; }
9697 switch fieldId {
9698 case 1:
9699 if fieldTypeId == thrift.STRING {
9700 if err := p.ReadField1(ctx, iprot); err != nil {
9701 return err
9702 }
9703 } else {
9704 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9705 return err
9706 }
9707 }
9708 case 2:
9709 if fieldTypeId == thrift.STRING {
9710 if err := p.ReadField2(ctx, iprot); err != nil {
9711 return err
9712 }
9713 } else {
9714 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9715 return err
9716 }
9717 }
9718 case 3:
9719 if fieldTypeId == thrift.BOOL {
9720 if err := p.ReadField3(ctx, iprot); err != nil {
9721 return err
9722 }
9723 } else {
9724 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9725 return err
9726 }
9727 }
9728 default:
9729 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9730 return err
9731 }
9732 }
9733 if err := iprot.ReadFieldEnd(ctx); err != nil {
9734 return err
9735 }
9736 }
9737 if err := iprot.ReadStructEnd(ctx); err != nil {
9738 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
9739 }
9740 return nil
9741}
9742
9743func (p *AesGcmV1) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
9744 if v, err := iprot.ReadBinary(ctx); err != nil {
9745 return thrift.PrependError("error reading field 1: ", err)
9746} else {
9747 p.AadPrefix = v
9748}
9749 return nil
9750}
9751
9752func (p *AesGcmV1) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
9753 if v, err := iprot.ReadBinary(ctx); err != nil {
9754 return thrift.PrependError("error reading field 2: ", err)
9755} else {
9756 p.AadFileUnique = v
9757}
9758 return nil
9759}
9760
9761func (p *AesGcmV1) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
9762 if v, err := iprot.ReadBool(ctx); err != nil {
9763 return thrift.PrependError("error reading field 3: ", err)
9764} else {
9765 p.SupplyAadPrefix = &v
9766}
9767 return nil
9768}
9769
9770func (p *AesGcmV1) Write(ctx context.Context, oprot thrift.TProtocol) error {
9771 if err := oprot.WriteStructBegin(ctx, "AesGcmV1"); err != nil {
9772 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
9773 if p != nil {
9774 if err := p.writeField1(ctx, oprot); err != nil { return err }
9775 if err := p.writeField2(ctx, oprot); err != nil { return err }
9776 if err := p.writeField3(ctx, oprot); err != nil { return err }
9777 }
9778 if err := oprot.WriteFieldStop(ctx); err != nil {
9779 return thrift.PrependError("write field stop error: ", err) }
9780 if err := oprot.WriteStructEnd(ctx); err != nil {
9781 return thrift.PrependError("write struct stop error: ", err) }
9782 return nil
9783}
9784
9785func (p *AesGcmV1) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
9786 if p.IsSetAadPrefix() {
9787 if err := oprot.WriteFieldBegin(ctx, "aad_prefix", thrift.STRING, 1); err != nil {
9788 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:aad_prefix: ", p), err) }
9789 if err := oprot.WriteBinary(ctx, p.AadPrefix); err != nil {
9790 return thrift.PrependError(fmt.Sprintf("%T.aad_prefix (1) field write error: ", p), err) }
9791 if err := oprot.WriteFieldEnd(ctx); err != nil {
9792 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:aad_prefix: ", p), err) }
9793 }
9794 return err
9795}
9796
9797func (p *AesGcmV1) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
9798 if p.IsSetAadFileUnique() {
9799 if err := oprot.WriteFieldBegin(ctx, "aad_file_unique", thrift.STRING, 2); err != nil {
9800 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:aad_file_unique: ", p), err) }
9801 if err := oprot.WriteBinary(ctx, p.AadFileUnique); err != nil {
9802 return thrift.PrependError(fmt.Sprintf("%T.aad_file_unique (2) field write error: ", p), err) }
9803 if err := oprot.WriteFieldEnd(ctx); err != nil {
9804 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:aad_file_unique: ", p), err) }
9805 }
9806 return err
9807}
9808
9809func (p *AesGcmV1) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
9810 if p.IsSetSupplyAadPrefix() {
9811 if err := oprot.WriteFieldBegin(ctx, "supply_aad_prefix", thrift.BOOL, 3); err != nil {
9812 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:supply_aad_prefix: ", p), err) }
9813 if err := oprot.WriteBool(ctx, bool(*p.SupplyAadPrefix)); err != nil {
9814 return thrift.PrependError(fmt.Sprintf("%T.supply_aad_prefix (3) field write error: ", p), err) }
9815 if err := oprot.WriteFieldEnd(ctx); err != nil {
9816 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:supply_aad_prefix: ", p), err) }
9817 }
9818 return err
9819}
9820
9821func (p *AesGcmV1) Equals(other *AesGcmV1) bool {
9822 if p == other {
9823 return true
9824 } else if p == nil || other == nil {
9825 return false
9826 }
9827 if bytes.Compare(p.AadPrefix, other.AadPrefix) != 0 { return false }
9828 if bytes.Compare(p.AadFileUnique, other.AadFileUnique) != 0 { return false }
9829 if p.SupplyAadPrefix != other.SupplyAadPrefix {
9830 if p.SupplyAadPrefix == nil || other.SupplyAadPrefix == nil {
9831 return false
9832 }
9833 if (*p.SupplyAadPrefix) != (*other.SupplyAadPrefix) { return false }
9834 }
9835 return true
9836}
9837
9838func (p *AesGcmV1) String() string {
9839 if p == nil {
9840 return "<nil>"
9841 }
9842 return fmt.Sprintf("AesGcmV1(%+v)", *p)
9843}
9844
9845// Attributes:
9846// - AadPrefix: AAD prefix *
9847// - AadFileUnique: Unique file identifier part of AAD suffix *
9848// - SupplyAadPrefix: In files encrypted with AAD prefix without storing it,
9849// readers must supply the prefix *
9850type AesGcmCtrV1 struct {
9851 AadPrefix []byte `thrift:"aad_prefix,1" db:"aad_prefix" json:"aad_prefix,omitempty"`
9852 AadFileUnique []byte `thrift:"aad_file_unique,2" db:"aad_file_unique" json:"aad_file_unique,omitempty"`
9853 SupplyAadPrefix *bool `thrift:"supply_aad_prefix,3" db:"supply_aad_prefix" json:"supply_aad_prefix,omitempty"`
9854}
9855
9856func NewAesGcmCtrV1() *AesGcmCtrV1 {
9857 return &AesGcmCtrV1{}
9858}
9859
9860var AesGcmCtrV1_AadPrefix_DEFAULT []byte
9861
9862func (p *AesGcmCtrV1) GetAadPrefix() []byte {
9863 return p.AadPrefix
9864}
9865var AesGcmCtrV1_AadFileUnique_DEFAULT []byte
9866
9867func (p *AesGcmCtrV1) GetAadFileUnique() []byte {
9868 return p.AadFileUnique
9869}
9870var AesGcmCtrV1_SupplyAadPrefix_DEFAULT bool
9871func (p *AesGcmCtrV1) GetSupplyAadPrefix() bool {
9872 if !p.IsSetSupplyAadPrefix() {
9873 return AesGcmCtrV1_SupplyAadPrefix_DEFAULT
9874 }
9875return *p.SupplyAadPrefix
9876}
9877func (p *AesGcmCtrV1) IsSetAadPrefix() bool {
9878 return p.AadPrefix != nil
9879}
9880
9881func (p *AesGcmCtrV1) IsSetAadFileUnique() bool {
9882 return p.AadFileUnique != nil
9883}
9884
9885func (p *AesGcmCtrV1) IsSetSupplyAadPrefix() bool {
9886 return p.SupplyAadPrefix != nil
9887}
9888
9889func (p *AesGcmCtrV1) Read(ctx context.Context, iprot thrift.TProtocol) error {
9890 if _, err := iprot.ReadStructBegin(ctx); err != nil {
9891 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
9892 }
9893
9894
9895 for {
9896 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
9897 if err != nil {
9898 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
9899 }
9900 if fieldTypeId == thrift.STOP { break; }
9901 switch fieldId {
9902 case 1:
9903 if fieldTypeId == thrift.STRING {
9904 if err := p.ReadField1(ctx, iprot); err != nil {
9905 return err
9906 }
9907 } else {
9908 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9909 return err
9910 }
9911 }
9912 case 2:
9913 if fieldTypeId == thrift.STRING {
9914 if err := p.ReadField2(ctx, iprot); err != nil {
9915 return err
9916 }
9917 } else {
9918 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9919 return err
9920 }
9921 }
9922 case 3:
9923 if fieldTypeId == thrift.BOOL {
9924 if err := p.ReadField3(ctx, iprot); err != nil {
9925 return err
9926 }
9927 } else {
9928 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9929 return err
9930 }
9931 }
9932 default:
9933 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
9934 return err
9935 }
9936 }
9937 if err := iprot.ReadFieldEnd(ctx); err != nil {
9938 return err
9939 }
9940 }
9941 if err := iprot.ReadStructEnd(ctx); err != nil {
9942 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
9943 }
9944 return nil
9945}
9946
9947func (p *AesGcmCtrV1) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
9948 if v, err := iprot.ReadBinary(ctx); err != nil {
9949 return thrift.PrependError("error reading field 1: ", err)
9950} else {
9951 p.AadPrefix = v
9952}
9953 return nil
9954}
9955
9956func (p *AesGcmCtrV1) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
9957 if v, err := iprot.ReadBinary(ctx); err != nil {
9958 return thrift.PrependError("error reading field 2: ", err)
9959} else {
9960 p.AadFileUnique = v
9961}
9962 return nil
9963}
9964
9965func (p *AesGcmCtrV1) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
9966 if v, err := iprot.ReadBool(ctx); err != nil {
9967 return thrift.PrependError("error reading field 3: ", err)
9968} else {
9969 p.SupplyAadPrefix = &v
9970}
9971 return nil
9972}
9973
9974func (p *AesGcmCtrV1) Write(ctx context.Context, oprot thrift.TProtocol) error {
9975 if err := oprot.WriteStructBegin(ctx, "AesGcmCtrV1"); err != nil {
9976 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
9977 if p != nil {
9978 if err := p.writeField1(ctx, oprot); err != nil { return err }
9979 if err := p.writeField2(ctx, oprot); err != nil { return err }
9980 if err := p.writeField3(ctx, oprot); err != nil { return err }
9981 }
9982 if err := oprot.WriteFieldStop(ctx); err != nil {
9983 return thrift.PrependError("write field stop error: ", err) }
9984 if err := oprot.WriteStructEnd(ctx); err != nil {
9985 return thrift.PrependError("write struct stop error: ", err) }
9986 return nil
9987}
9988
9989func (p *AesGcmCtrV1) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
9990 if p.IsSetAadPrefix() {
9991 if err := oprot.WriteFieldBegin(ctx, "aad_prefix", thrift.STRING, 1); err != nil {
9992 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:aad_prefix: ", p), err) }
9993 if err := oprot.WriteBinary(ctx, p.AadPrefix); err != nil {
9994 return thrift.PrependError(fmt.Sprintf("%T.aad_prefix (1) field write error: ", p), err) }
9995 if err := oprot.WriteFieldEnd(ctx); err != nil {
9996 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:aad_prefix: ", p), err) }
9997 }
9998 return err
9999}
10000
10001func (p *AesGcmCtrV1) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
10002 if p.IsSetAadFileUnique() {
10003 if err := oprot.WriteFieldBegin(ctx, "aad_file_unique", thrift.STRING, 2); err != nil {
10004 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:aad_file_unique: ", p), err) }
10005 if err := oprot.WriteBinary(ctx, p.AadFileUnique); err != nil {
10006 return thrift.PrependError(fmt.Sprintf("%T.aad_file_unique (2) field write error: ", p), err) }
10007 if err := oprot.WriteFieldEnd(ctx); err != nil {
10008 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:aad_file_unique: ", p), err) }
10009 }
10010 return err
10011}
10012
10013func (p *AesGcmCtrV1) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
10014 if p.IsSetSupplyAadPrefix() {
10015 if err := oprot.WriteFieldBegin(ctx, "supply_aad_prefix", thrift.BOOL, 3); err != nil {
10016 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:supply_aad_prefix: ", p), err) }
10017 if err := oprot.WriteBool(ctx, bool(*p.SupplyAadPrefix)); err != nil {
10018 return thrift.PrependError(fmt.Sprintf("%T.supply_aad_prefix (3) field write error: ", p), err) }
10019 if err := oprot.WriteFieldEnd(ctx); err != nil {
10020 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:supply_aad_prefix: ", p), err) }
10021 }
10022 return err
10023}
10024
10025func (p *AesGcmCtrV1) Equals(other *AesGcmCtrV1) bool {
10026 if p == other {
10027 return true
10028 } else if p == nil || other == nil {
10029 return false
10030 }
10031 if bytes.Compare(p.AadPrefix, other.AadPrefix) != 0 { return false }
10032 if bytes.Compare(p.AadFileUnique, other.AadFileUnique) != 0 { return false }
10033 if p.SupplyAadPrefix != other.SupplyAadPrefix {
10034 if p.SupplyAadPrefix == nil || other.SupplyAadPrefix == nil {
10035 return false
10036 }
10037 if (*p.SupplyAadPrefix) != (*other.SupplyAadPrefix) { return false }
10038 }
10039 return true
10040}
10041
10042func (p *AesGcmCtrV1) String() string {
10043 if p == nil {
10044 return "<nil>"
10045 }
10046 return fmt.Sprintf("AesGcmCtrV1(%+v)", *p)
10047}
10048
10049// Attributes:
10050// - AES_GCM_V1
10051// - AES_GCM_CTR_V1
10052type EncryptionAlgorithm struct {
10053 AES_GCM_V1 *AesGcmV1 `thrift:"AES_GCM_V1,1" db:"AES_GCM_V1" json:"AES_GCM_V1,omitempty"`
10054 AES_GCM_CTR_V1 *AesGcmCtrV1 `thrift:"AES_GCM_CTR_V1,2" db:"AES_GCM_CTR_V1" json:"AES_GCM_CTR_V1,omitempty"`
10055}
10056
10057func NewEncryptionAlgorithm() *EncryptionAlgorithm {
10058 return &EncryptionAlgorithm{}
10059}
10060
10061var EncryptionAlgorithm_AES_GCM_V1_DEFAULT *AesGcmV1
10062func (p *EncryptionAlgorithm) GetAES_GCM_V1() *AesGcmV1 {
10063 if !p.IsSetAES_GCM_V1() {
10064 return EncryptionAlgorithm_AES_GCM_V1_DEFAULT
10065 }
10066return p.AES_GCM_V1
10067}
10068var EncryptionAlgorithm_AES_GCM_CTR_V1_DEFAULT *AesGcmCtrV1
10069func (p *EncryptionAlgorithm) GetAES_GCM_CTR_V1() *AesGcmCtrV1 {
10070 if !p.IsSetAES_GCM_CTR_V1() {
10071 return EncryptionAlgorithm_AES_GCM_CTR_V1_DEFAULT
10072 }
10073return p.AES_GCM_CTR_V1
10074}
10075func (p *EncryptionAlgorithm) CountSetFieldsEncryptionAlgorithm() int {
10076 count := 0
10077 if (p.IsSetAES_GCM_V1()) {
10078 count++
10079 }
10080 if (p.IsSetAES_GCM_CTR_V1()) {
10081 count++
10082 }
10083 return count
10084
10085}
10086
10087func (p *EncryptionAlgorithm) IsSetAES_GCM_V1() bool {
10088 return p.AES_GCM_V1 != nil
10089}
10090
10091func (p *EncryptionAlgorithm) IsSetAES_GCM_CTR_V1() bool {
10092 return p.AES_GCM_CTR_V1 != nil
10093}
10094
10095func (p *EncryptionAlgorithm) Read(ctx context.Context, iprot thrift.TProtocol) error {
10096 if _, err := iprot.ReadStructBegin(ctx); err != nil {
10097 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
10098 }
10099
10100
10101 for {
10102 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
10103 if err != nil {
10104 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
10105 }
10106 if fieldTypeId == thrift.STOP { break; }
10107 switch fieldId {
10108 case 1:
10109 if fieldTypeId == thrift.STRUCT {
10110 if err := p.ReadField1(ctx, iprot); err != nil {
10111 return err
10112 }
10113 } else {
10114 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10115 return err
10116 }
10117 }
10118 case 2:
10119 if fieldTypeId == thrift.STRUCT {
10120 if err := p.ReadField2(ctx, iprot); err != nil {
10121 return err
10122 }
10123 } else {
10124 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10125 return err
10126 }
10127 }
10128 default:
10129 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10130 return err
10131 }
10132 }
10133 if err := iprot.ReadFieldEnd(ctx); err != nil {
10134 return err
10135 }
10136 }
10137 if err := iprot.ReadStructEnd(ctx); err != nil {
10138 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
10139 }
10140 return nil
10141}
10142
10143func (p *EncryptionAlgorithm) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
10144 p.AES_GCM_V1 = &AesGcmV1{}
10145 if err := p.AES_GCM_V1.Read(ctx, iprot); err != nil {
10146 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.AES_GCM_V1), err)
10147 }
10148 return nil
10149}
10150
10151func (p *EncryptionAlgorithm) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
10152 p.AES_GCM_CTR_V1 = &AesGcmCtrV1{}
10153 if err := p.AES_GCM_CTR_V1.Read(ctx, iprot); err != nil {
10154 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.AES_GCM_CTR_V1), err)
10155 }
10156 return nil
10157}
10158
10159func (p *EncryptionAlgorithm) Write(ctx context.Context, oprot thrift.TProtocol) error {
10160 if c := p.CountSetFieldsEncryptionAlgorithm(); c != 1 {
10161 return fmt.Errorf("%T write union: exactly one field must be set (%d set).", p, c)
10162 }
10163 if err := oprot.WriteStructBegin(ctx, "EncryptionAlgorithm"); err != nil {
10164 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
10165 if p != nil {
10166 if err := p.writeField1(ctx, oprot); err != nil { return err }
10167 if err := p.writeField2(ctx, oprot); err != nil { return err }
10168 }
10169 if err := oprot.WriteFieldStop(ctx); err != nil {
10170 return thrift.PrependError("write field stop error: ", err) }
10171 if err := oprot.WriteStructEnd(ctx); err != nil {
10172 return thrift.PrependError("write struct stop error: ", err) }
10173 return nil
10174}
10175
10176func (p *EncryptionAlgorithm) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
10177 if p.IsSetAES_GCM_V1() {
10178 if err := oprot.WriteFieldBegin(ctx, "AES_GCM_V1", thrift.STRUCT, 1); err != nil {
10179 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:AES_GCM_V1: ", p), err) }
10180 if err := p.AES_GCM_V1.Write(ctx, oprot); err != nil {
10181 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.AES_GCM_V1), err)
10182 }
10183 if err := oprot.WriteFieldEnd(ctx); err != nil {
10184 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:AES_GCM_V1: ", p), err) }
10185 }
10186 return err
10187}
10188
10189func (p *EncryptionAlgorithm) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
10190 if p.IsSetAES_GCM_CTR_V1() {
10191 if err := oprot.WriteFieldBegin(ctx, "AES_GCM_CTR_V1", thrift.STRUCT, 2); err != nil {
10192 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:AES_GCM_CTR_V1: ", p), err) }
10193 if err := p.AES_GCM_CTR_V1.Write(ctx, oprot); err != nil {
10194 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.AES_GCM_CTR_V1), err)
10195 }
10196 if err := oprot.WriteFieldEnd(ctx); err != nil {
10197 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:AES_GCM_CTR_V1: ", p), err) }
10198 }
10199 return err
10200}
10201
10202func (p *EncryptionAlgorithm) Equals(other *EncryptionAlgorithm) bool {
10203 if p == other {
10204 return true
10205 } else if p == nil || other == nil {
10206 return false
10207 }
10208 if !p.AES_GCM_V1.Equals(other.AES_GCM_V1) { return false }
10209 if !p.AES_GCM_CTR_V1.Equals(other.AES_GCM_CTR_V1) { return false }
10210 return true
10211}
10212
10213func (p *EncryptionAlgorithm) String() string {
10214 if p == nil {
10215 return "<nil>"
10216 }
10217 return fmt.Sprintf("EncryptionAlgorithm(%+v)", *p)
10218}
10219
10220// Description for file metadata
10221//
10222// Attributes:
10223// - Version: Version of this file *
10224// - Schema: Parquet schema for this file. This schema contains metadata for all the columns.
10225// The schema is represented as a tree with a single root. The nodes of the tree
10226// are flattened to a list by doing a depth-first traversal.
10227// The column metadata contains the path in the schema for that column which can be
10228// used to map columns to nodes in the schema.
10229// The first element is the root *
10230// - NumRows: Number of rows in this file *
10231// - RowGroups: Row groups in this file *
10232// - KeyValueMetadata: Optional key/value metadata *
10233// - CreatedBy: String for application that wrote this file. This should be in the format
10234// <Application> version <App Version> (build <App Build Hash>).
10235// e.g. impala version 1.0 (build 6cf94d29b2b7115df4de2c06e2ab4326d721eb55)
10236//
10237// - ColumnOrders: Sort order used for the min_value and max_value fields of each column in
10238// this file. Sort orders are listed in the order matching the columns in the
10239// schema. The indexes are not necessary the same though, because only leaf
10240// nodes of the schema are represented in the list of sort orders.
10241//
10242// Without column_orders, the meaning of the min_value and max_value fields is
10243// undefined. To ensure well-defined behaviour, if min_value and max_value are
10244// written to a Parquet file, column_orders must be written as well.
10245//
10246// The obsolete min and max fields are always sorted by signed comparison
10247// regardless of column_orders.
10248// - EncryptionAlgorithm: Encryption algorithm. This field is set only in encrypted files
10249// with plaintext footer. Files with encrypted footer store algorithm id
10250// in FileCryptoMetaData structure.
10251// - FooterSigningKeyMetadata: Retrieval metadata of key used for signing the footer.
10252// Used only in encrypted files with plaintext footer.
10253type FileMetaData struct {
10254 Version int32 `thrift:"version,1,required" db:"version" json:"version"`
10255 Schema []*SchemaElement `thrift:"schema,2,required" db:"schema" json:"schema"`
10256 NumRows int64 `thrift:"num_rows,3,required" db:"num_rows" json:"num_rows"`
10257 RowGroups []*RowGroup `thrift:"row_groups,4,required" db:"row_groups" json:"row_groups"`
10258 KeyValueMetadata []*KeyValue `thrift:"key_value_metadata,5" db:"key_value_metadata" json:"key_value_metadata,omitempty"`
10259 CreatedBy *string `thrift:"created_by,6" db:"created_by" json:"created_by,omitempty"`
10260 ColumnOrders []*ColumnOrder `thrift:"column_orders,7" db:"column_orders" json:"column_orders,omitempty"`
10261 EncryptionAlgorithm *EncryptionAlgorithm `thrift:"encryption_algorithm,8" db:"encryption_algorithm" json:"encryption_algorithm,omitempty"`
10262 FooterSigningKeyMetadata []byte `thrift:"footer_signing_key_metadata,9" db:"footer_signing_key_metadata" json:"footer_signing_key_metadata,omitempty"`
10263}
10264
10265func NewFileMetaData() *FileMetaData {
10266 return &FileMetaData{}
10267}
10268
10269
10270func (p *FileMetaData) GetVersion() int32 {
10271 return p.Version
10272}
10273
10274func (p *FileMetaData) GetSchema() []*SchemaElement {
10275 return p.Schema
10276}
10277
10278func (p *FileMetaData) GetNumRows() int64 {
10279 return p.NumRows
10280}
10281
10282func (p *FileMetaData) GetRowGroups() []*RowGroup {
10283 return p.RowGroups
10284}
10285var FileMetaData_KeyValueMetadata_DEFAULT []*KeyValue
10286
10287func (p *FileMetaData) GetKeyValueMetadata() []*KeyValue {
10288 return p.KeyValueMetadata
10289}
10290var FileMetaData_CreatedBy_DEFAULT string
10291func (p *FileMetaData) GetCreatedBy() string {
10292 if !p.IsSetCreatedBy() {
10293 return FileMetaData_CreatedBy_DEFAULT
10294 }
10295return *p.CreatedBy
10296}
10297var FileMetaData_ColumnOrders_DEFAULT []*ColumnOrder
10298
10299func (p *FileMetaData) GetColumnOrders() []*ColumnOrder {
10300 return p.ColumnOrders
10301}
10302var FileMetaData_EncryptionAlgorithm_DEFAULT *EncryptionAlgorithm
10303func (p *FileMetaData) GetEncryptionAlgorithm() *EncryptionAlgorithm {
10304 if !p.IsSetEncryptionAlgorithm() {
10305 return FileMetaData_EncryptionAlgorithm_DEFAULT
10306 }
10307return p.EncryptionAlgorithm
10308}
10309var FileMetaData_FooterSigningKeyMetadata_DEFAULT []byte
10310
10311func (p *FileMetaData) GetFooterSigningKeyMetadata() []byte {
10312 return p.FooterSigningKeyMetadata
10313}
10314func (p *FileMetaData) IsSetKeyValueMetadata() bool {
10315 return p.KeyValueMetadata != nil
10316}
10317
10318func (p *FileMetaData) IsSetCreatedBy() bool {
10319 return p.CreatedBy != nil
10320}
10321
10322func (p *FileMetaData) IsSetColumnOrders() bool {
10323 return p.ColumnOrders != nil
10324}
10325
10326func (p *FileMetaData) IsSetEncryptionAlgorithm() bool {
10327 return p.EncryptionAlgorithm != nil
10328}
10329
10330func (p *FileMetaData) IsSetFooterSigningKeyMetadata() bool {
10331 return p.FooterSigningKeyMetadata != nil
10332}
10333
10334func (p *FileMetaData) Read(ctx context.Context, iprot thrift.TProtocol) error {
10335 if _, err := iprot.ReadStructBegin(ctx); err != nil {
10336 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
10337 }
10338
10339 var issetVersion bool = false;
10340 var issetSchema bool = false;
10341 var issetNumRows bool = false;
10342 var issetRowGroups bool = false;
10343
10344 for {
10345 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
10346 if err != nil {
10347 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
10348 }
10349 if fieldTypeId == thrift.STOP { break; }
10350 switch fieldId {
10351 case 1:
10352 if fieldTypeId == thrift.I32 {
10353 if err := p.ReadField1(ctx, iprot); err != nil {
10354 return err
10355 }
10356 issetVersion = true
10357 } else {
10358 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10359 return err
10360 }
10361 }
10362 case 2:
10363 if fieldTypeId == thrift.LIST {
10364 if err := p.ReadField2(ctx, iprot); err != nil {
10365 return err
10366 }
10367 issetSchema = true
10368 } else {
10369 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10370 return err
10371 }
10372 }
10373 case 3:
10374 if fieldTypeId == thrift.I64 {
10375 if err := p.ReadField3(ctx, iprot); err != nil {
10376 return err
10377 }
10378 issetNumRows = true
10379 } else {
10380 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10381 return err
10382 }
10383 }
10384 case 4:
10385 if fieldTypeId == thrift.LIST {
10386 if err := p.ReadField4(ctx, iprot); err != nil {
10387 return err
10388 }
10389 issetRowGroups = true
10390 } else {
10391 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10392 return err
10393 }
10394 }
10395 case 5:
10396 if fieldTypeId == thrift.LIST {
10397 if err := p.ReadField5(ctx, iprot); err != nil {
10398 return err
10399 }
10400 } else {
10401 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10402 return err
10403 }
10404 }
10405 case 6:
10406 if fieldTypeId == thrift.STRING {
10407 if err := p.ReadField6(ctx, iprot); err != nil {
10408 return err
10409 }
10410 } else {
10411 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10412 return err
10413 }
10414 }
10415 case 7:
10416 if fieldTypeId == thrift.LIST {
10417 if err := p.ReadField7(ctx, iprot); err != nil {
10418 return err
10419 }
10420 } else {
10421 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10422 return err
10423 }
10424 }
10425 case 8:
10426 if fieldTypeId == thrift.STRUCT {
10427 if err := p.ReadField8(ctx, iprot); err != nil {
10428 return err
10429 }
10430 } else {
10431 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10432 return err
10433 }
10434 }
10435 case 9:
10436 if fieldTypeId == thrift.STRING {
10437 if err := p.ReadField9(ctx, iprot); err != nil {
10438 return err
10439 }
10440 } else {
10441 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10442 return err
10443 }
10444 }
10445 default:
10446 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10447 return err
10448 }
10449 }
10450 if err := iprot.ReadFieldEnd(ctx); err != nil {
10451 return err
10452 }
10453 }
10454 if err := iprot.ReadStructEnd(ctx); err != nil {
10455 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
10456 }
10457 if !issetVersion{
10458 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Version is not set"));
10459 }
10460 if !issetSchema{
10461 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Schema is not set"));
10462 }
10463 if !issetNumRows{
10464 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NumRows is not set"));
10465 }
10466 if !issetRowGroups{
10467 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field RowGroups is not set"));
10468 }
10469 return nil
10470}
10471
10472func (p *FileMetaData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
10473 if v, err := iprot.ReadI32(ctx); err != nil {
10474 return thrift.PrependError("error reading field 1: ", err)
10475} else {
10476 p.Version = v
10477}
10478 return nil
10479}
10480
10481func (p *FileMetaData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
10482 _, size, err := iprot.ReadListBegin(ctx)
10483 if err != nil {
10484 return thrift.PrependError("error reading list begin: ", err)
10485 }
10486 tSlice := make([]*SchemaElement, 0, size)
10487 p.Schema = tSlice
10488 for i := 0; i < size; i ++ {
10489 _elem24 := &SchemaElement{}
10490 if err := _elem24.Read(ctx, iprot); err != nil {
10491 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem24), err)
10492 }
10493 p.Schema = append(p.Schema, _elem24)
10494 }
10495 if err := iprot.ReadListEnd(ctx); err != nil {
10496 return thrift.PrependError("error reading list end: ", err)
10497 }
10498 return nil
10499}
10500
10501func (p *FileMetaData) ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
10502 if v, err := iprot.ReadI64(ctx); err != nil {
10503 return thrift.PrependError("error reading field 3: ", err)
10504} else {
10505 p.NumRows = v
10506}
10507 return nil
10508}
10509
10510func (p *FileMetaData) ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
10511 _, size, err := iprot.ReadListBegin(ctx)
10512 if err != nil {
10513 return thrift.PrependError("error reading list begin: ", err)
10514 }
10515 tSlice := make([]*RowGroup, 0, size)
10516 p.RowGroups = tSlice
10517 for i := 0; i < size; i ++ {
10518 _elem25 := &RowGroup{}
10519 if err := _elem25.Read(ctx, iprot); err != nil {
10520 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem25), err)
10521 }
10522 p.RowGroups = append(p.RowGroups, _elem25)
10523 }
10524 if err := iprot.ReadListEnd(ctx); err != nil {
10525 return thrift.PrependError("error reading list end: ", err)
10526 }
10527 return nil
10528}
10529
10530func (p *FileMetaData) ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
10531 _, size, err := iprot.ReadListBegin(ctx)
10532 if err != nil {
10533 return thrift.PrependError("error reading list begin: ", err)
10534 }
10535 tSlice := make([]*KeyValue, 0, size)
10536 p.KeyValueMetadata = tSlice
10537 for i := 0; i < size; i ++ {
10538 _elem26 := &KeyValue{}
10539 if err := _elem26.Read(ctx, iprot); err != nil {
10540 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem26), err)
10541 }
10542 p.KeyValueMetadata = append(p.KeyValueMetadata, _elem26)
10543 }
10544 if err := iprot.ReadListEnd(ctx); err != nil {
10545 return thrift.PrependError("error reading list end: ", err)
10546 }
10547 return nil
10548}
10549
10550func (p *FileMetaData) ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
10551 if v, err := iprot.ReadString(ctx); err != nil {
10552 return thrift.PrependError("error reading field 6: ", err)
10553} else {
10554 p.CreatedBy = &v
10555}
10556 return nil
10557}
10558
10559func (p *FileMetaData) ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
10560 _, size, err := iprot.ReadListBegin(ctx)
10561 if err != nil {
10562 return thrift.PrependError("error reading list begin: ", err)
10563 }
10564 tSlice := make([]*ColumnOrder, 0, size)
10565 p.ColumnOrders = tSlice
10566 for i := 0; i < size; i ++ {
10567 _elem27 := &ColumnOrder{}
10568 if err := _elem27.Read(ctx, iprot); err != nil {
10569 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem27), err)
10570 }
10571 p.ColumnOrders = append(p.ColumnOrders, _elem27)
10572 }
10573 if err := iprot.ReadListEnd(ctx); err != nil {
10574 return thrift.PrependError("error reading list end: ", err)
10575 }
10576 return nil
10577}
10578
10579func (p *FileMetaData) ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
10580 p.EncryptionAlgorithm = &EncryptionAlgorithm{}
10581 if err := p.EncryptionAlgorithm.Read(ctx, iprot); err != nil {
10582 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.EncryptionAlgorithm), err)
10583 }
10584 return nil
10585}
10586
10587func (p *FileMetaData) ReadField9(ctx context.Context, iprot thrift.TProtocol) error {
10588 if v, err := iprot.ReadBinary(ctx); err != nil {
10589 return thrift.PrependError("error reading field 9: ", err)
10590} else {
10591 p.FooterSigningKeyMetadata = v
10592}
10593 return nil
10594}
10595
10596func (p *FileMetaData) Write(ctx context.Context, oprot thrift.TProtocol) error {
10597 if err := oprot.WriteStructBegin(ctx, "FileMetaData"); err != nil {
10598 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
10599 if p != nil {
10600 if err := p.writeField1(ctx, oprot); err != nil { return err }
10601 if err := p.writeField2(ctx, oprot); err != nil { return err }
10602 if err := p.writeField3(ctx, oprot); err != nil { return err }
10603 if err := p.writeField4(ctx, oprot); err != nil { return err }
10604 if err := p.writeField5(ctx, oprot); err != nil { return err }
10605 if err := p.writeField6(ctx, oprot); err != nil { return err }
10606 if err := p.writeField7(ctx, oprot); err != nil { return err }
10607 if err := p.writeField8(ctx, oprot); err != nil { return err }
10608 if err := p.writeField9(ctx, oprot); err != nil { return err }
10609 }
10610 if err := oprot.WriteFieldStop(ctx); err != nil {
10611 return thrift.PrependError("write field stop error: ", err) }
10612 if err := oprot.WriteStructEnd(ctx); err != nil {
10613 return thrift.PrependError("write struct stop error: ", err) }
10614 return nil
10615}
10616
10617func (p *FileMetaData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
10618 if err := oprot.WriteFieldBegin(ctx, "version", thrift.I32, 1); err != nil {
10619 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:version: ", p), err) }
10620 if err := oprot.WriteI32(ctx, int32(p.Version)); err != nil {
10621 return thrift.PrependError(fmt.Sprintf("%T.version (1) field write error: ", p), err) }
10622 if err := oprot.WriteFieldEnd(ctx); err != nil {
10623 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:version: ", p), err) }
10624 return err
10625}
10626
10627func (p *FileMetaData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
10628 if err := oprot.WriteFieldBegin(ctx, "schema", thrift.LIST, 2); err != nil {
10629 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:schema: ", p), err) }
10630 if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Schema)); err != nil {
10631 return thrift.PrependError("error writing list begin: ", err)
10632 }
10633 for _, v := range p.Schema {
10634 if err := v.Write(ctx, oprot); err != nil {
10635 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
10636 }
10637 }
10638 if err := oprot.WriteListEnd(ctx); err != nil {
10639 return thrift.PrependError("error writing list end: ", err)
10640 }
10641 if err := oprot.WriteFieldEnd(ctx); err != nil {
10642 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:schema: ", p), err) }
10643 return err
10644}
10645
10646func (p *FileMetaData) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
10647 if err := oprot.WriteFieldBegin(ctx, "num_rows", thrift.I64, 3); err != nil {
10648 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:num_rows: ", p), err) }
10649 if err := oprot.WriteI64(ctx, int64(p.NumRows)); err != nil {
10650 return thrift.PrependError(fmt.Sprintf("%T.num_rows (3) field write error: ", p), err) }
10651 if err := oprot.WriteFieldEnd(ctx); err != nil {
10652 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:num_rows: ", p), err) }
10653 return err
10654}
10655
10656func (p *FileMetaData) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
10657 if err := oprot.WriteFieldBegin(ctx, "row_groups", thrift.LIST, 4); err != nil {
10658 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:row_groups: ", p), err) }
10659 if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.RowGroups)); err != nil {
10660 return thrift.PrependError("error writing list begin: ", err)
10661 }
10662 for _, v := range p.RowGroups {
10663 if err := v.Write(ctx, oprot); err != nil {
10664 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
10665 }
10666 }
10667 if err := oprot.WriteListEnd(ctx); err != nil {
10668 return thrift.PrependError("error writing list end: ", err)
10669 }
10670 if err := oprot.WriteFieldEnd(ctx); err != nil {
10671 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:row_groups: ", p), err) }
10672 return err
10673}
10674
10675func (p *FileMetaData) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
10676 if p.IsSetKeyValueMetadata() {
10677 if err := oprot.WriteFieldBegin(ctx, "key_value_metadata", thrift.LIST, 5); err != nil {
10678 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:key_value_metadata: ", p), err) }
10679 if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.KeyValueMetadata)); err != nil {
10680 return thrift.PrependError("error writing list begin: ", err)
10681 }
10682 for _, v := range p.KeyValueMetadata {
10683 if err := v.Write(ctx, oprot); err != nil {
10684 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
10685 }
10686 }
10687 if err := oprot.WriteListEnd(ctx); err != nil {
10688 return thrift.PrependError("error writing list end: ", err)
10689 }
10690 if err := oprot.WriteFieldEnd(ctx); err != nil {
10691 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:key_value_metadata: ", p), err) }
10692 }
10693 return err
10694}
10695
10696func (p *FileMetaData) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
10697 if p.IsSetCreatedBy() {
10698 if err := oprot.WriteFieldBegin(ctx, "created_by", thrift.STRING, 6); err != nil {
10699 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:created_by: ", p), err) }
10700 if err := oprot.WriteString(ctx, string(*p.CreatedBy)); err != nil {
10701 return thrift.PrependError(fmt.Sprintf("%T.created_by (6) field write error: ", p), err) }
10702 if err := oprot.WriteFieldEnd(ctx); err != nil {
10703 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:created_by: ", p), err) }
10704 }
10705 return err
10706}
10707
10708func (p *FileMetaData) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
10709 if p.IsSetColumnOrders() {
10710 if err := oprot.WriteFieldBegin(ctx, "column_orders", thrift.LIST, 7); err != nil {
10711 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:column_orders: ", p), err) }
10712 if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.ColumnOrders)); err != nil {
10713 return thrift.PrependError("error writing list begin: ", err)
10714 }
10715 for _, v := range p.ColumnOrders {
10716 if err := v.Write(ctx, oprot); err != nil {
10717 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
10718 }
10719 }
10720 if err := oprot.WriteListEnd(ctx); err != nil {
10721 return thrift.PrependError("error writing list end: ", err)
10722 }
10723 if err := oprot.WriteFieldEnd(ctx); err != nil {
10724 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:column_orders: ", p), err) }
10725 }
10726 return err
10727}
10728
10729func (p *FileMetaData) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
10730 if p.IsSetEncryptionAlgorithm() {
10731 if err := oprot.WriteFieldBegin(ctx, "encryption_algorithm", thrift.STRUCT, 8); err != nil {
10732 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:encryption_algorithm: ", p), err) }
10733 if err := p.EncryptionAlgorithm.Write(ctx, oprot); err != nil {
10734 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.EncryptionAlgorithm), err)
10735 }
10736 if err := oprot.WriteFieldEnd(ctx); err != nil {
10737 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:encryption_algorithm: ", p), err) }
10738 }
10739 return err
10740}
10741
10742func (p *FileMetaData) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
10743 if p.IsSetFooterSigningKeyMetadata() {
10744 if err := oprot.WriteFieldBegin(ctx, "footer_signing_key_metadata", thrift.STRING, 9); err != nil {
10745 return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:footer_signing_key_metadata: ", p), err) }
10746 if err := oprot.WriteBinary(ctx, p.FooterSigningKeyMetadata); err != nil {
10747 return thrift.PrependError(fmt.Sprintf("%T.footer_signing_key_metadata (9) field write error: ", p), err) }
10748 if err := oprot.WriteFieldEnd(ctx); err != nil {
10749 return thrift.PrependError(fmt.Sprintf("%T write field end error 9:footer_signing_key_metadata: ", p), err) }
10750 }
10751 return err
10752}
10753
10754func (p *FileMetaData) Equals(other *FileMetaData) bool {
10755 if p == other {
10756 return true
10757 } else if p == nil || other == nil {
10758 return false
10759 }
10760 if p.Version != other.Version { return false }
10761 if len(p.Schema) != len(other.Schema) { return false }
10762 for i, _tgt := range p.Schema {
10763 _src28 := other.Schema[i]
10764 if !_tgt.Equals(_src28) { return false }
10765 }
10766 if p.NumRows != other.NumRows { return false }
10767 if len(p.RowGroups) != len(other.RowGroups) { return false }
10768 for i, _tgt := range p.RowGroups {
10769 _src29 := other.RowGroups[i]
10770 if !_tgt.Equals(_src29) { return false }
10771 }
10772 if len(p.KeyValueMetadata) != len(other.KeyValueMetadata) { return false }
10773 for i, _tgt := range p.KeyValueMetadata {
10774 _src30 := other.KeyValueMetadata[i]
10775 if !_tgt.Equals(_src30) { return false }
10776 }
10777 if p.CreatedBy != other.CreatedBy {
10778 if p.CreatedBy == nil || other.CreatedBy == nil {
10779 return false
10780 }
10781 if (*p.CreatedBy) != (*other.CreatedBy) { return false }
10782 }
10783 if len(p.ColumnOrders) != len(other.ColumnOrders) { return false }
10784 for i, _tgt := range p.ColumnOrders {
10785 _src31 := other.ColumnOrders[i]
10786 if !_tgt.Equals(_src31) { return false }
10787 }
10788 if !p.EncryptionAlgorithm.Equals(other.EncryptionAlgorithm) { return false }
10789 if bytes.Compare(p.FooterSigningKeyMetadata, other.FooterSigningKeyMetadata) != 0 { return false }
10790 return true
10791}
10792
10793func (p *FileMetaData) String() string {
10794 if p == nil {
10795 return "<nil>"
10796 }
10797 return fmt.Sprintf("FileMetaData(%+v)", *p)
10798}
10799
10800// Crypto metadata for files with encrypted footer *
10801//
10802// Attributes:
10803// - EncryptionAlgorithm: Encryption algorithm. This field is only used for files
10804// with encrypted footer. Files with plaintext footer store algorithm id
10805// inside footer (FileMetaData structure).
10806// - KeyMetadata: Retrieval metadata of key used for encryption of footer,
10807// and (possibly) columns *
10808type FileCryptoMetaData struct {
10809 EncryptionAlgorithm *EncryptionAlgorithm `thrift:"encryption_algorithm,1,required" db:"encryption_algorithm" json:"encryption_algorithm"`
10810 KeyMetadata []byte `thrift:"key_metadata,2" db:"key_metadata" json:"key_metadata,omitempty"`
10811}
10812
10813func NewFileCryptoMetaData() *FileCryptoMetaData {
10814 return &FileCryptoMetaData{}
10815}
10816
10817var FileCryptoMetaData_EncryptionAlgorithm_DEFAULT *EncryptionAlgorithm
10818func (p *FileCryptoMetaData) GetEncryptionAlgorithm() *EncryptionAlgorithm {
10819 if !p.IsSetEncryptionAlgorithm() {
10820 return FileCryptoMetaData_EncryptionAlgorithm_DEFAULT
10821 }
10822return p.EncryptionAlgorithm
10823}
10824var FileCryptoMetaData_KeyMetadata_DEFAULT []byte
10825
10826func (p *FileCryptoMetaData) GetKeyMetadata() []byte {
10827 return p.KeyMetadata
10828}
10829func (p *FileCryptoMetaData) IsSetEncryptionAlgorithm() bool {
10830 return p.EncryptionAlgorithm != nil
10831}
10832
10833func (p *FileCryptoMetaData) IsSetKeyMetadata() bool {
10834 return p.KeyMetadata != nil
10835}
10836
10837func (p *FileCryptoMetaData) Read(ctx context.Context, iprot thrift.TProtocol) error {
10838 if _, err := iprot.ReadStructBegin(ctx); err != nil {
10839 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
10840 }
10841
10842 var issetEncryptionAlgorithm bool = false;
10843
10844 for {
10845 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
10846 if err != nil {
10847 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
10848 }
10849 if fieldTypeId == thrift.STOP { break; }
10850 switch fieldId {
10851 case 1:
10852 if fieldTypeId == thrift.STRUCT {
10853 if err := p.ReadField1(ctx, iprot); err != nil {
10854 return err
10855 }
10856 issetEncryptionAlgorithm = true
10857 } else {
10858 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10859 return err
10860 }
10861 }
10862 case 2:
10863 if fieldTypeId == thrift.STRING {
10864 if err := p.ReadField2(ctx, iprot); err != nil {
10865 return err
10866 }
10867 } else {
10868 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10869 return err
10870 }
10871 }
10872 default:
10873 if err := iprot.Skip(ctx, fieldTypeId); err != nil {
10874 return err
10875 }
10876 }
10877 if err := iprot.ReadFieldEnd(ctx); err != nil {
10878 return err
10879 }
10880 }
10881 if err := iprot.ReadStructEnd(ctx); err != nil {
10882 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
10883 }
10884 if !issetEncryptionAlgorithm{
10885 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field EncryptionAlgorithm is not set"));
10886 }
10887 return nil
10888}
10889
10890func (p *FileCryptoMetaData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
10891 p.EncryptionAlgorithm = &EncryptionAlgorithm{}
10892 if err := p.EncryptionAlgorithm.Read(ctx, iprot); err != nil {
10893 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.EncryptionAlgorithm), err)
10894 }
10895 return nil
10896}
10897
10898func (p *FileCryptoMetaData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
10899 if v, err := iprot.ReadBinary(ctx); err != nil {
10900 return thrift.PrependError("error reading field 2: ", err)
10901} else {
10902 p.KeyMetadata = v
10903}
10904 return nil
10905}
10906
10907func (p *FileCryptoMetaData) Write(ctx context.Context, oprot thrift.TProtocol) error {
10908 if err := oprot.WriteStructBegin(ctx, "FileCryptoMetaData"); err != nil {
10909 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
10910 if p != nil {
10911 if err := p.writeField1(ctx, oprot); err != nil { return err }
10912 if err := p.writeField2(ctx, oprot); err != nil { return err }
10913 }
10914 if err := oprot.WriteFieldStop(ctx); err != nil {
10915 return thrift.PrependError("write field stop error: ", err) }
10916 if err := oprot.WriteStructEnd(ctx); err != nil {
10917 return thrift.PrependError("write struct stop error: ", err) }
10918 return nil
10919}
10920
10921func (p *FileCryptoMetaData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
10922 if err := oprot.WriteFieldBegin(ctx, "encryption_algorithm", thrift.STRUCT, 1); err != nil {
10923 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:encryption_algorithm: ", p), err) }
10924 if err := p.EncryptionAlgorithm.Write(ctx, oprot); err != nil {
10925 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.EncryptionAlgorithm), err)
10926 }
10927 if err := oprot.WriteFieldEnd(ctx); err != nil {
10928 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:encryption_algorithm: ", p), err) }
10929 return err
10930}
10931
10932func (p *FileCryptoMetaData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
10933 if p.IsSetKeyMetadata() {
10934 if err := oprot.WriteFieldBegin(ctx, "key_metadata", thrift.STRING, 2); err != nil {
10935 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:key_metadata: ", p), err) }
10936 if err := oprot.WriteBinary(ctx, p.KeyMetadata); err != nil {
10937 return thrift.PrependError(fmt.Sprintf("%T.key_metadata (2) field write error: ", p), err) }
10938 if err := oprot.WriteFieldEnd(ctx); err != nil {
10939 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:key_metadata: ", p), err) }
10940 }
10941 return err
10942}
10943
10944func (p *FileCryptoMetaData) Equals(other *FileCryptoMetaData) bool {
10945 if p == other {
10946 return true
10947 } else if p == nil || other == nil {
10948 return false
10949 }
10950 if !p.EncryptionAlgorithm.Equals(other.EncryptionAlgorithm) { return false }
10951 if bytes.Compare(p.KeyMetadata, other.KeyMetadata) != 0 { return false }
10952 return true
10953}
10954
10955func (p *FileCryptoMetaData) String() string {
10956 if p == nil {
10957 return "<nil>"
10958 }
10959 return fmt.Sprintf("FileCryptoMetaData(%+v)", *p)
10960}
10961