OmniSciDB
a5dc49c757
|
#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) | |
virtual void | acceptChildren (Visitor &v) const override |
virtual void | accept (Visitor &v, std::string name) const override |
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 |
void | applyUpdateModificationsToInputNode () |
void | applyDeleteModificationsToInputNode () |
virtual size_t | toHash () const override |
Public Member Functions inherited from RelAlgNode | |
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 |
bool | hasContextData () const |
const RaExecutionDesc * | getContextData () const |
const size_t | inputCount () const |
const RelAlgNode * | getInput (const size_t idx) const |
const std::vector< RelAlgNode const * > | getInputs () 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 |
Public Member Functions inherited from RelAlgDagNode | |
RelAlgDagNode () | |
virtual size_t | getStepNumber () const |
virtual void | setStepNumber (size_t step) const |
std::optional< size_t > | getIdInPlanTree () const |
void | setIdInPlanTree (size_t id) const |
Static Public Member Functions | |
static std::string | yieldModifyOperationString (ModifyOperation const op) |
static ModifyOperation | yieldModifyOperationEnum (std::string const &op_string) |
Static Public Member Functions inherited from RelAlgNode | |
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 |
std::size_t | hash_value (RelModify const &) |
Additional Inherited Members | |
Protected Attributes inherited from RelAlgNode | |
RelAlgInputs | inputs_ |
unsigned | id_ |
std::optional< size_t > | hash_ |
Protected Attributes inherited from RelAlgDagNode | |
size_t | step_ {0} |
std::optional< size_t > | id_in_plan_tree_ |
Definition at line 2287 of file RelAlgDag.h.
using RelModify::RelAlgNodeInputPtr = std::shared_ptr<const RelAlgNode> |
Definition at line 2290 of file RelAlgDag.h.
using RelModify::TargetColumnList = std::vector<std::string> |
Definition at line 2291 of file RelAlgDag.h.
|
strong |
Enumerator | |
---|---|
Insert | |
Delete | |
Update |
Definition at line 2289 of file RelAlgDag.h.
|
inline |
Definition at line 2321 of file RelAlgDag.h.
|
inline |
Definition at line 2327 of file RelAlgDag.h.
References RelAlgNode::inputs_, table_descriptor_, and foreign_storage::validate_non_foreign_table_write().
|
inline |
Definition at line 2342 of file RelAlgDag.h.
References RelAlgNode::inputs_, table_descriptor_, and foreign_storage::validate_non_foreign_table_write().
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Definition at line 2364 of file RelAlgDag.h.
References acceptChildren(), and RelAlgDagNode::Visitor::visit().
Referenced by TableFunctionsFactory_node.PrintNode::__str__().
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Definition at line 2357 of file RelAlgDag.h.
References RelAlgNode::getInputs(), and anonymous_namespace{Utm.h}::n.
Referenced by accept().
|
inline |
Definition at line 2479 of file RelAlgDag.h.
References catalog_, CHECK, RelAlgNode::inputs_, ModifyManipulationTarget::setDeleteViaSelectFlag(), and table_descriptor_.
|
inline |
Definition at line 2411 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 2380 of file RelAlgDag.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 2384 of file RelAlgDag.h.
References cat(), flattened_, RelAlgNode::inputs_, operation_, table_descriptor_, TableDescriptor::tableName, target_column_list_, to_string(), typeName(), and yieldModifyOperationString().
|
inlinestatic |
|
inlinestatic |
Definition at line 2293 of file RelAlgDag.h.
References Delete, Insert, and Update.
Referenced by hash_value(), and toString().
|
friend |
Definition at line 3804 of file RelAlgDag.cpp.
Referenced by toHash().
|
friend |
Definition at line 2499 of file RelAlgDag.h.
|
private |
Definition at line 2493 of file RelAlgDag.h.
Referenced by applyDeleteModificationsToInputNode(), applyUpdateModificationsToInputNode(), and getCatalog().
|
private |
Definition at line 2495 of file RelAlgDag.h.
Referenced by hash_value(), isFlattened(), and toString().
|
private |
Definition at line 2496 of file RelAlgDag.h.
Referenced by getOperation(), hash_value(), and toString().
|
private |
Definition at line 2494 of file RelAlgDag.h.
Referenced by applyDeleteModificationsToInputNode(), applyUpdateModificationsToInputNode(), getTableDescriptor(), hash_value(), RelModify(), and toString().
|
private |
Definition at line 2497 of file RelAlgDag.h.
Referenced by applyUpdateModificationsToInputNode(), getUpdateColumnCount(), getUpdateColumnNames(), hash_value(), and toString().