Issue 55274 - database data (embedded HSQLDB) lost when OOo crashes
Summary: database data (embedded HSQLDB) lost when OOo crashes
Status: CLOSED DUPLICATE of issue 55493
Alias: None
Product: Base
Classification: Application
Component: code (show other issues)
Version: 680m130
Hardware: All All
: P3 Trivial (vote)
Target Milestone: OOo 2.0.1
Assignee: Frank Schönheit
QA Contact: issues@dba
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-30 07:17 UTC by Frank Schönheit
Modified: 2010-11-10 17:20 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
document to reproduce the bug case (4.48 KB, application/vnd.sun.xml.base)
2005-09-30 07:19 UTC, Frank Schönheit
no flags Details
helper document to provoke a crash (7.85 KB, application/vnd.sun.xml.base)
2005-09-30 07:20 UTC, Frank Schönheit
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description Frank Schönheit 2005-09-30 07:17:41 UTC
- open the attached database document
- select "Tables" on the left hand side, and double-click the table "abc"
  to open it for data entry
- enter a new record with arbitrary data
- open the attached crash.odt
- press the button therein, which provokes a crash
=> the recovery mechanism starts, saying that the database file has been
   saved and will be recovered upon next start
- start OOo again
=> the recovery wizard starts, let it recoover the database document
- open the table "abc"
=> the changes made in the previous session are lost

For a *database*, it's expected that as soon as you write your changes, they're
safe - no matter whether OOo crashs, you unplug your machine, or whatever.


Note that there is also another occurance of this issue:
Normally, if the database document is modified when OOo crashes, the bug does
*not* happen. In this case, the recovery mechanisms recognizes the DB doc as
modified (which it normally isn't when you "only" enter data), stores it when
OOo crashs, and properly restores it upon next recovery.
*However*, if OOo crashs, and the recovery wizard fails for whatever reason,
then the DB data is also lost, no matter if the DB doc was modified or not.


When we created the new Base, we decided that there are two kinds of operations
which a user can do
1. pure data operations, like editing/inserting/deleting data from tables
2. "client-side" operations, like modifying forms, modifying the UI layout
   of tables, and the like
Operations from the first category were declared to not modify the document (in
opposite to operations from the second category), exactly it is absolutely not
expectation-conformant if the user has to *save* changes to her data before they
really become committed. Instead, the expectation for a database is that as soon
as you commit your changes to a certain record, the changed data is persistent,
no matter what happens next.
Comment 1 Frank Schönheit 2005-09-30 07:19:56 UTC
Created attachment 30023 [details]
document to reproduce the bug case
Comment 2 Frank Schönheit 2005-09-30 07:20:47 UTC
Created attachment 30024 [details]
helper document to provoke a crash
Comment 3 Frank Schönheit 2005-09-30 07:49:54 UTC
grabbing
Comment 4 Frank Schönheit 2005-10-05 11:13:34 UTC
submitted as issue 55493

*** This issue has been marked as a duplicate of 55493 ***
Comment 5 Frank Schönheit 2005-10-05 11:46:59 UTC
closing duplicate
Comment 6 dismetiner 2010-11-10 17:20:14 UTC
Created attachment 73452