// 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 = "Common"; option go_package = "github.com/GreptimeTeam/greptime-proto/go/greptime/v1"; message RequestHeader { // The `catalog` that is selected to be used in this request. string catalog = 1; // The `schema` that is selected to be used in this request. string schema = 2; // The `authorization` header, much like http's authorization header. AuthHeader authorization = 3; // The `dbname` for the request string dbname = 4; // Encoded trace_id & span_id, follow the w3c Trace Context // https://www.w3.org/TR/trace-context/#header-name map tracing_context = 5; } message ResponseHeader { Status status = 1; } message Status { // Corresponding to the `StatusCode` definition of GreptimeDB uint32 status_code = 1; string err_msg = 2; } message AuthHeader { oneof auth_scheme { Basic basic = 1; Token token = 2; } } message Basic { string username = 1; string password = 2; } message Token { string token = 1; } message AffectedRows { uint32 value = 1; } message FlightMetadata { AffectedRows affected_rows = 1; } enum SemanticType { TAG = 0; FIELD = 1; TIMESTAMP = 2; } 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; TIME_SECOND = 19; TIME_MILLISECOND = 20; TIME_MICROSECOND = 21; TIME_NANOSECOND = 22; INTERVAL_YEAR_MONTH = 23; INTERVAL_DAY_TIME = 24; INTERVAL_MONTH_DAY_NANO = 25; DURATION_SECOND = 26; DURATION_MILLISECOND = 27; DURATION_MICROSECOND = 28; DURATION_NANOSECOND = 29; } message IntervalMonthDayNano { int32 months = 1; int32 days = 2; int64 nanoseconds = 3; }