Hi! I'm going to use sqlite as means of the file format I/O for applications. One of the critical points in file I/O is saving the file in a safe way, so that data loss cannot happen (or at least the risk of happening is minimized as much as possible). Traditionally, some applications save their files with a temporary name, so that in the case of system failure you don't lose the old file and the new file at the same time, and then, when the file saving is finished, the old file is deleted, and the temporary one is renamed to replace it.
I have read the backup API page (https://www.sqlite.org/backup.html) that shows how to read a sqlite db from disk to memory, and how to save it back to disk, but it doesn't talk about the topic of performing the save in a safe way. Do you have any recommendation for saving the inmemory db in a safe way? (by "safe" I mean I don't want the to lose both the old db file and the inmemory one --however losing the inmemory db would be reasonable, as it's what obviously happens in a power outage if you didn't save before). Would you do it with the sqlite API, or with the OS system calls? Another scenario of interest would be if the db is really huge and you consider the possibility of not overwriting the whole old file, but just committing the changes, in order to save unnecessary disk writes. The FAQ explains about atomic sqlite writes into the db that also prevent data loss... but... can you do that with an inmemory db? how? Thanks in advance!! ardi _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users