#!/usr/bin/expect -f log_user 0 set timeout 20 match_max 100000 expect_after { # Do not ignore eof from expect eof { exp_continue } # A default timeout action is to do nothing, change it to fail timeout { exit 1 } } 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