OmniSciDB  04ee39c94c
ModifyManipulationTarget Class Reference

#include <RelAlgAbstractInterpreter.h>

+ Inheritance diagram for ModifyManipulationTarget:
+ Collaboration diagram for ModifyManipulationTarget:

Public Member Functions

 ModifyManipulationTarget (bool const update_via_select=false, bool const delete_via_select=false, bool const varlen_update_required=false, TableDescriptor const *table_descriptor=nullptr, ColumnNameList target_columns=ColumnNameList())
 
void setUpdateViaSelectFlag () const
 
void setDeleteViaSelectFlag () const
 
void setVarlenUpdateRequired (bool required) const
 
TableDescriptor const * getModifiedTableDescriptor () const
 
void setModifiedTableDescriptor (TableDescriptor const *td) const
 
auto const isUpdateViaSelect () const
 
auto const isDeleteViaSelect () const
 
auto const isVarlenUpdateRequired () const
 
int getTargetColumnCount () const
 
void setTargetColumns (ColumnNameList const &target_columns) const
 
ColumnNameList const & getTargetColumns () const
 
template<typename VALIDATION_FUNCTOR >
bool validateTargetColumns (VALIDATION_FUNCTOR validator) const
 

Private Attributes

bool is_update_via_select_ = false
 
bool is_delete_via_select_ = false
 
bool varlen_update_required_ = false
 
TableDescriptor const * table_descriptor_ = nullptr
 
ColumnNameList target_columns_
 

Detailed Description

Definition at line 722 of file RelAlgAbstractInterpreter.h.

Constructor & Destructor Documentation

◆ ModifyManipulationTarget()

ModifyManipulationTarget::ModifyManipulationTarget ( bool const  update_via_select = false,
bool const  delete_via_select = false,
bool const  varlen_update_required = false,
TableDescriptor const *  table_descriptor = nullptr,
ColumnNameList  target_columns = ColumnNameList() 
)
inline

Definition at line 724 of file RelAlgAbstractInterpreter.h.

729  : is_update_via_select_(update_via_select)
730  , is_delete_via_select_(delete_via_select)
731  , varlen_update_required_(varlen_update_required)
732  , table_descriptor_(table_descriptor)
733  , target_columns_(target_columns) {}
TableDescriptor const * table_descriptor_

Member Function Documentation

◆ getModifiedTableDescriptor()

TableDescriptor const* ModifyManipulationTarget::getModifiedTableDescriptor ( ) const
inline

Definition at line 741 of file RelAlgAbstractInterpreter.h.

Referenced by RelAlgExecutor::createModifyCompoundWorkUnit(), RelAlgExecutor::createModifyProjectWorkUnit(), RelAlgExecutor::executeDeleteViaCompound(), RelAlgExecutor::executeDeleteViaProject(), RelAlgExecutor::executeUpdateViaCompound(), and RelAlgExecutor::executeUpdateViaProject().

741 { return table_descriptor_; }
TableDescriptor const * table_descriptor_
+ Here is the caller graph for this function:

◆ getTargetColumnCount()

int ModifyManipulationTarget::getTargetColumnCount ( ) const
inline

Definition at line 750 of file RelAlgAbstractInterpreter.h.

Referenced by RelAlgExecutor::createModifyCompoundWorkUnit(), RelAlgExecutor::createModifyProjectWorkUnit(), and anonymous_namespace{RelAlgExecutor.cpp}::get_modify_manipulated_targets_meta().

750 { return target_columns_.size(); }
+ Here is the caller graph for this function:

◆ getTargetColumns()

ColumnNameList const& ModifyManipulationTarget::getTargetColumns ( ) const
inline

Definition at line 754 of file RelAlgAbstractInterpreter.h.

Referenced by RelAlgExecutor::createModifyCompoundWorkUnit(), RelAlgExecutor::createModifyProjectWorkUnit(), RelAlgExecutor::executeUpdateViaCompound(), RelAlgExecutor::executeUpdateViaProject(), and anonymous_namespace{RelAlgExecutor.cpp}::get_modify_manipulated_targets_meta().

754 { return target_columns_; }
+ Here is the caller graph for this function:

