OmniSciDB  04ee39c94c
ParserNode.cpp File Reference

Functions for ParserNode classes. More...

#include "ParserNode.h"
#include <rapidjson/document.h>
#include <rapidjson/stringbuffer.h>
#include <rapidjson/writer.h>
#include <boost/algorithm/string.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/filesystem.hpp>
#include <boost/function.hpp>
#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/SharedDictionaryValidator.h"
#include "../Fragmenter/InsertOrderFragmenter.h"
#include "../Fragmenter/TargetValueConvertersFactories.h"
#include "../Import/Importer.h"
#include "../Planner/Planner.h"
#include "../QueryEngine/CalciteAdapter.h"
#include "../QueryEngine/Execute.h"
#include "../QueryEngine/ExtensionFunctionsWhitelist.h"
#include "../QueryEngine/RelAlgExecutor.h"
#include "../Shared/TimeGM.h"
#include "../Shared/geo_types.h"
#include "../Shared/mapd_glob.h"
#include "../Shared/measure.h"
#include "../Shared/shard_key.h"
#include "LockMgr/LockMgr.h"
#include "LockMgr/TableLockMgr.h"
#include "ReservedKeywords.h"
#include "gen-cpp/CalciteServer.h"
#include "parser.h"
+ Include dependency graph for ParserNode.cpp:

Go to the source code of this file.

Namespaces

 Importer_NS
 
 Parser
 
 Parser::anonymous_namespace{ParserNode.cpp}
 

Typedefs

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

Functions

std::vector< uint8_t > Importer_NS::compress_coords (std::vector< double > &coords, const SQLTypeInfo &ti)
 
bool Parser::anonymous_namespace{ParserNode.cpp}::expr_is_null (const Analyzer::Expr *expr)
 
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_frag_size_def (TableDescriptor &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_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_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)
 
std::shared_ptr< ResultSetParser::getResultSet (const Catalog_Namespace::SessionInfo &session, const std::string select_stmt, std::vector< TargetMetaInfo > &targets, bool validate_only=false)
 
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)
 

Variables

size_t g_leaf_count {0}
 
bool g_use_date_in_days_default_encoding {true}
 
static const std::map< const std::string, const TableDefFuncPtrParser::anonymous_namespace{ParserNode.cpp}::tableDefFuncMap
 

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

◆ TableDefFuncPtr

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

Definition at line 72 of file ParserNode.cpp.

Variable Documentation

◆ g_leaf_count

◆ g_use_date_in_days_default_encoding