Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
Prior HIVE-23089 check and not null constraint violations may detected faster when merging.
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;
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.
Attachments
Issue Links
- relates to
-
HIVE-23089 Add constraint checks to CBO plan
- Closed
- links to