ClickHouse/dbms/tests/queries/0_stateless/00543_access_to_temporary_table_in_readonly_mode.sh
2017-12-25 18:59:35 +03:00

109 lines
2.7 KiB
Bash
Executable File

#!/usr/bin/env bash
CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
. $CURDIR/../shell_config.sh
$CLICKHOUSE_CLIENT -n --query="
DROP TABLE IF EXISTS test.test_readonly;
CREATE TABLE test.test_readonly (
ID Int
) Engine=Memory;
";
################
# readonly = 1 #
################
# Try to create temporary table
$CLICKHOUSE_CLIENT -n --query="
SET readonly = 1;
CREATE TEMPORARY TABLE readonly (
ID Int
) Engine=Memory;
" 2> /dev/null;
CODE=$?;
[ "$CODE" -ne "164" ] && [ "$CODE" -ne "0" ] && echo "Fail" && exit $CODE;
# Try to insert into exists (non temporary) table
$CLICKHOUSE_CLIENT -n --query="
SET readonly = 1;
INSERT INTO test.test_readonly (ID) VALUES (1);
" 2> /dev/null;
CODE=$?;
[ "$CODE" -ne "164" ] && [ "$CODE" -ne "0" ] && echo "Fail" && exit $CODE;
# Try to drop exists (non temporary) table
$CLICKHOUSE_CLIENT -n --query="
SET readonly = 1;
DROP TABLE test.test_readonly;
" 2> /dev/null;
CODE=$?;
[ "$CODE" -ne "164" ] && [ "$CODE" -ne "0" ] && echo "Fail" && exit $CODE;
################
# readonly = 2 #
################
# Try to create temporary table
$CLICKHOUSE_CLIENT -n --query="
SET readonly = 2;
CREATE TEMPORARY TABLE readonly (
ID Int
) Engine=Memory;
INSERT INTO readonly (ID) VALUES (1);
DROP TABLE readonly;
" 2> /dev/null;
CODE=$?;
[ "$CODE" -ne "0" ] && echo "Fail" && exit $CODE;
# Try to insert into exists (non temporary) table
$CLICKHOUSE_CLIENT -n --query="
SET readonly = 2;
INSERT INTO test.test_readonly (ID) VALUES (1);
" 2> /dev/null;
CODE=$?;
[ "$CODE" -ne "164" ] && [ "$CODE" -ne "0" ] && echo "Fail" && exit $CODE;
# Try to drop exists (non temporary) table
$CLICKHOUSE_CLIENT -n --query="
SET readonly = 2;
DROP TABLE test.test_readonly;
" 2> /dev/null;
CODE=$?;
[ "$CODE" -ne "164" ] && [ "$CODE" -ne "0" ] && echo "Fail" && exit $CODE;
################
# readonly = 0 #
################
# Try to create temporary table
$CLICKHOUSE_CLIENT -n --query="
SET readonly = 0;
CREATE TEMPORARY TABLE readonly (
ID Int
) Engine=Memory;
INSERT INTO readonly (ID) VALUES (1);
DROP TABLE readonly;
" 2> /dev/null;
CODE=$?;
[ "$CODE" -ne "0" ] && echo "Fail" && exit $CODE;
# Try to insert into exists (non temporary) table
$CLICKHOUSE_CLIENT -n --query="
SET readonly = 0;
INSERT INTO test.test_readonly (ID) VALUES (1);
" 2> /dev/null;
CODE=$?;
[ "$CODE" -ne "0" ] && echo "Fail" && exit $CODE;
# Try to drop exists (non temporary) table
$CLICKHOUSE_CLIENT -n --query="
SET readonly = 0;
DROP TABLE test.test_readonly;
" 2> /dev/null;
CODE=$?;
[ "$CODE" -ne "0" ] && echo "Fail" && exit $CODE;
$CLICKHOUSE_CLIENT --query="DROP TABLE IF EXISTS test.test_readonly;";