mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 15:12:02 +00:00
fix logical error
This commit is contained in:
parent
048938effe
commit
accf4d262e
@ -24,6 +24,7 @@ namespace ErrorCodes
|
||||
extern const int TYPE_MISMATCH;
|
||||
extern const int SUPPORT_IS_DISABLED;
|
||||
extern const int ARGUMENT_OUT_OF_BOUND;
|
||||
extern const int CANNOT_READ_ALL_DATA;
|
||||
}
|
||||
|
||||
|
||||
@ -412,6 +413,15 @@ void ValuesBlockInputFormat::readPrefix()
|
||||
|
||||
void ValuesBlockInputFormat::readSuffix()
|
||||
{
|
||||
if (!buf.eof() && *buf.position() == ';')
|
||||
{
|
||||
++buf.position();
|
||||
skipWhitespaceIfAny(buf);
|
||||
if (buf.hasUnreadData())
|
||||
throw Exception("Cannot read data after semicolon", ErrorCodes::CANNOT_READ_ALL_DATA);
|
||||
return;
|
||||
}
|
||||
|
||||
if (buf.hasUnreadData())
|
||||
throw Exception("Unread data in PeekableReadBuffer will be lost. Most likely it's a bug.", ErrorCodes::LOGICAL_ERROR);
|
||||
}
|
||||
|
39
tests/queries/0_stateless/01179_insert_values_semicolon.expect
Executable file
39
tests/queries/0_stateless/01179_insert_values_semicolon.expect
Executable file
@ -0,0 +1,39 @@
|
||||
#!/usr/bin/expect -f
|
||||
|
||||
log_user 0
|
||||
set timeout 5
|
||||
match_max 100000
|
||||
# A default timeout action is to do nothing, change it to fail
|
||||
expect_after {
|
||||
timeout {
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
set basedir [file dirname $argv0]
|
||||
spawn bash -c "source $basedir/../shell_config.sh ; \$CLICKHOUSE_CLIENT_BINARY \$CLICKHOUSE_CLIENT_OPT"
|
||||
expect ":) "
|
||||
|
||||
send -- "DROP TABLE IF EXISTS test_01179\r"
|
||||
expect "Ok."
|
||||
|
||||
send -- "CREATE TABLE test_01179 (date DateTime) ENGINE=Memory()\r"
|
||||
expect "Ok."
|
||||
|
||||
send -- "INSERT INTO test_01179 values ('2020-01-01')\r"
|
||||
expect "Ok."
|
||||
|
||||
send -- "INSERT INTO test_01179 values ('2020-01-01'); \r"
|
||||
expect "Ok."
|
||||
|
||||
send -- "INSERT INTO test_01179 values ('2020-01-01'); (1) \r"
|
||||
expect "Cannot read data after semicolon"
|
||||
|
||||
send -- "SELECT date, count() FROM test_01179 GROUP BY date FORMAT TSV\r"
|
||||
expect "2020-01-01 00:00:00\t3"
|
||||
|
||||
send -- "DROP TABLE test_01179\r"
|
||||
expect "Ok."
|
||||
|
||||
send -- "\4"
|
||||
expect eof
|
Loading…
Reference in New Issue
Block a user