Path to this page:
Subject: CVS commit: pkgsrc/databases/libpqxx
From: Patrick Welche
Date: 2022-12-29 23:24:48
Message id: 20221229222448.69315FA90@cvs.NetBSD.org
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
Files: