Soumyakanti Das created HIVE-26442:
--------------------------------------

             Summary: SemanticException for INSERT INTO statement when CBO is 
disabled
                 Key: HIVE-26442
                 URL: https://issues.apache.org/jira/browse/HIVE-26442
             Project: Hive
          Issue Type: Bug
          Components: Hive
            Reporter: Soumyakanti Das
            Assignee: Soumyakanti Das


When CBO is disabled and columns are specified for the target table, we get a 
Semantic Exception for a simple INSERT statement.

It can be reproduced by running:
{code:java}
set hive.cbo.enable=false;

CREATE TABLE mytable (
id INT,
str STRING
);

INSERT INTO mytable (id, str) VALUES (1, 'a');
 {code}
And we get the following error:
{code:java}
org.apache.hadoop.hive.ql.parse.SemanticException: 0:0 Expected 2 columns for 
insclause-0/default@mytable; select produces 1 columns. Error encountered near 
token ''a''
    at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.handleInsertStatementSpec(SemanticAnalyzer.java:4873)
    at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genSelectPlan(SemanticAnalyzer.java:4765)
    at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genSelectPlan(SemanticAnalyzer.java:4526)
    at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPostGroupByBodyPlan(SemanticAnalyzer.java:11151)
    at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genBodyPlan(SemanticAnalyzer.java:11093)
    at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:12010)
    at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:11876)
    at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genOPTree(SemanticAnalyzer.java:12603)
    at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12715)
    at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12254)
    at 
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:317)
    at org.apache.hadoop.hive.ql.Compiler.analyze(Compiler.java:224)
    at org.apache.hadoop.hive.ql.Compiler.compile(Compiler.java:106)
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:507)
    at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:459)
    at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:424)
    at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:418)
    at 
org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:121)
    at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:227)
    at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:255)
    at org.apache.hadoop.hive.cli.CliDriver.processCmd1(CliDriver.java:200)
    at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:126)
    at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:421)
    at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:352)
    at 
org.apache.hadoop.hive.ql.QTestUtil.executeClientInternal(QTestUtil.java:727)
    at org.apache.hadoop.hive.ql.QTestUtil.executeClient(QTestUtil.java:697)
    at 
org.apache.hadoop.hive.cli.control.CoreCliDriver.runTest(CoreCliDriver.java:114)
    at 
org.apache.hadoop.hive.cli.control.CliAdapter.runTest(CliAdapter.java:157)
    at 
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver(TestMiniLlapLocalCliDriver.java:62)
... (partial stack trace) {code}

Note, we don't get an error when columns are not specified.
{code:java}
INSERT INTO mytable VALUES (1, 'a'); {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to