You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Lin Liu (JIRA)" <ji...@apache.org> on 2016/03/29 00:55:25 UTC

[jira] [Updated] (HIVE-13372) Hive Macro overwritten when multiple macros are used in one column

     [ https://issues.apache.org/jira/browse/HIVE-13372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lin Liu updated HIVE-13372:
---------------------------
    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.

  was:
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


> Hive Macro overwritten when multiple macros are used in one column
> ------------------------------------------------------------------
>
>                 Key: HIVE-13372
>                 URL: https://issues.apache.org/jira/browse/HIVE-13372
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive
>    Affects Versions: 1.2.1
>            Reporter: Lin Liu
>            Priority: Critical
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)