Anton Kedin created BEAM-4562:
---------------------------------

             Summary: [SQL] Fix INSERT VALUES in JdbcDriver 
                 Key: BEAM-4562
                 URL: https://issues.apache.org/jira/browse/BEAM-4562
             Project: Beam
          Issue Type: Improvement
          Components: dsl-sql
            Reporter: Anton Kedin


Executing INSERT VALUES against JdbcDriver fails. Executing similar statements 
against BeamSqlEnv works fine. Example:

{code:java}
    TestTableProvider tableProvider = new TestTableProvider();
    Connection connection = JdbcDriver.connect(tableProvider);

    connection
        .createStatement()
        .executeUpdate("CREATE TABLE person (id BIGINT, name VARCHAR) TYPE 
'test'");

    connection.createStatement().executeQuery("INSERT INTO person VALUES(3, 
'yyy')");
{code}

 Output:

{code}
java.sql.SQLException: Error while executing SQL "INSERT INTO person VALUES(3, 
'yyy')": Node [rel#9:Subset#1.ENUMERABLE.[]] could not be implemented; planner 
state:

Root: rel#9:Subset#1.ENUMERABLE.[]
Original rel:
BeamIOSinkRel(subset=[rel#9:Subset#1.ENUMERABLE.[]], table=[[beam, person]], 
operation=[INSERT], flattened=[false]): rowcount = 1.0, cumulative cost = {1.0 
rows, 0.0 cpu, 0.0 io}, id = 6
  LogicalValues(subset=[rel#5:Subset#0.NONE.[]], tuples=[[{ 3, 'yyy' }]]): 
rowcount = 1.0, cumulative cost = {1.0 rows, 1.0 cpu, 0.0 io}, id = 0

Sets:
Set#0, type: RecordType(BIGINT id, VARCHAR name)
        rel#5:Subset#0.NONE.[], best=null, importance=0.81
                rel#0:LogicalValues.NONE.[[0, 1], [1]](type=RecordType(BIGINT 
id, VARCHAR name),tuples=[{ 3, 'yyy' }]), rowcount=1.0, cumulative cost={inf}
        rel#14:Subset#0.BEAM_LOGICAL.[], best=null, importance=0.81
        rel#20:Subset#0.ENUMERABLE.[], best=rel#19, importance=0.405
                rel#19:EnumerableValues.ENUMERABLE.[[0, 1], 
[1]](type=RecordType(BIGINT id, VARCHAR name),tuples=[{ 3, 'yyy' }]), 
rowcount=1.0, cumulative cost={1.0 rows, 1.0 cpu, 0.0 io}
Set#1, type: RecordType(BIGINT ROWCOUNT)
        rel#7:Subset#1.BEAM_LOGICAL.[], best=null, importance=0.9
                
rel#6:BeamIOSinkRel.BEAM_LOGICAL.[](input=rel#5:Subset#0.NONE.[],table=[beam, 
person],operation=INSERT,flattened=false), rowcount=1.0, cumulative cost={inf}
                
rel#15:BeamIOSinkRel.BEAM_LOGICAL.[](input=rel#14:Subset#0.BEAM_LOGICAL.[],table=[beam,
 person],operation=INSERT,flattened=false), rowcount=1.0, cumulative cost={inf}
        rel#9:Subset#1.ENUMERABLE.[], best=null, importance=1.0
                
rel#10:AbstractConverter.ENUMERABLE.[](input=rel#7:Subset#1.BEAM_LOGICAL.[],convention=ENUMERABLE,sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#11:BeamEnumerableConverter.ENUMERABLE.[](input=rel#7:Subset#1.BEAM_LOGICAL.[]),
 rowcount=1.0, cumulative cost={inf}{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to