| 582 | } |
| 583 | |
| 584 | void QueryFuzzer::addColumnLike(const ASTPtr ast) |
| 585 | { |
| 586 | if (column_like_map.size() > 1000) |
| 587 | { |
| 588 | column_like_map.clear(); |
| 589 | } |
| 590 | |
| 591 | const auto name = ast->formatForErrorMessage(); |
| 592 | if (name == "Null") |
| 593 | { |
| 594 | // The `Null` identifier from FORMAT Null clause. We don't quote it |
| 595 | // properly when formatting the AST, and while the resulting query |
| 596 | // technically works, it has non-standard case for Null (the standard |
| 597 | // is NULL), so it breaks the query formatting idempotence check. |
| 598 | // Just plug this particular case for now. |
| 599 | return; |
| 600 | } |
| 601 | if (name.size() < 200) |
| 602 | { |
| 603 | column_like_map.insert({name, ast}); |
| 604 | } |
| 605 | } |
| 606 | |
| 607 | void QueryFuzzer::collectFuzzInfoRecurse(const ASTPtr ast) |
| 608 | { |
nothing calls this directly
no test coverage detected