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

DatabaseMetaData.getBestRowIdentifier handling of 'scope' is wrong [JDBC496] #534

Closed
firebird-automations opened this issue May 28, 2017 · 6 comments

Comments

@firebird-automations
Copy link

Submitted by: @mrotteveel

Currently, the implementation will use the provided scope as the scope of the returned row(s), instead of using it as a filtering condition.

Note that the JDBC apidoc is a bit unclear on how the scope-parameter should be used, but returning the rows with at least the provided scope (or broader) would be a good start.

Commits: 6418236

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

Fix Version: Jaybird 3.0.1 [ 10831 ]

Fix Version: Jaybird 3.1 [ 10441 ]

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

Version: Jaybird 2.2.13 [ 10805 ]

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

Fix Version: Jaybird 3.0.1 [ 10831 ] =>

@firebird-automations
Copy link
Author

Commented by: @mrotteveel

The functionality seems to be derived from ODBC, where the expectation is indeed that the bestRowTemporary also considers the wider scopes of transaction and session, and bestRowTransaction also considers session.

Fixed implementation, reduced scope for RDB$DB_KEY to transaction in line with getRowIdLifeTime() (although the code itself is prepared for getRowIdLifeTime to also support ROWID_VALID_SESSION)

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

status: Resolved [ 5 ] => Closed [ 6 ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment