Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-832

Disallow OUTER JOIN with partition in WHERE clause in strict mode

    Details

    • Type: Wish
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      There is a wide-range poorly-understood issue in how WHERE and ON clauses work in the case of outer joins.

      The WHERE filter is applied after the join. After an outer join, the INNER table (the left table in a RIGHT OUTER, or the left table in the LEFT OUTER) has all columns set to NULL for all rows. As a result, if ANY of them are cited in the WHERE clause, they will equal NULL. This almost always causes the join to effectively be an INNER join, even though the user typed the word O-U-T-E-R, probably for good reason.

      In strict mode, we should not allow ANY COLUMNS from the inner table to appear in the WHERE clause.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              akramer Adam Kramer
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: