You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Stamatis Zampetakis (Jira)" <ji...@apache.org> on 2021/04/23 15:34:00 UTC

[jira] [Created] (HIVE-25053) Support explicit ROW value constructor in SQL statements

Stamatis Zampetakis created HIVE-25053:
------------------------------------------

             Summary: Support explicit ROW value constructor in SQL statements
                 Key: HIVE-25053
                 URL: https://issues.apache.org/jira/browse/HIVE-25053
             Project: Hive
          Issue Type: New Feature
          Components: Query Processor
            Reporter: Stamatis Zampetakis


Currently, it is possible to create ROW type values by using the implicit syntax with parentheses. However, when the explicit ROW constructor is used a {{ParseException}} is raised.

+Example+
{code:sql}
CREATE TABLE person (id int, name string, age int);

EXPLAIN CBO SELECT (id, name), (name, age) FROM person; 
EXPLAIN CBO SELECT ROW(id, name), ROW(name, age) FROM person; 
{code}

The first select statement succeeds and returns the CBO plan while the second fails with the exception below:

{noformat}
org.apache.hadoop.hive.ql.parse.ParseException: line 3:19 cannot recognize input near 'ROW' '(' 'id' in select clause
	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:125)
	at org.apache.hadoop.hive.ql.parse.ParseUtils.parse(ParseUtils.java:93)
	at org.apache.hadoop.hive.ql.parse.ParseUtils.parse(ParseUtils.java:85)
	at org.apache.hadoop.hive.ql.Compiler.parse(Compiler.java:169)
	at org.apache.hadoop.hive.ql.Compiler.compile(Compiler.java:102)
	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:492)
	at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:445)
{noformat}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)