blob: 1a586a462b50b4c7d38055bdc79c4ef4591b4172 [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you 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 = "proto2";
package quickstep.serialization;
import "expressions/Expressions.proto";
import "expressions/table_generator/GeneratorFunction.proto";
import "storage/AggregationOperationState.proto";
import "storage/HashTable.proto";
import "storage/InsertDestination.proto";
import "storage/WindowAggregationOperationState.proto";
import "types/containers/Tuple.proto";
import "utility/BloomFilter.proto";
import "utility/SortConfiguration.proto";
message QueryContext {
message ScalarGroup {
repeated Scalar scalars = 1;
}
message UpdateGroup {
message UpdateAssignment {
required int32 attribute_id = 1;
required Scalar scalar = 2;
}
// NOTE(zuyu): Only used for validating UpdateAssignment's attribute_id.
required int32 relation_id = 1;
repeated UpdateAssignment update_assignments = 2;
}
repeated AggregationOperationState aggregation_states = 1;
repeated BloomFilter bloom_filters = 2;
repeated GeneratorFunctionHandle generator_functions = 3;
repeated HashTable join_hash_tables = 4;
repeated InsertDestination insert_destinations = 5;
repeated Predicate predicates = 6;
repeated ScalarGroup scalar_groups = 7;
repeated SortConfiguration sort_configs = 8;
repeated Tuple tuples = 9;
// NOTE(zuyu): For UpdateWorkOrder only.
repeated UpdateGroup update_groups = 10;
repeated WindowAggregationOperationState window_aggregation_states = 11;
required uint64 query_id = 12;
}