We already have a bunch of codes for logical planner, its optimizer, expressions, and expression optimizer. They have played a key role in Tajo project.
As Tajo is being evolved, many parts started to require planner and optimization code. It's because we are trying to make good use of planning information in more parts.
But, since the planner and optimization parts are included in tajo-core, other maven modules should depend on tajo-core which is the biggest maven module in Tajo.
So, I propose to separate logical planner, logical optimizer, expression and expression optimizer from tajo-core into a separate maven module.