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

Join filters do not work correctly with outer joins again

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Not A Problem
    • 0.9.0, 0.11.0
    • None
    • Query Processor
    • None

    Description

      select * from tt1 left outer join tt2 on (tt1.c1 = tt2.c1 and tt1.c1 <= 2);
      does not give correct results.

      to reproduce:
      hive> create table tt1 (c1 int);
      hive> create table tt2 (c1 int);
      $ vi tt1
      1
      2
      3
      4

      $ vi tt2
      1
      2
      8
      9

      $ hadoop fs -put tt1 /user/hive/warehouse/tt1/
      $ hadoop fs -put tt2 /user/hive/warehouse/tt2/

      wrong result:
      hive> select * from tt1 left outer join tt2 on (tt1.c1 = tt2.c1 and tt1.c1 <= 2);
      1 1
      2 2
      3 NULL
      4 NULL

      correct result:
      select * from tt1 left outer join tt2 on (tt1.c1 = tt2.c1) where tt1.c1 <= 2;
      1 1
      2 2

      hive-0.11.0-bin$ head -1 RELEASE_NOTES.txt
      Release Notes - Hive - Version 0.11.0

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              apivovarov Alexander Pivovarov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: