John Jason Jordan wrote:
Conclusion: Base is not saving
changes to a table until some event happens. While it saved me a lot of
work this time, this is new to me and I need to understand how Base
works here. Previously with Access, and recently with Kexi, when you
change a record the change is written to disk the minute you move off
the record. Evidently Base doesn't do things that way. At what point
does Base write changes to disk? Should I save periodically as I do
when working on a Writer document?

Hi John,

When Base is using the HSQLdb embedded datatbase engine then the data is not written to disk with each commit to the tables.

The full database is open in memory. The reason for this has nothing really to do with HSQLdb ( although the fact that the engine uses multiple files is a factor ), but rather with the decision to use a compressed file format for the Base odb file. There are a number of triggering events that flush the tables from memory to disk - any time the file is actually 'saved' - for instance when you add a form, a query a report or delete any of these the modified flag makes the the file save menu active, if you save the file then the tables are flushed. There are also, AFAIK, some additional internal events that will cause the data in the tables to be flushed to disk but I can not enumerate those for you.

One trick that I have picked up - well not much of a trick really but - you will notice that when you insert of edit records the 'File modified' flag is not set. In other words the Save many is not active, nor is the File Save toolbar button - but the File Save as menu is always available. I have found that if you just use Save as and save right over top of the file - it defaults to the open file name anyway and when it asks if you want to overwrite say yes - works quite nicely to force a flush of the data to disk and you just keep on going.

Drew





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to