[ https://issues.apache.org/jira/browse/HIVE-13708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15282269#comment-15282269 ]
Thejas M Nair commented on HIVE-13708: -------------------------------------- [~hsubramaniyan] Can we do this in a generic way so that it is applicable to any serde that doesn't support the types being specified in create-table ? There are possibly other user created serdes that could also have this issue. I haven't looked deeper into the object inspectors. How about checking the objectinspector after initialize ? It seems like the types it will return can be determined from that. cc [~ashutoshc] I didn't mean this to be specifically about CSVSerde, but more general about the hive serde interaction. The specific change to that serde that I would like to see is in HIVE-13709 . > Create table should verify datatypes supported by the serde > ----------------------------------------------------------- > > Key: HIVE-13708 > URL: https://issues.apache.org/jira/browse/HIVE-13708 > Project: Hive > Issue Type: Bug > Components: Query Planning > Reporter: Thejas M Nair > Assignee: Hari Sankar Sivarama Subramaniyan > Priority: Critical > Attachments: HIVE-13708.1.patch > > > As [~Goldshuv] mentioned in HIVE-7777. > Create table with serde such as OpenCSVSerde allows for creation of table > with columns of arbitrary types. But 'describe table' would still return > string datatypes, and so does selects on the table. > This is misleading and would result in users not getting intended results. > The create table ideally should disallow the creation of such tables with > unsupported types. > Example posted by [~Goldshuv] in HIVE-7777 - > {noformat} > CREATE EXTERNAL TABLE test (totalprice DECIMAL(38,10)) > ROW FORMAT SERDE 'com.bizo.hive.serde.csv.CSVSerde' with > serdeproperties ("separatorChar" = ",","quoteChar"= "'","escapeChar"= "\\") > STORED AS TEXTFILE > LOCATION '<some location>' > tblproperties ("skip.header.line.count"="1"); > {noformat} > Now consider this sql: > hive> select min(totalprice) from test; > in this case given my data, the result should have been 874.89, but the > actual result became 100001.57 (as it is first according to byte ordering of > a string type). this is a wrong result. > hive> desc extended test; > OK > o_totalprice string from deserializer > ... -- This message was sent by Atlassian JIRA (v6.3.4#6332)