improve sqlite MultiWriter handling of read after write
This removes a messy caveat that was easy to forget and caused at least one bug. The price paid is that, after a write to a MultiWriter db, it has to close the db connection that it had been using to read, and open a new connection. So it might be a little bit slower. But, writes are usually batched together, so there's often only a single write, and so there should not be much of a slowdown. Notice that SingleWriter already closed the db connection after a write, so paid the same overhead. This is the second try at fixing a bug: git-annex get when run as the first git-annex command in a new repo did not populate all unlocked files. (Reversion in version 8.20210621) Sponsored-by: Boyd Stephen Smith Jr. on Patreon
This commit is contained in:
parent
ade67b78c5
commit
f4bdecc4ec
4 changed files with 54 additions and 19 deletions
|
@ -64,9 +64,6 @@ flushDbQueue (DQ hdl qvar) = do
|
|||
-
|
||||
- Queries will not see changes that have been recently queued,
|
||||
- so use with care.
|
||||
-
|
||||
- Also, when the database was opened in MultiWriter mode,
|
||||
- queries may not see changes even after flushDbQueue.
|
||||
-}
|
||||
queryDbQueue :: DbQueue -> SqlPersistM a -> IO a
|
||||
queryDbQueue (DQ hdl _) = queryDb hdl
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue