https://bugs.documentfoundation.org/show_bug.cgi?id=156512
Bug ID: 156512
Summary: Base don't refresh inserted row when using an
updatable XResultSet
Product: LibreOffice
Version: 5.0.0.5 release
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: Base
Assignee: [email protected]
Reporter: [email protected]
Description:
If Base has access to updatable XResultSet
(com.sun.star.sdbcx.ResultSet.isBookmarkable is set to true) when you insert a
new row you must use the menu: Data -> Refresh to view the new inserted row.
Steps to Reproduce:
1. Install jdbcDriverOOo extension (https://prrvchr.github.io/jdbcDriverOOo/)
2. Install HsqlDriverOOo extension (https://prrvchr.github.io/HsqlDriverOOo/)
3. Create a new HsqlDB embedded database and open the database for editing
(https://prrvchr.github.io/HsqlDriverOOo/#how-to-create-a-new-database)
4. Create new table with an INTEGER autoincrement Column as primary key and an
VARCHAR column
5. Edit the content of this new table and insert a new row.
Actual Results:
If Base uses bookmarks (updatable ResultSet) then it is necessary to use the
menu: Data -> Refresh to see the content of the row that has just been
inserted.
Expected Results:
If you prohibit the use of bookmarks to Base (Tools -> Options -> Base drivers
-> JDBC Driver -> UNO drivers settings -> Use bookmarks is unchecked) then the
refresh of the insertions is done correctly
Reproducible: Always
User Profile Reset: No
Additional Info:
It appears that when opening a table for displaying the content, Base performs
the following actions:
- It call the com.sun.star.sdbc.XResultSetUpdate.moveToInsertRow() interface.
- It call the com.sun.star.sdbcx.XRowLocate.getBookmark() interface for each
row of the ResultSet.
I understand the need to cache bookmarks but can't find an explanation for the
moveToInsertRow() method call.
--
You are receiving this mail because:
You are the assignee for the bug.