Thanx The main reason for file locking is to support win95/98/ME???... I do have a server process running and have embedded sqlite to be used by individual threads that may be started. All writes currently go to one writer thread and this seems to work fine. The application we have developed basically creates a virtual xml storage using SQLite as the backing store. When documents are small, transactions do not slow concurrency that much but once in a while we may import a large document or update many small documents at once, we have noticed a large decrease in concurrency as all reader threads are blocked until the write thread that is in a transaction completes. One way we have gotten around this is to implement multiple collections of documents with each collection stored in one database. Implementing each virtual document as a single file/db is out of the question as we have thousands of documents stored already in each collection. All the other features in SQLite are too good for me to abandon just for lack of higher concurrency. Since I have read a lot of suggestions to improve concurrency for ver 3.0, can you tell me what will be changed if anything in version 3.0 as regards increased concurrency???
-----Original Message----- From: D. Richard Hipp [mailto:[EMAIL PROTECTED] Sent: Thursday, May 06, 2004 12:23 PM To: [EMAIL PROTECTED] Subject: Re: [sqlite] vers 3.0 concurrency issues Thomas, Basil wrote: > I am no technical expert but...could not page locking at least be implemented > by the pager module to increase concurrency(very naive...but better than file > locking). > Page-level locking will not help. For one thing, we cannot do both page-level locking and reader/writer locks on win95/98/ME. Presumably, reader/writer locks are more desirable than page locks and we are not yet ready to abandon win95/98/ME. (You can do both on unix and winNT/2K/XP.) But more importantly, locking is less than half the problem. The hard part is not locking but recovering from a program crash or OS crash or power failure. If we didn't have to deal with crashes and power failures, doing page-level or row-level locking would be (relatively) easy. In version 3.0, you will be able to ATTACH multiple databases and update them all at once (and atomicially). Then if you put each of your tables in a separate database file and ATTACH them as needed, the end result will be something very like table-level locking. Without a central server process to coordinate things, getting any more concurrency than that is not a viable option, as far as I can determine. -- D. Richard Hipp -- [EMAIL PROTECTED] -- 704.948.4565 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ------------------------------------------------------------ This e-mail may be privileged and/or confidential, and the sender does not waive any related rights and obligations. Any distribution, use or copying of this e-mail or the information it contains by other than an intended recipient is unauthorized. If you received this e-mail in error, please advise me (by return e-mail or otherwise) immediately. Ce courrier électronique est confidentiel et protégé. L'expéditeur ne renonce pas aux droits et obligations qui s'y rapportent. Toute diffusion, utilisation ou copie de ce message ou des renseignements qu'il contient par une personne autre que le (les) destinataire(s) désigné(s) est interdite. Si vous recevez ce courrier électronique par erreur, veuillez m'en aviser immédiatement, par retour de courrier électronique ou par un autre moyen. ============================================================