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