Amphp Mysql Versions Save

An async MySQL client for PHP, optimizing database interactions with efficient non-blocking capabilities. Perfect for responsive, high-performance applications.

v3.0.0

2 months ago

Stable release compatible with AMPHP v3 and fibers! 🎉

As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with ResolutionType.

  • Classes and interfaces now are prefixed with Mysql to avoid collisions with similar names from other libraries.
  • Marked most classes as internal, leaving only interfaces and concrete implementations required to use the API or create a custom connector.
  • MysqlTransaction now extends MysqlLink instead of MysqlExecutor to support nested transactions.
  • MysqlDataType is now an enum of MySQL data type codes and methods to decode data based on type.
  • Result set field data is now available from MysqlResult::getColumnDefinitions() which returns an array of MysqlColumnDefinition objects corresponding to the result set rows.
  • The second param of MysqlStatement::bind() now requires a string. Binding only makes sense with long strings anyway.
  • MysqlConnection is now an interface extending SqlConnection, with SocketMysqlConnection being the implementation.
  • Removed MysqlConnector since the interface was replaced by template types on SqlConnector, i.e. SqlConnector<MysqlConfig, MysqlConnection>

v3.0.0-beta.9

4 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/amphp/mysql/compare/v3.0.0-beta.8...v3.0.0-beta.9

v3.0.0-beta.8

4 months ago

What's Changed

  • Compatibility with amphp/[email protected].
  • Forbid cloning and serialization of most class instances.

Full Changelog: https://github.com/amphp/mysql/compare/v3.0.0-beta.7...v3.0.0-beta.8

v3.0.0-beta.7

5 months ago

What's Changed

Nested transactions have been refactored to be created simply with MysqlTransaction::beginTransaction() instead of needing to wrap a MysqlTransaction into a MysqlNestableTransaction. If you did not use savepoints or nested transactions, you likely will be able to upgrade to this version without any code changes.

  • Updated transactions for amphp/[email protected] and amphp/[email protected]. Removed MysqlNestableTransaction.
  • MysqlConnection interface now extends the base interface Connection from amphp/sql.
  • Added MysqlEncodedValue, replacing MysqlDataType::encodeValue().
  • Renamed SocketMysqlConnection::initialize() to connect(). The first parameter now accepts an instance of SocketConnector instead of a Socket.
  • MysqlColumnDefinition now defines a set of getter methods instead of using public properties.

Full Changelog: https://github.com/amphp/mysql/compare/v3.0.0-beta.6...v3.0.0-beta.7

v3.0.0-beta.6

1 year ago
  • Added MysqlNestableTransaction which may be optionally used to create a MysqlLink from a MysqlTransaction object. Nested transactions are implemented using savepoints.

v3.0.0-beta.5

1 year ago
  • Compatibility with v2.0 of amphp/socket

v3.0.0-beta.4

1 year ago
  • Compatibility with Result::fetchRow() added in amphp/[email protected]
  • Added support for BackedEnum instances in statement parameters
  • Added MysqlResult::getParameterDefintions() which returns a list of MysqlColumnDefinition objects with metadata about each result set column.
  • Requesting the next result set before consuming the entire current result set will now throw an Error
  • The second param of MysqlStatement::bind() now requires a string. Binding only makes sense with long strings anyway.
  • Refactored binary data parsing to improve performance by reducing the number of calls to substr().
  • Removed MysqlConnector since the interface was replaced by template types on SqlConnector, i.e. SqlConnector<MysqlConfig, MysqlConnection>
  • Fixed reaching connection limit results in protocol version exception (#123)

v3.0.0-beta.3

1 year ago
  • Refactored internal result set data structures and fixed connection exceptions not being forwarded to pending results.

v3.0.0-beta.2

1 year ago
  • Fixed DATETIME, TIMESTAMP, DATE, and TIME columns not being decoded correctly (#120)

v3.0.0-beta.1

1 year ago

Initial release compatible with AMPHP v3.

As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with ResolutionType.

  • Marked most classes as internal, leaving only interfaces and concrete implementations required to use the API or create a custom connector.
  • Added Mysql as a prefix to interfaces and classes
  • Renamed ConnectionConfig to MysqlConfig
  • MysqlDataType (formerly DataType) is now an enum
  • Combined ResultSet and CommandResult into a single interface, MysqlResult
  • Added MysqlConnector interface, renamed CancellableConnector to SocketMysqlConnector
  • Result::getColumnDefinitions() returns a list of MysqlColumnDefinition objects instead of a list of associative arrays.
  • Removed TransactionError, using the base class in amphp/sql instead