"Normalize" the data to the data type for the database. Returns value suitable for insertion into database, or undef on error. field type 'crypt' stores data in DB encrypted but presents to object as plain text. Specify it as "crypt:KEY" where KEY is used for the encryption key.
"Denormalize" the data based on the data type for the database. Returns value suitable for display, or undef on error. Currently only does stringified ARRAY to arrayref, SET to href of keys indicating which fields are in the set, bitvectors, timestamps, and encrypted fields. Stringified ARRAYs can also be converted to postgres internal array type which we call "list".
Create a record with values specified in the data fields of this object. Returns the ID created on success, or throws an exception on failure. Depending on the hash set up it may depend on the database to create a unique id.
Exceptions classes thrown are
dberr on database error or
data.duplicate for a duplicate key specified.