{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.QLDBSession.Types.ExecuteStatementResult where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.QLDBSession.Types.IOUsage
import Amazonka.QLDBSession.Types.Page
import Amazonka.QLDBSession.Types.TimingInformation
data ExecuteStatementResult = ExecuteStatementResult'
{
ExecuteStatementResult -> Maybe IOUsage
consumedIOs :: Prelude.Maybe IOUsage,
ExecuteStatementResult -> Maybe Page
firstPage :: Prelude.Maybe Page,
ExecuteStatementResult -> Maybe TimingInformation
timingInformation :: Prelude.Maybe TimingInformation
}
deriving (ExecuteStatementResult -> ExecuteStatementResult -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExecuteStatementResult -> ExecuteStatementResult -> Bool
$c/= :: ExecuteStatementResult -> ExecuteStatementResult -> Bool
== :: ExecuteStatementResult -> ExecuteStatementResult -> Bool
$c== :: ExecuteStatementResult -> ExecuteStatementResult -> Bool
Prelude.Eq, ReadPrec [ExecuteStatementResult]
ReadPrec ExecuteStatementResult
Int -> ReadS ExecuteStatementResult
ReadS [ExecuteStatementResult]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ExecuteStatementResult]
$creadListPrec :: ReadPrec [ExecuteStatementResult]
readPrec :: ReadPrec ExecuteStatementResult
$creadPrec :: ReadPrec ExecuteStatementResult
readList :: ReadS [ExecuteStatementResult]
$creadList :: ReadS [ExecuteStatementResult]
readsPrec :: Int -> ReadS ExecuteStatementResult
$creadsPrec :: Int -> ReadS ExecuteStatementResult
Prelude.Read, Int -> ExecuteStatementResult -> ShowS
[ExecuteStatementResult] -> ShowS
ExecuteStatementResult -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExecuteStatementResult] -> ShowS
$cshowList :: [ExecuteStatementResult] -> ShowS
show :: ExecuteStatementResult -> String
$cshow :: ExecuteStatementResult -> String
showsPrec :: Int -> ExecuteStatementResult -> ShowS
$cshowsPrec :: Int -> ExecuteStatementResult -> ShowS
Prelude.Show, forall x. Rep ExecuteStatementResult x -> ExecuteStatementResult
forall x. ExecuteStatementResult -> Rep ExecuteStatementResult x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ExecuteStatementResult x -> ExecuteStatementResult
$cfrom :: forall x. ExecuteStatementResult -> Rep ExecuteStatementResult x
Prelude.Generic)
newExecuteStatementResult ::
ExecuteStatementResult
newExecuteStatementResult :: ExecuteStatementResult
newExecuteStatementResult =
ExecuteStatementResult'
{ $sel:consumedIOs:ExecuteStatementResult' :: Maybe IOUsage
consumedIOs =
forall a. Maybe a
Prelude.Nothing,
$sel:firstPage:ExecuteStatementResult' :: Maybe Page
firstPage = forall a. Maybe a
Prelude.Nothing,
$sel:timingInformation:ExecuteStatementResult' :: Maybe TimingInformation
timingInformation = forall a. Maybe a
Prelude.Nothing
}
executeStatementResult_consumedIOs :: Lens.Lens' ExecuteStatementResult (Prelude.Maybe IOUsage)
executeStatementResult_consumedIOs :: Lens' ExecuteStatementResult (Maybe IOUsage)
executeStatementResult_consumedIOs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExecuteStatementResult' {Maybe IOUsage
consumedIOs :: Maybe IOUsage
$sel:consumedIOs:ExecuteStatementResult' :: ExecuteStatementResult -> Maybe IOUsage
consumedIOs} -> Maybe IOUsage
consumedIOs) (\s :: ExecuteStatementResult
s@ExecuteStatementResult' {} Maybe IOUsage
a -> ExecuteStatementResult
s {$sel:consumedIOs:ExecuteStatementResult' :: Maybe IOUsage
consumedIOs = Maybe IOUsage
a} :: ExecuteStatementResult)
executeStatementResult_firstPage :: Lens.Lens' ExecuteStatementResult (Prelude.Maybe Page)
executeStatementResult_firstPage :: Lens' ExecuteStatementResult (Maybe Page)
executeStatementResult_firstPage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExecuteStatementResult' {Maybe Page
firstPage :: Maybe Page
$sel:firstPage:ExecuteStatementResult' :: ExecuteStatementResult -> Maybe Page
firstPage} -> Maybe Page
firstPage) (\s :: ExecuteStatementResult
s@ExecuteStatementResult' {} Maybe Page
a -> ExecuteStatementResult
s {$sel:firstPage:ExecuteStatementResult' :: Maybe Page
firstPage = Maybe Page
a} :: ExecuteStatementResult)
executeStatementResult_timingInformation :: Lens.Lens' ExecuteStatementResult (Prelude.Maybe TimingInformation)
executeStatementResult_timingInformation :: Lens' ExecuteStatementResult (Maybe TimingInformation)
executeStatementResult_timingInformation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExecuteStatementResult' {Maybe TimingInformation
timingInformation :: Maybe TimingInformation
$sel:timingInformation:ExecuteStatementResult' :: ExecuteStatementResult -> Maybe TimingInformation
timingInformation} -> Maybe TimingInformation
timingInformation) (\s :: ExecuteStatementResult
s@ExecuteStatementResult' {} Maybe TimingInformation
a -> ExecuteStatementResult
s {$sel:timingInformation:ExecuteStatementResult' :: Maybe TimingInformation
timingInformation = Maybe TimingInformation
a} :: ExecuteStatementResult)
instance Data.FromJSON ExecuteStatementResult where
parseJSON :: Value -> Parser ExecuteStatementResult
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ExecuteStatementResult"
( \Object
x ->
Maybe IOUsage
-> Maybe Page -> Maybe TimingInformation -> ExecuteStatementResult
ExecuteStatementResult'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ConsumedIOs")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"FirstPage")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"TimingInformation")
)
instance Prelude.Hashable ExecuteStatementResult where
hashWithSalt :: Int -> ExecuteStatementResult -> Int
hashWithSalt Int
_salt ExecuteStatementResult' {Maybe IOUsage
Maybe TimingInformation
Maybe Page
timingInformation :: Maybe TimingInformation
firstPage :: Maybe Page
consumedIOs :: Maybe IOUsage
$sel:timingInformation:ExecuteStatementResult' :: ExecuteStatementResult -> Maybe TimingInformation
$sel:firstPage:ExecuteStatementResult' :: ExecuteStatementResult -> Maybe Page
$sel:consumedIOs:ExecuteStatementResult' :: ExecuteStatementResult -> Maybe IOUsage
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe IOUsage
consumedIOs
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Page
firstPage
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TimingInformation
timingInformation
instance Prelude.NFData ExecuteStatementResult where
rnf :: ExecuteStatementResult -> ()
rnf ExecuteStatementResult' {Maybe IOUsage
Maybe TimingInformation
Maybe Page
timingInformation :: Maybe TimingInformation
firstPage :: Maybe Page
consumedIOs :: Maybe IOUsage
$sel:timingInformation:ExecuteStatementResult' :: ExecuteStatementResult -> Maybe TimingInformation
$sel:firstPage:ExecuteStatementResult' :: ExecuteStatementResult -> Maybe Page
$sel:consumedIOs:ExecuteStatementResult' :: ExecuteStatementResult -> Maybe IOUsage
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe IOUsage
consumedIOs
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Page
firstPage
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TimingInformation
timingInformation