OmniSciDB  f632821e96
ParserNode.cpp File Reference

Functions for ParserNode classes. More...

#include "ParserNode.h"
#include <boost/algorithm/string.hpp>
#include <boost/core/null_deleter.hpp>
#include <boost/filesystem.hpp>
#include <boost/function.hpp>
#include <rapidjson/document.h>
#include <rapidjson/stringbuffer.h>
#include <rapidjson/writer.h>
#include <cassert>
#include <cmath>
#include <limits>
#include <random>
#include <stdexcept>
#include <type_traits>
#include <typeinfo>
#include "Analyzer/RangeTableEntry.h"
#include "Catalog/Catalog.h"
#include "Catalog/DataframeTableDescriptor.h"
#include "Catalog/SharedDictionaryValidator.h"
#include "Fragmenter/InsertOrderFragmenter.h"
#include "Fragmenter/SortedOrderFragmenter.h"
#include "Fragmenter/TargetValueConvertersFactories.h"
#include "Geospatial/Compression.h"
#include "Geospatial/Types.h"
#include "ImportExport/Importer.h"
#include "LockMgr/LockMgr.h"
#include "QueryEngine/CalciteAdapter.h"
#include "QueryEngine/Execute.h"
#include "QueryEngine/ExtensionFunctionsWhitelist.h"
#include "QueryEngine/RelAlgExecutor.h"
#include "ReservedKeywords.h"
#include "Shared/StringTransform.h"
#include "Shared/measure.h"
#include "Shared/shard_key.h"
#include "TableArchiver/TableArchiver.h"
#include "Utils/FsiUtils.h"
#include "gen-cpp/CalciteServer.h"
#include "parser.h"
+ Include dependency graph for ParserNode.cpp:

Go to the source code of this file.

Namespaces

 Parser
 
 Parser::anonymous_namespace{ParserNode.cpp}
 

Typedefs

using TableDefFuncPtr = boost::function< void(TableDescriptor &, const NameValueAssign *, const std::list< ColumnDescriptor > &columns)>
 
using DataframeDefFuncPtr = boost::function< void(DataframeTableDescriptor &, const NameValueAssign *, const std::list< ColumnDescriptor > &columns)>
 

Functions

bool Parser::anonymous_namespace{ParserNode.cpp}::expr_is_null (const Analyzer::Expr *expr)
 
bool Parser::anonymous_namespace{ParserNode.cpp}::bool_from_string_literal (const Parser::StringLiteral *str_literal)
 
void Parser::anonymous_namespace{ParserNode.cpp}::validate_shard_column_type (const ColumnDescriptor &cd)
 
size_t Parser::anonymous_namespace{ParserNode.cpp}::shard_column_index (const std::string &name, const std::list< ColumnDescriptor > &columns)
 
size_t Parser::anonymous_namespace{ParserNode.cpp}::sort_column_index (const std::string &name, const std::list< ColumnDescriptor > &columns)
 
void Parser::anonymous_namespace{ParserNode.cpp}::set_string_field (rapidjson::Value &obj, const std::string &field_name, const std::string &field_value, rapidjson::Document &document)
 
std::string Parser::anonymous_namespace{ParserNode.cpp}::serialize_key_metainfo (const ShardKeyDef *shard_key_def, const std::vector< SharedDictionaryDef > &shared_dict_defs)
 
