2
0
mirror of https://github.com/boostorg/mysql.git synced 2026-01-19 16:32:12 +00:00

67 Commits

Author SHA1 Message Date
Anarthal (Rubén Pérez)
c242bb0ffd Added CI tests for MySQL 9.x
close #303
2025-10-07 16:56:17 +02:00
Anarthal (Rubén Pérez)
33660e2710 Starting operations while engaged in multi-function ops is no longer UB
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 #448 
close #450
2025-02-22 19:15:03 +01:00
Anarthal (Rubén Pérez)
793b678287 Updated file copyrights to 2025 2025-02-11 20:42:41 +01:00
Anarthal (Rubén Pérez)
829dbf775c Connections now check for in-progress async operations and fail without UB
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
2025-02-05 20:15:54 +01:00
Anarthal (Rubén Pérez)
1f79e5ce3f connection_pool thread-safety is now more robust
Thread-safety is now achieved using pool_params::thread_safe.
Removed pool_executor_params::thread_safe
Unsafe pools now use the standard Asio semantics
Safe pools are now safe even if the handlers' associated executors point
    to a context different from the pool's context

close #268
2024-09-14 13:06:54 +02:00
Anarthal (Rubén Pérez)
a8c992dd95 as_netresult completion token for tests
Restructured handshake integration tests
Removed er_connection infrastructure
Reworked network_result
Greatly simplified integration tests
2024-07-23 18:27:30 +02:00
Anarthal (Rubén Pérez)
a918c6b6b5 Improved server feature detection for integration tests
Introduced BOOST_MYSQL_DISABLED_SERVER_FEATURES env var
Removed BOOST_MYSQL_NO_UNIX_SOCKET_TESTS env var
JSON tests in database_types are now actually run

close #29
2024-07-11 17:36:42 +02:00
Anarthal (Rubén Pérez)
0944b2af77 Added a max limit to any_connection buffer size
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
2024-06-30 15:49:27 +02:00
Ruben Perez
d8b69d0e78 Bumped copyright to 2024 2024-02-18 12:48:14 +01:00
Ruben Perez
bc5577ede5 Connection pool
Added any_connection and any_address
Added connection_pool and pooled_connection
Added thread_safety tests
Added defaults.hpp header

close 19
2023-12-20 18:46:31 +01:00
Ruben Perez
b51115668d Added support for the static interface
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 #60
close #153
close #154
2023-05-22 14:05:12 +02:00
Ruben Perez
ed007e31ae Multi-resultset
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 #133
Close #132
Close #8
2023-03-31 00:44:46 +02:00
Ruben Perez
643e39f85e JSON and TEXT fields with binary collations support.
JSON fields are now read as strings instead of blobs.
TEXT fields with binary collations (e.g. utf8_bin or
    the JSON type in MariaDB) are now read as strings instead of blobs.
Added the column_type::json type.
The CI script now loads all data into the databases. There is no
    longer need to rebuild DB containers when test data changes.
2023-03-04 10:21:36 +01:00
Ruben Perez
31bc3b9dac Copyright year bump 2022-12-31 16:28:59 +01:00
Ruben Perez
a3c9844ef3 New blob, date and datetime types
Binary types now use the new blob and blob_view types
New date and datetime types that can handle invalid and zero date and datetimes
Protection against min and max macros
Improvements in field docs
Docs section on character sets
Introduced new collations with id from 250 to 309
database_types test full refactor

Close #104
Close #103
Close #95
Close #94
Close #91
Close #90
Close #85
Close #80
Close #77
2022-12-15 19:24:18 +01:00
Ruben Perez
bf4071f370 Boostification, part 2
Fully migrated Linux and Windows jobs to Drone
Fixed time-zone related issue in integ tests
Support for MSVC 14.1
Support for latest docca version
Recover codecov support
Test to verify cmake find_package for a b2-generated distribution
Resilience against openssl not being found in Windows
2022-12-05 19:04:24 +01:00
Ruben Perez
86e0eacd6a SSL/TLS and row reading rework (v0.2.0)
* SSL/TLS rework
* Unified connection object
* New prepared_statement::execute interface
* New resultset::read_one mechanic
* Unified row object
* null_t type
* Travis to GitHub actions migration
* Integration test rework
2022-03-21 16:09:48 +01:00
Ruben Perez
fa6f177e0f Added support for the BIT type
- Moved socket_connection to a separate include file.
- Clarified Stream requirements.
- Made make_error_code public.
- Updated include styles to match Boost's.
- Moved <boost/myql/mysql.hpp> to <boost/mysql.hpp> to match
conventions.
- Added support for the BIT type.

closes #13
closes #21
2021-03-08 18:56:25 +01:00
Ruben Perez
ade68d172d Added support for relational operators in value
Replaced std::nullptr_t for boost::variant2::monostate in values
Added support for relational operators in value
Automatic docs generation

closes #48
closes #46
2021-03-06 16:35:15 +01:00
ruben
ddb3f14081 Removed date.h library 2020-06-21 15:49:30 +01:00
ruben
3407d818f6 Added support for Boost.Build 2020-06-12 23:44:30 +01:00
ruben
10761729be Added integration tests for invalid dates 2020-05-11 16:48:11 +01:00
ruben
1ae738c35b Renamed database and CMake library 2020-04-20 11:54:16 +01:00
ruben
a54c83ef6a Replaced tabs for spaces 2020-04-20 11:36:31 +01:00
ruben
16ef83b136 Added copyrights 2020-04-20 11:18:52 +01:00
ruben
7c4ed5760b Further increased max_connections 2020-04-16 12:02:05 +01:00
ruben
7c7f26c4fc Enhanced the test runner scripts for integ tests
Split db_setup.sql into regular + sha256
Added a Python script to conditionally run setup and tests
Modified the logic on SHA256 support
2020-04-06 16:44:12 +01:00
ruben
745064c009 Corrected handshake algorithm
Added integ tests for caching_sha256_password
2020-04-06 13:21:05 +01:00
ruben
242d0cd48a Made DB setups compatible with MariaDB 2020-03-13 21:37:28 +00:00
anarthal
84ef370e0d Increased max_connections so integ tests always pass 2020-03-01 17:05:00 +00:00
ruben
547adbf016 Added coverage for TIME in db types
Fixed bug in operator<< for times
Fixed bug in text deserialization for times
2020-02-20 21:45:06 +00:00
ruben
8558525ad0 Increased coverage for TIMESTAMP in db types 2020-02-20 17:55:26 +00:00
ruben
1f61966fa1 Added more coverage for DATETIME in db types 2020-02-20 04:50:28 +00:00
ruben
9b04abae8c Added stmt execute test with a NULL parameter 2020-02-18 17:18:41 +00:00
anarthal
54f72e37ed Made test scripts work under Windows
Solved problem with integration tests under MySQL 8.x (due to default auth plugin for root)
2020-01-14 22:26:29 +00:00
anarthal
59afa25b6b Added missing FLUSH PRIVILEGES at the end of db_setup 2020-01-14 16:50:48 +01:00
anarthal
683de183a5 Now db_setup ensures auth plugin for root user 2020-01-14 16:30:26 +01:00
ruben
a24758ea65 Corrected integ tests to work on MySQL 5.7.x
Changed TIMESTAMP column definition to be nullable (required in MySQL
5.7.x)
2020-01-13 13:15:16 +00:00
ruben
08732ccc00 Updated default for timestamp fields in integ db 2020-01-13 13:07:05 +00:00
ruben
c45e1318e3 Changed defaults for timestamp fields in integ tests 2020-01-13 13:00:08 +00:00
ruben
c2cebd1560 Completed query types tests 2020-01-09 14:42:43 +00:00
ruben
3f4c1332ef Added query types tests for strings with unicode 2020-01-09 10:33:21 +00:00
ruben
166ab64db3 Added query types tests for BINARY types 2020-01-09 09:41:14 +00:00
ruben
0a280fd6d5 Added query types tests for BINARY types 2020-01-08 19:36:46 +00:00
ruben
1cd661d5f9 Added query types test for SET 2020-01-08 18:20:19 +00:00
ruben
2772be06c7 Added query types tests for ENUM type 2020-01-08 18:16:52 +00:00
ruben
22b2cbd367 Added query types tests for string types 2020-01-08 18:13:09 +00:00
ruben
fe7e5a1a5c Added query types tests for YEAR type 2020-01-08 17:39:41 +00:00
ruben
ee8baae603 Added query types tests for TIME 2020-01-08 16:26:01 +00:00
ruben
b61d83c720 Added query types test for TIMESTAMP 2019-12-23 11:44:04 +00:00