OmniSciDB
c1a53651b2
|
#include <RelAlgDag.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) | |
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 |
const Catalog_Namespace::Catalog & | getCatalog () const |
bool const | isFlattened () const |
ModifyOperation | getOperation () const |
TargetColumnList const & | getUpdateColumnNames () const |
int | getUpdateColumnCount () const |
size_t | size () const override |
std::shared_ptr< RelAlgNode > | deepCopy () const override |
std::string | toString (RelRexToStringConfig config=RelRexToStringConfig::defaults()) const override |
size_t | toHash () const override |
void | applyUpdateModificationsToInputNode () |
void | applyDeleteModificationsToInputNode () |
![]() | |
RelAlgNode (RelAlgInputs inputs={}) | |
virtual | ~RelAlgNode () |
void | resetQueryExecutionState () |
void | setContextData (const RaExecutionDesc *context_data) const |
void | setOutputMetainfo (std::vector< TargetMetaInfo > targets_metainfo) const |
void | setQueryPlanDag (const std::string &extracted_query_plan_dag) const |
std::string | getQueryPlanDag () const |
size_t | getQueryPlanDagHash () const |
const std::vector < TargetMetaInfo > & | getOutputMetainfo () const |
unsigned | getId () const |
void | setIdInPlanTree (size_t id) const |
std::optional< size_t > | getIdInPlanTree () const |
bool | hasContextData () const |
const RaExecutionDesc * | 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) |
void | setRelNodeDagId (const size_t id) const |
size_t | getRelNodeDagId () const |
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_ |
Friends | |
struct | RelAlgDagSerializer |
Additional Inherited Members | |
![]() | |
RelAlgInputs | inputs_ |
unsigned | id_ |
std::optional< size_t > | id_in_plan_tree_ |
std::optional< size_t > | hash_ |
Definition at line 2038 of file RelAlgDag.h.
using RelModify::RelAlgNodeInputPtr = std::shared_ptr<const RelAlgNode> |
Definition at line 2041 of file RelAlgDag.h.
using RelModify::TargetColumnList = std::vector<std::string> |
Definition at line 2042 of file RelAlgDag.h.
|
strong |
Enumerator | |
---|---|
Insert | |
Delete | |
Update |
Definition at line 2040 of file RelAlgDag.h.
|
inline |
Definition at line 2072 of file RelAlgDag.h.
Referenced by toHash().
|
inline |
Definition at line 2078 of file RelAlgDag.h.
References RelAlgNode::inputs_, table_descriptor_, and foreign_storage::validate_non_foreign_table_write().
|
inline |
Definition at line 2093 of file RelAlgDag.h.
References RelAlgNode::inputs_, table_descriptor_, and foreign_storage::validate_non_foreign_table_write().
|
inline |
Definition at line 2230 of file RelAlgDag.h.
References catalog_, CHECK, RelAlgNode::inputs_, ModifyManipulationTarget::setDeleteViaSelectFlag(), and table_descriptor_.
|
inline |
Definition at line 2162 of file RelAlgDag.h.
References catalog_, CHECK, TableDescriptor::fragmenter, Catalog_Namespace::Catalog::getMetadataForColumn(), Catalog_Namespace::Catalog::getShardColumnMetadataForTable(), RelAlgNode::inputs_, TableDescriptor::nShards, table_descriptor_, TableDescriptor::tableId, and target_column_list_.
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 2118 of file RelAlgDag.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 2148 of file RelAlgDag.h.
References flattened_, RelAlgNode::hash_, RelAlgNode::inputs_, operation_, RelModify(), table_descriptor_, TableDescriptor::tableName, target_column_list_, toString(), and yieldModifyOperationString().
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 2122 of file RelAlgDag.h.
References cat(), flattened_, RelAlgNode::inputs_, operation_, table_descriptor_, TableDescriptor::tableName, target_column_list_, to_string(), typeName(), and yieldModifyOperationString().
Referenced by toHash().
|
inlinestatic |
|
inlinestatic |
Definition at line 2044 of file RelAlgDag.h.
References Delete, Insert, and Update.
Referenced by toHash(), and toString().
|
friend |
Definition at line 2246 of file RelAlgDag.h.
|
private |
Definition at line 2240 of file RelAlgDag.h.
Referenced by applyDeleteModificationsToInputNode(), applyUpdateModificationsToInputNode(), and getCatalog().
|
private |
Definition at line 2242 of file RelAlgDag.h.
Referenced by isFlattened(), toHash(), and toString().
|
private |
Definition at line 2243 of file RelAlgDag.h.
Referenced by getOperation(), toHash(), and toString().
|
private |
Definition at line 2241 of file RelAlgDag.h.
Referenced by applyDeleteModificationsToInputNode(), applyUpdateModificationsToInputNode(), getTableDescriptor(), RelModify(), toHash(), and toString().
|
private |
Definition at line 2244 of file RelAlgDag.h.
Referenced by applyUpdateModificationsToInputNode(), getUpdateColumnCount(), getUpdateColumnNames(), toHash(), and toString().