All notable changes to this project will be documented in this file, in reverse chronological order by release.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#336 adds
InsertIgnore
class for "INSERT IGNORE" usage (usable inMySQL
platform). -
#356 adds support for
IN (NULL)
for empty value-set.
- Nothing.
- Nothing.
- Nothing.
- #146 fixes setting correct value for
lastInsertValue
pre-insert inSequenceFeature
.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#382 fixes
Zend\Db\Sql\Expression
to allow0
value for parameter. -
#395 fixes PHP 7.4 compatibility.
-
#392 fixes
MetadataFeature
to work withTableIdentifier
. -
#399 fixes accessing constraint metadata within the Oracle adapter.
-
#375 fixes detecting number of replacements in
Zend\Db\Sql\Expression
. -
#377 allows any
AdapterInterface
instance inRowGateway
. -
#342 fixes deleting from aliased tables.
-
#386 fixes too strongly casting integer parameters in PDO adapter.
- #157 added support of
Zend\Db\Sql\TableIdentifier
in DDL - #345 allow usage with zend-hydrator v3
- #346 adds support for PHP 7.3
- Nothing.
- Nothing.
- Nothing.
- #303 fixes #295 issue:
handle empty array as datasource at
AbstractResultSet::initialize()
at PHP 7.2 - #313 test
AbstractResultSet::current()
to return null on empty array - #329 fixes Exception
thrown when calling
prepareStatementForSqlObject
on a Select with a sub-Select that has limit and/or offset set - #337 fixes #330 current NULL for mysqli
- #338 restore missing use
ResultSet
inAbstractTableGateway
- #341 fixes undefined variable bug in MetadataFeature
- #357 fixes named params in subquery - limit and offset (issue #355)
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#295 fix error when datasource passed to
AbstractResultSet::initialize()
is empty array at php 7.2 environment -
#300 Fix error for nested queries inside field parameters
-
#301 fix for issue with set fields that exists in different tables in one query
-
#304 fix PDO bind parameter name to use field name with extended charset (PDO only supports alphanumeric and underscore for placeholder/parameter names).
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #292 ensures that you may
reference bound parameter names using a leading colon (
:
) character when using the PDO adapter. (The leading colon is not technically necessary, as the adapter will prefix for you; however, this ensures portability with vanilla PDO.)
- Nothing.
-
#289 reverts a change introduced in 2.9.0 and modifies the behavior of the PDO adapter slightly to remove a regression. In 2.9.0, when binding parameters with names that contained characters not supported by PDO, we would pass the parameter names to
md5()
; this caused a regression, as the SQL string containing the parameter name was not also updated.This patch modifies the behavior during a bind-operation to instead raise an exception if a parameter name contains characters not supported by PDO.
- Nothing.
- Nothing.
- Nothing.
- #216 added AFTER support in ALTER TABLE syntax for MySQL
- #223 added support for empty values set with IN predicate
- #271 added support for dash character on MySQL identifier
- #273 added support for implementing an error handler for db2_prepare
- #275 added support for LIMIT OFFSET for db2
- #280 added version dsn parameter for pdo_dblib
- Nothing.
- Nothing.
- #205 fixes the spaces in ORDER BY syntax
- #224 fixes how parameters
are bound to statements in the PDO adapter. PDO has a restriction on parameter
names of
[0-9a-zA_Z_]
; as such, the driver now hashes the parameter names usingmd5()
in order to ensure compatibility with other drivers. - #229 fixes the support of SSL for mysqli
- #255 fixes ResultSet with array values
- #261 fixes Exception in Firebird driver doesn't support lastInsertId
- #276 fixes the support of PHP 7.2
- #287 fixes the usage of count() with PHP 7.2
- #110 prepared the documentation for publication at https://zendframework.github.io/zend-db/
- #114 add Adapter\Adapter::class to alias against Adapter\AdapterInterface::class
- Nothing.
- Nothing.
- #154 fixes the how the COMBINE operator is applied to SQLite adapters, ensuring a valid UNION statement is generated.
- #112 fixes the test on the number of replacements when using the same variable name.
- #115 TableGateway update method was incorrect when specifying default join declaration.
- #145 Fix MSSQL Select when encounting DISTINCT and OFFSET and LIMIT together.
- #153 Runtime exception threw fatal error due to incorrect spelling of the class when a DSN did not exist.
- Nothing.
- Nothing.
- Nothing.
- #100 fixes the JOIN behavior to re-allow selecting an empty column set from the joined table.
- #106 fixes an issue in the test suite when ext/pgsql is enabled, but no databases are avaiable.
- #92 adds the class
Zend\Db\Sql\Join
for creating and aggregating JOIN specifications. This is now consumed by allZend\Db\Sql
implementations in order to represent JOIN statements. - #92 adds support for JOIN operations to UPDATE statements.
- #92 adds support for joins
to
AbstractTableGateway::update
; you can now pass an array of specifications via a third argument to the method. - #96 exposes the package as
config-provider/component, but adding:
Zend\Db\ConfigProvider
, which maps theAdapterInterface
to theAdapterServiceFactory
, and enables theAdapterAbstractServiceFactory
.Zend\Db\Module
, which does the same, for a zend-mvc context.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #71 updates the
Pgsql
adapter to allow passing the connection charset; this can be done with thecharset
option when creating your adapter. - #76 fixes the behavior of
Zend\Db\Sql\Insert
when an array of names is used for columns to ensure the string names are used, and not the array indices. - #91 fixes the behavior of
the
Oci8
adapter when initializing a result set; previously, it was improperly assigning the count of affected rows to the generated value. - #95 fixes the
IbmDb2
platform'squoteIdentifier()
method to properly allow#
characters in identifiers (as they are commonly used on that platform).
- Nothing.
- Nothing.
- Nothing.
- #85 and
#87 update the code base
to be forwards compatible with:
- zend-eventmanager v3
- zend-hydrator v2.1
- zend-servicemanager v3
- zend-stdlib v3
- #49 Add docbook documentation.
- Nothing.
- Nothing.
- #55 Implement FeatureSet canCallMagicCall and callMagicCall methods
- #56 AbstractResultSet::current now does validation to ensure an array.
- #58 Fix unbuffered result on MySQLi.
- #59 Allow unix_socket parameter
- Nothing.
- Nothing.
- Nothing.
- #31 fixes table gateway update when there is a table alias utilized.
- Nothing.
- Nothing.
- Nothing.
- #43 unset and get during an insert operation would throw an InvalidArgumentException during an insert.
- #42 updates the component to use zend-hydrator for hydrator functionality; this provides forward compatibility with zend-hydrator, and backwards compatibility with hydrators from older versions of zend-stdlib.
- #15 adds a new predicate,
Zend\Db\Sql\Predicate\NotBetween
, which can be invoked viaSql
instances:$sql->notBetween($field, $min, $max)
. - #22 extracts a factory,
Zend\Db\Metadata\Source\Factory
, fromZend\Db\Metadata\Metadata
, removing the (non-public)createSourceFromAdapter()
method from that class. Additionally, it extractsZend\Db\Metadata\MetadataInterface
, to allow creating alternate implementations.
- #27 deprecates the
constants
JOIN_OUTER_LEFT
andJOIN_OUTER_RIGHT
in favor ofJOIN_LEFT_OUTER
andJOIN_RIGHT_OUTER
.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #29 removes the required
second argument to
Zend\Db\Predicate\Predicate::expression()
, allowing it to be nullable, and mirroring the constructor ofZend\Db\Predicate\Expression
.
- #40 updates the
zend-stdlib dependency to reference
>=2.5.0,<2.7.0
to ensure hydrators will work as expected following extraction of hydrators to the zend-hydrator repository. - #34 fixes retrieval of constraint metadata in the Oracle adapter.
- #41 removes hard dependency on EventManager in AbstractTableGateway.
- #17 removes an executable bit on a regular file.
- #3 updates the code to use closure binding (now that we're on 5.5+, this is possible).
- #9 thoroughly audits the OCI8 (Oracle) driver, ensuring it provides feature parity with other drivers, and fixes issues with subselects, limits, and offsets.