6fadcf8c7a
* move protobuf from GreptimeDB * add license check * add other github actions
86 lines
2.0 KiB
Protocol Buffer
86 lines
2.0 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package greptime.v1;
|
|
|
|
message Column {
|
|
string column_name = 1;
|
|
|
|
enum SemanticType {
|
|
TAG = 0;
|
|
FIELD = 1;
|
|
TIMESTAMP = 2;
|
|
}
|
|
SemanticType semantic_type = 2;
|
|
|
|
message Values {
|
|
repeated int32 i8_values = 1;
|
|
repeated int32 i16_values = 2;
|
|
repeated int32 i32_values = 3;
|
|
repeated int64 i64_values = 4;
|
|
|
|
repeated uint32 u8_values = 5;
|
|
repeated uint32 u16_values = 6;
|
|
repeated uint32 u32_values = 7;
|
|
repeated uint64 u64_values = 8;
|
|
|
|
repeated float f32_values = 9;
|
|
repeated double f64_values = 10;
|
|
|
|
repeated bool bool_values = 11;
|
|
repeated bytes binary_values = 12;
|
|
repeated string string_values = 13;
|
|
|
|
repeated int32 date_values = 14;
|
|
repeated int64 datetime_values = 15;
|
|
repeated int64 ts_second_values = 16;
|
|
repeated int64 ts_millisecond_values = 17;
|
|
repeated int64 ts_microsecond_values = 18;
|
|
repeated int64 ts_nanosecond_values = 19;
|
|
}
|
|
// The array of non-null values in this column.
|
|
//
|
|
// For example: suppose there is a column "foo" that contains some int32 values (1, 2, 3, 4, 5, null, 7, 8, 9, null);
|
|
// column:
|
|
// column_name: foo
|
|
// semantic_type: Tag
|
|
// values: 1, 2, 3, 4, 5, 7, 8, 9
|
|
// null_masks: 00100000 00000010
|
|
Values values = 3;
|
|
|
|
// Mask maps the positions of null values.
|
|
// If a bit in null_mask is 1, it indicates that the column value at that position is null.
|
|
bytes null_mask = 4;
|
|
|
|
// Helpful in creating vector from column.
|
|
ColumnDataType datatype = 5;
|
|
}
|
|
|
|
message ColumnDef {
|
|
string name = 1;
|
|
ColumnDataType datatype = 2;
|
|
bool is_nullable = 3;
|
|
bytes default_constraint = 4;
|
|
}
|
|
|
|
enum ColumnDataType {
|
|
BOOLEAN = 0;
|
|
INT8 = 1;
|
|
INT16 = 2;
|
|
INT32 = 3;
|
|
INT64 = 4;
|
|
UINT8 = 5;
|
|
UINT16 = 6;
|
|
UINT32 = 7;
|
|
UINT64 = 8;
|
|
FLOAT32 = 9;
|
|
FLOAT64 = 10;
|
|
BINARY = 11;
|
|
STRING = 12;
|
|
DATE = 13;
|
|
DATETIME = 14;
|
|
TIMESTAMP_SECOND = 15;
|
|
TIMESTAMP_MILLISECOND = 16;
|
|
TIMESTAMP_MICROSECOND = 17;
|
|
TIMESTAMP_NANOSECOND = 18;
|
|
}
|