More detailed test. [#CLICKHOUSE-3]

Resolves #1553.
This commit is contained in:
Vitaliy Lyudvichenko 2018-01-16 15:05:01 +03:00
parent 5d5ed63e8c
commit b68b60fb38
4 changed files with 16 additions and 1 deletions

View File

@ -444,6 +444,7 @@ void StorageMergeTree::clearColumnInPartition(const ASTPtr & partition, const Fi
for (auto & transaction : transactions)
transaction->commit();
/// Recalculate columns size (not only for the modified column)
data.recalculateColumnSizes();
}

View File

@ -1467,6 +1467,7 @@ void StorageReplicatedMergeTree::executeClearColumnInPartition(const LogEntry &
LOG_DEBUG(log, "Cleared column " << entry.column_name << " in " << modified_parts << " parts");
/// Recalculate columns size (not only for the modified column)
data.recalculateColumnSizes();
}

View File

@ -1,7 +1,12 @@
===Ordinary case===
16
1 a
2 b
0 a
2 b
8
0 0
===Replicated case===
all
2000-01-01 0
2000-01-01 1 a

View File

@ -1,15 +1,23 @@
SELECT '===Ordinary case===';
DROP TABLE IF EXISTS test.clear_column;
CREATE TABLE test.clear_column (d Date, num Int64, str String) ENGINE = MergeTree(d, d, 8192);
INSERT INTO test.clear_column VALUES ('2016-12-12', 1, 'a'), ('2016-11-12', 2, 'b');
SELECT data_uncompressed_bytes FROM system.columns WHERE (database = 'test') AND (table = 'clear_column') AND (name = 'num');
SELECT num, str FROM test.clear_column ORDER BY num;
ALTER TABLE test.clear_column CLEAR COLUMN num IN PARTITION '201612';
SELECT num, str FROM test.clear_column ORDER BY num;
SELECT data_uncompressed_bytes FROM system.columns WHERE (database = 'test') AND (table = 'clear_column') AND (name = 'num');
ALTER TABLE test.clear_column CLEAR COLUMN num IN PARTITION '201611';
SELECT data_compressed_bytes, data_uncompressed_bytes FROM system.columns WHERE (database = 'test') AND (table = 'clear_column') AND (name = 'num');
DROP TABLE test.clear_column;
-- Replicated case
SELECT '===Replicated case===';
DROP TABLE IF EXISTS test.clear_column1;
DROP TABLE IF EXISTS test.clear_column2;