ihp-1.4.0: Haskell Web Framework
Copyright(c) digitally induced GmbH 2025
Safe HaskellNone
LanguageGHC2021

IHP.Hasql.FromRow

Description

This module provides FromRowHasql, a typeclass parallel to postgresql-simple's FromRow, for decoding database rows using hasql's more efficient prepared statement approach.

Instances are generated by the SchemaCompiler with explicit inline decoders in idiomatic hasql applicative style.

Also provides parser functions used by the generated decoders for custom PostgreSQL types.

Synopsis

Documentation

class FromRowHasql a where Source #

Typeclass for types that can be decoded from a hasql result row

This is the hasql equivalent of postgresql-simple's FromRow class. The SchemaCompiler generates instances for all model types using idiomatic hasql applicative style with explicit inline decoders.

Methods

hasqlRowDecoder :: Row a Source #

Decoder for a single row

Instances

Instances details
HasqlDecodeColumn a => FromRowHasql (Only a) Source # 
Instance details

Defined in IHP.Hasql.FromRow

(HasqlDecodeColumn label, FromRowHasql a) => FromRowHasql (LabeledData label a) Source # 
Instance details

Defined in IHP.Hasql.FromRow

Methods

hasqlRowDecoder :: Row (LabeledData label a) Source #

(HasqlDecodeColumn a, HasqlDecodeColumn b) => FromRowHasql (a, b) Source # 
Instance details

Defined in IHP.Hasql.FromRow

Methods

hasqlRowDecoder :: Row (a, b) Source #

(HasqlDecodeColumn a, HasqlDecodeColumn b, HasqlDecodeColumn c) => FromRowHasql (a, b, c) Source # 
Instance details

Defined in IHP.Hasql.FromRow

Methods

hasqlRowDecoder :: Row (a, b, c) Source #

(HasqlDecodeColumn a, HasqlDecodeColumn b, HasqlDecodeColumn c, HasqlDecodeColumn d) => FromRowHasql (a, b, c, d) Source # 
Instance details

Defined in IHP.Hasql.FromRow

Methods

hasqlRowDecoder :: Row (a, b, c, d) Source #

(HasqlDecodeColumn a, HasqlDecodeColumn b, HasqlDecodeColumn c, HasqlDecodeColumn d, HasqlDecodeColumn e) => FromRowHasql (a, b, c, d, e) Source # 
Instance details

Defined in IHP.Hasql.FromRow

Methods

hasqlRowDecoder :: Row (a, b, c, d, e) Source #

class HasqlDecodeValue a where Source #

Typeclass mapping Haskell scalar types to hasql value decoders

Instances

Instances details
HasqlDecodeValue Value Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue ByteString Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue Int16 Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue Int32 Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue Int64 Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue Scientific Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue Text Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue Day Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue DiffTime Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue UTCTime Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue TimeOfDay Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue UUID Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue Bool Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue Double Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue Float Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue Int Source # 
Instance details

Defined in IHP.Hasql.FromRow

PrimaryKey table ~ UUID => HasqlDecodeValue (Id' table) Source # 
Instance details

Defined in IHP.Hasql.FromRow

Methods

hasqlDecodeValue :: Value (Id' table) Source #

class HasqlDecodeColumn a where Source #

Typeclass for building column-level row decoders, handling nullable/non-nullable

Instances

Instances details
HasqlDecodeValue a => HasqlDecodeColumn a Source # 
Instance details

Defined in IHP.Hasql.FromRow

HasqlDecodeValue a => HasqlDecodeColumn (Maybe a) Source # 
Instance details

Defined in IHP.Hasql.FromRow