[ https://issues.apache.org/jira/browse/BEAM-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Pilloud resolved BEAM-4562. ---------------------------------- Resolution: Fixed Fix Version/s: 2.6.0 > [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 > Assignee: Andrew Pilloud > Priority: Major > Fix For: 2.6.0 > > Time Spent: 2h > Remaining Estimate: 0h > > 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)