I'm not sure about updates, but can tell about how selects are implemented
there. Basically, there is an option to execute the query on a particular
node specified by ignite.jdbc.nodeId property. Not sure why we need this
though, probably it's just leftover from the legacy version of the driver
based on thin client.

If the property is set, the callable is sent to a remote node. But if it is
not, the same callable is created, but it is invoked directly on the
embedded client which is the behavior that you expect. And it's the default
one.

-Val

On Fri, Dec 16, 2016 at 7:51 PM, Denis Magda <dma...@apache.org> wrote:

> Frankly speaking, even single (non batched) updates or queries are sent as
> callables. This is what I see in the code.
> No idea what was the reason behind this design.
>
> Andrey G., Alex P. could you shed a light on this?
>
> —
> Denis
>
> > On Dec 16, 2016, at 3:08 PM, Dmitriy Setrakyan <dsetrak...@apache.org>
> wrote:
> >
> > To my understanding, we are implementing JDBC batches by sending a
> callable
> > to another node. If we already have a client node on the JDBC driver
> side,
> > why not just issue a putAll(...) call from the client?
> >
> > D.
> >
> > On Fri, Dec 16, 2016 at 3:02 PM, Denis Magda <dma...@apache.org> wrote:
> >
> >> Dmitriy,
> >>
> >> JDBC drivers spawns an Ignite client node and uses it for cluster
> >> connectivity and queries execution. Queries issued over the JDBC are
> turned
> >> into SqlFieldsQueries and sent to the cluster in this form.
> >>
> >> ODBC driver works in a bit different way. It connects to the cluster via
> >> ODBC processor that needs to be running on one of the nodes:
> >> https://apacheignite.readme.io/docs/odbc-driver#cluster-configuration <
> >> https://apacheignite.readme.io/docs/odbc-driver#cluster-configuration>
> >>
> >> —
> >> Denis
> >>
> >>> On Dec 16, 2016, at 2:41 PM, Dmitriy Setrakyan <dsetrak...@apache.org>
> >> wrote:
> >>>
> >>> Igniters,
> >>>
> >>> Can someone explain to me how Ignite executes SQL from JDBC and ODBC
> >>> drivers? Do we start an Ignite client node on the driver side? Or do we
> >> use
> >>> some other protocol to send commands to one of the Ignite nodes?
> >>>
> >>> Thanks,
> >>> D.
> >>
> >>
>
>

Reply via email to