From 9cdb3047e6eb9c966535df647f250b5fb3e74c3d Mon Sep 17 00:00:00 2001 From: Tishj Date: Tue, 7 Jan 2025 11:51:19 +0100 Subject: [PATCH] HasChanges is not required to be virtual anymore --- src/include/duckdb/storage/table/column_data.hpp | 2 +- .../duckdb/storage/table/standard_column_data.hpp | 1 - src/storage/table/standard_column_data.cpp | 15 --------------- 3 files changed, 1 insertion(+), 17 deletions(-) diff --git a/src/include/duckdb/storage/table/column_data.hpp b/src/include/duckdb/storage/table/column_data.hpp index 93eca3110275..be0261d1f612 100644 --- a/src/include/duckdb/storage/table/column_data.hpp +++ b/src/include/duckdb/storage/table/column_data.hpp @@ -112,7 +112,7 @@ class ColumnData { const LogicalType &RootType() const; //! Whether or not the column has any updates bool HasUpdates() const; - virtual bool HasChanges(idx_t start_row, idx_t end_row) const; + bool HasChanges(idx_t start_row, idx_t end_row) const; //! Whether or not we can scan an entire vector virtual ScanVectorType GetVectorScanType(ColumnScanState &state, idx_t scan_count, Vector &result); diff --git a/src/include/duckdb/storage/table/standard_column_data.hpp b/src/include/duckdb/storage/table/standard_column_data.hpp index 0083b603f3ef..97fbc889c791 100644 --- a/src/include/duckdb/storage/table/standard_column_data.hpp +++ b/src/include/duckdb/storage/table/standard_column_data.hpp @@ -23,7 +23,6 @@ class StandardColumnData : public ColumnData { ValidityColumnData validity; public: - bool HasChanges(idx_t start_row, idx_t end_row) const override; void SetStart(idx_t new_start) override; ScanVectorType GetVectorScanType(ColumnScanState &state, idx_t scan_count, Vector &result) override; diff --git a/src/storage/table/standard_column_data.cpp b/src/storage/table/standard_column_data.cpp index 785c3f4ee5ec..6b6311c3d7d3 100644 --- a/src/storage/table/standard_column_data.cpp +++ b/src/storage/table/standard_column_data.cpp @@ -34,21 +34,6 @@ ScanVectorType StandardColumnData::GetVectorScanType(ColumnScanState &state, idx return validity.GetVectorScanType(state.child_states[0], scan_count, result); } -bool StandardColumnData::HasChanges(idx_t start_row, idx_t end_row) const { - if (ColumnData::HasChanges(start_row, end_row)) { - return true; - } - auto validity_compression = validity.GetCompressionFunction(); - if (!validity_compression) { - return false; - } - if (validity_compression->type != CompressionType::COMPRESSION_EMPTY) { - // Validity data is separately compressed, this segment is not responsible for storing the validity - return false; - } - return validity.HasChanges(start_row, end_row); -} - void StandardColumnData::InitializePrefetch(PrefetchState &prefetch_state, ColumnScanState &scan_state, idx_t rows) { ColumnData::InitializePrefetch(prefetch_state, scan_state, rows); validity.InitializePrefetch(prefetch_state, scan_state.child_states[0], rows);