packages feed

persistent-sql-lifted 0.4.3.1 → 0.4.4.0

raw patch · 4 files changed

+33/−4 lines, 4 files

Files

CHANGELOG.md view
@@ -1,4 +1,8 @@-## [_Unreleased_](https://github.com/freckle/persistent-sql-lifted/compare/persistent-sql-lifted-v0.4.3.1...main)+## [_Unreleased_](https://github.com/freckle/persistent-sql-lifted/compare/persistent-sql-lifted-v0.4.4.0...main)++## [v0.4.4.0](https://github.com/freckle/persistent-sql-lifted/compare/persistent-sql-lifted-v0.4.3.1...persistent-sql-lifted-v0.4.4.0)++Add `selectCount` and `selectExists`  ## [v0.4.3.1](https://github.com/freckle/persistent-sql-lifted/compare/persistent-sql-lifted-v0.4.3.0...persistent-sql-lifted-v0.4.3.1) 
library/Database/Persist/Sql/Lifted.hs view
@@ -38,6 +38,8 @@   , selectList      -- * Selecting counts/existence+  , selectCount+  , selectExists   , count   , exists   , existsBy@@ -115,12 +117,21 @@ #if MIN_VERSION_base(4,17,0) import Data.Type.Equality (type (~)) #endif-import Data.Functor ((<$>))+import Prelude (Integral)++import Control.Applicative (pure)+import Data.Bool (Bool (..))+import Data.Function (($))+import Data.Functor (($>), (<$>))+import Data.Maybe (maybe)+import Database.Esqueleto.Experimental (PersistField, Value (..), countRows) import Database.Persist (Key, PersistEntity (PersistEntityBackend), Update) import Database.Persist.Sql.Lifted.Core import Database.Persist.Sql.Lifted.Esqueleto+import Database.Persist.Sql.Lifted.Expression qualified as SqlExpr import Database.Persist.Sql.Lifted.Persistent hiding (delete, update) import Database.Persist.Sql.Lifted.Persistent qualified as Persistent+import Database.Persist.Sql.Lifted.Query (SqlQuery) import Database.Persist.Types (Entity (..)) import GHC.Stack (HasCallStack) @@ -151,3 +162,17 @@   -> [Update a]   -> m (Entity a) updateGetEntity k us = Entity k <$> updateGet k us++-- | Get only the number of rows that a 'SqlQuery' would select+selectCount+  :: forall a m+   . (HasCallStack, Integral a, MonadSqlBackend m, PersistField a)+  => SqlQuery ()+  -> m a+selectCount q =+  maybe 0 unValue <$> selectOne (q $> countRows)++-- | Get whether a 'SqlQuery' would select anything+selectExists+  :: forall m. (HasCallStack, MonadSqlBackend m) => SqlQuery () -> m Bool+selectExists q = maybe False unValue <$> selectOne (pure $ SqlExpr.exists q)
package.yaml view
@@ -1,5 +1,5 @@ name: persistent-sql-lifted-version: 0.4.3.1+version: 0.4.4.0  maintainer: Freckle Education category: Database
persistent-sql-lifted.cabal view
@@ -1,6 +1,6 @@ cabal-version:      1.18 name:               persistent-sql-lifted-version:            0.4.3.1+version:            0.4.4.0 license:            MIT license-file:       LICENSE maintainer:         Freckle Education