[ https://issues.apache.org/jira/browse/HIVE-26371?focusedWorklogId=788938&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-788938 ]
ASF GitHub Bot logged work on HIVE-26371: ----------------------------------------- Author: ASF GitHub Bot Created on: 08/Jul/22 11:08 Start Date: 08/Jul/22 11:08 Worklog Time Spent: 10m Work Description: kasakrisz merged PR #3415: URL: https://github.com/apache/hive/pull/3415 Issue Time Tracking ------------------- Worklog Id: (was: 788938) Time Spent: 20m (was: 10m) > Constant propagation does not evaluate constraint expressions at merge when > CBO is enabled > ------------------------------------------------------------------------------------------ > > Key: HIVE-26371 > URL: https://issues.apache.org/jira/browse/HIVE-26371 > Project: Hive > Issue Type: Bug > Components: CBO, Logical Optimizer > Reporter: Krisztian Kasa > Assignee: Krisztian Kasa > Priority: Major > Labels: pull-request-available > Fix For: 4.0.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Prior HIVE-23089 check and not null constraint violations may detected faster > when merging. > {code:java} > CREATE TABLE t_target( > name string CHECK (length(name)<=20), > age int, > gpa double CHECK (gpa BETWEEN 0.0 AND 4.0)) > stored as orc TBLPROPERTIES ('transactional'='true'); > CREATE TABLE t_source( > name string, > age int, > gpa double); > insert into t_source(name, age, gpa) values ('student1', 16, null); > insert into t_target(name, age, gpa) values ('student1', 16, 2.0); > merge into t_target using t_source source on source.age=t_target.age when > matched then update set gpa=6; > {code} > Currently CBO can not handle constraint checks when merging so the filter > operator with the {{enforce_constraint}} call is added to the Hive operator > plan after CBO is succeeded and {{ConstantPropagate}} optimization is called > only from TezCompiler with {{{}ConstantPropagateOption.SHORTCUT{}}}. > With this option {{ConstantPropagate}} does not evaluate deterministic > functions. -- This message was sent by Atlassian Jira (v8.20.10#820010)