This task is to implement an auxiliary (AUX) column in ColumnStore to improve the performance of DELETE operations.
This will be accomplished by implementing a hidden 1-byte boolean column with 0 indicating the column value is disabled (deleted) and 1 indicating the column value is enabled (active). Idea is to improve the performance of DELETE operation by simply toggling the AUX column value from 1 to 0, instead of the current implementation which writes empty magic values for all columns in the table for all the impacted rows. Empty magics are the current method in ColumnStore to detect if a given row is deleted or not. So for a wide table, the current method would lead to significant performance slowdown when performing DELETEs.
Points to note:
-New tables created in the CS release with this feature are subject to DELETE optimization.
-Existing table w/o the aux column is not affected (no DELETE optimization). MCOL-5122 is created as an enhancement of this ticket to allow a user to create the AUX column for an existing table which was created with an older version of ColumnStore without the AUX column feature.
Design Document for the feature: