| 500 | |
| 501 | template <Int8 sign> |
| 502 | static size_t onWriteOrDeleteData(const Row & rows_data, Block & buffer) |
| 503 | { |
| 504 | size_t prev_bytes = buffer.bytes(); |
| 505 | for (size_t column = 0; column < buffer.columns() - 1; ++column) |
| 506 | { |
| 507 | MutableColumnPtr col_to = IColumn::mutate(std::move(buffer.getByPosition(column).column)); |
| 508 | |
| 509 | writeFieldsToColumn(*col_to, rows_data, column, {}); |
| 510 | buffer.getByPosition(column).column = std::move(col_to); |
| 511 | } |
| 512 | |
| 513 | fillSignColumnsData(buffer, sign, rows_data.size()); |
| 514 | return buffer.bytes() - prev_bytes; |
| 515 | } |
| 516 | |
| 517 | /// We need to use unique key instead of sorting key as user could use table override func |
| 518 | static inline bool differenceUniqueKeys(const Tuple & row_old_data, const Tuple & row_new_data, const std::vector<size_t> unique_columns_index) |
nothing calls this directly
no test coverage detected