Skip to content

Allow customizing connection state reset #1191

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 1 commit into from
Oct 18, 2024
Merged

Allow customizing connection state reset #1191

merged 1 commit into from
Oct 18, 2024

Conversation

elprans
Copy link
Member

@elprans elprans commented Oct 18, 2024

A coroutine can be passed to the new reset argument of create_pool
to control what happens to the connection when it is returned back to
the pool by release(). By default Connection.reset() is called.
Additionally, Connection.get_reset_query is renamed from
Connection._get_reset_query to enable an alternative way of
customizing the reset process via subclassing.

Closes: #780
Closes: #1146

A coroutine can be passed to the new `reset` argument of `create_pool`
to control what happens to the connection when it is returned back to
the pool by `release()`.  By default `Connection.reset()` is called.
Additionally, `Connection.get_reset_query` is renamed from
`Connection._get_reset_query` to enable an alternative way of
customizing the reset process via subclassing.

Closes: #780
Closes: #1146
@elprans elprans merged commit f6ec755 into master Oct 18, 2024
41 checks passed
@elprans elprans deleted the reset-query branch October 18, 2024 20:22
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
@elprans elprans mentioned this pull request Oct 18, 2024
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 18, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
@elprans elprans mentioned this pull request Oct 19, 2024
elprans added a commit that referenced this pull request Oct 19, 2024
Support Python 3.13 and PostgreSQL 17.

Improvements
============

* Implement GSSAPI authentication
  (by @eltoder in 1d4e568 for #1122)

* Implement SSPI authentication
  (by @eltoder in 1aab209 for #1128)

* Add initial typings
  (by @bryanforbes in d42432b for #1127)

* Allow building with Cython 3
  (by @musicinmybrain in 258d8a9 for #1101)

* docs: fix connection pool close call (#1125)
  (by @paulovitorweb in e848814 for #1125)

* Add support for the `sslnegotiation` parameter
  (by @elprans in afdb05c for #1187)

* Test and build on Python 3.13
  (by @elprans in 3aa9894 for #1188)

* Support PostgreSQL 17
  (by @elprans in cee97e1 for #1189)
  (by @MeggyCal in aa2d0e6 for #1185)

* Add `fetchmany` to execute many *and* return rows
  (by @rossmacarthur in 73f2209 for #1175)

* Add `connect` kwarg to Pool to better support GCP's CloudSQL
  (by @d1manson in 3ee19ba for #1170)

* Allow customizing connection state reset (#1191)
  (by @elprans in f6ec755 for #1191)

Fixes
=====

* s/quote/quote_plus/ in the note about DSN part quoting
  (by @elprans in 1194a8a for #1151)

* Use asyncio.run() instead of run_until_complete()
  (by @eltoder in 9fcddfc for #1140)

* Require async_timeout for python < 3.11 (#1177)
  (by @Pliner in 327f2a7 for #1177)

* Allow testing with uvloop on Python 3.12 (#1182)
  (by @musicinmybrain in 597fe54 for #1182)

* Mark pool-wrapped connection coroutine methods as coroutines
  (by @elprans in 636420b for #1134)

* handle `None` parameters in `copy_from_query`, returning `NULL`
  (by @fobispotc in 259d16e for #1180)

* fix: return the pool from _async_init__ if it's already initialized (#1104)
  (by @guacs in 7dc5872 for #1104)

* Replace obsolete, unsafe `Py_TRASHCAN_SAFE_BEGIN/END` (#1150)
  (by @musicinmybrain in 11101c6 for #1150)
@elprans elprans mentioned this pull request Oct 19, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature Request] Allow to manage reset query for connection
1 participant