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.

Reply via email to