- Made compatible with XP 12 - @thekid
- Implemented forward compatibility for SQLite error handling, see https://wiki.php.net/rfc/sqlite3_exceptions and #52 (@thekid)
- Fixed empty string handling in TDS protocol for PHP 8.1+, see https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg (@thekid)
- Fixed missing declaration for
MySqlxProtocol::$fieldparser
, see https://wiki.php.net/rfc/deprecate_dynamic_properties (@thekid) - Fixed handling of MySQL error code 1927 ("Connection was killed") (@thekid)
- Overhauled test suite: . Migrated tests to new testing library, see xp-framework/rfc#344 . Split unit and integration tests . Added PHP 8.3 and PHP 8.4 to the test matrix . Fixed integration tests to no longer reuse connections (@thekid)
- Merged #49: Add support for util.UUID instances (in
%s
tokens) (@thekid) - Fixed #50: TypeError (get_resource_type(): Argument #1 ($resource) must be of type resource, SQLite3 given) (@thekid)
- Fixed #51: Warning: Return type of rdbms\ResultSet::getIterator() (@thekid)
- Fixed "Creation of dynamic property" warnings in PHP 8.2 - @thekid
- Made compatible with XP 11 and
xp-framework/logging
version 11.0.0 (@thekid) - Fixed PHP 8.1 compatibility: Passing NULL to string functions, member types, iterator return types (@thekid)
- Fixed "Array and string offset access syntax with curly braces is no longer supported" (@thekid)
- Implemented xp-framework/rfc#334: Drop PHP 5.6:
. Heads up: Minimum required PHP version now is PHP 7.0.0
. Rewrote code base, grouping use statements
. Converted
newinstance
to anonymous classes . Rewroteisset(X) ? X : default
toX ?? default
(@thekid)
- Implemented RFC #335: Remove deprecated key/value pair annotation syntax (@thekid)
- Made compatible with XP 10 - @thekid
- Refrain from using curly braces used for array offsets - @thekid
- Fixed SQLite driver reconnecting on every single query - @thekid
- Heads up: Deprecated
rdbms.util
package - @thekid - Heads up: Remove
?log=
and?observer=
functionality from connection strings; it required a singleton logger set up. Changedrdbms.ProfilingObserver
and the implementations inrdbms.sybase
to use LogCategory instances instead of strings as constructor arguments. (@thekid) - Made compatible with
xp-framework/logging
version 9.0.0 - @thekid
- Merged PR #46: Remove flags "unbuffered", "storeresult", "persistent"
and "newlink":
- Unbuffered queries are run by using open() instead of query() and are definitely not a per-connection flag
- Persistent connections were dropped completely - they have caveats regarding locks and transactions described in the PHP Manual here: http://php.net/manual/en/features.persistent-connections.php
- Creating new links is the default now, instantiating two DBConnection instances and not creating a new connection seems counter-intuitive (@thekid)
- Merged PR #45: Default reconnect to 1 - @thekid
- Merged PR #47: Remove unused affectedRows() method - @thekid
- Merged PR #48: Remove deprecated classes - @thekid
- Merged PR #44: Connection handling. All drivers now automatically reconnect
to database servers and re-run queries when they receive a disconnect. This
behavior can be controlled by a new DSN parameter,
reconnect
, which specifies how many attempts are made, and defaults to 0. (@thekid)
- Merged PR #43: Handle connection closed by admin as SQLConnectionClosedException (@johannes85, @thekid)
- Fixed issue #41: Missing default value for lenth field in MySQLi implementation (@thekid)
- Fixed Sybase and MSSQL
money
andint4
data types on 64-bit systems (@thekid) - Fixed datetime handling for Sybase and MSSQL (@treuter, @thekid)
- Added method to discover available drivers to DefaultDrivers - @thekid
- Merged PR #39: XP9 Compatibility - @thekid
- Refactored code to use
typeof()
instead ofxp::typeOf()
, see xp-framework/rfc#323 (@thekid)
- Merged PR #38: Catch null value (PostgreSQL) - @treuter
- Merged PR #37: Add column types json and jsonb, treat them as regular text columns (@treuter)
- Merged PR #36: Implemented TDS_LONGCHAR (@johannes85, @thekid)
- Merged PR #35: Fixed name and namespace mismatch for SQLite3DBAdapter (@johannes85, @thekid)
- Fixed reference to SQLite driver - @thekid
- Ensure drivers correctly reconnect after an explicit call to
close()
(@thekid)
- Fixed drivers selecting mysqlnd-backed mysqli extension, which leads to mysqlnd cannot connect to MySQL 4.1+ errors (@thekid)
- Added compatibility with xp-framework/networking v8.0.0 - @thekid
- Rewrote
call_user_func_array()
indirections to PHP 5.6 varargs and argument unpacking syntax - see pull request #17 (@thekid) - Heads up: Dropped PHP 5.5 support! - @thekid
- Added forward compatibility with XP 8.0.0 - @thekid
- Changed Finder API to raise rdbms.finder.FinderExceptions for nonexistant methods instead of lang.Error (@thekid)
- Fixed issue #34: Close connection when packet no. out of order (@thekid)
- Fixed handling of disconnects in MySQL userland driver - @thekid
- Merged PR #32: Return
null
instead offalse
from ResultSet::next() at EOF. Although this is theoretically a BC break typical code using awhile
loop is not affected! (@thekid)
- Merged PR #31: MySQL: Buffered queries inconsistency - @thekid
- Fixed issue #27: Integration tests failing on HHVM - @thekid
- Merged PR #26: MySQL: Change charset to utf8mb4 - @lluchs, @thekid
- Ensured deprecation warnings don't affect MySQL integration tests (@thekid)
- Fixed issue #23: No SQLiteDBAdapter available, by reintroducig the removed
class as
rdbms.sqlite3.SQLite3DBAdapter
(@thekid) - Fixed issue #25: "Fatal error: Class 'Record' not found" error when using projections (@johannes85)
- Merged pull request #22 - Fix PostgreSQL DB adapter w/ indexes (@kiesel)
- Merged pull request #23 - Fix handling of boolean values in PostgreSQL (@kiesel)
- Merged pull request #10 - Add type 'bpchar' (blank-padded char) - @treuter
- Merged pull request #18 - change order of preference for MySQLi over MySQL, if extensions available. (@friebe, @kiesel)
- Added version compatibility with XP 7 - @thekid
- Dropped dependency on xp-framework/collections, which was only used in one place inside the test suite! (@thekid)
- Adopted semantic versioning. See xp-framework/rfc#300 - @thekid
- Implemented xp-framework/rfc#309: ResultSets. Heads up: The
query()
method now always returns ardbms.ResultSet
instance. (@thekid)
- Merged PR #15: Run MSSQL integration tests on AppVeyor (@thekid)
- Merged PR #14: Run MySQL, PostgreSQL and SQLite integration tests (@thekid)
- Removed deprecated and dysfunctional SQLite v2 driver (@thekid)
- Fixed SQL cast expression being shadowed by cast function in SQLite3
by renaming the latter to
marshal
. (@thekid) - Changed rdbms.DriverManager::getConnection() to accept DSN instances as well as strings (@thekid)
- Merged PR #11: Add support for 0x79 tokens - stored procedure return status for Sybase and MSSQL userland drivers (@kiesel, @thekid)
- Heads up: Bumped XP version requirement to XP 6.11.0 - @thekid
- Added forward compatibility with XP 7.0 - @thekid
- Replaced deprecated util.HashmapIterator with a local class. (@thekid)
- Changed code base to no longer use deprecated FILE_MODE_* constants (@thekid)
- Fix code to use
nameof()
instead of the deprecatedgetClassName()
method from lang.Generic. See xp-framework/core#120 (@thekid)
- Fixed unbuffered queries in
mysqlx
driver causing fatal errors - @thekid
- Fixed issue #10: Call to undefined function rdbms\mysqlx\this() - @thekid
- Merged PR #9: Rewrite code to avoid ensure() statements - @thekid
- Heads up: Dropped PHP 5.4 support. Note: As the main source is not touched, unofficial PHP 5.4 support is still available though not tested with Travis-CI. (@thekid)
- Rewrote code to ue
literal()
instead ofxp::reflect()
. See xp-framework/rfc#298 (@thekid)
- Merged PR #7: Add missing types (Sybase, MySQL) - @kiesel
- Merged PR #6: Use short array syntax / ::class in annotations - @thekid
- Fixed problem with TDS packets longer than packet size - @thekid
- Added forward compatibility with XP 6.4.0 - @thekid
- Fixed
rdbms.finder.FinderMethod
to throw correct exception - @thekid - Changed rdbms.tds.TdsConnection's
toString()
to use a less-verbose way of displaying which protocol is used. (@thekid)
- Overwrite default socket timeouts with -1 (no timeout). This way SQL queries which take longer than 60 seconds will still execute' (@thekid)
- Fixed issue #5: Support for HHVM - @thekid
- Added forward compatibility with PHP7 - @thekid
- Changed the default for autoconnect to true, that is, if it is omitted
from the DSN, it will automatically connect. If the driver should not
automatically connect, add
?autoconnect=0
to the DSN. (@thekid)
- Changed MySQL userland protocol to handle case when MySQL server disconnects during connection setup phase and give a good error message. (@thekid)
- Adjusted various places to new coding standards - @thekid
- Fixed incorrect references to TDS protocol exception class - @thekid
- TDS 5.0 protocol: Fixed TDS_ROWFMT handling - @thekid
- Changed TDS 5.0 protocol to support long identifiers with Sybase 15.
Fixes
The identifier ... is too long. Maximum length is 30
(@thekid)
- Changed dependency to use XP 6.0 (instead of dev-master) - @thekid
- Fixed Sybase still using iso-8859-1 when using
ext/sybase_ct
drivers. See pull request #4 (@kiesel) - Replaced
DB_ATTRTYPE_*
defines with class constants. See pull request #3 (@kiesel) - Fixed repeated EED messages. See pull request #1 - @thekid
- Added
foreach
support for rdbms.ResultSet (@thekid) - Heads up: Changed connections' default charset to UTF-8 (@thekid)
- Heads up: Converted classes to PHP 5.3 namespaces - (@thekid)