packages feed

groundhog-mysql 0.4.1 → 0.4.2

raw patch · 2 files changed

+30/−25 lines, 2 filesdep ~groundhog

Dependency ranges changed: groundhog

Files

Database/Groundhog/MySQL.hs view
@@ -55,27 +55,35 @@   backendName _ = "mysql"  instance SqlDb MySQL where-  append a b = Expr $ function "concat" [toExpr a, toExpr b]+  append a b = mkExpr $ function "concat" [toExpr a, toExpr b]+  signum' a = mkExpr $ function "sign" [toExpr a]+  quotRem' x y = (mkExpr $ operator 70 " div " x y, mkExpr $ operator 70 " % " x y)+  equalsOperator a b = a <> "<=>" <> b+  notEqualsOperator a b = "NOT(" <> a <> "<=>" <> b <> ")" +instance FloatingSqlDb MySQL where+  log' a = mkExpr $ function "log" [toExpr a]+  logBase' b x = mkExpr $ function "log" [toExpr b, toExpr x]+ instance (MonadBaseControl IO m, MonadIO m, MonadLogger m) => PersistBackend (DbPersist MySQL m) where   type PhantomDb (DbPersist MySQL m) = MySQL   insert v = insert' v   insert_ v = insert_' v-  insertBy u v = H.insertBy escapeS queryRawTyped' True u v-  insertByAll v = H.insertByAll escapeS queryRawTyped' True v-  replace k v = H.replace escapeS queryRawTyped' executeRaw' insertIntoConstructorTable k v-  replaceBy k v = H.replaceBy escapeS executeRaw' k v-  select options = H.select escapeS queryRawTyped' noLimit renderCond' options-  selectAll = H.selectAll escapeS queryRawTyped'-  get k = H.get escapeS queryRawTyped' k-  getBy k = H.getBy escapeS queryRawTyped' k-  update upds cond = H.update escapeS executeRaw' renderCond' upds cond-  delete cond = H.delete escapeS executeRaw' renderCond' cond-  deleteBy k = H.deleteBy escapeS executeRaw' k-  deleteAll v = H.deleteAll escapeS executeRaw' v-  count cond = H.count escapeS queryRawTyped' renderCond' cond-  countAll fakeV = H.countAll escapeS queryRawTyped' fakeV-  project p options = H.project escapeS queryRawTyped' noLimit renderCond' p options+  insertBy u v = H.insertBy renderConfig queryRaw' True u v+  insertByAll v = H.insertByAll renderConfig queryRaw' True v+  replace k v = H.replace renderConfig queryRaw' executeRaw' insertIntoConstructorTable k v+  replaceBy k v = H.replaceBy renderConfig executeRaw' k v+  select options = H.select renderConfig queryRaw' noLimit options+  selectAll = H.selectAll renderConfig queryRaw'+  get k = H.get renderConfig queryRaw' k+  getBy k = H.getBy renderConfig queryRaw' k+  update upds cond = H.update renderConfig executeRaw' upds cond+  delete cond = H.delete renderConfig executeRaw' cond+  deleteBy k = H.deleteBy renderConfig executeRaw' k+  deleteAll v = H.deleteAll renderConfig executeRaw' v+  count cond = H.count renderConfig queryRaw' cond+  countAll fakeV = H.countAll renderConfig queryRaw' fakeV+  project p options = H.project renderConfig queryRaw' noLimit p options   migrate fakeV = migrate' fakeV    executeRaw _ query ps = executeRaw' (fromString query) ps@@ -243,10 +251,10 @@     _ <- MySQL.execute conn stmt (map P vals)     return () -renderCond' :: Cond MySQL r -> Maybe (RenderS MySQL r)-renderCond' = renderCond escapeS renderEquals renderNotEquals where-  renderEquals a b = a <> "<=>" <> b-  renderNotEquals a b = "NOT(" <> a <> "<=>" <> b <> ")"+renderConfig :: RenderConfig+renderConfig = RenderConfig {+    esc = escapeS+}  escapeS :: Utf8 -> Utf8 escapeS a = let q = fromChar '`' in q <> a <> q@@ -547,9 +555,6 @@    getStatement :: Utf8 -> MySQL.Query getStatement sql = MySQL.Query $ fromUtf8 sql--queryRawTyped' :: (MonadBaseControl IO m, MonadIO m, MonadLogger m) => Utf8 -> [DbType] -> [PersistValue] -> (RowPopper (DbPersist MySQL m) -> DbPersist MySQL m a) -> DbPersist MySQL m a-queryRawTyped' query _ vals f = queryRaw' query vals f  queryRaw' :: (MonadBaseControl IO m, MonadIO m, MonadLogger m) => Utf8 -> [PersistValue] -> (RowPopper (DbPersist MySQL m) -> DbPersist MySQL m a) -> DbPersist MySQL m a queryRaw' query vals func = do
groundhog-mysql.cabal view
@@ -1,5 +1,5 @@ name:            groundhog-mysql-version:         0.4.1+version:         0.4.2 license:         BSD3 license-file:    LICENSE author:          Boris Lykah <lykahb@gmail.com>@@ -17,7 +17,7 @@                    , mysql                   >= 0.1.1.3   && < 0.2                    , bytestring              >= 0.9                    , transformers            >= 0.2.1-                   , groundhog               >= 0.4.1     && < 0.5.0+                   , groundhog               >= 0.4.2     && < 0.5.0                    , monad-control           >= 0.3                    , monad-logger            >= 0.3                    , containers              >= 0.2