duckdb-simple
Safe HaskellNone
LanguageHaskell2010

Database.DuckDB.Simple.FromField

Description

 
Synopsis

Documentation

data Field Source #

Metadata for a single column in a row.

Constructors

Field 

Instances

Instances details
Show Field Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

Methods

showsPrec :: Int -> Field -> ShowS #

show :: Field -> String #

showList :: [Field] -> ShowS #

Eq Field Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

Methods

(==) :: Field -> Field -> Bool #

(/=) :: Field -> Field -> Bool #

data FieldValue Source #

Internal representation of a column value.

Instances

Instances details
FromField FieldValue Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

Show FieldValue Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

Eq FieldValue Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField (StructValue FieldValue) Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField (UnionValue FieldValue) Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

DuckDBColumnType (StructValue FieldValue) Source # 
Instance details

Defined in Database.DuckDB.Simple.ToField

DuckDBColumnType (UnionValue FieldValue) Source # 
Instance details

Defined in Database.DuckDB.Simple.ToField

ToDuckValue (StructValue FieldValue) Source # 
Instance details

Defined in Database.DuckDB.Simple.ToField

ToDuckValue (UnionValue FieldValue) Source # 
Instance details

Defined in Database.DuckDB.Simple.ToField

ToField (StructValue FieldValue) Source # 
Instance details

Defined in Database.DuckDB.Simple.ToField

ToField (UnionValue FieldValue) Source # 
Instance details

Defined in Database.DuckDB.Simple.ToField

data StructField a Source #

A named field within a STRUCT-like value or type.

Constructors

StructField 

Instances

Instances details
Show a => Show (StructField a) Source # 
Instance details

Defined in Database.DuckDB.Simple.LogicalRep

Eq a => Eq (StructField a) Source # 
Instance details

Defined in Database.DuckDB.Simple.LogicalRep

data BitString Source #

DuckDB BIT value represented as raw bytes plus left-padding bit count.

Constructors

BitString 

Fields

bsFromBool :: [Bool] -> BitString Source #

Construct a BitString from a list of Bools, where the first element

newtype BigNum Source #

Arbitrary-precision integer wrapper used for DuckDB's BIGNUM type.

Constructors

BigNum Integer 

fromBigNumBytes :: [Word8] -> Integer Source #

Decode DuckDB’s BIGNUM blob (3-byte header + big-endian payload where negative magnitudes are bitwise complemented) back into a Haskell Integer. We undo the complement when needed, then chunk the remaining bytes into machine-word limbs (MSB chunk first) for integerFromWordList.

toBigNumBytes :: Integer -> [Word8] Source #

Encode an Integer into DuckDB’s BIGNUM blob layout: emit the 3-byte header (sign bit plus payload length) followed by the magnitude bytes in the same big-endian / complemented-on-negative form that DuckDB stores internally.

data DecimalValue Source #

Exact-width decimal payload plus its declared width and scale.

data ResultError Source #

Exception thrown if conversion from a SQL value to a Haskell value fails.

Constructors

Incompatible

The SQL and Haskell types are not compatible.

UnexpectedNull

A SQL NULL was encountered when the Haskell type did not permit it.

ConversionFailed

The SQL value could not be parsed, or could not be represented as a valid Haskell value, or an unexpected low-level error occurred (e.g. mismatch between metadata and actual data in a row).

type FieldParser a = Field -> Ok a Source #

Parser used by FromField instances and utilities such as Database.DuckDB.Simple.FromRow.fieldWith. The supplied Field contains column metadata and an already-decoded FieldValue; callers should return Ok on success or Errors (typically wrapping a ResultError) when the conversion fails.

class FromField a where Source #

Types that can be constructed from a DuckDB column.

Instances

Instances details
FromField ByteString Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField BigNum Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField BitString Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField DecimalValue Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField FieldValue Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField IntervalValue Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField TimeWithZone Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Null Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Int16 Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Int32 Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Int64 Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Int8 Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Word16 Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Word32 Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Word64 Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Word8 Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Text Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Day Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField UTCTime Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField LocalTime Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField TimeOfDay Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField UUID Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Integer Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Natural Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField String Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Bool Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Double Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Float Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Int Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField Word Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

(Generic a, GFromField (Rep a), Typeable a) => FromField (ViaDuckDB a) Source #

Deriving-via FromField instance. Errors are rewrapped using the existing returnError helper so callers receive a proper ResultError.

Instance details

Defined in Database.DuckDB.Simple.Generic

FromField (StructValue FieldValue) Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField (UnionValue FieldValue) Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

FromField a => FromField (Maybe a) Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

(Typeable a, FromField a) => FromField [a] Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

(Ord k, Typeable k, Typeable v, FromField k, FromField v) => FromField (Map k v) Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

Methods

fromField :: FieldParser (Map k v) Source #

(Typeable a, FromField a) => FromField (Array Int a) Source # 
Instance details

Defined in Database.DuckDB.Simple.FromField

returnError :: Typeable b => (Text -> Text -> Text -> Text -> ResultError) -> Field -> Text -> Ok b Source #

Helper to construct a ResultError with field context. based on postgresql-simple's implementation