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
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
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
Added the ability to detect the executor call stack and whether we're
running from an initiating function or not.
Integration tests now consistently check these two.
any_connection max buffer size is now 64MB
Renamed any_connection_params::initial_read_buffer_size to initial_buffer_size
Renamed pool_params::initial_read_buffer_size to initial_buffer_size
close#278
character_set::name is now a const char*, since NULL characters are not
allowed by MySQL
character_set::next_char doesn't need to be noexcept
Removed noexcepts from next_char functions
Internal refactor
Fixed a potential ODR violation with `asio::coroutine` under MSVC, manifesting as sporadic test failures under release configurations.
`any_stream` has been replaced by the internal `EngineStream` concept
and the `engine` interface.
`algo_runner` has been replaced by `top_level_algo`, improving algorithm
type-erasing
This change is required by #195 and beneficial for #75close#259
Added format_sql, format_sql_to and basic_format_context
Boost.Charconv is now a mandatory dependency
Text queries are now locale-independent
any_connection::current_character_set now uses system::result
Added any_connection::format_opts
field_view, field and statement::bind now disallow character types
escape_string can now be used with any OutputString type
Added constant_string_view
character_set now uses string_view and span
set_character_set hardening
close#69close#208
Fixed problem with header-only builds where
meta_check_context didn't include its .ipp file
Fixed integer overflow problems in datetime::datetime
Fixed NULL memcpy problem in serialization_context::write
Updated tested systems in README and intro
close#33
Separate compilation
Immediate completions are now posted through the I/O executor
Jamfiles now correctly requires C++11
Refactored the protocol and channel modules
Removed example on default completion tokens
close#23close#112