Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-898FF7CE-969C-5FE1-9346-34BCBE637A57" xml:lang="en"><title>Data
safety and recovery</title><shortdesc>Databases are very robust and will survive crashes in most situations.
This document talks about the situations where data corruption or database
integrity could be compromised.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>A robust stream structure is used to manage row data within a database.
A database can rely on the permanent file store's update integrity and that
the database will survive a crash in most situations. This excludes the case
where the file itself is corrupted. Such an aborted access causes a rollback
on the database when it is next opened, all committed data is immediately
available, though indexes may have been damaged as for a controlled rollback.</p>
<p>The database reports damage if it considers that it may have damaged indexes.
When this is the case the database can still be used, but attempting to use
any damaged index results in an error. Damaged indexes can be fully restored
by recovering the database.</p>
<p>Compacting the store which contains the database also guarantees no data
loss.</p>
<p>The store used by the database must not be committed or reverted while
the database is inside a transaction. This can lead to loss of structural
integrity within the database. Such damage is not repairable by DBMS. </p>
<p>The database streams cannot be corrupted by any action of DBMS itself,
but misuse of the store, the file or damage to the file system resulting in
such corruption may be detected by the database and reported as an error.
DBMS cannot repair such damage to a database.</p>
</conbody></concept>