ich habe in meiner mAirListDB testweise den Inhalt eines Speicherordners hinzugefügt und die gefundenen Audioelemente dann alle wieder über den DB-Editor gelöscht. In mAirList wird auch keines der Elemente mehr im DB-Browser angezeigt. Öffne ich allerdings die .db-Datei, so sind darin immer noch Titel und Interpret sowie weitere Informationen der gelöschten Titel enthalten.
Besteht dadurch nicht die Gefahr, dass die Datei mit der Zeit viel zu groß wird, wenn viel hinzugefügt und gelöscht wird? Müssten die Einträge nicht eigentlich völlig aus der Datei verschwinden?
Gelöschte Elemente werden zunächst in Dummys umgewandelt, und - mit einer Markierung “gelöscht” - wieder gespeichert. Der Sinn ist, dass man sich Playlist aus der Vergangenheit nicht zerschießt, auch wenn die betreffenden Dateien inzwischen entfernt wurden. So kann man zumindest noch Titel und Interpret sehen.
Es wird noch eine Wartungs-Funktion geben, die diese Elemente endgültig löscht.
Ahso, weil gerade im Zuge des radioDB-Titel-Imports habe ich folgende Erfahrung gemacht: Die ganzen Elemente, die ich im Zuge des ersten Imports (noch ohne ID3-Attribute) eingefügt hatte, habe ich von Hand wieder aus der DB gelöscht (um mir den neu einrichten Schritt zu sparen). Größe der DB vor dem Löschen 1,12 MB. Größe danach: auch 1,12 MB. Also scheint ja doch noch etwas von gelöschten Elementen zurück zu bleiben, oder?
Wahrscheinlich gibt SQLite den Speicherplatz nicht sofort frei sondern bewahrt ihn für neue Elemente auf. Das steigert die Performance, weil nicht dauernd umkopiert werden muss, wenn man was am “Anfang” der Datenbank löscht.
Wenn du gucken willst, ob was übrig geblieben ist, musst du dir die sqlite3.exe besorgen und einen Dump machen.