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

Denys Kuzmenko updated HIVE-30178:
----------------------------------
    Description: 
Since HIVE-30170, a non-null VARIANT expression is never constant-folded: the 
variant constant inspector does not
support non-null constants, and Calcite has no VARIANT literal other than NULL.
- Effect: parse_json('{"a":1}') in a filter or projection is evaluated per row. 
Before, it was folded into a struct
  constant.
- Proposal: fold deterministic VARIANT expressions over constants into a 
VARIANT constant on the Hive side
  (ConstantPropagate, ExprNodeConstantDesc with the constant variant 
inspector), so v = parse_json('...') compares
  against a precomputed value.

> Constant-fold VARIANT literals
> ------------------------------
>
>                 Key: HIVE-30178
>                 URL: https://issues.apache.org/jira/browse/HIVE-30178
>             Project: Hive
>          Issue Type: Sub-task
>            Reporter: Denys Kuzmenko
>            Priority: Major
>
> Since HIVE-30170, a non-null VARIANT expression is never constant-folded: the 
> variant constant inspector does not
> support non-null constants, and Calcite has no VARIANT literal other than 
> NULL.
> - Effect: parse_json('{"a":1}') in a filter or projection is evaluated per 
> row. Before, it was folded into a struct
>   constant.
> - Proposal: fold deterministic VARIANT expressions over constants into a 
> VARIANT constant on the Hive side
>   (ConstantPropagate, ExprNodeConstantDesc with the constant variant 
> inspector), so v = parse_json('...') compares
>   against a precomputed value.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to