⚡️ [NEW] Query\Sqlite(Select|Insert|Update|Delete) classes to support SQLite-specific behaviors
⚡️ [NEW] Query\Pgsql(Select|Insert|Update|Delete) classes to support PostgreSQL-specific behaviors
♻️ [REF] Refactor existing limit/offset behaviors to Query\LimitTrait and Query\OffsetTrait
♻️ [REF] Refactor existing order-by behaviors to Query\OrderByTrait
♻️ [REF] Refactor query-string indenting and comma-separation behaviors to new methods
[ADD] Methods on each db-specific connection object to return db-specific query objects; e.g., Connection\Mysql::newMysqlSelect(), Connection\Pgsql::newPgsqlInsert(), etc.
🚀 Many thanks to @MAXakaWIZARD for his work on the features in this release.
[ADD] Profiler::getLastQuery() to get the last profiled query.
[CHG] AbstractConnection::fetchAll(), fetchAssoc(), fetchCol(), and fetchPairs() all now take a third param: a callable to apply to each row in the results.
✅ [ADD] AbstractConnection::disconnect(), mostly to help with testing.
👍 [NEW] Query\Mysql classes to support MySQL-specific functionality:
- [NEW] Query\Mysql\Select with SQL_CALC_FOUND_ROWS and other mysql-specific flags.
- [NEW] Query\Mysql\Insert with IGNORE and other mysql-specific flags.
- [NEW] Query\Mysql\Update with IGNORE and other mysql-specific flags, as well as LIMIT functionality.
- [NEW] Query\Mysql\Delete with LOW_PRIORITY and other mysql-specific flags, as well as LIMIT functionality.
⚡️ [LIC] Update license copyright dates.
🏗 [TST] Add PHP 5.5 to Travis build.
⚡️ [DOC] Update README.
[ADD] AbstractConnection::setPdo() to inject a pre-existing PDO connection. Thanks, Stan Lemon, for the feature request.
[ADD] Add missing properties AbstractConnection::$profiler and AbstractConnection::$query_factory.
🛠 [CHG] Varios typo fixes by Pascal Borrelli and Henrique Moody.
[CHG] Gateway registry entries must be wrapped in a callable from now on.
[ADD] Method Column::__isset()
🚀 WARNING: This release has backwards compatiblity breaks.
📦 [BRK] Rename "Adapter" to "Connection" throughout the package
📦 [BRK] Rename "sql" to "connection" throughout the package
[ADD] Methods Query\AbstractQuery::setBind(), addBind(), and getBind() to allow bind data to be carried along with the query object.
[ADD] Method Query\AbstractQuery::getConnection() to get the injected database connection.
[NEW] Classes Gateway, GatewayIterator, and GatewayLocator (table data gateway implementation)
[NEW] Class AbstractMapper (mapper implementation)
[NEW] Class UnitOfWork (unit-of-work implemetation)