The operators are under Malhar/lib/db/jdbc.

Here is one of them:
https://github.com/apache/incubator-apex-malhar/blob/devel-3/library/src/main/java/com/datatorrent/lib/db/jdbc/AbstractJdbcTransactionableOutputOperator.java

They work with any kind PreparedStatement - insert or update

Chandni



On Fri, Dec 11, 2015 at 10:59 AM, Bhupesh Chawda <[email protected]>
wrote:

> 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
> > > >
> > >
> >
>

Reply via email to