I've got an application that has Berkeley DB embedded in it. I want to replace Berkeley DB with SQLite. (I plan to use the 3.5.4 almagamation, which is the latest I could find.) The thing is, this application uses threads. I know threads are evil, but this application uses them, and there it is. So, I wanted to understand what I had to do to be safe.
As I understand it, Berkeley DB has free-threaded database handles, so my application can open a Berkeley DB database connection and have all of its thread use that same connection. But SQLite doesn't allow this, so I'm going to have to change things. In theory, I could just open and close a new connection whenever I want to access the database. How much a performance hit is that? <http://sqlite.org/faq.html> tells me that I can move a connection handle across threads as long as that connection is holding no fcntl() locks, and that this is due to fcntl() bugs on some OSes, like RedHat9. But what if I'm running on an OS that doesn't have these bugs -- do I have to worry about moving a connection handle across threads? And how can I tell if my OS has these bugs? ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------