From 139e2d4b1ea7ed84f82fb5d513d3b2820408c4d6 Mon Sep 17 00:00:00 2001 From: Arthur Passos Date: Tue, 12 Nov 2024 14:06:31 -0300 Subject: [PATCH] not so naive --- src/Parsers/Access/ParserCreateUserQuery.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Parsers/Access/ParserCreateUserQuery.cpp b/src/Parsers/Access/ParserCreateUserQuery.cpp index 36bf54af1f2..5417fc5d795 100644 --- a/src/Parsers/Access/ParserCreateUserQuery.cpp +++ b/src/Parsers/Access/ParserCreateUserQuery.cpp @@ -268,6 +268,13 @@ namespace authentication_methods.push_back(ast_authentication_data); } + // if the first authentication method parsed is of type no_password, then we should not try to parse any further + // as it cannot co-exist with other authentication types + if (authentication_methods.back()->type && authentication_methods.back()->type.value() == AuthenticationType::NO_PASSWORD) + { + return true; + } + // Need to save current position, process comma and only update real position in case there is an authentication method after // the comma. Otherwise, position should not be changed as it needs to be processed by other parsers and possibly throw error // on trailing comma. @@ -285,7 +292,7 @@ namespace authentication_methods.push_back(ast_authentication_data); } - return !authentication_methods.empty(); + return true; }); }