Description
Executing INSERT VALUES against JdbcDriver fails. Executing similar statements against BeamSqlEnv works fine. Example:
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')");
Output:
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}