Skip to content

jdbc: Batch command execution #62

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Totktonada opened this issue Nov 1, 2018 · 2 comments · Fixed by #203
Closed

jdbc: Batch command execution #62

Totktonada opened this issue Nov 1, 2018 · 2 comments · Fixed by #203
Assignees
Milestone

Comments

@Totktonada
Copy link
Member

Totktonada commented Nov 1, 2018

It is required by the JDBC standard.

Should be supported in Statement and PreparedStatement.

@Totktonada
Copy link
Member Author

In the scope of MVP we should emulate batching. When tarantool will support this natively, we'll update the connector to support both cases depending of a protocol version.

@Totktonada
Copy link
Member Author

Totktonada commented Apr 12, 2019

After talk with @kostja on that:

The right way to implement this is to use pipelining: just send requests asynchronously and use sync (request id) to dispatch responses. In case of memtx storage engine the requests will be executed in the order of sending. There is no such guarantee in case of vinyl, but maybe we should just mention this as the implementation limitation for now.

It seems we should provide a way to 'upgrade' TarantoolConnection to TarantoolClientImpl to use asynchronous operations and reuse an open socket.

nicktorwald added a commit that referenced this issue Jul 5, 2019
Add support for JDBC batch updates. It includes an implementation of
Statement.*Batch(...) as well as PreparedStatement.*Batch() methods.

Under the hood SQLConnection uses the pipelining sending requests one by
one asynchronously and awaiting all of them. There are some issues
regarding vinyl storage engine where execution order are not specified
and DDL statements which are not transactional.

Closes: #62
nicktorwald added a commit that referenced this issue Jul 6, 2019
Add support for JDBC batch updates. It includes an implementation of
Statement.*Batch(...) as well as PreparedStatement.*Batch() methods.

Under the hood SQLConnection uses the pipelining sending requests one by
one asynchronously and awaiting all of them. There are some issues
regarding vinyl storage engine where execution order are not specified
and DDL statements which are not transactional.

Closes: #62
@nicktorwald nicktorwald self-assigned this Jul 16, 2019
nicktorwald added a commit that referenced this issue Aug 7, 2019
Add support for JDBC batch updates. It includes an implementation of
Statement.*Batch(...) as well as PreparedStatement.*Batch() methods.

Under the hood SQLConnection uses the pipelining sending requests one by
one asynchronously and awaiting all of them. There are some issues
regarding vinyl storage engine where execution order are not specified
and DDL statements which are not transactional.

Closes: #62
nicktorwald added a commit that referenced this issue Aug 7, 2019
Add support for JDBC batch updates. It includes an implementation of
Statement.*Batch(...) as well as PreparedStatement.*Batch() methods.

Under the hood SQLConnection uses the pipelining sending requests one by
one asynchronously and awaiting all of them. There are some issues
regarding vinyl storage engine where execution order are not specified
and DDL statements which are not transactional.

Closes: #62
nicktorwald added a commit that referenced this issue Aug 7, 2019
Add support for JDBC batch updates. It includes an implementation of
Statement.*Batch(...) as well as PreparedStatement.*Batch() methods.

Under the hood SQLConnection uses the pipelining sending requests one by
one asynchronously and awaiting all of them. There are some issues
regarding vinyl storage engine where execution order are not specified
and DDL statements which are not transactional.

Closes: #62
nicktorwald added a commit that referenced this issue Aug 14, 2019
Add support for JDBC batch updates. It includes an implementation of
Statement.*Batch(...) as well as PreparedStatement.*Batch() methods.

Under the hood SQLConnection uses the pipelining sending requests one by
one asynchronously and awaiting all of them. There are some issues
regarding vinyl storage engine where execution order are not specified
and DDL statements which are not transactional.

Closes: #62
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants