Releases: amphp/postgres
Releases · amphp/postgres
2.1.1
What's Changed
- Fixed handling of
int2vectorandoidvectorfields when usingext-pgsql(#68). - The type table is now loaded using an async query when using
ext-pgsql. This query is only executed once per server upon the initial connection to that server. Using an async query will reduce latency when connecting to different Postgres servers. - Improved performance of array parsing when using
ext-pgsql.
Full Changelog: v2.1.0...v2.1.1
2.1.0
What's Changed
- Fixed type cast for
numericcolumns when using theext-pgsqldriver. The column value was being cast to a float, it is now cast to a string for parity with theext-pqdriver to retain value precision. (#66) - Added a parameter for the default transaction isolation to
PostgresConnectionPoolto set the default transaction level when constructing the pool.
Full Changelog: v2.0.0...v2.1.0
2.0.0
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.
- Non-extension-specific classes and interfaces now are prefixed with
Postgresto avoid collisions with similar names from other libraries. - Result sets now implement
Traversable, allowing them to be used withforeachto iterate over result rows. - Marked most classes as internal, leaving only interfaces and concrete implementations required to use the API or create a custom connector.
PostgresTransactionnow extendsPostgresLinkinstead ofPostgresExecutorto support nested transactions.- Removed
TimeoutConnectorin favor ofDefaultPostgresConnectorwhich has aCancellationparameter onconnect()which may be used with anAmp\TimeoutCancellation. - Removed
PostgresConnectorsince the interface was replaced by template types onSqlConnector, i.e.SqlConnector<PostgresConfig, PostgresConnection> - Added support for
BYTEAfields. (#57) - Added the
PostgresConnectioninterface extendingPostgresLink. - Removed the
Receiverinterface. These methods are now a part ofPostgresConnection. - Removed the
QuoterInterface. These methods are now a part ofPostgresExecutor.
2.0.0 Beta 6
What's Changed
- Compatibility with
amphp/[email protected]. - Forbid cloning and serialization of most class instances.
Full Changelog: v2.0.0-beta.5...v2.0.0-beta.6
2.0.0 Beta 5
What's Changed
Nested transactions have been refactored to be created simply with PostgresTransaction::beginTransaction() instead of needing to wrap a PostgresTransaction into a PostgresNestableTransaction. 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]andamphp/[email protected]. RemovedPostgresNestableTransaction. - Added
PostgresConnectioninterface extending the base interfaceConnectionfromamphp/sql. - Merged
PostgresQuotermethods intoPostgresExecutorand removedPostgresQuoter. - Moved
PostgresReceivermethods intoPostgresConnectionand removedPostgresReceiver.
Full Changelog: v2.0.0-beta.4...v2.0.0-beta.5
2.0.0 Beta 4
- Fixed statements used in a nested transaction potentially deadlocking when using
ext-pgsql.
2.0.0 Beta 3
- Added support for
BYTEAfields. (#57) - Added
PostgresNestableTransactionwhich may be optionally used to create aPostgresLinkfrom aPostgresTransactionobject. Nested transactions are implemented using savepoints. PostgresExecutornow extendsPostgresQuoter, moving the interface lower in the interface hierarchy.
1.4.5
2.0.0 Beta 2
- Compatibility with
Result::fetchRow()added inamphp/[email protected] - Added support for
BackedEnuminstances in statement parameters - Removed
PostgresConnectorsince the interface was replaced by template types onSqlConnector, i.e.SqlConnector<PostgresConfig, PostgresConnection> - Fixed
MONEYtype columns from being cast to a float withext-pgsql, which always resulted in a value of 0.MONEYcolumns will now be returned as a string, matchingext-pq - Requesting the next result set before consuming the entire current result set will now throw an
Error