// 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 substrait_extension; option go_package = "github.com/GreptimeTeam/greptime-proto/go/substrait_extension"; message EmptyMetric { // Start timestamp in millisecond int64 start = 1; // End timestamp in millisecond int64 end = 2; // Interval in millisecond int64 interval = 3; } message InstantManipulate { // Start timestamp in millisecond int64 start = 1; // End timestamp in millisecond int64 end = 2; // Interval in millisecond int64 interval = 3; // Look-back delta in millisecond int64 lookback_delta = 4; // [DEPRECATED] Column name of time index column. // Use `time_index_idx` instead. string time_index = 5 [deprecated = true]; // [DEPRECATED] Optional field column name for validating staleness. // Use `field_index_idx` instead. string field_index = 6 [deprecated = true]; // Column index of time index column uint64 time_index_idx = 7; // Optional field column index for validating staleness uint64 field_index_idx = 8; } message SeriesNormalize { // Offset in millisecond int64 offset = 1; // [DEPRECATED] Column name of time index column. // Use `time_index_idx` instead. string time_index = 2 [deprecated = true]; // Whether to filter out NaN value bool filter_nan = 3; // [DEPRECATED] Names of tag columns. // Use `tag_column_indices` instead. repeated string tag_columns = 4 [deprecated = true]; // Column index of time index column uint64 time_index_idx = 5; // Indices of tag columns repeated uint64 tag_column_indices = 6; } message SeriesDivide { // [DEPRECATED] Names of tag columns. // Use `tag_column_indices` instead. repeated string tag_columns = 1 [deprecated = true]; // [DEPRECATED] Name of time index column. // Use `time_index_column_idx` instead. string time_index_column = 2 [deprecated = true]; // Indices of tag columns repeated uint64 tag_column_indices = 3; // Index of time index column uint64 time_index_column_idx = 4; } message RangeManipulate { // Start timestamp in millisecond int64 start = 1; // End timestamp in millisecond int64 end = 2; // Interval in millisecond int64 interval = 3; // Range in millisecond int64 range = 4; // [DEPRECATED] Column name of time index column. // Use `time_index_idx` instead. string time_index = 5 [deprecated = true]; // [DEPRECATED] Names of tag columns. // Use `tag_column_indices` instead. repeated string tag_columns = 6 [deprecated = true]; // Column index of time index column uint64 time_index_idx = 7; // Indices of tag columns repeated uint64 tag_column_indices = 8; } message ScalarCalculate { // Start timestamp in millisecond int64 start = 1; // End timestamp in millisecond int64 end = 2; // Interval in millisecond int64 interval = 3; // [DEPRECATED] Column name of time index column. // Use `time_index_idx` instead. string time_index = 5 [deprecated = true]; // [DEPRECATED] Names of tag columns. // Use `tag_column_indices` instead. repeated string tag_columns = 6 [deprecated = true]; // [DEPRECATED] Column name of field column. // Use `field_column_idx` instead. string field_column = 7 [deprecated = true]; // Column index of time index column uint64 time_index_idx = 8; // Indices of tag columns repeated uint64 tag_column_indices = 9; // Column index of field column uint64 field_column_idx = 10; } message Absent { // Start timestamp in millisecond int64 start = 1; // End timestamp in millisecond int64 end = 2; // Step in millisecond int64 step = 3; // [DEPRECATED] Column name of time index column. // Use `time_index_column_idx` instead. string time_index_column = 4 [deprecated = true]; // [DEPRECATED] Column name of value column. // Use `value_column_idx` instead. string value_column = 5 [deprecated = true]; // Fake labels as key-value pairs repeated LabelPair fake_labels = 6; // Column index of time index column uint64 time_index_column_idx = 7; // Column index of value column uint64 value_column_idx = 8; } message LabelPair { string key = 1; string value = 2; } message HistogramFold { // Column index of the `le` column (histogram bucket bounds) uint64 le_column_idx = 1; // Column index of the timestamp column uint64 ts_column_idx = 2; // Column index of the field column (histogram values) uint64 field_column_idx = 3; // Quantile value double quantile = 4; } message UnionDistinctOn { // Indices of columns to compare for equality repeated uint64 compare_key_indices = 1; // Column index of the timestamp column uint64 ts_col_idx = 2; }