Log message:
Update libpqxx to 7.8.1
Note: given the previous choice to use
USE_CXX_FEATURES+= c++17
don't attempt to use with a program using e.g. -std=c++20
7.8.1
- Regenerate build files. Should fix ARM Mac build. (#715)
- Reinstate `<ciso646>` that MSVC can't live with or without. (#713)
7.8.0
- Streaming large data sets now benchmarks faster than similar C/libpq code!
- New `array` class for easier parsing of SQL arrays.
- Deprecating `stream_from`. Use `transaction_base::stream()`.
- Use `array_parser` only on comma-separated types, i.e. most of them. (#590)
- Bumping requirements versions: need postgres 10.
- Fix `array_parser` bug when parsing semicolon in an unquoted string.
- Make some `zview` constructors `noexcept` if `string_view` does it.
- Handle result status code for starting streaming replication. (#631)
- Faster text decoding and escaping in data streaming. (#601)
- Deprecate `basic_fieldstream` and `fieldstream`.
- Deprecate `<<` operator inserting a field into an `ostream`.
- New string conversion fields: `converts_to_string` & `converts_from_string`.
- Ran `autoupdate` (because the autotools told me to).
- Documentation tweak. (#584)
- Typo in README.md. (#586)
- Support `std::optional<std::string_view>` etc. in `stream_to`. (#596)
- Remove support for single-quoted array/composite elements. No such thing!
- Optimise out a kink in composite field parser.
- Work around build warning in MinGW: include `winsock2.h` before `windows.h`.
- Drop some redundant encoding groups.
- If CMake can't find libpq, fall back to pkg-config. (#664)
- Work around spurious compile error on g++ pre-gcc-10. (#665)
- Include `<pqxx/range>` and `<pqxx/time>` headers in \
`<pqxx/pqxx>`. (#667)
- Don't use `std::function` as deleter for smart pointers.
- Work around gcc compile error with regex + address sanitizer + analyzers.
- Fix "double free" on exit when built as shared library on Debian. (#681)
- Stop including `<ciso646>`; should be built into compilers. (#680)
- New `broken_connection` exception subclass: `protocol_violation`. (#686)
- Retired unused `blob_already_exists` exception class. (#686)
- Support for `PQinitOpenSSL()`. (#678)
- Slightly more helpful error for unsupported conversions. (#695)
- Replace some C++ feature tests with C++20 feature macros.
- Support moving of `stream_to`. (#706)
- Incorporate `source_location` in exceptions.
|
Log message:
Update libpqx to 7.7.4
You now have three basic ways to query data, all through methods on your \
transaction object:
- "query" methods execute the query, load the full result set,
and then let you iterate the rows. They convert each row to a
tuple of values of your chosen types.
- "stream" methods do the same thing, except they run the query
in a different way that's slower to start up, but starts giving
you rows right away without waiting for the full result to come
in. The rows also come in faster.
- "exec" methods execute the query, load the full result set,
and return a pqxx::result object. It contains both the result
data and metadata such as how many rows there are in the result.
Highlights:
- Build docs in `doc/html/`, no longer in `doc/html/Reference/`.
- New `result::for_stream()`: simple iteration and conversion of rows.
- New `transaction_base::for_query()` is similar, but non-streaming. (#580)
- Query data and iterate directly as client-side types: `query()`. (#580)
- New ways to query a single row! `query01()` and `query1()`. (#580)
- We now have 3 kinds of execution: "exec", "query", and \
"stream" functions.
- Use C++23 `std::unreachable()` where available.
- New class, `connecting` for nonblocking connection to the database. (#487)
- New class, `range` for SQL range types. (#490)
- Support `result::at(row_num, col_num)`.
- Support `result[row_num, col_num]` if the compiler allows it.
- `result::iter()` return value now keeps its `result` alive.
- Add C++20 concepts: `binary`, `char_string`, `char_strings`.
- New helper: `pqxx::value_type<CONTAINER>`.
- New helper: `pqxx::binary_cast`. (#450)
- Helper for generating parameter placeholders `$1`, `$2`, etc. (#443)
- Now requires `std::variant` support! No longer works with gcc7.
- New `blob::read()` using `std::span`. (#429)
- New, simpler API for large objects: `blob` ("binary large object").
For full changelog, see https://github.com/jtv/libpqxx/blob/7.7.4/NEWS
|
Log message:
Update libpqxx to 7.3.0
7.3.0
- `stream_to` now quotes and escapes its table name.
- Removed `transaction_base::classname()`. Did anyone ever use it?
- Internal reorg of the `transaction` and `transactionfocus` hierarchies.
- Removed the only case of virtual inheritance, related to `namedclass`.
- Internal `concat()` for faster, simpler string concatentation.
- Fix compile omission in string conversions for `nullptr_t`.
- `pqxx::size_buffer()` can now size multiple values at once.
- `multi_to_string()` to convert multiple values into one `std::string`.
- Implicit `zview` constructor from `char const *`. (#389)
- Many `std::string&` parameters are now `zview` or `std::string_view`.
- Now checking statement parameter lengths for overflow.
- `#include <array>` in connection.cxx. (#394)
7.2.1
- Fix infinite loop in converting `char *` to string. (#377)
- Deprecated `namedclass`.
- Convert an entire row using `row::as<type...>()`.
- Internal rework of `field::to()` and `field::as()` functions.
- Some more warning options in maintainer mode.
- Removed the old, DocBook-based tutorial.
- Fixed wrong `query` and SQLSTATE params to some exceptions. (#378)
|