OmniSciDB
a5dc49c757
|
#include <ParserNode.h>
Public Member Functions | |
CreateTableStmt (std::string *tab, const std::string *storage, std::list< TableElement * > *table_elems, bool is_temporary, bool if_not_exists, std::list< NameValueAssign * > *s) | |
CreateTableStmt (const rapidjson::Value &payload) | |
const std::string * | get_table () const override |
const std::list < std::unique_ptr < TableElement > > & | get_table_element_list () const override |
void | execute (const Catalog_Namespace::SessionInfo &session, bool read_only_mode) override |
void | executeDryRun (const Catalog_Namespace::SessionInfo &session, TableDescriptor &td, std::list< ColumnDescriptor > &columns, std::vector< SharedDictionaryDef > &shared_dict_defs) |
Public Member Functions inherited from Parser::DDLStmt | |
void | setColumnDescriptor (ColumnDescriptor &cd, const ColumnDef *coldef) |
Public Member Functions inherited from Parser::Node | |
virtual | ~Node () |
Private Attributes | |
std::unique_ptr< std::string > | table_ |
std::list< std::unique_ptr < TableElement > > | table_element_list_ |
bool | is_temporary_ |
bool | if_not_exists_ |
std::list< std::unique_ptr < NameValueAssign > > | storage_options_ |
Definition at line 986 of file ParserNode.h.
|
inline |
Definition at line 988 of file ParserNode.h.
References CHECK, storage_options_, and table_element_list_.
Parser::CreateTableStmt::CreateTableStmt | ( | const rapidjson::Value & | payload | ) |
Definition at line 3250 of file ParserNode.cpp.
References CHECK, if_not_exists_, is_temporary_, json_bool(), json_str(), Parser::anonymous_namespace{ParserNode.cpp}::parse_elements(), Parser::anonymous_namespace{ParserNode.cpp}::parse_options(), storage_options_, table_, and table_element_list_.
|
overridevirtual |
Implements Parser::DDLStmt.
Definition at line 3329 of file ParserNode.cpp.
References Catalog_Namespace::SessionInfo::checkDBAccessPrivileges(), AccessPrivileges::CREATE_TABLE, executeDryRun(), Catalog_Namespace::SessionInfo::get_currentUser(), Catalog_Namespace::SessionInfo::getCatalog(), legacylockmgr::getExecuteWriteLock(), if_not_exists_, lockmgr::instance(), table_, TableDBObjectType, TableDescriptor::tableName, TableDescriptor::userId, and Catalog_Namespace::UserMetadata::userId.
Referenced by heavydb.cursor.Cursor::executemany().
void Parser::CreateTableStmt::executeDryRun | ( | const Catalog_Namespace::SessionInfo & | session, |
TableDescriptor & | td, | ||
std::list< ColumnDescriptor > & | columns, | ||
std::vector< SharedDictionaryDef > & | shared_dict_defs | ||
) |
Definition at line 3271 of file ParserNode.cpp.
References ColumnDescriptor::columnName, Data_Namespace::CPU_LEVEL, Data_Namespace::DISK_LEVEL, Parser::ColumnDef::get_column_name(), Parser::anonymous_namespace{ParserNode.cpp}::get_table_definitions(), Catalog_Namespace::SessionInfo::getCatalog(), is_temporary_, TableDescriptor::keyMetainfo, TableDescriptor::nShards, TableDescriptor::persistenceLevel, Parser::anonymous_namespace{ParserNode.cpp}::serialize_key_metainfo(), ddl_utils::set_default_table_attributes(), Parser::DDLStmt::setColumnDescriptor(), Parser::anonymous_namespace{ParserNode.cpp}::shard_column_index(), TableDescriptor::shardedColumnId, storage_options_, table_, table_element_list_, ddl_utils::validate_non_duplicate_column(), and validate_shared_dictionary().
Referenced by execute().
|
inlineoverridevirtual |
Implements Parser::CreateTableBaseStmt.
Definition at line 1010 of file ParserNode.h.
References table_.
|
inlineoverridevirtual |
Implements Parser::CreateTableBaseStmt.
Definition at line 1011 of file ParserNode.h.
References table_element_list_.
|
private |
Definition at line 1027 of file ParserNode.h.
Referenced by CreateTableStmt(), and execute().
|
private |
Definition at line 1026 of file ParserNode.h.
Referenced by CreateTableStmt(), and executeDryRun().
|
private |
Definition at line 1028 of file ParserNode.h.
Referenced by CreateTableStmt(), and executeDryRun().
|
private |
Definition at line 1024 of file ParserNode.h.
Referenced by CreateTableStmt(), execute(), executeDryRun(), and get_table().
|
private |
Definition at line 1025 of file ParserNode.h.
Referenced by CreateTableStmt(), executeDryRun(), and get_table_element_list().