OmniSciDB
a5dc49c757
|
#include <ParserNode.h>
Public Member Functions | |
InsertValuesStmt (const Catalog_Namespace::Catalog &catalog, 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, bool read_only_mode) |
Public Member Functions inherited from Parser::InsertStmt | |
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 |
Public Member Functions inherited from Parser::Node | |
virtual | ~Node () |
Public Attributes | |
std::unique_ptr < Fragmenter_Namespace::InsertDataLoader::InsertConnector > | leafs_connector_ |
Private Attributes | |
std::vector< std::unique_ptr < ValuesList > > | values_lists_ |
Additional Inherited Members | |
Protected Attributes inherited from Parser::InsertStmt | |
std::unique_ptr< std::string > | table_ |
std::list< std::unique_ptr < std::string > > | column_list_ |
Definition at line 2119 of file ParserNode.h.
Parser::InsertValuesStmt::InsertValuesStmt | ( | const Catalog_Namespace::Catalog & | catalog, |
const rapidjson::Value & | payload | ||
) |
Definition at line 2455 of file ParserNode.cpp.
References CHECK, Parser::InsertStmt::column_list_, Catalog_Namespace::Catalog::getAllColumnMetadataForTable(), Catalog_Namespace::Catalog::getMetadataForTable(), 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 2123 of file ParserNode.h.
References UNREACHABLE.
|
overridevirtual |
Implements Parser::InsertStmt.
Definition at line 2508 of file ParserNode.cpp.
References Parser::InsertStmt::analyze(), CHECK, CHECK_EQ, Parser::InsertStmt::column_list_, Geospatial::compress_coords(), Datum::doubleval, geo_promoted_type_match(), 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, kMULTILINESTRING, kMULTIPOINT, 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, |
bool | read_only_mode | ||
) |
Definition at line 2718 of file ParserNode.cpp.
References analyze(), CHECK, Catalog_Namespace::SessionInfo::checkDBAccessPrivileges(), logger::ERROR, Catalog_Namespace::SessionInfo::getCatalog(), legacylockmgr::getExecuteReadLock(), Executor::getExecutor(), lockmgr::TableLockMgrImpl< T >::getWriteLockForTable(), AccessPrivileges::INSERT_INTO_TABLE, leafs_connector_, LOG, 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 2128 of file ParserNode.h.
References values_lists_.
std::unique_ptr<Fragmenter_Namespace::InsertDataLoader::InsertConnector> Parser::InsertValuesStmt::leafs_connector_ |
Definition at line 2138 of file ParserNode.h.
Referenced by execute().
|
private |
Definition at line 2141 of file ParserNode.h.
Referenced by analyze(), get_value_lists(), and InsertValuesStmt().