$CLICKHOUSE_CLIENT--query"RENAME TABLE test_01150.t1 TO test_01150.t2_tmp, test_01150.t2 TO test_01150.t1, test_01150.t2_tmp TO test_01150.t2" 2>&1 | grep-v-F'Received exception from server' | grep-v-P'Code: (81|60|57|521)'
sleep 0.0$RANDOM
$CLICKHOUSE_CLIENT--query"RENAME TABLE test_01150.t2 TO test_01150.t1, test_01150.t2_tmp TO test_01150.t2" 2>&1 | grep-v-F'Received exception from server' | grep-v-P'Code: (81|60|57|521)'
sleep 0.0$RANDOM
$CLICKHOUSE_CLIENT--query"RENAME TABLE test_01150.t2_tmp TO test_01150.t2" 2>&1 | grep-v-F'Received exception from server' | grep-v-P'Code: (81|60|57|521)'
sleep 0.0$RANDOM
done
}
export-f thread_detach_attach
export-f thread_rename
timeout 20 bash -c"thread_detach_attach" &
timeout 20 bash -c'thread_rename' &
wait
sleep 1
$CLICKHOUSE_CLIENT--query"DETACH DATABASE IF EXISTS test_01150"
$CLICKHOUSE_CLIENT--query"ATTACH DATABASE IF NOT EXISTS test_01150"
${CLICKHOUSE_CLIENT}-q"DROP TABLE IF EXISTS db_01516.data3;" 2>&1 | grep-F"Code: " | grep-Fv"is currently dropped or renamed"
${CLICKHOUSE_CLIENT}-q"DROP TABLE IF EXISTS db_01516.data1;" 2>&1 | grep-F"Code: " | grep-Fv"is currently dropped or renamed"
${CLICKHOUSE_CLIENT}-q"DROP TABLE IF EXISTS db_01516.data2;" 2>&1 | grep-F"Code: " | grep-Fv"is currently dropped or renamed"
}
function create()
{
${CLICKHOUSE_CLIENT}-nm<<EOL
CREATE DATABASE IF NOT EXISTS db_01516;
CREATE TABLE IF NOT EXISTS db_01516.data1 Engine=MergeTree() ORDER BY number AS SELECT * FROM numbers(1);
CREATE TABLE IF NOT EXISTS db_01516.data2 Engine=MergeTree() ORDER BY number AS SELECT * FROM numbers(1);
CREATE TABLE IF NOT EXISTS db_01516.data3 Engine=MergeTree() ORDER BY number AS SELECT * FROM numbers(1);
EOL
${CLICKHOUSE_CLIENT}-q"CREATE DATABASE IF NOT EXISTS db_01516;"
${CLICKHOUSE_CLIENT}-q"CREATE TABLE IF NOT EXISTS db_01516.data1 Engine=MergeTree() ORDER BY number AS SELECT * FROM numbers(1);" 2>&1 | grep-F"Code: " | grep-Fv"is currently dropped or renamed"
${CLICKHOUSE_CLIENT}-q"CREATE TABLE IF NOT EXISTS db_01516.data2 Engine=MergeTree() ORDER BY number AS SELECT * FROM numbers(1);" 2>&1 | grep-F"Code: " | grep-Fv"is currently dropped or renamed"
${CLICKHOUSE_CLIENT}-q"CREATE TABLE IF NOT EXISTS db_01516.data3 Engine=MergeTree() ORDER BY number AS SELECT * FROM numbers(1);" 2>&1 | grep-F"Code: " | grep-Fv"is currently dropped or renamed"