}
};
// get optimized plans for join tables
for (int i = 1; i < from.size(); i++) {
TableNode jNode = from.get(i);
assert (jNode instanceof JoinTableNode);
TableNode tNode = ((JoinTableNode) jNode).getTable();
for (JoinTable jTable : join.getJoinTables()) {
if (jTable.getTableNode() != tNode)
continue;
TableRef table = jTable.getTable();
SelectStatement stmt = getSubqueryForOptimizedPlan(select, table, join.columnRefs, jTable.getPreFiltersCombined());