30.08.2010, 00:00 Uhr
Updates für SQLite
Im August haben die Entwickler der freien und dateibasierten Datenbank einen Fehler beseitig, der unter gewissen Umständen Datenbanken zerschießen kann.
Zufälligerweise haben die SQLite-Autoren einen Fehler entdeckt, der ihrer Vermutung nach schon länger als ein Jahr im Code der Datenbank steckt: Er kann dazu führen, dass die Datenbank die Liste der freien Pages zerstört, wenn incremental_vacuum mehrmals verwendet wird, um die Datenbankgröße zu reduzieren und wenn sehr viele - mehrere hundert - ungenutzer Pages enthalten sind. Es sei zwar unwahrscheinlich, dass dieser Fehler auftrete, so die Autoren, und eine korrumpierte Pages-Liste sei leicht durch den Befehl vacuum wieder herzustellen; doch könne es auch zur Korruption von Daten kommen, deshalb empfehle sich ein Update auf die aktuelle Version 3.7.2.
Darüber hinaus haben sie das Pager-Modul entrümpelt, das nun stabiler sein soll; auch der Algorithmus, der SQL-Statements optimiert, der "query planner", wurde überarbeitet und soll nun die Operatoren LIKE und GLOB effizienter umsetzen.
Neu sind auch experimentelle Methoden, die detaillierte Informationen über den Speicherverbrauch und die Fragmentierung einer Datenbank liefern; die Größe einer Datenbank-Page verdoppelt sich von 32 auf 64 KiB, entsprechend umgestellte Datenbanken sind mit SQLite-Version vor Version 3.7.1 nicht mehr lesbar. [jp]
Darüber hinaus haben sie das Pager-Modul entrümpelt, das nun stabiler sein soll; auch der Algorithmus, der SQL-Statements optimiert, der "query planner", wurde überarbeitet und soll nun die Operatoren LIKE und GLOB effizienter umsetzen.
Neu sind auch experimentelle Methoden, die detaillierte Informationen über den Speicherverbrauch und die Fragmentierung einer Datenbank liefern; die Größe einer Datenbank-Page verdoppelt sich von 32 auf 64 KiB, entsprechend umgestellte Datenbanken sind mit SQLite-Version vor Version 3.7.1 nicht mehr lesbar. [jp]