libpqxx:readthedocs-fix

Last commit made on 2024-02-09
Get this branch:
git clone -b readthedocs-fix https://git.launchpad.net/libpqxx

Branch merges

Branch information

Name:
readthedocs-fix
Repository:
lp:libpqxx

Recent commits

9f1a6c2... by Jeroen T. Vermeulen

Add `doc/_static/` directory.

d6f001b... by Jeroen T. Vermeulen

Set `language`.

90f9c7c... by Raul Tambre <email address hidden>

pqxx::byte and pqxx::bytes_view to support lack of std::char_traits<byte> (#751)

The standard doesn't specify a generic implementation of std::char_traits, only specializations for certain types.
For a good reason: it's unlikely to be correct for all types that it'll compile with it.

All standard libraries today however do provide a generic implementation as an extension, though it's bound to be incorrect for some types.
libc++ has deprecated its in version 18 and will remove it in version 19 to eliminate hard to find correctness issues stemming from this.

Replace with type aliases that will use a custom char_traits when the standard library lacks such a generic implementation.
Note that we don't unconditionally use the custom char_traits variant as it's a source-breaking change requiring the users to update all usages of `std::string<std::byte>` to `pqxx::bytes` (i.e. `std::string<std::byte, pqxx::byte_char_traits>`). Ditto `std::string_view<std::byte>` and `pqxx::bytes_view`.
But for implementations lacking a generic implementation `std::string<std::byte>` and `std::string_view<std::byte>` wouldn't compile anyway so it's fine.

The aliases are named as `bytes` and `bytes_view` with the intetion of switching them to `std::vector<std::byte>` and `std::span<std::byte>` in a future major release that requires C++20.

Fixes: #726

By Raul Tambre <email address hidden>

6120486... by Jeroen Vermeulen <email address hidden>

Just always `pip install ruff pyflakes3`. (#788)

In the lint script, the logic for calling ruff and/or pyflakes or pyflakes3 got too tedious. Just pip install them every time and we know what to count on.

And since we'll then always have the virtualenv, this also installs clang-tidy in there, rather than looking for it installed with the OS.

afaab9b... by Jeroen Vermeulen <email address hidden>

Update copyright notices to 2024. (#787)

c22e4ad... by Jeroen Vermeulen <email address hidden>

Mention new CMake alias in `NEWS`. (#786)

6a9e330... by Alex <email address hidden>

libpqxx::pqxx ALIAS pqxx (#784)

Allow CMake-based projects to add libpqxx (using `shared_link_libraries`) under the consistent name `libpqxx::pqxx`.

d8b6b99... by Jeroen Vermeulen <email address hidden>

Avoid double `PQfinish()`, just in case. (#780)

I _think_ `PQfinish()` simply does nothing if you pass it a `nullptr`.
But I don't actually see that documented anywhere, so...

bef5d96... by Jeroen Vermeulen <email address hidden>

Stream rows ending in empty string properly. (#777)

Fixes #774.

The streaming code assumed that a line of `COPY` data will never end in
an empty line.

0b9c8dd... by Jeroen Vermeulen <email address hidden>

Document streams in more detail. (#773)

This is meant to help with questions like in #644.