Skip to content

Commit

Permalink
Merge pull request ClickHouse#58710 from aiven-sal/aiven-sal/fix_normq2
Browse files Browse the repository at this point in the history
Handle signed numeric literals in normalizeQuery
  • Loading branch information
yariks5s authored Jan 15, 2024
2 parents 3e1d7bf + 7b434a7 commit 61889fa
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 1 deletion.
2 changes: 2 additions & 0 deletions src/Parsers/queryNormalization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,8 @@ void normalizeQueryToPODArray(const char * begin, const char * end, PaddedPODArr
continue;
}
}
else if (prev_comma && (token.type == TokenType::Plus || token.type == TokenType::Minus))
continue;
else
{
if (num_literals_in_sequence > 1)
Expand Down
20 changes: 20 additions & 0 deletions tests/queries/0_stateless/01451_normalize_query.reference
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,23 @@ SELECT ?..
SELECT ? xyz11
SELECT ?, xyz11
SELECT ?..
? - ?
?..
-?..
? - ?..
f(-?..)
[-?..]
? + ?
?..
-?..
? + ?..
f(+?..)
[+?..]
?.. + ?
?.. - ?..
f(+?..), ?
[+?..] - ?
-?.. - [+?..] - ?
(+?..) - ?
-?.. - (+?..) - ?
(+?..)
21 changes: 20 additions & 1 deletion tests/queries/0_stateless/01451_normalize_query.sql
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,23 @@ SELECT normalizeQuery('SELECT 1, ''xyz11''');
SELECT normalizeQuery('SELECT $doc$VALUE$doc$ xyz11');
SELECT normalizeQuery('SELECT $doc$VALUE$doc$, xyz11');
SELECT normalizeQuery('SELECT $doc$VALUE$doc$, ''xyz11''');

SELECT normalizeQuery('1 - 2');
SELECT normalizeQuery('1, -2, 3');
SELECT normalizeQuery('-1, -2, 3');
SELECT normalizeQuery('1 - 2, 3, 4');
SELECT normalizeQuery('f(-2, 3)');
SELECT normalizeQuery('[-1, 2, 3]');
SELECT normalizeQuery('1 + 2');
SELECT normalizeQuery('1, +2, 3');
SELECT normalizeQuery('-1, +2, 3');
SELECT normalizeQuery('1 + 2, 3, 4');
SELECT normalizeQuery('f(+2, 3)');
SELECT normalizeQuery('[+1, 2, 3]');
SELECT normalizeQuery('1, 2, 3 + 4');
SELECT normalizeQuery('1, 2 - 3, 4');
SELECT normalizeQuery('f(+2, 3), 1');
SELECT normalizeQuery('[+1, 2, 3] - 1');
SELECT normalizeQuery('-1, 1 - [+1, 2, 3] - 1');
SELECT normalizeQuery('(+1, 2, 3) - 1');
SELECT normalizeQuery('-1, 1 - (+1, 2, 3) - 1');
SELECT normalizeQuery('(+1, 2, -3)');

0 comments on commit 61889fa

Please sign in to comment.