[Libreoffice-bugs] [Bug 53473] New: Embedded HSQLDB calls flush (CHECKPOINT) too often
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Tue Aug 14 05:43:56 CEST 2012
https://bugs.freedesktop.org/show_bug.cgi?id=53473
Bug #: 53473
Summary: Embedded HSQLDB calls flush (CHECKPOINT) too often
Classification: Unclassified
Product: LibreOffice
Version: unspecified
Platform: All
OS/Version: All
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: Database
AssignedTo: libreoffice-bugs at lists.freedesktop.org
ReportedBy: lionel at mamane.lu
CC: fredt at users.sourceforge.net
Originally reported by Fred Toussi as an aside in bug 53333:
> I tested with AOO as I was upgrading from OOo
> 3.2 on Windows.
> While testing with a simple embedded database and AOO, I noticed the CHECKPOINT
> statement is being sent to the embedded database after each SELECT statement
> (these are issued internally while browsing table contents). This should not
> happen. A CHECKPOINT uses significant resources and rewrites the .script and
> .backup files even if the data has not changed at all.
This needs to be checked if it happens also with LibreOffice. It probably does.
It probably comes from the "fix" to
https://issues.apache.org/ooo/show_bug.cgi?id=55493.
According to my grepping in the sources, CHECKPOINT is called from the HSQLDB
driver's connection::flush(); this in turn is called from:
dbaccess/source/ui/browser/unodatbr.cxx:
SbaTableQueryBrowser::impl_releaseConnection()
dbaccess/source/ui/app/AppController.cxx: OApplicationController::disconnect
This "temporary hack" became permanent :-|
What to do about it without reintroducing i#55493, I'm not sure. Maybe save an
HSQLDB .log file that will be replayed at the next open of this file? Try to
"guess" if each query was a pure data selection or also a modification and
commit the storage (and checkpoint) only if there was a modification? I'm
unsure how much it will help anyway, since we have to save it inside a ZIP file
anyway, which takes O(n), with n=total size of data, for each write (!).
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the Libreoffice-bugs
mailing list