Currently, PlannerUtil::getRelationLineage ignores PartitionedTableScanNode. As a result, PlannerUtil::getRelationLineage can return empty relations. It results in wrong estimation of relation size. Finally, in the case where a broadcast join between a partitioned table and a small table, this problem causes the bug to choose the larger table instead of smaller one to be loaded on hash table.
This patch fixes this bug, refactors inner-join related methods, and added more comments on them.