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

NOT (x <=> y) returns NULL if x or y is NULL

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.1, 2.0.0, 2.1.0
    • Fix Version/s: 2.2.0
    • Component/s: Hive, Operators, Query Processor, SQL
    • Labels:
      None

      Description

      I created a table as following:

      create table test(x string, y string);
      insert into test values ('q', 'q'), ('q', 'w'), (NULL, 'q'), ('q', NULL), (NULL, NULL);

      Then I try to compare values taking NULLs into account:

      select *, x<=>y, not (x<=> y), (x <=> y) = false from test;
      OK
      q q true false false
      q w false true true
      q NULL false NULL true
      NULL q false NULL true
      NULL NULL true NULL false

      I expected that 4th column will be the same as 5th one but actually got NULL as result of "not false" and "not true" expressions.

      Hive 1.2.1000.2.5.0.0-1245
      Subversion git://c66-slave-20176e25-3/grid/0/jenkins/workspace/HDP-parallel-centos6/SOURCES/hive -r da6c690d384d1666f5a5f450be5cbc54e2fe4bd6
      Compiled by jenkins on Fri Aug 26 01:39:52 UTC 2016
      From source with checksum c30648316a632f7a753f4359e5c8f4d6

        Attachments

        1. HIVE-15517.01.patch
          4 kB
          Pengcheng Xiong

          Issue Links

            Activity

              People

              • Assignee:
                pxiong Pengcheng Xiong
                Reporter:
                abedrintsev Alexey Bedrintsev
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: