Panagiotis Garefalakis created HIVE-24777: ---------------------------------------------
Summary: Standardize Hive's Type conversions Key: HIVE-24777 URL: https://issues.apache.org/jira/browse/HIVE-24777 Project: Hive Issue Type: New Feature Reporter: Panagiotis Garefalakis Currently, Hive does some type safety checks looking for loosy type conversions such as: decimal to char, and long to varchar (even though not complete). These conversion are not documented and they might even differ depending on the CBO status. For example: {code:java} set hive.cbo.enable=false; create table comparison_table (col_v varchar(3), col_i int) stored as orc; insert into comparison_table values ('001', 15), ('002', 25), ('007', 75); select * from comparison_table where col_v >= 4L; // Converts to pred '4' to String // No result when CBO off set hive.cbo.enable=on; select * from comparison_table where col_v >= 4L; // Converts both to Double // 007 when CBO is on {code} Type conversions on the predicates also affect Sargs evaluation as in the first case (cbo off) string padding is missing, and in the latter case (cbo on) UDFBridge can no be evaluated. Finally, it seems that there are multiple configuration tracking the same thing: * hive.strict.timestamp.conversion * hive.strict.checks.type.safety This uber Jira is targeting the standardisation/documentation of these type checks and their conversions on Hive. -- This message was sent by Atlassian Jira (v8.3.4#803005)