1syntax = "proto2";
2
3package protobuf;
4
5enum CompressionType {
6  // Values should match with the corresponding struct in cstore_fdw.h
7  NONE = 0;
8  PG_LZ = 1;
9};
10
11message ColumnBlockSkipNode {
12  optional uint64 rowCount = 1;
13  optional bytes minimumValue = 2;
14  optional bytes maximumValue = 3;
15  optional uint64 valueBlockOffset = 4;
16  optional uint64 valueLength = 5;
17  optional CompressionType valueCompressionType = 6;
18  optional uint64 existsBlockOffset = 7;
19  optional uint64 existsLength = 8;
20}
21
22message ColumnBlockSkipList {
23  repeated ColumnBlockSkipNode blockSkipNodeArray = 1;
24}
25
26message StripeFooter {
27  repeated uint64 skipListSizeArray = 1;
28  repeated uint64 existsSizeArray = 2;
29  repeated uint64 valueSizeArray = 3;
30}
31
32message StripeMetadata {
33  optional uint64 fileOffset = 1;
34  optional uint64 skipListLength = 2;
35  optional uint64 dataLength = 3;
36  optional uint64 footerLength = 4;
37}
38
39message TableFooter {
40  repeated StripeMetadata stripeMetadataArray = 1;
41  optional uint32 blockRowCount = 2;
42}
43
44message PostScript {
45  optional uint64 tableFooterLength = 1;
46  optional uint64 versionMajor = 2;
47  optional uint64 versionMinor = 3;
48
49  // Leave this last in the record
50  optional string magicNumber = 8000;
51}
52