Refactor state management in HashJoinExec and use CASE expressions for more precise filters
#3301
| Job | Run time |
|---|---|
| 55m 44s | |
| 1h 4m 5s | |
| 3m 53s | |
| 26m 41s | |
| 2h 30m 23s |