-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 01/03/13 04:24, Dave McKee wrote: > What else isn't losslessly maintained in a dump -> load cycle?
Various database settings and any strings with nuls in them. Also the sqlite shell expects to be loaded into a clean database. For example it doesn't delete existing tables of the same name, and it unilaterally deletes the contents of sqlite_sequence. These are mostly convenience issues rather than data loss, but attention should be paid at restore time. I made a dump of the same database using the SQLite shell and using the APSW shell (I'm the author). The only actual data loss is SQLite shell ignoring strings after the first nul. https://gist.github.com/rogerbinns/5064697 You'll note the APSW shell puts a lot of extra information in there that would be relevant if you were doing a restore. Something else the SQLite shell does is deal with corrupt databases. The last time I looked at the code, if it encountered an error iterating over a table, then it would try again iterating backwards. I don't remember what it did with respect to errors if only part of the data could be iterated over. TLDR: good question and there are a *lot* of issues under the surface depending on how you intend to do the restore and what things matter to your code Roger -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iEYEARECAAYFAlEwsFoACgkQmOOfHg372QSsTQCffwvaQFk1c/XAhZHJpPxCHflE 2PUAn1Rp0MVHtsUbNjbkEdYEBwf0omFc =j1SZ -----END PGP SIGNATURE----- _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users