Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

All of the above queries could be correlated or uncorrelated.

Design for this will be similar to the work done in HIVE-15456 

  • genLogicalPlan will go over select list to do the following:
    • If subquery is not top level expression throw an error
    • Otherwise, generate appropriate plan by using RexSubquery to represent subquery
  • HiveSubqueryRemoveRule will then be applied to remove the RexSubquery node and rewrite the query into join.
  • HiveRelDecorrelator::decorrelateQuery will then be used to decorrelate correlated queries.