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
Please use asio::cancel_after, instead.
Replaced client_errc::timeout, client_errc::cancelled by
client_errc::no_connection_available, client_errc::pool_cancelled
async_get_connection no longer uses the last connect error code as failure error code,
but embeds this info in the output diagnostics
close#349
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 a Linux b2 build without OpenSSL
Fixed issue in install_boost.py that made rebuilds to error
Removed workaround for https://github.com/boostorg/boost/issues/711
Changed boost.mysql.use-ts-executor default value to off
close#235
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
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
Added support for the static interface
Statement execution now supports bool and optionals
Replaced the FieldLikeTuple and FieldLike concepts
by WritableFieldTuple and WritableField
Added diagnostics::client_message
Solved a problem with blob types and stored procedures
under MariaDB
Removed a troublesome assert in row_impl
Protected numeric_limits min/max from intrusive macros
Added C++11/14 order management examples
Documentation section collapsing
Test Jamfiles now show output only on failure
close#60close#153close#154
Added execute, start_execution, ExecutionRequest and
statement::bind. Deprecated query, execute_statement,
start_query and start_statement_execution.
Statements can now be executed specifying parameters
as iterator ranges.
Fixed a bug that caused build problems when FieldViewForwardIterator's
reference is convertible to field_view, but not field_view.
Close#111Close#137Close#138
Added support for running stored procedures that SELECT data
Added support for running multiple semicolon-separated queries
Added support for running stored procedures with OUT params
Added resultset and resultset_view
Fixed documentation typos and wording
Refactored object creation in tests
Close#133Close#132Close#8
Separate error categories for common, mysql and mariadb codes.
DB "flavor" detection.
CI mechanism to run db-specific integration tests.
Recovered PCHs in cmake and made them more sane.
close#108
resultset has been renamed to results, to support multi-resultset
without changing the API.
server_diagnostics has been renamed to diagnostics, allowing
the library to emit future client diagnostics
server_error has been renamed to error_with_diagnostics
throw_on_error semantics have been simplified
field::emplace_xxx functions have been removed (redundant)
connection::read_one_row has been removed (redundant)
close#119
Prepared statements are no longer I/O objects.
Closing a statement no longer resets it.
Statements are no longer required to be kept alive
during async execution and close.
close#118
Hide all internal API functions from public classes.
Removed operator<< for row and row_view.
Moved ssl_mode to a separate header file.
Changed metadata_collection_view to use boost::span.
Close#79
Renamed error_info to server_diagnostics.
server_diagnostics::message is now correctly treated as user-supplied input
(security fix). Added notes on examples on this.
Split server and client errors in different categories.
Added throw_on_error.
Added connection::rebind_executor.
Made error categories public.
Exception throwing now uses Boost.Exception.
Improved error handling in examples.
Updated Asio dependencies for stackful coroutines.
Close#64Close#107
Added proper support for multi-function operations, segregating
the API in single-function and multi-function operations.
Removed resultset as I/O object, the read_xxx owning functions
and read_all.
Unit test infrastructure for async testing.
Reference types lifetime fixes.
Removed connection::valid.
Fixed a serialization bug for statements with no parameters.
Binary protocol strings now use the type recommended by MySQL.
Refactored Jamfile to match best practices.
Updated description in libraries.json.
Close#82Close#81Close#73Close#59Close#58Close#53Close#41Close#22