ClickHouse/tests/queries/0_stateless/00427_alter_primary_key.sh

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

41 lines
1.4 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
2020-12-28 11:46:53 +00:00
# shellcheck source=../shell_config.sh
2020-08-01 00:51:12 +00:00
. "$CURDIR"/../shell_config.sh
function perform()
{
local query=$1
TZ=UTC $CLICKHOUSE_CLIENT \
2022-06-23 08:37:52 +00:00
--allow_deprecated_syntax_for_merge_tree=1 \
--use_client_time_zone=1 \
--input_format_values_interpret_expressions=0 \
--query "$query" 2>/dev/null
if [ "$?" -ne 0 ]; then
echo "query failed"
fi
}
2019-06-03 17:36:27 +00:00
perform "DROP TABLE IF EXISTS alter_00427"
perform "CREATE TABLE alter_00427 (d Date, a Enum8('foo'=1), b DateTime, c DateTime) ENGINE=MergeTree(d, (a, b, toTime(c)), 8192)"
2019-06-03 17:36:27 +00:00
perform "INSERT INTO alter_00427 VALUES ('2017-02-09', 'foo', '2017-02-09 00:00:00', '2017-02-09 00:00:00')"
# Must fail because d is used as as a date column in MergeTree
2019-06-03 17:36:27 +00:00
perform "ALTER TABLE alter_00427 MODIFY COLUMN d UInt16"
2019-06-03 17:36:27 +00:00
perform "ALTER TABLE alter_00427 MODIFY COLUMN a Enum8('foo'=1, 'bar'=2)"
perform "ALTER TABLE alter_00427 MODIFY COLUMN b UInt32"
# Must fail because column c is used in primary key via an expression.
2019-06-03 17:36:27 +00:00
perform "ALTER TABLE alter_00427 MODIFY COLUMN c UInt32"
2019-06-03 17:36:27 +00:00
perform "INSERT INTO alter_00427 VALUES ('2017-02-09', 'bar', 1486598400, '2017-02-09 00:00:00')"
2019-06-03 17:36:27 +00:00
perform "SELECT d FROM alter_00427 WHERE a = 'bar'"
2019-06-03 17:36:27 +00:00
perform "SELECT a, b, b = toUnixTimestamp(c) FROM alter_00427 ORDER BY a FORMAT TSV"
2019-06-03 17:36:27 +00:00
perform "DROP TABLE alter_00427"