runSelectI :: Default (Inferrable FromFields) fields haskells=> Connection-> Select fields͘
-> IO [haskells]
:: a typeCtrl KGHC 10.0.0.20260917 · lts/ghc-10.0.x · 8c2f8e8 · 2026-10-19
Moduleopaleye-0.10.8.0Haskell2010
runSelectI :: Default (Inferrable FromFields) fields haskells=> Connection-> Select fields͘
-> IO [haskells]An alternative version of runSelectI that is more general but
has worse type inference. runSelect's use of the Default
FromFields
typeclass means that the
compiler will have trouble inferring types. It is strongly
recommended that you provide full type signatures when using
runSelect.
runSelectFold :: Default FromFields fields haskells=> Connection-> Select fields-> b-> (b -> haskells -> IO b)͘
-> IO brunSelectFold streams the results of a query incrementally and consumes
the results with a left fold.
This fold is not strict. The stream consumer is responsible for forcing the evaluation of its result to avoid space leaks.
declareCursor :: Default FromFields fields haskells=> Connection-> Select fields͘
-> IO (Cursor haskells)Declare a temporary cursor. The cursor is given a unique name for the given connection.
Close the given cursor.
FromFieldsUse unsafeFromField to make an instance to allow you to run queries on your own datatypes. For example:
newtype Foo = Foo Int
data SqlFoo
instance DefaultFromField SqlFoo Foo where
defaultFromField = unsafeFromField Foo defaultFromField
It is "unsafe" because it does not check that the sqlType
correctly corresponds to the Haskell type.
Cursor within a transaction.
A FromFields
specifies how to convert Postgres values (fields)
into Haskell values (haskells). Most likely you will never need
to create one of these or handle one directly. It will be provided
for you by the Default FromFields instance.
"FromFields fields haskells" corresponds to
postgresql-simple's "RowParser haskells". "Default
FromFields fields haskells" corresponds to
postgresql-simple's "FromRow haskells".
Profunctor FromFieldsDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryProductProfunctor FromFieldsDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQuerySumProfunctor FromFieldsDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField a b => Default FromFields (Field a) bDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField a b => Default FromFields (FieldNullable a) (Maybe b)Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefault FromFields fields haskells => Default FromFields (MaybeFields fields) (Maybe haskells)Defined in opaleye-0.10.8.0 · Opaleye.Internal.MaybeFieldsFunctor (FromFields c)Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryApplicative (FromFields c)Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefault (Inferrable FromField) a b => Default (Inferrable FromFields) (Field a) bDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrable(Default (Inferrable FromField) a b, Maybe b ~ maybe_b) => Default (Inferrable FromFields) (FieldNullable a) maybe_bDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrable(Default (Inferrable FromFields) fields haskells, Maybe haskells ~ maybe_haskells) => Default (Inferrable FromFields) (MaybeFields fields) maybe_haskellsDefined in opaleye-0.10.8.0 · Opaleye.Internal.MaybeFieldsA FromField sqlType haskellType
encodes how to turn
a value of Postgres type sqlType into a value of Haskell type
haskellType. For example a value of type FromField
SqlText String encodes how to turn a SqlText result from the
database into a Haskell String.
"FromField sqlType haskellType" corresponds to
postgresql-simple's "FieldParser haskellType".
DefaultFromField sqlType haskellType => Default FromField sqlType haskellTypeDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryFunctor (FromField u)Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQuerybool ~ Bool => Default (Inferrable FromField) SqlBool boolDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrablebytestring ~ ByteString => Default (Inferrable FromField) SqlBytea bytestringDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrablecalendardifftime ~ CalendarDiffTime => Default (Inferrable FromField) SqlInterval calendardifftimeDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrablecttext ~ CI Text => Default (Inferrable FromField) SqlCitext cttextDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrableday ~ Day => Default (Inferrable FromField) SqlDate dayDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrabledouble ~ Double => Default (Inferrable FromField) SqlFloat8 doubleDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrableint ~ Int => Default (Inferrable FromField) SqlInt4 intDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrableint16 ~ Int16 => Default (Inferrable FromField) SqlInt2 int16Defined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrableint64 ~ Int64 => Default (Inferrable FromField) SqlInt8 int64Defined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrablelocaltime ~ LocalTime => Default (Inferrable FromField) SqlTimestamp localtimeDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrablescientific ~ Scientific => Default (Inferrable FromField) SqlNumeric scientificDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrabletext ~ Text => Default (Inferrable FromField) SqlText textDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrabletimeofday ~ TimeOfDay => Default (Inferrable FromField) SqlTime timeofdayDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrableuuid ~ UUID => Default (Inferrable FromField) SqlUuid uuidDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrablevarchar ~ Text => Default (Inferrable FromField) SqlVarcharN varcharDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrable(Typeable h, Default (Inferrable FromField) f h, hs ~ [h]) => Default (Inferrable FromField) (SqlArray f) hsDefined in opaleye-0.10.8.0 · Opaleye.Internal.Inferrable(Typeable h, Default (Inferrable FromField) f h, hs ~ [Maybe h]) => Default (Inferrable FromField) (SqlArray_ 'Nullable f) hsDefined in opaleye-0.10.8.0 · Opaleye.Internal.InferrableA DefaultFromField sqlType haskellType represents
the default way to turn a sqlType result from the database into a
Haskell value of type haskellType.
"DefaultFromField sqlType haskellType" corresponds
to postgresql-simple's "FromField haskellType".
Creating an instance of DefaultFromField for your own types is necessary for retrieving those types from the database.
You should use one of the three methods below for writing a DefaultFromField instance.
If you already have a postgresql-simple FromField instance for
your haskellType, use
fromPGSFromField. (This is how most of the built-in instances are
defined.)
If you don't have a postgresql-simple FromField instance, but you do have an Opaleye FromField value for the type it wraps use unsafeFromField if possible. See the documentation for unsafeFromField for an example.
If you have a more complicated case, but not a FromField instance, write a FieldParser for your type and use fromPGSFieldParser. You can also add a FromField instance using this.
defaultFromField :: FromField sqlType haskellTypeDefaultFromField SqlBool BoolDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlBytea ByteStringDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlBytea ByteStringDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlDate DayDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlFloat8 DoubleDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlInt2 Int16Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlInt4 Int32Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlInt4 IntDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlInt8 Int64Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlInterval CalendarDiffTimeDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJson ValueDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJson ByteStringDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJson ByteStringDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJson StringDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJson TextDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJson TextDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJsonb ValueDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJsonb ByteStringDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJsonb ByteStringDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJsonb StringDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJsonb TextDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlJsonb TextDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlNumeric ScientificDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlText StringDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlText TextDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlText TextDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlTime TimeOfDayDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlTimestamp LocalTimeDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlTimestamptz UTCTimeDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlTimestamptz ZonedTimeDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlUuid UUIDDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlVarcharN StringDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlVarcharN TextDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlVarcharN TextDefined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlCitext (CI Text)Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDefaultFromField SqlCitext (CI Text)Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQuery(FromJSON a, Typeable a) => DefaultFromField SqlJson (Aeson a)Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQuery(FromJSON a, Typeable a) => DefaultFromField SqlJsonb (Aeson a)Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQuery(Typeable b, DefaultFromField a b) => DefaultFromField (SqlRange a) (PGRange b)Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQuery(Typeable b, DefaultFromField a b) => DefaultFromField (SqlArray_ 'NonNullable a) [b]Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQuery(Typeable b, DefaultFromField a b) => DefaultFromField (SqlArray_ 'Nullable a) [Maybe b]Defined in opaleye-0.10.8.0 · Opaleye.Internal.RunQueryDeprecated. Use runSelectI instead.