-type epgsql_type() :: atom() | {array, atom()} | {unknown_oid, integer()}. -record(column, {name :: binary(), type :: epgsql_type(), size :: -1 | pos_integer(), modifier :: -1 | pos_integer(), format :: integer()}). -record(statement, {name :: string(), columns :: [#column{}], types :: [epgsql_type()]}). -record(error, {severity :: fatal | error | atom(), %TODO: concretize code :: binary(), message :: binary(), extra :: [{detail, binary()} | {hint, binary()} | {position, binary()}]}).