sqlpp::optional is an alias for std::optional for C++17 and beyond.
Otherwise, it is a simple and incomplete backport.
For older versions of C++, the library offers simple back
Similar for string_view and span.
Before this change, sqlite3::connection::execute silently
ignores statements after the first one (separated by semicolon).
After this change, trailing statements are detected and an
sqlpp::exception is thrown.
This change also adds documentation to other connectors indicating
that execute is supposed to be used with single statements only,
even though it is possible to do otherwise.
* Document the connector API method is_transaction_active()
* Move mysql::connection_base::is_transaction_active() to the other transaction-handling methods.
* Add more tests for mysql::connection::is_transaction_active()
* Add postgresql::connection_base::is_transaction_active()
* Add tests for postgresql::connection_base::is_transaction_active()
* Change the type of the SQLite3 transaction status from transaction_status_type to a boolean flag.
* Add sqlite3::connection_base::is_transaction_active()
* Add tests for sqlite3::connection_base::is_transaction_active()
* When closing a transaction do it in the following order: report (if any), execute SQL command, set transaction active flag to false.
MySQL 8.0.34 deprecates `MYSQL_OPT_RECONNECT`. As discussed in #530,
this commit is removing library support for (auto-)reconnect.
It is of course still possible to reconnect directly using the native
handle.
_head used to represent the position of the next push_back()
and _tail used to represent the position of front().
This CL renames them to avoid confusion.
* Replace connection handle method check_connection() with is_connected() and ping_server()
* When a connections is fetched from a pool perform a validity check which can be one of none, passive or ping.
* Add the methods is_connected() and ping_server() to the connection template class.
* Remove unused #include and add mising #include.
* Add tests for the connection methods is_connected() and ping_server().
* Add sqlpp::compat::make_unique which calls std::make_unique in C++14 or newer and falls back to a custom implementation in C++11 mode.
* Add tests for sqlpp::compat::make_unique
* Move the method definitions of sqlpp::normal_connection inside the class.
* Move the method definitions of sqlpp::pooled_connection inside the class.
* clang-format include/sqlpp11/connection.h
* clang-format include/sqlpp11/connection_pool.h
* Move the PostgreSQL date/time parsing code to common functions in sqlpp::detail
* Use the common date/time-parsing functions to parse the MySQL date/time results.
* Use regular expressions to parse date/time strings in the SQLite3 connector
* Move the code for sqlpp::sqlite3::detail::prepared_statement_handle_t to include/sqlpp11/sqlite3/detail/prepared_statement_handle.h
* Whitespace
* Move the code for sqlpp::sqlite3::detail::connection_handle to include/sqlpp11/sqlite3/detail/connection_handle.h
* Rename sqlpp::sqlite3::serializer_t -> sqlpp::sqlite3::context_t
* Add const qualifiers to sqlpp::mysql::context_t::escape() and its parameter.
* Change method argument types "const std::string" -> "const std::string&"
* Remove a superfluous function that forwards the call to sqlite3_close().
* Move initialization of sqlpp::sqlite3::detail::prepared_statement_handle_t data members from the constructor into the member initialization list.
* Rename method parameter from CamelCase to snake_case.
* Move the method definitions for sqlpp::postgresql::detail::statement_handle_t inside the class.
* Move the method definitions for sqlpp::postgresql::detail::prepared_statement_handle_t inside the class.
* Move the method definitions for sqlpp::postgresql::prepared_statement_t inside the class.
* Move the method definitions for sqlpp::postgresql::::Result inside the class.
* Remove superfluous inline specifier from the in-class method definitions of sqlpp::postgresql::Result.
* Remove unused method declaration sqlpp::postgresql::Result::hasError()
* Move the method definitions for sqlpp::postgresql::bind_result_t inside the class.
* Move the method definitions for sqlpp::postgresql::connection_base inside the class.
* Add a comment explaining why sqlpp::postgresql::context_t::escape() is defined out-of-class.
* Remove incorrect comment about forward declaration
* Remove a superfluous function that forwards the call to PQFinish().
* Replace "std::string" parameters with "const std::string&".
* Remove superfluous detail:: namespace qualification.
* Rename class/struct types, variables and functions from CamelCase to snake_case.
* Move the code for sqlpp::mysql::detail::connection_handle_t to include/sqlpp11/mysql/detail/connection_handle.h
* Move the code for sqlpp::mysql::detail::prepared_statement_handle_t to include/sqlpp11/mysql/detail/prepared_statement_handle.h
* Move the code for sqlpp::mysql::detail::result_handle to include/sqlpp11/mysql/detail/result_handle.h
* Rename sqlpp::mysql::detail::connection_handle_t -> sqlpp::mysql::detail::connection_handle
* Rename sqlpp::mysql::serializer_t -> sqlpp::mysql::context_t
* Add const qualifiers to sqlpp::mysql::context_t::escape() and its parameter.
* Rename class/struct types, variables and functions from CamelCase to snake_case.
* Remove a superfluous function that forwards the call to mysql_close().
* Use a non-UTC timezone when testing the PostgreSQL timezone support.
* Fix serialization of time of day values for PostgreSQL
* Fix serialization of PostgreSQL values for "timestamp with time zone" and "time with time zone" fields.