OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SharedDictionaryValidator.h
Go to the documentation of this file.
1 /*
2  * Copyright 2022 HEAVY.AI, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef SHARED_DICTIONARY_VALIDATOR_H
18 #define SHARED_DICTIONARY_VALIDATOR_H
19 
20 #include <vector>
21 
22 #include "../Catalog/ColumnDescriptor.h"
23 #include "../Parser/ParserNode.h"
24 
26  const Parser::CreateTableBaseStmt* stmt,
27  const Parser::SharedDictionaryDef* shared_dict_def,
28  const std::list<ColumnDescriptor>& columns,
29  const std::vector<Parser::SharedDictionaryDef>& shared_dict_defs_so_far,
30  const Catalog_Namespace::Catalog& catalog);
31 
34  const std::vector<Parser::SharedDictionaryDef>& shared_dict_defs);
35 
37  const Parser::CreateTableBaseStmt* stmt,
38  const Parser::SharedDictionaryDef* shared_dict_def,
39  const std::vector<Parser::SharedDictionaryDef>& shared_dict_defs,
40  const std::list<ColumnDescriptor>& columns);
41 #endif // SHARED_DICTIONARY_VALIDATOR_H
const Parser::SharedDictionaryDef compress_reference_path(Parser::SharedDictionaryDef cur_node, const std::vector< Parser::SharedDictionaryDef > &shared_dict_defs)
class for a per-database catalog. also includes metadata for the current database and the current use...
Definition: Catalog.h:143
void validate_shared_dictionary_order(const Parser::CreateTableBaseStmt *stmt, const Parser::SharedDictionaryDef *shared_dict_def, const std::vector< Parser::SharedDictionaryDef > &shared_dict_defs, const std::list< ColumnDescriptor > &columns)
void validate_shared_dictionary(const Parser::CreateTableBaseStmt *stmt, const Parser::SharedDictionaryDef *shared_dict_def, const std::list< ColumnDescriptor > &columns, const std::vector< Parser::SharedDictionaryDef > &shared_dict_defs_so_far, const Catalog_Namespace::Catalog &catalog)