[ https://issues.apache.org/jira/browse/HIVE-28703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Araika Singh updated HIVE-28703: -------------------------------- Description: When executing the following Hive queries with JsonSerDe to create and manipulate a table, the data exceeding the respective type limits (TINYINT, SMALLINT, INT, BIGINT) is not throwing an error. Instead, it remains within the defined limits, bypassing SQL standard checks for strict data type enforcement. *Steps to Reproduce:* {code:java} // sample json: {"tiny_value": 128, "small_value" : 32768, "int_value" : 2147483648, "big_value" : 9223372036854775808} CREATE TABLE json_serde1_1 ( tiny_value TINYINT, small_value SMALLINT, int_value INT, big_value BIGINT ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.JsonSerDe'; INSERT INTO TABLE json_serde1_1 VALUES (128, 32768, 2147483648, 9223372036854775808); LOAD DATA LOCAL INPATH '../../data/files/sampleJson.json' INTO TABLE json_serde1_1; SELECT * FROM json_serde1_1; {code} *Proposed Resolution:* Enforce stricter data type validation during data insertion for {{JsonSerDe}} and UDFs. This should ensure compliance with the defined column data types and raise errors for out-of-bound values. was: When executing the following Hive queries with JsonSerDe to create and manipulate a table, the data exceeding the respective type limits (TINYINT, SMALLINT, INT, BIGINT) is not throwing an error. Instead, it remains within the defined limits, bypassing SQL standard checks for strict data type enforcement. *Steps to Reproduce:* {code:java} // sample json: {"tiny_value": 128, "small_value" : 32768, "int_value" : 2147483648, "big_value" : 9223372036854775808} CREATE TABLE json_serde1_1 ( tiny_value TINYINT, small_value SMALLINT, int_value INT, big_value BIGINT ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.JsonSerDe'; INSERT INTO TABLE json_serde1_1 VALUES (128, 32768, 2147483648, 9223372036854775808); LOAD DATA LOCAL INPATH '../../data/files/sampleJson.json' INTO TABLE json_serde1_1; SELECT * FROM json_serde1_1; {code} *Proposed Resolution:* Enforce stricter data type validation during data insertion for {{JsonSerDe}} and UDFs. This should ensure compliance with the defined column data types and raise errors for out-of-bound values.{*}{{*}} > Integral Data Type Overflow Not Enforced for JsonSerDe and UDFs > --------------------------------------------------------------- > > Key: HIVE-28703 > URL: https://issues.apache.org/jira/browse/HIVE-28703 > Project: Hive > Issue Type: Bug > Reporter: Araika Singh > Assignee: Araika Singh > Priority: Major > > When executing the following Hive queries with JsonSerDe to create and > manipulate a table, the data exceeding the respective type limits (TINYINT, > SMALLINT, INT, BIGINT) is not throwing an error. Instead, it remains within > the defined limits, bypassing SQL standard checks for strict data type > enforcement. > *Steps to Reproduce:* > {code:java} > // sample json: {"tiny_value": 128, "small_value" : 32768, "int_value" : > 2147483648, "big_value" : 9223372036854775808} > CREATE TABLE json_serde1_1 ( > tiny_value TINYINT, > small_value SMALLINT, > int_value INT, > big_value BIGINT > ) > ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.JsonSerDe'; > INSERT INTO TABLE json_serde1_1 VALUES (128, 32768, 2147483648, > 9223372036854775808); > LOAD DATA LOCAL INPATH '../../data/files/sampleJson.json' INTO TABLE > json_serde1_1; > SELECT * FROM json_serde1_1; > {code} > *Proposed Resolution:* > Enforce stricter data type validation during data insertion for {{JsonSerDe}} > and UDFs. This should ensure compliance with the defined column data types > and raise errors for out-of-bound values. > -- This message was sent by Atlassian Jira (v8.20.10#820010)