2021-10-16 10:17:00 +00:00
|
|
|
#!/usr/bin/expect -f
|
|
|
|
|
|
|
|
log_user 0
|
|
|
|
set timeout 20
|
|
|
|
match_max 100000
|
|
|
|
|
|
|
|
expect_after {
|
2021-12-28 18:16:04 +00:00
|
|
|
# Do not ignore eof from expect
|
|
|
|
eof { exp_continue }
|
|
|
|
# A default timeout action is to do nothing, change it to fail
|
|
|
|
timeout { exit 1 }
|
2021-10-16 10:17:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
set basedir [file dirname $argv0]
|
|
|
|
spawn bash -c "source $basedir/../shell_config.sh ; \$CLICKHOUSE_LOCAL --disable_suggestion"
|
|
|
|
expect ":) "
|
|
|
|
|
|
|
|
send -- "drop table if exists t\r"
|
|
|
|
expect "Ok."
|
|
|
|
|
|
|
|
send -- "create table t engine=MergeTree() order by tuple() as select 1\r"
|
|
|
|
expect "Ok."
|
|
|
|
|
|
|
|
send -- "set optimize_on_insert = 0\r"
|
|
|
|
expect "Ok."
|
|
|
|
|
|
|
|
send -- "drop table if exists tt\r"
|
|
|
|
expect "Ok."
|
|
|
|
|
|
|
|
send -- "create table tt (date Date, version UInt64, val UInt64) engine = ReplacingMergeTree(version) partition by date order by date\r"
|
|
|
|
expect "Ok."
|
|
|
|
|
|
|
|
send -- "insert into tt values ('2020-01-01', 2, 2), ('2020-01-01', 1, 1)\r"
|
|
|
|
expect "Ok."
|
|
|
|
|
|
|
|
send -- "insert into tt values ('2020-01-01', 0, 0)\r"
|
|
|
|
expect "Ok."
|
|
|
|
|
|
|
|
send -- "OPTIMIZE TABLE tt\r"
|
|
|
|
expect "Ok."
|
|
|
|
|
|
|
|
send -- "select * from tt order by version format TSV\r"
|
|
|
|
expect "2020-01-01\t2\t2"
|
|
|
|
|
|
|
|
send -- "drop table tt\r"
|
|
|
|
expect "Ok."
|
|
|
|
send -- "drop table t\r"
|
|
|
|
expect "Ok."
|
|
|
|
|
|
|
|
send -- "\4"
|
|
|
|
expect eof
|