Safe Haskell | None |
---|---|
Language | Haskell2010 |
UpsertTest
Synopsis
- data BackendNullUpdateBehavior
- data BackendUpsertKeyBehavior
- specsWith :: forall backend m. Runner backend m => RunDb backend m -> BackendNullUpdateBehavior -> BackendUpsertKeyBehavior -> Spec
Documentation
data BackendNullUpdateBehavior Source #
MongoDB assumes that a NULL
value in the database is some "empty"
value. So a query that does + 2
to a NULL
value results in 2
. SQL
databases instead "annihilate" with null, so NULL + 2 = NULL
.
Constructors
AssumeNullIsZero | |
Don'tUpdateNull |
data BackendUpsertKeyBehavior Source #
UPSERT
on SQL databses does an "update-or-insert," which preserves
all prior values, including keys. MongoDB does not preserve the
identifier, so the entity key changes on an upsert.
Constructors
UpsertGenerateNewKey | |
UpsertPreserveOldKey |
specsWith :: forall backend m. Runner backend m => RunDb backend m -> BackendNullUpdateBehavior -> BackendUpsertKeyBehavior -> Spec Source #