Skip to content

Edocs, tunable NULL, new APIs

Compare
Choose a tag to compare
@seriyps seriyps released this 12 Mar 23:53
· 106 commits to master since this release
895c8f9
  • Guards are now added to avoid silent integer truncation for numeric and
    numeric range datatype codecs. So, an attempt to encode 100000 as int2
    will now crash the connection instead of silently truncating it. #218
  • epgsql{a,i}:cancel/1 API was documented. #224
  • Version of execute_batch that uses the same SQL query for each request
    in a batch. Very convenient for batch-inserts. #209
  • It's now possible to provide #statement{} to prepared_query/3. This way
    of calling it eliminates extra describe round-trip thus making it more
    efficient. #207
  • Representation of SQL NULL is now fully configurable. You can choose what
    set of Erlang terms should be interpreted as NULL and which term to use to
    represent NULLs received from database. #212
  • It's now possible to choose between 3 representations of a hstore datatype:
    map(), jiffy-style objects (default) and proplist. It can also take map() as
    input now. NULL value representation is also configurable. #217
  • Edocs build was fixed. Just run rebar3 edoc and reference documentation for
    all modules will be generated. But it's considered to be more "internal"
    documentation for those who want to learn more about epgsql internals or
    to do some hacking. It complements, but not replaces README. #214
  • epgsql:connect timeout option is more strict now - it limits TCP and SSL
    setup time as a whole. #223
  • Test coverage report was enabled in CI. We will fail the build if coverage
    falls below 55%. We hope to improve this metric over time. #208
  • We now send Terminate message to the server when doing graceful connection
    shutdown (as recommended by protocol). #219
  • We found that describe(_, portal, _) API was broken since release v4.0.0, but
    was not covered by tests. So now it was fixed and tests were added. #211
  • Error code to error name conversion code was updated (see #error.codename).
    Some new codes were added (mostly related to JSON datatypes) and one has changed.
    So, if you were matching over #error.codename being
    invalid_preceding_following_size you have to update your code. #210
  • #column{} record is now fully documented. It was extended to
    include table_oid and table_attr_number fields which point to the originating
    database table of this column (if any). #205
  • Extended timerange datatype support #204
  • Some minor typos, datatype and CI fixes #199 #201 #206 #221