Class RelModify

class RelModify : public RelAlgNode

Public Types

enum ModifyOperation

Values:

Insert
Delete
Update
using RelAlgNodeInputPtr = std::shared_ptr<const RelAlgNode>
using TargetColumnList = std::vector<std::string>

Public 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() const
int getUpdateColumnCount() const
size_t size() const
std::shared_ptr<RelAlgNode> deepCopy() const
std::string toString() const
size_t toHash() const
void applyUpdateModificationsToInputNode()
void applyDeleteModificationsToInputNode()

Public Static Functions

static std::string yieldModifyOperationString(ModifyOperation const op)
static ModifyOperation yieldModifyOperationEnum(std::string const &op_string)

Private Members

Catalog_Namespace::Catalog const &catalog_
const TableDescriptor *table_descriptor_
bool flattened_
ModifyOperation operation_
TargetColumnList target_column_list_