Skip to content
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

jdbc: Support a query cancelling #155

Open
nicktorwald opened this issue Apr 9, 2019 · 5 comments
Open

jdbc: Support a query cancelling #155

nicktorwald opened this issue Apr 9, 2019 · 5 comments
Labels

Comments

@nicktorwald
Copy link

nicktorwald commented Apr 9, 2019

This issue includes common support for query timeout as well as cancelling ones (manually or by time expiration).
Some related methods which depend on this issue are
Statement.setQueryTimeout;
Statement.cancel;
Statement.close;
Conection.abort (see #71);
Conection.close;
Conection.isValid (see #75);

nicktorwald added a commit that referenced this issue Apr 9, 2019
Add ping request to the DB using 'SELECT 1' expression. Timeout requires
the implementation of at least Statement.setQueryTimeout and
Statement.cancel.

Closes: #75
Depends on: #155
nicktorwald added a commit that referenced this issue Apr 17, 2019
The current implementation lacks of timeout support because it would
require at least Statement.setQueryTimeout() and Statement.cancel().
This will be implemented in the scope of #155.

Closes: #75
nicktorwald added a commit that referenced this issue Apr 17, 2019
The current implementation lacks of timeout support because it would
require at least Statement.setQueryTimeout() and Statement.cancel().
This will be implemented in the scope of #155.

Closes: #75
nicktorwald added a commit that referenced this issue Apr 30, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add base support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue Apr 30, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add base support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 2, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 2, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 4, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 5, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 8, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 14, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 15, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 15, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 17, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 19, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
@Totktonada
Copy link
Member

AFAIU this feature is optional according to the standard?

@nicktorwald
Copy link
Author

Looks mandatory... Could you point where you met this info? I couldn't find anything about it.
By the way, it's done in #172.

@Totktonada
Copy link
Member

JDBC 4.2 spec says (section 6.3 'JDBC 4.2 API Compliance'):

It must implement the Statement interface with the exception of the following optional methods:

  • cancel
  • <...>

I don't have objections about having the feature implemented, especially if it looks useful and even already implemented.

@Totktonada Totktonada added this to the JDBC MVP milestone May 20, 2019
@Totktonada
Copy link
Member

setQueryTimeout is not in this list, you are right. Set MVP milestone.

nicktorwald added a commit that referenced this issue May 20, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 20, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 20, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 20, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 21, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
nicktorwald added a commit that referenced this issue May 21, 2019
Replace obsolete TarantoolConnection with TarantoolClient to have an
ability to perform async operations.

Update SQLDriver URL parameters. Add init and operation timeouts.
Remove socket timeout and replace socket provider with socket channel
provider options (according to TarantoolConnection-to-TarantoolClient
transfer written above).

Add operation timeout capability to TarantoolClientImpl. It also affects
the cluster client which no more needs its own expirable operations.

Add basic support for SQLStatement (setQueryTimeout) to execute requests
with timeout using new TarantoolClient operation timeout.

Remove deprecated JDBCBridge. SQLConnection accepted the responsibility
for producing raw SQL results.

Update README doc with respect to JDBC driver options changes.

Closes: #163
Follows on: #75, #155
@Totktonada
Copy link
Member

Done:

Remaining:

  • Statement.cancel() is not implemented (and is optional).
  • Connection.abort() is not implemented (and seems to be mandatory).

The latter is tracked in #71. Let's track only Statement.cancel() here. It is the optional feature, so I'll change the milestone for this issue.

@Totktonada Totktonada removed this from the JDBC MVP milestone Oct 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants