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

Hive Macro overwritten when multiple macros are used in one column

Log workAgile BoardRank to TopRank to BottomVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 1.2.1
    • Fix Version/s: 2.1.0
    • Component/s: Hive
    • Labels:
      None

      Description

      When multiple macros are used in one column, results of the later ones are over written by that of the first.

      For example:
      Suppose we have created a table called macro_test with single column x in STRING type, and with data as:
      "a"
      "bb"
      "ccc"

      We also create three macros:

      CREATE TEMPORARY MACRO STRING_LEN(x string) length(x);
      CREATE TEMPORARY MACRO STRING_LEN_PLUS_ONE(x string) length(x)+1;
      CREATE TEMPORARY MACRO STRING_LEN_PLUS_TWO(x string) length(x)+2;
      

      When we ran the following query,

      SELECT
          CONCAT(STRING_LEN(x), ":", STRING_LEN_PLUS_ONE(x), ":", STRING_LEN_PLUS_TWO(x)) a
      FROM macro_test
      SORT BY a DESC;
      

      We get result:
      3:3:3
      2:2:2
      1:1:1

      instead of expected:
      3:4:5
      2:3:4
      1:2:3

      Currently we are using Hive 1.2.1, and have applied both HIVE-11432 and HIVE-12277 patches.

        Attachments

        1. HIVE-13372.01.patch
          5 kB
          Pengcheng Xiong

        Issue Links

          Activity

          $i18n.getText('security.level.explanation', $currentSelection) Viewable by All Users
          Cancel

            People

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment