Rui Shen created EDGENT-311:
-------------------------------

             Summary: support SELECT without any parameters in JdbcStreams
                 Key: EDGENT-311
                 URL: https://issues.apache.org/jira/browse/EDGENT-311
             Project: Edgent
          Issue Type: Improvement
          Components: Connectors
    Affects Versions: Apache Edgent 1.0.0
            Reporter: Rui Shen
            Priority: Minor


Now I am trying to run a SELECT statement without parameters (e.g "select 
id,name,age from person") using JdbcStreams. But I found there is no 
straightforward way to do this. Looks like the APIs of JdbcStreams is designed 
for only prepared statement with parameters .
However, I found a workaround to make this - always create a TStream with one 
tuple but in the ParameterSetter, does nothing. Although this works, it looks 
uncomfortable. Are you going to support this in the future release?
 
Topology t = this.newTopology("testSelect_WithParameters");
JdbcStreams db=new JdbcStreams(ds,(ds)=>
{ds.getConnection()}
);
TStream<String> stream=t.collection(Arrays.asList(new String[]
{"dummy"}
)); // to execute the sql, always needs to create a TStream containing one 
tuple.
ParameterSetter<String> paramSetter=(s,stmt)->{}; //do nothing here
ResultsHandler<Object[], JsonObject> rh = (tuple, rs, exc, consumer) -> {};
db.executeStatement(stream, "select id,name,age from person", paramSetter,rh);
 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to