77 lines
2.4 KiB
Protocol Buffer
77 lines
2.4 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";
|
|
|
|
import "greptime/v1/common.proto";
|
|
|
|
message Column {
|
|
string column_name = 1;
|
|
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;
|
|
repeated int64 time_second_values = 20;
|
|
repeated int64 time_millisecond_values = 21;
|
|
repeated int64 time_microsecond_values = 22;
|
|
repeated int64 time_nanosecond_values = 23;
|
|
}
|
|
// 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;
|
|
}
|