haskelldb-2.1.0: A library of combinators for generating and executing SQL statements.

Portabilitynon-portable
Stabilityexperimental
Maintainerhaskelldb-users@lists.sourceforge.net

Database.HaskellDB.FieldType

Description

Defines the types of database columns, and functions for converting these between HSQL and internal formats

Synopsis

Documentation

type FieldDesc = (FieldType, Bool)

The type and nullable flag of a database column

data FieldType

A database column type

Instances

Eq FieldType 
Ord FieldType 
Read FieldType 
Show FieldType 

class ExprType e where

Class which retrieves a field description from a given type. Instances are provided for most concrete types. Instances for Maybe automatically make the field nullable, and instances for all (Expr a) types where a has an ExprType instance allows type information to be recovered from a given column expression.

Methods

fromHaskellType :: e -> FieldDesc

Instances

ExprType Bool 
ExprType Double 
ExprType Int 
ExprType Integer 
ExprType String 
ExprType CalendarTime 
ExprType a => ExprType (Maybe a) 
Size n => ExprType (BoundedString n) 
ExprType a => ExprType (Expr a) 
ExprType a => ExprType (Rel a) 

class ExprTypes r where

Class which returns a list of field descriptions. Gets the descriptions of all columns in a Record/query. Most useful when the columns associated with each field in a (Rel r) type must be recovered. Note that this occurs at the type level only and no values are inspected.

Methods

fromHaskellTypes :: r -> [FieldDesc]

queryFields :: (ShowLabels r, ExprTypes r) => Query (Rel r) -> [(String, FieldDesc)]

Given a query, returns a list of the field names and their types used by the query. Useful for recovering field information once a query has been built up.