duckdb-simple-0.1.2.0: Haskell FFI bindings for DuckDB
Safe HaskellSafe-Inferred
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 #

bsFromBool :: [Bool] -> BitString Source #

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

newtype BigNum Source #

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 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 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 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 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 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 String 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 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

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 #

returnError :: forall b. 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