template<typename LITERAL_TYPE , typename ASSIGNMENT , typename VALIDATE = DefaultValidate<LITERAL_TYPE>>
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_property_value (const NameValueAssign *p, ASSIGNMENT op, VALIDATE validate=VALIDATE())
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_storage_type (TableDescriptor &td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_frag_size_def (TableDescriptor &td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_frag_size_dataframe_def (DataframeTableDescriptor &df_td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_max_chunk_size_def (TableDescriptor &td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_max_chunk_size_dataframe_def (DataframeTableDescriptor &df_td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_delimiter_def (DataframeTableDescriptor &df_td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_header_def (DataframeTableDescriptor &df_td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_page_size_def (TableDescriptor &td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_max_rows_def (TableDescriptor &td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_skip_rows_def (DataframeTableDescriptor &df_td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_partions_def (TableDescriptor &td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_shard_count_def (TableDescriptor &td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_vacuum_def (TableDescriptor &td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
decltype(auto) Parser::anonymous_namespace{ParserNode.cpp}::get_sort_column_def (TableDescriptor &td, const NameValueAssign *p, const std::list< ColumnDescriptor > &columns)
 
void Parser::anonymous_namespace{ParserNode.cpp}::get_table_definitions (TableDescriptor &td, const std::unique_ptr< NameValueAssign > &p, const std::list< ColumnDescriptor > &columns)
 
void Parser::anonymous_namespace{ParserNode.cpp}::get_table_definitions_for_ctas (TableDescriptor &td, const std::unique_ptr< NameValueAssign > &p, const std::list< ColumnDescriptor > &columns)
 
void Parser::anonymous_namespace{ParserNode.cpp}::get_dataframe_definitions (DataframeTableDescriptor &df_td, const std::unique_ptr< NameValueAssign > &p, const std::list< ColumnDescriptor > &columns)
 
std::shared_ptr< ResultSetParser::getResultSet (QueryStateProxy query_state_proxy, const std::string select_stmt, std::vector< TargetMetaInfo > &targets, bool validate_only=false, std::vector< size_t > outer_fragment_indices={})
 
void Parser::check_alter_table_privilege (const Catalog_Namespace::SessionInfo &session, const TableDescriptor *td)
 
std::vector< std::string > Parser::splitObjectHierName (const std::string &hierName)
 
std::string Parser::extractObjectNameFromHierName (const std::string &objectHierName, const std::string &objectType, const Catalog_Namespace::Catalog &cat)
 
static std::pair< AccessPrivileges, DBObjectTypeParser::parseStringPrivs (const std::string &privs, const DBObjectType &objectType, const std::string &object_name)
 
static DBObject Parser::createObject (const std::string &objectName, DBObjectType objectType)
 
static void Parser::checkStringLiteral (const std::string &option_name, const std::unique_ptr< NameValueAssign > &p)
 
static bool Parser::readBooleanLiteral (const std::string &option_name, const std::unique_ptr< NameValueAssign > &p)
 

Variables

size_t g_leaf_count {0}
 
bool g_test_drop_column_rollback {false}
 
bool g_enable_experimental_string_functions
 
bool g_enable_fsi
 
static const std::map< const std::string, const TableDefFuncPtrParser::anonymous_namespace{ParserNode.cpp}::tableDefFuncMap
 
static const std::map< const std::string, const DataframeDefFuncPtrParser::anonymous_namespace{ParserNode.cpp}::dataframeDefFuncMap
 

Detailed Description

Functions for ParserNode classes.

Author
Wei Hong wei@m.nosp@m.ap-d.nosp@m..com Copyright (c) 2014 MapD Technologies, Inc. All rights reserved.

Definition in file ParserNode.cpp.

Typedef Documentation

◆ DataframeDefFuncPtr

using DataframeDefFuncPtr = boost::function<void(DataframeTableDescriptor&, const NameValueAssign*, const std::list<ColumnDescriptor>& columns)>

Definition at line 83 of file ParserNode.cpp.

◆ TableDefFuncPtr

using TableDefFuncPtr = boost::function<void(TableDescriptor&, const NameValueAssign*, const std::list<ColumnDescriptor>& columns)>

Definition at line 78 of file ParserNode.cpp.

Variable Documentation

◆ g_enable_experimental_string_functions

bool g_enable_experimental_string_functions

◆ g_enable_fsi

bool g_enable_fsi

◆ g_leaf_count

◆ g_test_drop_column_rollback

bool g_test_drop_column_rollback {false}

Definition at line 69 of file ParserNode.cpp.

Referenced by Parser::DropColumnStmt::execute().