Adds a way to configure which character set is the server using by
default, to make tracking more intelligent. This can be used to avoid
redundant SET NAMES statements, specially when using connection_pool.
Adds pool_params::charset_strategy and pool_charset_strategy
Adds connect_params::server_default_charset
Adds the invalid_connection_id constant
close#498
* Added coverage to fill the gaps between compiler versions for clang
and gcc under Linux
* Added clang-19 and clang-20 builds
* Added a gcc-15 build
* Replaced the old clang 3.6 build by clang 3.8
close#478close#477close#476
Errors issued by the server for caching_sha2_password users after a fast
auth OK packet has been received (e.g. bad database errors) are now
reported correctly
Handshake now correctly detects protocol violation errors, like double
auth switches
close#469close#468
Instead of several separate std::string objects, metadata now uses a
single std::vector<char> and offsets, which is more efficient
Default-constructing metadata objects now leaves all fields in a
well-defined state
Added unit tests for metadata
close#461close#465close#164
Added one_small_row, one_big_row, many_rows, stmt_params benchmarks against libmysqlclient and libmariadb
Added a CI build to compile and run benchmarks
Added a Python script to run the benchmarks
Refactored the connection_pool benchmark to be use data independent from examples
close#458
Attempting to start an operation involving server communication after a
multi-function operation has been started and before all its associated
packets have been read now fails with
client_errc::engaged_in_multi_function, instead of causing undefined
behavior.
Attempting to start a read_some_rows or read_resultset_head operation
with no in-progress multi-function operation now fails with
client_errc::not_engaged_in_multi_function.
Attempting to start an operation that requires an established session
before a successful connect now fails with client_errc::not_connected.
Added the three client_errc enum values mentioned above.
Renamed detail::connection_status (connection_pool) to node_status.
Added detail::connection_status (connection_state_data).
Removed redundant spotcheck tests.
close#448close#450
Now connection/any_connection async operations are cancelled even when
the cancellation signal is emitted after an intermediate operation
completes, but before its intermediate handler gets called.
Restored a connection_id integration test that required this fix.
close#199
connection and any_connection now check whether there is an in-progress
async operation, and fail with client_errc::operation_in_progress if
there is one. This situation no longer triggers undefined behavior.
Refactored the internal sans-io algorithms
close#405
Changed the algorithm that calculates how many connections to create to
correctly take into account the number of pending requests.
This makes the pool resize as expected and avoids potential deadlocks.
close#395