mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-16 11:22:12 +00:00
9c79c165b9
* Fix 'Block structure mismatch' on concurrent ALTER and INSERTs in Buffer table * Fix the test
35 lines
1.4 KiB
Bash
Executable File
35 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
|
# shellcheck source=../shell_config.sh
|
|
. "$CURDIR"/../shell_config.sh
|
|
|
|
|
|
$CLICKHOUSE_CLIENT -q "drop table if exists 02900_buffer"
|
|
$CLICKHOUSE_CLIENT -q "drop table if exists 02900_destination"
|
|
|
|
$CLICKHOUSE_CLIENT -q "create table 02900_destination (k Int8, v String) engine Memory"
|
|
$CLICKHOUSE_CLIENT -q "create table 02900_buffer (k Int8) engine Buffer(currentDatabase(), '02900_destination', 1, 1000, 1000, 10000, 10000, 1000000, 1000000)"
|
|
|
|
$CLICKHOUSE_CLIENT -q "insert into 02900_buffer (k) select 0"
|
|
|
|
# Start a long-running INSERT that uses the old schema.
|
|
$CLICKHOUSE_CLIENT -q "insert into 02900_buffer (k) select sleepEachRow(1)+1 from numbers(5) settings max_block_size=1, max_insert_block_size=1, min_insert_block_size_rows=0, min_insert_block_size_bytes=0" &
|
|
|
|
sleep 1
|
|
|
|
$CLICKHOUSE_CLIENT -q "alter table 02900_buffer add column v String"
|
|
|
|
$CLICKHOUSE_CLIENT -q "insert into 02900_buffer (k, v) select 2, 'bobr'"
|
|
|
|
wait
|
|
|
|
# The data produced by the long-running INSERT after the ALTER is not visible until flushed.
|
|
$CLICKHOUSE_CLIENT -q "select * from 02900_buffer where k != 1 order by k"
|
|
|
|
$CLICKHOUSE_CLIENT -q "optimize table 02900_buffer"
|
|
$CLICKHOUSE_CLIENT -q "select * from 02900_buffer order by k"
|
|
|
|
$CLICKHOUSE_CLIENT -q "drop table 02900_buffer"
|
|
$CLICKHOUSE_CLIENT -q "drop table 02900_destination"
|