2021-10-31 19:34:40 +00:00
|
|
|
#!/usr/bin/expect -f
|
|
|
|
|
|
|
|
log_user 0
|
|
|
|
set timeout 02
|
|
|
|
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-31 19:34:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
set basedir [file dirname $argv0]
|
|
|
|
spawn bash -c "source $basedir/../shell_config.sh ; \$CLICKHOUSE_CLIENT_BINARY \$CLICKHOUSE_CLIENT_OPT --disable_suggestion"
|
|
|
|
expect ":) "
|
|
|
|
|
|
|
|
# Send a command
|
|
|
|
send -- "\\ld;\r"
|
|
|
|
expect "Syntax error: *"
|
|
|
|
expect ":) "
|
|
|
|
|
|
|
|
send -- "\\c;\r"
|
|
|
|
expect "Syntax error: *"
|
|
|
|
expect ":) "
|
|
|
|
|
|
|
|
send -- " \\l ; \\d; \r"
|
|
|
|
expect "Syntax error (Multi-statements are not allowed): *"
|
|
|
|
expect ":) "
|
|
|
|
|
|
|
|
send -- " \\l ;\r"
|
|
|
|
expect "SHOW DATABASES"
|
|
|
|
expect "system"
|
|
|
|
expect ":) "
|
|
|
|
|
|
|
|
send -- "\\c system;\r"
|
|
|
|
#expect "USE system"
|
|
|
|
expect ":) "
|
|
|
|
|
|
|
|
send -- " \\d like 'one'\\G\r"
|
|
|
|
expect "SHOW TABLES"
|
|
|
|
expect "Row 1:"
|
|
|
|
expect "name: one"
|
|
|
|
expect ":) "
|
|
|
|
|
|
|
|
send -- "\4"
|
|
|
|
expect eof
|