[ANN] Epgsql 3.3.0

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[ANN] Epgsql 3.3.0

Сергей Прохоров-2
Hi everybody!

I'm glad to announce new epgsql release 3.3.0.

Here is the list of changes:

* Streaming replication protocol support (epgsql may act like PostgreSQL slave) https://github.com/epgsql/epgsql/blob/devel/streaming.md
* Connection options now may be passed as map()
* More error extra data fields returned in #error{extra} http://www.postgresql.org/docs/current/interactive/protocol-error-fields.html
* Prefer non-localized severity in #error{severity} when available
* Added set_notice_receiver/2 function to dynamically change receiver for asynchronous notifications
* Asynchronous notifications receiver may be set to registered process name (atom)
* get_cmd_status/1 function added**
* Fixed return value of `DELETE ... RETURNING ..` in case when 0 rows were deleted (now returns `{ok, 0, Columns, []}` instead of `{ok, 0}`)
* TCP socket implicitly closed when epgsql connection process terminates
* Some typespecs fixed

** The main practical usecase is to detect if transaction was really committed after COMMIT.

{ok, _, _} = epgsql:squery(C, "BEGIN").
{error, _} = epgsql:equery(C, "SELECT 1 / $1::integer", [0]).
{ok, _, _} = epgsql:squery(C, "COMMIT").
{ok, rollback} = epgsql:get_cmd_status(C).

Thanks to all contributors and reviewers:
Alexander Sedov
David Welton
Ivan Dyachkov
Mikhail Kalashnikov
Sergey Prokhorov

Epgsql team.

erlang-questions mailing list
[hidden email]