123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- In 4.6.1
- In 4.6.0
- non-default profile) #249
- `epgsqla` and `epgsqli` interfaces) #244
- sock termination (common reason for OOM) #257
- In 4.5.0
- In 4.4.0
- numeric range datatype codecs. So, an attempt to encode 100000 as `int2`
- will now crash the connection instead of silently truncating it. #218
- in a batch. Very convenient for batch-inserts. #209
- of calling it eliminates extra `describe` round-trip thus making it more
- efficient. #207
- set of Erlang terms should be interpreted as `NULL` and which term to use to
- represent `NULL`s received from database. #212
- map(), jiffy-style objects (default) and proplist. It can also take `map()` as
- input now. NULL value representation is also configurable. #217
- 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
- setup time as a whole. #223
- falls below 55%. We hope to improve this metric over time. #208
- shutdown (as recommended by protocol). #219
- was not covered by tests. So now it was fixed and tests were added. #211
- 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
- include `table_oid` and `table_attr_number` fields which point to the originating
- database table of this column (if any). #205
- In 4.3.0
- version that supports Erlang 17 is 4.2.1 (#195)
- datatypes (#197)
- 10 years old!), so, new ones were created (#187)
- In 4.2.1
- In 4.2.0
- DB passwords to be dumped to SASL crash log
- rebar on all supported OTP versions
- In 4.1.0
- In 4.0.1
- In 4.0.0
- Changes:
- Now we are not limited only by API functions provided by epgsql (equery/squery/prepared_query etc),
- but may create own commands as a plugins. Still, understanding of PostgreSQL network protocol needed
- to be able to do so.
- Now we are able to add or tweak codecs for existing as well as custom PostgreSQL
- datatypes (like datetime, varchar, enum, arrays etc).
- XXX: Highly recommend to add `{codecs, []}` option to your epgsql:connect/X calls if you don't use
- PostGIS and hstore datatypes: this will reduce connection setup time.
- Code now is much more modular, documented and have a lot of internal typespecs. Performance
- improvements are also expected.
- Expect noticeable performance improvements for large BYTEA / TEXT / VARCHAR / JSON / JSONB etc fields.
- Now it's possible to preserve original exception's stacktrace, finally!
- (see https:
- https:
- Incompatibilities:
- for a large result sets (when a lot of rows are returned by a query) and for large string/json/blob
- query parameters
- modules. So, some new dialyzer warnings might pop-up
- mapping table, which might be quite big in some cases. This also may produce bigger error_logger
- reports in case of epgsql connection process crashes.
- modifications were made to this code.
- deprecated (so, `epgsql:equery(C, "SELECT $1::text", [my_atom])` will still work but is not recommended)
- In 3.4.0
- In 3.3.0
- https:
- http:
- (now returns `{ok, 0, Columns, []}` instead of `{ok, 0}`)
- In 3.2.0:
- In 3.1.1:
- In 3.1.0:
- In 3.0.0:
|