{-# LANGUAGE TypeOperators #-}
module Database.DuckDB.Simple.Types (
Connection,
Statement,
Query (..),
SQLError (..),
FormatError (..),
Null (..),
Only (..),
(:.) (..),
) where
import Control.Exception (Exception)
import Data.Text (Text)
import Database.DuckDB.Simple.Internal (
Connection,
Query (..),
SQLError (..),
Statement,
)
data Null = Null
deriving (Null -> Null -> Bool
(Null -> Null -> Bool) -> (Null -> Null -> Bool) -> Eq Null
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Null -> Null -> Bool
== :: Null -> Null -> Bool
$c/= :: Null -> Null -> Bool
/= :: Null -> Null -> Bool
Eq, Eq Null
Eq Null =>
(Null -> Null -> Ordering)
-> (Null -> Null -> Bool)
-> (Null -> Null -> Bool)
-> (Null -> Null -> Bool)
-> (Null -> Null -> Bool)
-> (Null -> Null -> Null)
-> (Null -> Null -> Null)
-> Ord Null
Null -> Null -> Bool
Null -> Null -> Ordering
Null -> Null -> Null
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: Null -> Null -> Ordering
compare :: Null -> Null -> Ordering
$c< :: Null -> Null -> Bool
< :: Null -> Null -> Bool
$c<= :: Null -> Null -> Bool
<= :: Null -> Null -> Bool
$c> :: Null -> Null -> Bool
> :: Null -> Null -> Bool
$c>= :: Null -> Null -> Bool
>= :: Null -> Null -> Bool
$cmax :: Null -> Null -> Null
max :: Null -> Null -> Null
$cmin :: Null -> Null -> Null
min :: Null -> Null -> Null
Ord, Int -> Null -> ShowS
[Null] -> ShowS
Null -> String
(Int -> Null -> ShowS)
-> (Null -> String) -> ([Null] -> ShowS) -> Show Null
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Null -> ShowS
showsPrec :: Int -> Null -> ShowS
$cshow :: Null -> String
show :: Null -> String
$cshowList :: [Null] -> ShowS
showList :: [Null] -> ShowS
Show, ReadPrec [Null]
ReadPrec Null
Int -> ReadS Null
ReadS [Null]
(Int -> ReadS Null)
-> ReadS [Null] -> ReadPrec Null -> ReadPrec [Null] -> Read Null
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS Null
readsPrec :: Int -> ReadS Null
$creadList :: ReadS [Null]
readList :: ReadS [Null]
$creadPrec :: ReadPrec Null
readPrec :: ReadPrec Null
$creadListPrec :: ReadPrec [Null]
readListPrec :: ReadPrec [Null]
Read)
newtype Only a = Only {forall a. Only a -> a
fromOnly :: a}
deriving (Only a -> Only a -> Bool
(Only a -> Only a -> Bool)
-> (Only a -> Only a -> Bool) -> Eq (Only a)
forall a. Eq a => Only a -> Only a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: forall a. Eq a => Only a -> Only a -> Bool
== :: Only a -> Only a -> Bool
$c/= :: forall a. Eq a => Only a -> Only a -> Bool
/= :: Only a -> Only a -> Bool
Eq, Eq (Only a)
Eq (Only a) =>
(Only a -> Only a -> Ordering)
-> (Only a -> Only a -> Bool)
-> (Only a -> Only a -> Bool)
-> (Only a -> Only a -> Bool)
-> (Only a -> Only a -> Bool)
-> (Only a -> Only a -> Only a)
-> (Only a -> Only a -> Only a)
-> Ord (Only a)
Only a -> Only a -> Bool
Only a -> Only a -> Ordering
Only a -> Only a -> Only a
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall a. Ord a => Eq (Only a)
forall a. Ord a => Only a -> Only a -> Bool
forall a. Ord a => Only a -> Only a -> Ordering
forall a. Ord a => Only a -> Only a -> Only a
$ccompare :: forall a. Ord a => Only a -> Only a -> Ordering
compare :: Only a -> Only a -> Ordering
$c< :: forall a. Ord a => Only a -> Only a -> Bool
< :: Only a -> Only a -> Bool
$c<= :: forall a. Ord a => Only a -> Only a -> Bool
<= :: Only a -> Only a -> Bool
$c> :: forall a. Ord a => Only a -> Only a -> Bool
> :: Only a -> Only a -> Bool
$c>= :: forall a. Ord a => Only a -> Only a -> Bool
>= :: Only a -> Only a -> Bool
$cmax :: forall a. Ord a => Only a -> Only a -> Only a
max :: Only a -> Only a -> Only a
$cmin :: forall a. Ord a => Only a -> Only a -> Only a
min :: Only a -> Only a -> Only a
Ord, Int -> Only a -> ShowS
[Only a] -> ShowS
Only a -> String
(Int -> Only a -> ShowS)
-> (Only a -> String) -> ([Only a] -> ShowS) -> Show (Only a)
forall a. Show a => Int -> Only a -> ShowS
forall a. Show a => [Only a] -> ShowS
forall a. Show a => Only a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall a. Show a => Int -> Only a -> ShowS
showsPrec :: Int -> Only a -> ShowS
$cshow :: forall a. Show a => Only a -> String
show :: Only a -> String
$cshowList :: forall a. Show a => [Only a] -> ShowS
showList :: [Only a] -> ShowS
Show, ReadPrec [Only a]
ReadPrec (Only a)
Int -> ReadS (Only a)
ReadS [Only a]
(Int -> ReadS (Only a))
-> ReadS [Only a]
-> ReadPrec (Only a)
-> ReadPrec [Only a]
-> Read (Only a)
forall a. Read a => ReadPrec [Only a]
forall a. Read a => ReadPrec (Only a)
forall a. Read a => Int -> ReadS (Only a)
forall a. Read a => ReadS [Only a]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: forall a. Read a => Int -> ReadS (Only a)
readsPrec :: Int -> ReadS (Only a)
$creadList :: forall a. Read a => ReadS [Only a]
readList :: ReadS [Only a]
$creadPrec :: forall a. Read a => ReadPrec (Only a)
readPrec :: ReadPrec (Only a)
$creadListPrec :: forall a. Read a => ReadPrec [Only a]
readListPrec :: ReadPrec [Only a]
Read)
data h :. t = h :. t
deriving ((h :. t) -> (h :. t) -> Bool
((h :. t) -> (h :. t) -> Bool)
-> ((h :. t) -> (h :. t) -> Bool) -> Eq (h :. t)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall h t. (Eq h, Eq t) => (h :. t) -> (h :. t) -> Bool
$c== :: forall h t. (Eq h, Eq t) => (h :. t) -> (h :. t) -> Bool
== :: (h :. t) -> (h :. t) -> Bool
$c/= :: forall h t. (Eq h, Eq t) => (h :. t) -> (h :. t) -> Bool
/= :: (h :. t) -> (h :. t) -> Bool
Eq, Eq (h :. t)
Eq (h :. t) =>
((h :. t) -> (h :. t) -> Ordering)
-> ((h :. t) -> (h :. t) -> Bool)
-> ((h :. t) -> (h :. t) -> Bool)
-> ((h :. t) -> (h :. t) -> Bool)
-> ((h :. t) -> (h :. t) -> Bool)
-> ((h :. t) -> (h :. t) -> h :. t)
-> ((h :. t) -> (h :. t) -> h :. t)
-> Ord (h :. t)
(h :. t) -> (h :. t) -> Bool
(h :. t) -> (h :. t) -> Ordering
(h :. t) -> (h :. t) -> h :. t
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall h t. (Ord h, Ord t) => Eq (h :. t)
forall h t. (Ord h, Ord t) => (h :. t) -> (h :. t) -> Bool
forall h t. (Ord h, Ord t) => (h :. t) -> (h :. t) -> Ordering
forall h t. (Ord h, Ord t) => (h :. t) -> (h :. t) -> h :. t
$ccompare :: forall h t. (Ord h, Ord t) => (h :. t) -> (h :. t) -> Ordering
compare :: (h :. t) -> (h :. t) -> Ordering
$c< :: forall h t. (Ord h, Ord t) => (h :. t) -> (h :. t) -> Bool
< :: (h :. t) -> (h :. t) -> Bool
$c<= :: forall h t. (Ord h, Ord t) => (h :. t) -> (h :. t) -> Bool
<= :: (h :. t) -> (h :. t) -> Bool
$c> :: forall h t. (Ord h, Ord t) => (h :. t) -> (h :. t) -> Bool
> :: (h :. t) -> (h :. t) -> Bool
$c>= :: forall h t. (Ord h, Ord t) => (h :. t) -> (h :. t) -> Bool
>= :: (h :. t) -> (h :. t) -> Bool
$cmax :: forall h t. (Ord h, Ord t) => (h :. t) -> (h :. t) -> h :. t
max :: (h :. t) -> (h :. t) -> h :. t
$cmin :: forall h t. (Ord h, Ord t) => (h :. t) -> (h :. t) -> h :. t
min :: (h :. t) -> (h :. t) -> h :. t
Ord, Int -> (h :. t) -> ShowS
[h :. t] -> ShowS
(h :. t) -> String
(Int -> (h :. t) -> ShowS)
-> ((h :. t) -> String) -> ([h :. t] -> ShowS) -> Show (h :. t)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall h t. (Show h, Show t) => Int -> (h :. t) -> ShowS
forall h t. (Show h, Show t) => [h :. t] -> ShowS
forall h t. (Show h, Show t) => (h :. t) -> String
$cshowsPrec :: forall h t. (Show h, Show t) => Int -> (h :. t) -> ShowS
showsPrec :: Int -> (h :. t) -> ShowS
$cshow :: forall h t. (Show h, Show t) => (h :. t) -> String
show :: (h :. t) -> String
$cshowList :: forall h t. (Show h, Show t) => [h :. t] -> ShowS
showList :: [h :. t] -> ShowS
Show, ReadPrec [h :. t]
ReadPrec (h :. t)
Int -> ReadS (h :. t)
ReadS [h :. t]
(Int -> ReadS (h :. t))
-> ReadS [h :. t]
-> ReadPrec (h :. t)
-> ReadPrec [h :. t]
-> Read (h :. t)
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
forall h t. (Read h, Read t) => ReadPrec [h :. t]
forall h t. (Read h, Read t) => ReadPrec (h :. t)
forall h t. (Read h, Read t) => Int -> ReadS (h :. t)
forall h t. (Read h, Read t) => ReadS [h :. t]
$creadsPrec :: forall h t. (Read h, Read t) => Int -> ReadS (h :. t)
readsPrec :: Int -> ReadS (h :. t)
$creadList :: forall h t. (Read h, Read t) => ReadS [h :. t]
readList :: ReadS [h :. t]
$creadPrec :: forall h t. (Read h, Read t) => ReadPrec (h :. t)
readPrec :: ReadPrec (h :. t)
$creadListPrec :: forall h t. (Read h, Read t) => ReadPrec [h :. t]
readListPrec :: ReadPrec [h :. t]
Read)
infixr 3 :.
data FormatError = FormatError
{ FormatError -> Text
formatErrorMessage :: !Text
, FormatError -> Query
formatErrorQuery :: !Query
, FormatError -> [String]
formatErrorParams :: ![String]
}
deriving (FormatError -> FormatError -> Bool
(FormatError -> FormatError -> Bool)
-> (FormatError -> FormatError -> Bool) -> Eq FormatError
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FormatError -> FormatError -> Bool
== :: FormatError -> FormatError -> Bool
$c/= :: FormatError -> FormatError -> Bool
/= :: FormatError -> FormatError -> Bool
Eq, Int -> FormatError -> ShowS
[FormatError] -> ShowS
FormatError -> String
(Int -> FormatError -> ShowS)
-> (FormatError -> String)
-> ([FormatError] -> ShowS)
-> Show FormatError
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> FormatError -> ShowS
showsPrec :: Int -> FormatError -> ShowS
$cshow :: FormatError -> String
show :: FormatError -> String
$cshowList :: [FormatError] -> ShowS
showList :: [FormatError] -> ShowS
Show)
instance Exception FormatError