OmniSciDB  d2f719934e
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ModifyManipulationTarget Class Reference

#include <RelAlgDagBuilder.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 constgetModifiedTableDescriptor () const
 
void setModifiedTableDescriptor (TableDescriptor const *td) const
 
auto const isUpdateViaSelect () const
 
auto const isDeleteViaSelect () const
 
auto const isVarlenUpdateRequired () const
 
void setTargetColumns (ColumnNameList const &target_columns) const
 
ColumnNameList constgetTargetColumns () 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 consttable_descriptor_ = nullptr
 
ColumnNameList target_columns_
 

Detailed Description

Definition at line 903 of file RelAlgDagBuilder.h.

Constructor & Destructor Documentation

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 905 of file RelAlgDagBuilder.h.

910  : is_update_via_select_(update_via_select)
911  , is_delete_via_select_(delete_via_select)
912  , varlen_update_required_(varlen_update_required)
913  , table_descriptor_(table_descriptor)
914  , target_columns_(target_columns) {}
ColumnNameList target_columns_
TableDescriptor const * table_descriptor_

Member Function Documentation

TableDescriptor const* ModifyManipulationTarget::getModifiedTableDescriptor ( ) const
inline

Definition at line 922 of file RelAlgDagBuilder.h.

References table_descriptor_.

922 { return table_descriptor_; }
TableDescriptor const * table_descriptor_
ColumnNameList const& ModifyManipulationTarget::getTargetColumns ( ) const
inline

Definition at line 934 of file RelAlgDagBuilder.h.

References target_columns_.

934 { return target_columns_; }
ColumnNameList target_columns_
auto const ModifyManipulationTarget::isDeleteViaSelect ( ) const
inline

Definition at line 928 of file RelAlgDagBuilder.h.

References is_delete_via_select_.

Referenced by QueryPlanDagChecker::visit().

+ Here is the caller graph for this function:

auto const ModifyManipulationTarget::isUpdateViaSelect ( ) const
inline

Definition at line 927 of file RelAlgDagBuilder.h.

References is_update_via_select_.

Referenced by QueryPlanDagChecker::visit().

+ Here is the caller graph for this function:

auto const ModifyManipulationTarget::isVarlenUpdateRequired ( ) const
inline

Definition at line 929 of file RelAlgDagBuilder.h.

References varlen_update_required_.

Referenced by QueryPlanDagChecker::visit().

+ Here is the caller graph for this function:

void ModifyManipulationTarget::setDeleteViaSelectFlag ( ) const
inline

Definition at line 917 of file RelAlgDagBuilder.h.

References is_delete_via_select_.

Referenced by RelModify::applyDeleteModificationsToInputNode().

+ Here is the caller graph for this function:

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

Definition at line 923 of file RelAlgDagBuilder.h.

References table_descriptor_.

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

923  {
924  table_descriptor_ = td;
925  }
TableDescriptor const * table_descriptor_

+ Here is the caller graph for this function:

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

Definition at line 931 of file RelAlgDagBuilder.h.

References target_columns_.

Referenced by RelModify::applyUpdateModificationsToInputNode().

931  {
932  target_columns_ = target_columns;
933  }
ColumnNameList target_columns_

+ Here is the caller graph for this function:

void ModifyManipulationTarget::setUpdateViaSelectFlag ( ) const
inline

Definition at line 916 of file RelAlgDagBuilder.h.

References is_update_via_select_.

Referenced by RelModify::applyUpdateModificationsToInputNode().

+ Here is the caller graph for this function:

void ModifyManipulationTarget::setVarlenUpdateRequired ( bool  required) const
inline

Definition at line 918 of file RelAlgDagBuilder.h.

References run_benchmark_import::required, and varlen_update_required_.

Referenced by RelModify::applyUpdateModificationsToInputNode().

+ Here is the caller graph for this function:

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

Definition at line 937 of file RelAlgDagBuilder.h.

References target_columns_.

937  {
938  for (auto const& column_name : target_columns_) {
939  if (validator(column_name) == false) {
940  return false;
941  }
942  }
943  return true;
944  }
ColumnNameList target_columns_

Member Data Documentation

bool ModifyManipulationTarget::is_delete_via_select_ = false
mutableprivate

Definition at line 948 of file RelAlgDagBuilder.h.

Referenced by isDeleteViaSelect(), and setDeleteViaSelectFlag().

bool ModifyManipulationTarget::is_update_via_select_ = false
mutableprivate

Definition at line 947 of file RelAlgDagBuilder.h.

Referenced by isUpdateViaSelect(), and setUpdateViaSelectFlag().

TableDescriptor const* ModifyManipulationTarget::table_descriptor_ = nullptr
mutableprivate

Definition at line 950 of file RelAlgDagBuilder.h.

Referenced by getModifiedTableDescriptor(), and setModifiedTableDescriptor().

ColumnNameList ModifyManipulationTarget::target_columns_
mutableprivate

Definition at line 951 of file RelAlgDagBuilder.h.

Referenced by getTargetColumns(), setTargetColumns(), and validateTargetColumns().

bool ModifyManipulationTarget::varlen_update_required_ = false
mutableprivate

Definition at line 949 of file RelAlgDagBuilder.h.

Referenced by isVarlenUpdateRequired(), and setVarlenUpdateRequired().


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