Strict parsing in Keeper client

This commit is contained in:
Alexey Milovidov 2024-06-20 15:13:20 +02:00
parent a49e31a5c2
commit 5edf7dd9df
3 changed files with 3 additions and 10 deletions

View File

@ -368,7 +368,7 @@ int KeeperClient::main(const std::vector<String> & /* args */)
return 0; return 0;
} }
DB::ConfigProcessor config_processor(config().getString("config-file", "config.xml")); ConfigProcessor config_processor(config().getString("config-file", "config.xml"));
/// This will handle a situation when clickhouse is running on the embedded config, but config.d folder is also present. /// This will handle a situation when clickhouse is running on the embedded config, but config.d folder is also present.
ConfigProcessor::registerEmbeddedConfig("config.xml", "<clickhouse/>"); ConfigProcessor::registerEmbeddedConfig("config.xml", "<clickhouse/>");

View File

@ -13,12 +13,6 @@ bool parseKeeperArg(IParser::Pos & pos, Expected & expected, String & result)
return false; return false;
} }
while (pos->type != TokenType::Whitespace && pos->type != TokenType::EndOfStream && pos->type != TokenType::Semicolon)
{
result.append(pos->begin, pos->end);
++pos;
}
ParserToken{TokenType::Whitespace}.ignore(pos); ParserToken{TokenType::Whitespace}.ignore(pos);
if (result.empty()) if (result.empty())
@ -40,8 +34,8 @@ bool KeeperParser::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)
for (const auto & pair : KeeperClient::commands) for (const auto & pair : KeeperClient::commands)
expected.add(pos, pair.first.data()); expected.add(pos, pair.first.data());
for (const auto & flwc : four_letter_word_commands) for (const auto & four_letter_word_command : four_letter_word_commands)
expected.add(pos, flwc.data()); expected.add(pos, four_letter_word_command.data());
if (pos->type != TokenType::BareWord) if (pos->type != TokenType::BareWord)
return false; return false;

View File

@ -11,7 +11,6 @@ namespace DB
{ {
bool parseKeeperArg(IParser::Pos & pos, Expected & expected, String & result); bool parseKeeperArg(IParser::Pos & pos, Expected & expected, String & result);
bool parseKeeperPath(IParser::Pos & pos, Expected & expected, String & path); bool parseKeeperPath(IParser::Pos & pos, Expected & expected, String & path);