Skip to content

Releases: amphp/postgres

2.1.0

11 Oct 02:53
v2.1.0
48ee97e
Compare
Choose a tag to compare

What's Changed

  • Fixed type cast for numeric columns when using the ext-pgsql driver. The column value was being cast to a float, it is now cast to a string for parity with the ext-pq driver to retain value precision. (#66)
  • Added a parameter for the default transaction isolation to PostgresConnectionPool to set the default transaction level when constructing the pool.

Full Changelog: v2.0.0...v2.1.0

2.0.0

10 Mar 17:21
v2.0.0
4fffbb2
Compare
Choose a tag to compare

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 Postgres to avoid collisions with similar names from other libraries.
  • Result sets now implement Traversable, allowing them to be used with foreach to 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.
  • PostgresTransaction now extends PostgresLink instead of PostgresExecutor to support nested transactions.
  • Removed TimeoutConnector in favor of DefaultPostgresConnector which has a Cancellation parameter on connect() which may be used with an Amp\TimeoutCancellation.
  • Removed PostgresConnector since the interface was replaced by template types on SqlConnector, i.e. SqlConnector<PostgresConfig, PostgresConnection>
  • Added support for BYTEA fields. (#57)
  • Added the PostgresConnection interface extending PostgresLink.
  • Removed the Receiver interface. These methods are now a part of PostgresConnection.
  • Removed the Quoter Interface. These methods are now a part of PostgresExecutor.

2.0.0 Beta 6

18 Dec 15:49
v2.0.0-beta.6
81f2f19
Compare
Choose a tag to compare
2.0.0 Beta 6 Pre-release
Pre-release

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

13 Dec 00:11
v2.0.0-beta.5
ca59db5
Compare
Choose a tag to compare
2.0.0 Beta 5 Pre-release
Pre-release

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] and amphp/[email protected]. Removed PostgresNestableTransaction.
  • Added PostgresConnection interface extending the base interface Connection from amphp/sql.
  • Merged PostgresQuoter methods into PostgresExecutor and removed PostgresQuoter.
  • Moved PostgresReceiver methods into PostgresConnection and removed PostgresReceiver.

Full Changelog: v2.0.0-beta.4...v2.0.0-beta.5

2.0.0 Beta 4

07 May 15:23
v2.0.0-beta.4
4e23b38
Compare
Choose a tag to compare
2.0.0 Beta 4 Pre-release
Pre-release
  • Fixed statements used in a nested transaction potentially deadlocking when using ext-pgsql.

2.0.0 Beta 3

01 May 23:54
v2.0.0-beta.3
aab9597
Compare
Choose a tag to compare
2.0.0 Beta 3 Pre-release
Pre-release
  • Added support for BYTEA fields. (#57)
  • Added PostgresNestableTransaction which may be optionally used to create a PostgresLink from a PostgresTransaction object. Nested transactions are implemented using savepoints.
  • PostgresExecutor now extends PostgresQuoter, moving the interface lower in the interface hierarchy.

1.4.5

07 Jan 18:54
v1.4.5
8e45076
Compare
Choose a tag to compare
  • Fixed cancelling an active query if a connection is closed when using ext-pgsql (#54)

2.0.0 Beta 2

18 Dec 23:17
v2.0.0-beta.2
70599b5
Compare
Choose a tag to compare
2.0.0 Beta 2 Pre-release
Pre-release
  • Compatibility with Result::fetchRow() added in amphp/[email protected]
  • Added support for BackedEnum instances in statement parameters
  • Removed PostgresConnector since the interface was replaced by template types on SqlConnector, i.e. SqlConnector<PostgresConfig, PostgresConnection>
  • Fixed MONEY type columns from being cast to a float with ext-pgsql, which always resulted in a value of 0. MONEY columns will now be returned as a string, matching ext-pq
  • Requesting the next result set before consuming the entire current result set will now throw an Error

1.4.4

18 Dec 23:01
v1.4.4
c3d2490
Compare
Choose a tag to compare
  • Fixed MONEY type columns from being cast to a float with ext-pgsql, which always resulted in a value of 0. MONEY columns will now be returned as a string, matching ext-pq.

2.0.0 Beta 1

17 Jul 17:33
v2.0.0-beta.1
446956d
Compare
Choose a tag to compare
2.0.0 Beta 1 Pre-release
Pre-release

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 Postgres as a prefix to interfaces and non-extension-specific classes.
  • Renamed ConnectionConfig to PostgresConfig
  • Removed TimeoutConnector in favor of DefaultPostgresConnector, which has a Cancellation parameter on connect() (use Amp\TimeoutCancellation with this parameter for similar behavior to TimeoutConnector)