diff --git a/base/common/LineReader.cpp b/base/common/LineReader.cpp index b2bc929a1df..a32906dd5a5 100644 --- a/base/common/LineReader.cpp +++ b/base/common/LineReader.cpp @@ -127,7 +127,7 @@ String LineReader::readLine(const String & first_prompt, const String & second_p } #endif - line += (line.empty() ? "" : " ") + input; + line += (line.empty() ? "" : "\n") + input; if (!need_next_line) break; diff --git a/tests/queries/0_stateless/01599_multiline_input_and_singleline_comments.reference b/tests/queries/0_stateless/01599_multiline_input_and_singleline_comments.reference new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/queries/0_stateless/01599_multiline_input_and_singleline_comments.sh b/tests/queries/0_stateless/01599_multiline_input_and_singleline_comments.sh new file mode 100755 index 00000000000..5b7d1356dc6 --- /dev/null +++ b/tests/queries/0_stateless/01599_multiline_input_and_singleline_comments.sh @@ -0,0 +1,25 @@ +#!/usr/bin/expect -f + +log_user 0 +set timeout 5 +match_max 100000 + +if ![info exists env(CLICKHOUSE_PORT_TCP)] {set env(CLICKHOUSE_PORT_TCP) 9000} + +spawn clickhouse-client --multiline --port "$env(CLICKHOUSE_PORT_TCP)" +expect ":) " + +# Make a query +send -- "SELECT 1\r" +expect ":-] " +send -- "-- xxx\r" +expect ":-] " +send -- ", 2\r" +expect ":-] " +send -- ";\r" + +expect "│ 1 │ 2 │" +expect ":) " + +send -- "\4" +expect eof