@@ -41,12 +41,14 @@ import qualified Data.ByteString.Lazy as LB
41import qualified Data.Text as ST
41import qualified Data.Text as ST
42import qualified Data.Text.Encoding as ST
42import qualified Data.Text.Encoding as ST
43import qualified Data.Text.Lazy as LT
43import qualified Data.Text.Lazy as LT
44+import qualified Data.Text.Lazy.Builder as LT
44import Data.UUID (UUID)
45import Data.UUID (UUID)
45import qualified Data.UUID as UUID
46import qualified Data.UUID as UUID
46import Data.Vector (Vector)
47import Data.Vector (Vector)
47import qualified Data.Vector as V
48import qualified Data.Vector as V
48import qualified Database.PostgreSQL.LibPQ as PQ
49import qualified Database.PostgreSQL.LibPQ as PQ
49import Database.PostgreSQL.Simple.Time
50import Database.PostgreSQL.Simple.Time
51+import Data.Scientific (Scientific, scientificBuilder)
51-- | How to render an element when substituting it into a query.
53-- | How to render an element when substituting it into a query.
52data Action =
54data Action =
@@ -172,6 +174,10 @@ instance ToField Double where
172 | otherwise = Plain (double v)
174 | otherwise = Plain (double v)
173 {-# INLINE toField #-}
175 {-# INLINE toField #-}
177+instance ToField Scientific where
178+ toField x = toField (LT.toLazyText (scientificBuilder x))
179+ {-# INLINE toField #-}
175instance ToField (Binary SB.ByteString) where
181instance ToField (Binary SB.ByteString) where
176 toField (Binary bs) = EscapeByteA bs
182 toField (Binary bs) = EscapeByteA bs
177 {-# INLINE toField #-}
183 {-# INLINE toField #-}