Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Now, all rules in optimizer must handle subplan by recursing optimize themselves.
I'd like to let optimizer to handle subplan, rule just focus on the optimize logic.
I have add optimizer struct for this PR in #2616 .
Describe the solution you'd like
Handle the subplan in optimizer by recursing optimization.
Describe alternatives you've considered
Additional context