◆ isDeleteViaSelect()

auto const ModifyManipulationTarget::isDeleteViaSelect ( ) const
inline

Definition at line 747 of file RelAlgAbstractInterpreter.h.

◆ isUpdateViaSelect()

auto const ModifyManipulationTarget::isUpdateViaSelect ( ) const
inline

Definition at line 746 of file RelAlgAbstractInterpreter.h.

◆ isVarlenUpdateRequired()

auto const ModifyManipulationTarget::isVarlenUpdateRequired ( ) const
inline

Definition at line 748 of file RelAlgAbstractInterpreter.h.

Referenced by RelAlgExecutor::executeUpdateViaCompound(), and RelAlgExecutor::executeUpdateViaProject().

+ Here is the caller graph for this function:

◆ setDeleteViaSelectFlag()

void ModifyManipulationTarget::setDeleteViaSelectFlag ( ) const
inline

Definition at line 736 of file RelAlgAbstractInterpreter.h.

Referenced by RelModify::applyDeleteModificationsToInputNode().

+ Here is the caller graph for this function:

◆ setModifiedTableDescriptor()

void ModifyManipulationTarget::setModifiedTableDescriptor ( TableDescriptor const *  td) const
inline

Definition at line 742 of file RelAlgAbstractInterpreter.h.

Referenced by RelModify::applyDeleteModificationsToInputNode(), and RelModify::applyUpdateModificationsToInputNode().

742  {
743  table_descriptor_ = td;
744  }
TableDescriptor const * table_descriptor_
+ Here is the caller graph for this function:

◆ setTargetColumns()

void ModifyManipulationTarget::setTargetColumns ( ColumnNameList const &  target_columns) const
inline

Definition at line 751 of file RelAlgAbstractInterpreter.h.

Referenced by RelModify::applyUpdateModificationsToInputNode().

751  {
752  target_columns_ = target_columns;
753  }
+ Here is the caller graph for this function:

◆ setUpdateViaSelectFlag()

void ModifyManipulationTarget::setUpdateViaSelectFlag ( ) const
inline

Definition at line 735 of file RelAlgAbstractInterpreter.h.

Referenced by RelModify::applyUpdateModificationsToInputNode().

+ Here is the caller graph for this function:

◆ setVarlenUpdateRequired()

void ModifyManipulationTarget::setVarlenUpdateRequired ( bool  required) const
inline

Definition at line 737 of file RelAlgAbstractInterpreter.h.

References run-benchmark-import::required.

Referenced by RelModify::applyUpdateModificationsToInputNode().

+ Here is the caller graph for this function:

◆ validateTargetColumns()

template<typename VALIDATION_FUNCTOR >
bool ModifyManipulationTarget::validateTargetColumns ( VALIDATION_FUNCTOR  validator) const
inline

Definition at line 757 of file RelAlgAbstractInterpreter.h.

Referenced by RelAlgExecutor::executeUpdateViaCompound(), and RelAlgExecutor::executeUpdateViaProject().

757  {
758  for (auto const& column_name : target_columns_) {
759  if (validator(column_name) == false) {
760  return false;
761  }
762  }
763  return true;
764  }
+ Here is the caller graph for this function:

Member Data Documentation

◆ is_delete_via_select_

bool ModifyManipulationTarget::is_delete_via_select_ = false
mutableprivate

Definition at line 768 of file RelAlgAbstractInterpreter.h.

◆ is_update_via_select_

bool ModifyManipulationTarget::is_update_via_select_ = false
mutableprivate

Definition at line 767 of file RelAlgAbstractInterpreter.h.

◆ table_descriptor_

TableDescriptor const* ModifyManipulationTarget::table_descriptor_ = nullptr
mutableprivate

Definition at line 770 of file RelAlgAbstractInterpreter.h.

◆ target_columns_

ColumnNameList ModifyManipulationTarget::target_columns_
mutableprivate

Definition at line 771 of file RelAlgAbstractInterpreter.h.

◆ varlen_update_required_

bool ModifyManipulationTarget::varlen_update_required_ = false
mutableprivate

Definition at line 769 of file RelAlgAbstractInterpreter.h.


The documentation for this class was generated from the following file: