OmniSciDB
bf83d84833
|
#include <RelAlgDagBuilder.h>
Public Types | |
enum | ModifyOperation { ModifyOperation::Insert, ModifyOperation::Delete, ModifyOperation::Update } |
using | RelAlgNodeInputPtr = std::shared_ptr< const RelAlgNode > |
using | TargetColumnList = std::vector< std::string > |
Public Member Functions | |
RelModify (Catalog_Namespace::Catalog const &cat, TableDescriptor const *const td, bool flattened, std::string const &op_string, TargetColumnList const &target_column_list, RelAlgNodeInputPtr input) | |
RelModify (Catalog_Namespace::Catalog const &cat, TableDescriptor const *const td, bool flattened, ModifyOperation op, TargetColumnList const &target_column_list, RelAlgNodeInputPtr input) | |
TableDescriptor const *const | getTableDescriptor () const |
bool const | isFlattened () const |
ModifyOperation | getOperation () const |
TargetColumnList const & | getUpdateColumnNames () |
int | getUpdateColumnCount () const |
size_t | size () const override |
std::shared_ptr< RelAlgNode > | deepCopy () const override |
std::string | toString () const override |
void | applyUpdateModificationsToInputNode () |
void | applyDeleteModificationsToInputNode () |
![]() | |
RelAlgNode (RelAlgInputs inputs={}) | |
virtual | ~RelAlgNode () |
void | resetQueryExecutionState () |
void | setContextData (const void *context_data) const |
void | setOutputMetainfo (const std::vector< TargetMetaInfo > &targets_metainfo) const |
const std::vector < TargetMetaInfo > & | getOutputMetainfo () const |
unsigned | getId () const |
bool | hasContextData () const |
const void * | getContextData () const |
const size_t | inputCount () const |
const RelAlgNode * | getInput (const size_t idx) const |
std::shared_ptr< const RelAlgNode > | getAndOwnInput (const size_t idx) const |
void | addManagedInput (std::shared_ptr< const RelAlgNode > input) |
bool | hasInput (const RelAlgNode *needle) const |
virtual void | replaceInput (std::shared_ptr< const RelAlgNode > old_input, std::shared_ptr< const RelAlgNode > input) |
bool | isNop () const |
void | markAsNop () |
void | clearContextData () const |
Static Public Member Functions | |
static std::string | yieldModifyOperationString (ModifyOperation const op) |
static ModifyOperation | yieldModifyOperationEnum (std::string const &op_string) |
![]() | |
static void | resetRelAlgFirstId () noexcept |
Private Attributes | |
Catalog_Namespace::Catalog const & | catalog_ |
const TableDescriptor * | table_descriptor_ |
bool | flattened_ |
ModifyOperation | operation_ |
TargetColumnList | target_column_list_ |
Additional Inherited Members | |
![]() | |
RelAlgInputs | inputs_ |
const unsigned | id_ |
Definition at line 1443 of file RelAlgDagBuilder.h.
using RelModify::RelAlgNodeInputPtr = std::shared_ptr<const RelAlgNode> |
Definition at line 1446 of file RelAlgDagBuilder.h.
using RelModify::TargetColumnList = std::vector<std::string> |
Definition at line 1447 of file RelAlgDagBuilder.h.
|
strong |
Enumerator | |
---|---|
Insert | |
Delete | |
Update |
Definition at line 1445 of file RelAlgDagBuilder.h.
|
inline |
Definition at line 1476 of file RelAlgDagBuilder.h.
References RelAlgNode::inputs_, table_descriptor_, and foreign_storage::validate_non_foreign_table_write().
|
inline |
Definition at line 1491 of file RelAlgDagBuilder.h.
References RelAlgNode::inputs_, table_descriptor_, and foreign_storage::validate_non_foreign_table_write().
|
inline |
Definition at line 1586 of file RelAlgDagBuilder.h.
References CHECK, RelAlgNode::inputs_, ModifyManipulationTarget::setDeleteViaSelectFlag(), ModifyManipulationTarget::setModifiedTableDescriptor(), and table_descriptor_.
|
inline |
Definition at line 1532 of file RelAlgDagBuilder.h.
References catalog_, CHECK, Catalog_Namespace::Catalog::getMetadataForColumn(), Catalog_Namespace::Catalog::getShardColumnMetadataForTable(), RelAlgNode::inputs_, TableDescriptor::nShards, ModifyManipulationTarget::setModifiedTableDescriptor(), ModifyManipulationTarget::setTargetColumns(), ModifyManipulationTarget::setUpdateViaSelectFlag(), ModifyManipulationTarget::setVarlenUpdateRequired(), table_descriptor_, TableDescriptor::tableId, target_column_list_, and RelProject::visitScalarExprs().
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 1513 of file RelAlgDagBuilder.h.
|
inline |
|
inline |
Definition at line 1506 of file RelAlgDagBuilder.h.
References table_descriptor_.
|
inline |
Definition at line 1510 of file RelAlgDagBuilder.h.
References target_column_list_.
|
inline |
Definition at line 1509 of file RelAlgDagBuilder.h.
References target_column_list_.
|
inline |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 1517 of file RelAlgDagBuilder.h.
References cat(), flattened_, RelAlgNode::inputs_, operation_, table_descriptor_, TableDescriptor::tableName, target_column_list_, to_string(), and yieldModifyOperationString().
|
inlinestatic |
|
inlinestatic |
Definition at line 1449 of file RelAlgDagBuilder.h.
References Delete, Insert, and Update.
Referenced by toString().
|
private |
Definition at line 1595 of file RelAlgDagBuilder.h.
Referenced by applyUpdateModificationsToInputNode().
|
private |
Definition at line 1597 of file RelAlgDagBuilder.h.
Referenced by isFlattened(), and toString().
|
private |
Definition at line 1598 of file RelAlgDagBuilder.h.
Referenced by getOperation(), and toString().
|
private |
Definition at line 1596 of file RelAlgDagBuilder.h.
Referenced by applyDeleteModificationsToInputNode(), applyUpdateModificationsToInputNode(), getTableDescriptor(), RelModify(), and toString().
|
private |
Definition at line 1599 of file RelAlgDagBuilder.h.
Referenced by applyUpdateModificationsToInputNode(), getUpdateColumnCount(), getUpdateColumnNames(), and toString().