Hi Chandni, I don't see an update query being handled in the operator. Could you please point me to the appropriate class? Or did you mean that handling a update query is just a matter of extending the class and providing a concrete implementation?
Thanks. -Bhupesh On Fri, Dec 11, 2015 at 10:42 PM, Chandni Singh <[email protected]> wrote: > Hi Bhupesh, > > The current abstract JDBC Output Operators in library are generic and have > already been used in multiple POCs and applications. In fact this operator > has matured through customer use cases. It is not just an insert operator. > We have used it to perform update and inserts. > > That said, I don't think it is a good idea to introduce input format in > these abstract implementations. It is written to handle any type of query, > be it a procedure call (that was an actual customer use case). > > Chandni > > On Fri, Dec 11, 2015 at 2:50 AM, Bhupesh Chawda <[email protected]> > wrote: > > > Hi All, > > > > We are planning to proceed with the following approach for JDBC *update* > > operator: > > > > - *Update Query Configuration* > > > > > > - Example Update Query: *update tableName set a = ?** where b = ? and > c > > > ?;* > > - Example JSON input array for parameter instantiations: *[{a, > > expression, INTEGER}, {b, expression, VARCHAR}, {c, expression, > DATE}]* > > > > We are also planning to change the JDBC Output Operator in Malhar Library > > which currently does just insert. We plan to make the input format > > consistent for both insert and update and hence the change to the current > > way of configuration using JSON. Following would be the config for > inserts: > > > > - *Insert Query Configuration* > > > > > > - Example Insert Query: *insert into tableName values (?, ?, .. , ?);* > > - Example JSON input array for parameter instantiations: *[{a, > > expression, INTEGER}, {b, expression, VARCHAR}, .. , {c, expression, > > DATE}]* > > > > Please let us know your thoughts. > > > > Thanks. > > > > -Bhupesh > > > > > > > > On Wed, Dec 9, 2015 at 6:38 PM, Bhupesh Chawda <[email protected]> > > wrote: > > > > > Hi All, > > > > > > Would it be a good idea to introduce the update functionality to the > JDBC > > > output operator in Apache Apex Malhar library. > > > > > > The following are possible approaches: > > > > > > 1. Accept a update query from the user with place holders for > values. > > > Example: *update tableName set a = ?, b = ? where c = ? and d > ?*. > > > Here "?" will be provided by the user as java expressions which will > > be > > > evaluated from the incoming tuple. > > > 2. Another option is to accept in some configuration format (json / > > > xml) the following and formulate the query in the operator. This can > > become > > > arbitrarily complex. > > > 1. update clause columns > > > 2. update clause expressions > > > 3. where clause columns > > > 4. where clause expressions > > > > > > I am thinking about going ahead with 1. Please let me know if any other > > > option is possible and whether such a functionality already exists in > > some > > > other class. > > > > > > Thanks. > > > > > > -Bhupesh > > > > > >
