eliminate single/multi writer distinction
After commit f4bdecc4ec
, there is no
longer any distinction between SingleWriter and MultiWriter's handling
of read after write.
Databases that were SingleWriter still have lock files that are used to
prevent multiple writers.
This does make writing to such databases a bit more expensive,
because the MultiWriter code path that is now used opens a second db
connection in order to write to them.
This commit is contained in:
parent
c47794991c
commit
f5b642318d
7 changed files with 21 additions and 49 deletions
|
@ -9,7 +9,6 @@
|
|||
|
||||
module Database.Queue (
|
||||
DbQueue,
|
||||
DbConcurrency(..),
|
||||
openDbQueue,
|
||||
queryDbQueue,
|
||||
closeDbQueue,
|
||||
|
@ -37,9 +36,9 @@ data DbQueue = DQ DbHandle (MVar Queue)
|
|||
{- Opens the database queue, but does not perform any migrations. Only use
|
||||
- if the database is known to exist and have the right tables; ie after
|
||||
- running initDb. -}
|
||||
openDbQueue :: DbConcurrency -> RawFilePath -> TableName -> IO DbQueue
|
||||
openDbQueue dbconcurrency db tablename = DQ
|
||||
<$> openDb dbconcurrency db tablename
|
||||
openDbQueue :: RawFilePath -> TableName -> IO DbQueue
|
||||
openDbQueue db tablename = DQ
|
||||
<$> openDb db tablename
|
||||
<*> (newMVar =<< emptyQueue)
|
||||
|
||||
{- This or flushDbQueue must be called, eg at program exit to ensure
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue