mysql
mysql copied to clipboard
MySQL C++ client based on Boost.Asio
Some statements are unreachable, but required to silence some compilers. Mark them with `__builtin_unreachable` or `std::unreachable()`.
Currently it's ``` format_sql(conn.format_opts().value(), "SELECT {}", 42); ``` We can do better and provide some wrapper like: ``` format_sql(conn, "SELECT {}", 42); conn.format_sql("SELECT {}", 42); conn.execute(query("SELECT {}", 42)); ```
May be of use as: * A shortcut for identifier formatting: `{:id}` * Escaping `LIKE` special characters: `SELECT * FROM t WHERE f LIKE '%{:l}%'`
#69 (with the advent of Boost.Charconv) solves a problem of locale-dependency. We should have tests to verify that we don't fail parsing regardless of the locale used. Note that Docker...
Currently, when the static interface finds a type mismatch, no more packets are read, thus making further operations impossible. Rationale: a static interface type mismatch means that a serious error...
Following https://github.com/boostorg/system/issues/115, review that we're not affected, too.
* The retry strategy is currently very simple (linear time between retries) and not configurable. When there are a lot of connections, this can saturate the network. A configurable retry...
This is a rare case of a race condition that can happen during the execution of any connection function. If the cancellation signal is emitted while the current async op...
Per-operation cancellation for `async_run` and `async_get_connection` doesn't do the right thing. It should: * `async_run`: same thing as `connection_pool::cancel`. This is partial cancellation. * `async_get_connection`: mark the operation as cancelled,...