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

Disallow OUTER JOIN with partition in WHERE clause in strict mode

    XMLWordPrintableJSON

Details

    • Wish
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • 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

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

            Dates

              Created:
              Updated: