packages feed

typedquery 0.1.0.3 → 0.1.1

raw patch · 3 files changed

+42/−20 lines, 3 files

Files

src/Database/TypedQuery/SQLParser.hs view
@@ -22,7 +22,14 @@ --import Control.Arrow (first)  import Control.Monad -- (void, foldM_)-import Data.Monoid (Monoid (..))++#if !(MIN_VERSION_base(4,8,0))+import Data.Monoid (Monoid(..))+#endif+#if !(MIN_VERSION_base(4,11,0))+import Data.Semigroup (Semigroup(..))+#endif+ import qualified Language.Haskell.TH.Syntax as TH  import Data.Maybe@@ -149,10 +156,12 @@ addJISU :: String -> WParser () addJISU s  = addW $ mempty   { inTypeV = [TAInSupply s]} +instance Semigroup SQLWriter where+  SQLWriter a1 a2 a3 a4 a5 <> SQLWriter b1 b2 b3 b4 b5+        = SQLWriter (mappend a1 b1) (mappend a2 b2) (mappend a3 b3) (mappend a4 b4) (mappend a5 b5)+ instance Monoid SQLWriter where   mempty = SQLWriter mempty mempty mempty mempty mempty-  SQLWriter a1 a2 a3 a4 a5 `mappend` SQLWriter b1 b2 b3 b4 b5-        = SQLWriter (mappend a1 b1) (mappend a2 b2) (mappend a3 b3) (mappend a4 b4) (mappend a5 b5)  typedSQLtoSQL :: String -> Maybe (String, [Text], [TypeAction], [TypeAction], [TypeAction]) -- ^ takes some annotates string and gives its parsed representation@@ -578,6 +587,9 @@ parseInsert = do              whiteSpace sql              greserved "INSERT"+             optional $ do+               greserved "OR"+               greserved "IGNORE"              greserved "INTO"              addQ =<< identifier3              addQ =<< braketS <$> fields
src/Database/TypedQuery/Types.hs view
@@ -7,22 +7,29 @@ {-# OPTIONS_GHC -fno-warn-orphans  #-}  module Database.TypedQuery.Types-( TypedQuery (..)-, TypeAction (..)-, RunDB (..)-, jsonPair-, convAction-, typeTuple-, typeTupleIn-, vanilaQuery-, genUncurry-, genJsonQuery-, genTypedQuery-)+  ( TypedQuery (..)+  , TypeAction (..)+  , RunDB (..)+  , jsonPair+  , convAction+  , typeTuple+  , typeTupleIn+  , vanilaQuery+  , genUncurry+  , genJsonQuery+  , genTypedQuery+  ) where  import Control.Arrow (first)++#if !(MIN_VERSION_base(4,8,0)) import Data.Monoid (Monoid(..))+#endif+#if !(MIN_VERSION_base(4,11,0))+import Data.Semigroup (Semigroup(..))+#endif+ import Data.String (IsString(..)) import Data.Typeable (Typeable) @@ -52,6 +59,7 @@ import Data.String.QM  codeFormat = id+-- currently there is some parese error in the following section codeFormat' =  check . fmap reformat . parseStmtWithMode defaultParseMode {   extensions     = [ EnableExtension BangPatterns@@ -114,16 +122,18 @@        Nothing -> mempty        Just (a, b, c, d, e)    -> TypedQuery (fromString a) b c d e -instance (RunDB q, Monoid q) => Monoid (TypedQuery q) where-    mempty = TypedQuery mempty mempty mempty mempty mempty-    TypedQuery a1 a2 a3 a4 a5 `mappend` TypedQuery b1 b2 b3 b4 b5 ++instance (RunDB q, Monoid q) => Semigroup (TypedQuery q) where+    TypedQuery a1 a2 a3 a4 a5 <> TypedQuery b1 b2 b3 b4 b5          = TypedQuery             (mappend a1 b1)             (mappend a2 b2)             (mappend a3 b3)             (mappend a4 b4)             (mappend a5 b5)-    {-# INLINE mappend #-}++instance (RunDB q, Monoid q) => Monoid (TypedQuery q) where+    mempty = TypedQuery mempty mempty mempty mempty mempty  convAction :: RunDB q => q -> TypeAction -> TH.Exp -> TH.Exp convAction _ (TAUnknown) = id
typedquery.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                typedquery-version:             0.1.0.3+version:             0.1.1 synopsis:            Parser for SQL augmented with types description:         Base package for parsing queries homepage:            https://github.com/tolysz/typedquery