sqlite3 unter MacOS schließt die Datenbank nicht komplett ab

ObiTobi

Aktives Mitglied
Thread Starter
Registriert
05.11.2009
Beiträge
1.871
Reaktionspunkte
202
Moin,

ist das jetzt eine neue "Spezialität" unter MacOS, dass nach dem man die Verbindung nach allen Änderungen die man vornehmen wollte mit ".quit" beendet, die Journal Dateien *.shm und *-wal bestehen bleiben? SO ein verhalten zeigt kein anderes OS was ich in Benutzung habe. Gibt e unter Mac einen Trick, außer auf Journal zu verzichten, dass alles in die Datenbankdatei zurückgeschrieben wird?
 
ctrl + d oder .exit

… oder wo meinst du?
 
na ja ich öffne meine Datenbank
Code:
sqlite3 datenbankName
select * from Tabelle;
update Tabelle set spalte = replace (spalte, 'Wert1','Wert2') where spalte like 'Wert1';
vacuum;
.quit

An sich nichts besonderes, nur dann bleiben die o.g *-wal und *-shm Journal Dateien, was bedeutet, dass die Verbindungen nicht komplett geschlossen worden sind.Die Datenbank kopiert nach Linux oder FreeBSD oder auch Windows, gleiche Befehle und es bleiben dann keine Journal Dateien.
 
Für .quit gilt laut sqlite.org Folgendes:

.quit Stop interpreting input stream, exit if primary.
 
Was nichts schlechtes bedeutet. Es spielt auch keine Rolle ob ich mit .quit oder .exit rausgehe, Journals bleiben da.

[EDIT]
Scheint wirklich ein MacOS spezifisches Problem zu sein. Mal gucken ob ich es neu kompiliert bekomme
[/EDIT]
 
sqlite3 kompiliert und schon verhält sich es auch so wie erwartet.
(Ob es ein BUG in der 3.43 oder des Compilers von Apple K.A, ab 3.31 sollte es nicht mehr auftreten, tat es aber)
 
sqlite3 kompiliert und schon verhält sich es auch so wie erwartet.
(Ob es ein BUG in der 3.43 oder des Compilers von Apple K.A, ab 3.31 sollte es nicht mehr auftreten, tat es aber)
vermutlich ist es wie bei rsync oder anderen tools, das diese von apple noch apple spezifischen anpassungen erhalten haben.
 
Zurück
Oben Unten