OmniSciDB
085a039ca4
|
#include <ParserNode.h>
Public Member Functions | |
InsertValuesStmt (const rapidjson::Value &payload) | |
InsertValuesStmt (std::string *t, std::list< std::string * > *c, std::list< Expr * > *v) | |
const std::vector < std::unique_ptr< ValuesList > > & | get_value_lists () const |
void | analyze (const Catalog_Namespace::Catalog &catalog, Analyzer::Query &query) const override |
void | execute (const Catalog_Namespace::SessionInfo &session) |
![]() | |
InsertStmt (std::string *t, std::list< std::string * > *c) | |
const std::string * | get_table () const |
const std::list < std::unique_ptr< std::string > > & | get_column_list () const |
![]() | |
virtual | ~Node () |
Public Attributes | |
Fragmenter_Namespace::InsertDataLoader::InsertConnector * | leafs_connector_ = nullptr |
Private Attributes | |
std::vector< std::unique_ptr < ValuesList > > | values_lists_ |
Additional Inherited Members | |
![]() | |
std::unique_ptr< std::string > | table_ |
std::list< std::unique_ptr < std::string > > | column_list_ |
Definition at line 2103 of file ParserNode.h.
Parser::InsertValuesStmt::InsertValuesStmt | ( | const rapidjson::Value & | payload | ) |
Definition at line 2395 of file ParserNode.cpp.
References CHECK, Parser::InsertStmt::column_list_, json_str(), Parser::anonymous_namespace{ParserNode.cpp}::parse_insert_array_literal(), Parser::anonymous_namespace{ParserNode.cpp}::parse_insert_literal(), Parser::InsertStmt::table_, and values_lists_.
|
inline |
Definition at line 2106 of file ParserNode.h.
References UNREACHABLE.
|
overridevirtual |
Implements Parser::InsertStmt.
Definition at line 2430 of file ParserNode.cpp.
References Parser::InsertStmt::analyze(), CHECK, CHECK_EQ, Parser::InsertStmt::column_list_, Geospatial::compress_coords(), Datum::doubleval, Analyzer::Query::get_result_col_list(), Analyzer::Query::get_result_table_id(), Analyzer::Query::get_values_lists(), Catalog_Namespace::Catalog::getAllColumnMetadataForTable(), Geospatial::GeoTypesFactory::getGeoColumns(), Catalog_Namespace::Catalog::getMetadataForColumn(), Datum::intval, is_null(), kARRAY, kCAST, kDOUBLE, kINT, kLINESTRING, kMULTIPOLYGON, kPOINT, kPOLYGON, kTINYINT, NULL_ARRAY_DOUBLE, NULL_DOUBLE, Datum::tinyintval, to_string(), and values_lists_.
Referenced by execute().
void Parser::InsertValuesStmt::execute | ( | const Catalog_Namespace::SessionInfo & | session | ) |
Definition at line 2651 of file ParserNode.cpp.
References analyze(), CHECK, Catalog_Namespace::SessionInfo::checkDBAccessPrivileges(), Fragmenter_Namespace::InsertDataLoader::InsertConnector::checkpoint(), logger::ERROR, legacylockmgr::ExecutorOuterLock, Catalog_Namespace::SessionInfo::getCatalog(), Executor::getExecutor(), legacylockmgr::LockMgr< MutexType, KeyType >::getMutex(), lockmgr::TableLockMgrImpl< InsertDataLockMgr >::getWriteLockForTable(), AccessPrivileges::INSERT_INTO_TABLE, leafs_connector_, LOG, Fragmenter_Namespace::InsertDataLoader::InsertConnector::rollback(), Parser::InsertStmt::table_, TableDBObjectType, Executor::UNITARY_EXECUTOR_ID, and foreign_storage::validate_non_foreign_table_write().
Referenced by heavydb.cursor.Cursor::executemany().
|
inline |
Definition at line 2111 of file ParserNode.h.
References values_lists_.
Fragmenter_Namespace::InsertDataLoader::InsertConnector* Parser::InsertValuesStmt::leafs_connector_ = nullptr |
Definition at line 2120 of file ParserNode.h.
Referenced by execute().
|
private |
Definition at line 2123 of file ParserNode.h.
Referenced by analyze(), get_value_lists(), and InsertValuesStmt().