ALTER primary key tests [#CLICKHOUSE-2027]

This commit is contained in:
Alexey Zatelepin 2017-02-09 21:42:27 +03:00 committed by alexey-milovidov
parent 88b6f60692
commit 66501c8026
2 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,4 @@
query failed
query failed
foo 1486598400 1
bar 1486598400 1

View File

@ -0,0 +1,33 @@
#!/usr/bin/env bash
function perform()
{
local query=$1
TZ=UTC clickhouse-client \
--use_client_time_zone=1 \
--input_format_values_interpret_expressions=0 \
--query "$query" 2>/dev/null
if [ "$?" -ne 0 ]; then
echo "query failed"
fi
}
perform "DROP TABLE IF EXISTS test.alter"
perform "CREATE TABLE test.alter (d Date, a Enum8('foo'=1), b DateTime, c DateTime) ENGINE=MergeTree(d, (a, b, toTime(c)), 8192)"
perform "INSERT INTO test.alter 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
perform "ALTER TABLE test.alter MODIFY COLUMN d UInt16"
perform "ALTER TABLE test.alter MODIFY COLUMN a Enum8('foo'=1, 'bar'=2)"
perform "ALTER TABLE test.alter MODIFY COLUMN b UInt32"
# Must fail because column c is used in primary key via an expression.
perform "ALTER TABLE test.alter MODIFY COLUMN c UInt32"
perform "INSERT INTO test.alter VALUES ('2017-02-09', 'bar', 1486598400, '2017-02-09 00:00:00')"
perform "SELECT a, b, b = toUnixTimestamp(c) FROM test.alter ORDER BY a FORMAT TSV"
perform "DROP TABLE test.alter"