d32c9d5e98
Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
106 lines
2.7 KiB
Protocol Buffer
106 lines
2.7 KiB
Protocol Buffer
// Copyright 2023 Greptime Team
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
package greptime.v1;
|
|
|
|
option java_package = "io.greptime.v1";
|
|
option java_outer_classname = "Columns";
|
|
option go_package = "github.com/GreptimeTeam/greptime-proto/go/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;
|
|
}
|