v.19.14Improvement

Move Join Object from Expressionaction into Analyzedjoin

Move Join object from ExpressionAction into AnalyzedJoin. ExpressionAnalyzer and ExpressionAction do not know about Join class anymore. Its logic is hidden by AnalyzedJoin iface. #6801 (Artem Zuikov)
Refactor Join handling by moving the Join object from ExpressionAction to AnalyzedJoin. The ExpressionAnalyzer and ExpressionAction components no longer directly interact with the Join class; instead, the join logic is encapsulated within the AnalyzedJoin interface.

Why it matters

This change improves the modularity and separation of concerns within ClickHouse's query processing architecture. By isolating the join logic inside the AnalyzedJoin interface, it simplifies the responsibilities of ExpressionAnalyzer and ExpressionAction, making the codebase easier to maintain and extend.

How to use it

This is an internal refactoring that does not affect user-facing syntax or commands. Users do not need to change how they write queries involving joins; the improvement is transparent in query processing.