diff options
author | Cyril Jouve <jv.cyril@gmail.com> | 2021-10-17 23:19:43 +0200 |
---|---|---|
committer | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2021-11-11 21:13:38 +0100 |
commit | 5fb1305a1420ecb884e581d84ea520e490dd5fdf (patch) | |
tree | a2b7346fa77ffd82681cb4f35a6b3b8c007da715 | |
parent | 898cbff5a6d1f8215d39d369581bc00ad22540da (diff) | |
download | psycopg2-5fb1305a1420ecb884e581d84ea520e490dd5fdf.tar.gz |
support for python 3.11
-rw-r--r-- | .github/workflows/tests.yml | 10 | ||||
-rw-r--r-- | psycopg/connection_int.c | 1 | ||||
-rw-r--r-- | psycopg/connection_type.c | 1 | ||||
-rw-r--r-- | psycopg/pqpath.c | 1 | ||||
-rw-r--r-- | psycopg/psycopgmodule.c | 2 | ||||
-rw-r--r-- | psycopg/replication_connection_type.c | 7 | ||||
-rw-r--r-- | psycopg/replication_cursor_type.c | 7 | ||||
-rw-r--r-- | tox.ini | 3 |
8 files changed, 26 insertions, 6 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a913cf5..15b6eec 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,6 +18,7 @@ jobs: - {python: "3.8", postgres: "12"} - {python: "3.9", postgres: "13"} - {python: "3.10", postgres: "14"} + - {python: "3.11-dev", postgres: "14"} # Opposite extremes of the supported Py/PG range, other architecture - {python: "3.6", postgres: "14", architecture: "x86"} @@ -25,6 +26,7 @@ jobs: - {python: "3.8", postgres: "12", architecture: "x86"} - {python: "3.9", postgres: "11", architecture: "x86"} - {python: "3.10", postgres: "10", architecture: "x86"} + - {python: "3.11-dev", postgres: "10", architecture: "x86"} env: PSYCOPG2_TESTDB: postgres @@ -48,11 +50,13 @@ jobs: steps: - uses: actions/checkout@v2 + - name: Install tox + run: pip install tox - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} - - name: Install tox - run: pip install tox - name: Run tests - run: tox -e ${{ matrix.python }} + env: + MATRIX_PYTHON: ${{ matrix.python }} + run: tox -e ${MATRIX_PYTHON%-dev} timeout-minutes: 5 diff --git a/psycopg/connection_int.c b/psycopg/connection_int.c index 34c6957..8365e04 100644 --- a/psycopg/connection_int.c +++ b/psycopg/connection_int.c @@ -33,6 +33,7 @@ #include "psycopg/green.h" #include "psycopg/notify.h" +#include <stdlib.h> #include <string.h> /* String indexes match the ISOLATION_LEVEL_* consts */ diff --git a/psycopg/connection_type.c b/psycopg/connection_type.c index 92d5a86..339f7f1 100644 --- a/psycopg/connection_type.c +++ b/psycopg/connection_type.c @@ -35,6 +35,7 @@ #include "psycopg/green.h" #include "psycopg/xid.h" +#include <stdlib.h> #include <string.h> #include <ctype.h> diff --git a/psycopg/pqpath.c b/psycopg/pqpath.c index ec02067..83ab91f 100644 --- a/psycopg/pqpath.c +++ b/psycopg/pqpath.c @@ -47,6 +47,7 @@ #include "psycopg/libpq_support.h" #include "libpq-fe.h" +#include <stdlib.h> #ifdef _WIN32 /* select() */ #include <winsock2.h> diff --git a/psycopg/psycopgmodule.c b/psycopg/psycopgmodule.c index 5ab6f5f..0d284f8 100644 --- a/psycopg/psycopgmodule.c +++ b/psycopg/psycopgmodule.c @@ -57,6 +57,8 @@ #include <datetime.h> #include "psycopg/adapter_datetime.h" +#include <stdlib.h> + HIDDEN PyObject *psycoEncodings = NULL; HIDDEN PyObject *sqlstate_errors = NULL; diff --git a/psycopg/replication_connection_type.c b/psycopg/replication_connection_type.c index b8c1d2d..7e51904 100644 --- a/psycopg/replication_connection_type.c +++ b/psycopg/replication_connection_type.c @@ -129,6 +129,11 @@ replicationConnection_repr(replicationConnectionObject *self) self, self->conn.dsn, self->conn.closed); } +static int +replicationConnectionType_traverse(PyObject *self, visitproc visit, void *arg) +{ + return connectionType.tp_traverse(self, visit, arg); +} /* object calculated member list */ @@ -173,7 +178,7 @@ PyTypeObject replicationConnectionType = { Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_ITER | Py_TPFLAGS_HAVE_GC, /*tp_flags*/ replicationConnectionType_doc, /*tp_doc*/ - 0, /*tp_traverse*/ + replicationConnectionType_traverse, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ diff --git a/psycopg/replication_cursor_type.c b/psycopg/replication_cursor_type.c index 689a131..ab3ad3c 100644 --- a/psycopg/replication_cursor_type.c +++ b/psycopg/replication_cursor_type.c @@ -346,6 +346,11 @@ replicationCursor_repr(replicationCursorObject *self) "<ReplicationCursor object at %p; closed: %d>", self, self->cur.closed); } +static int +replicationCursorType_traverse(PyObject *self, visitproc visit, void *arg) +{ + return cursorType.tp_traverse(self, visit, arg); +} /* object type */ @@ -374,7 +379,7 @@ PyTypeObject replicationCursorType = { Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_ITER | Py_TPFLAGS_HAVE_GC, /*tp_flags*/ replicationCursorType_doc, /*tp_doc*/ - 0, /*tp_traverse*/ + replicationCursorType_traverse, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ @@ -1,10 +1,11 @@ [tox] -envlist = {3.6,3.7,3.8,3.9,3.10} +envlist = {3.6,3.7,3.8,3.9,3.10,3.11} [testenv] commands = make check whitelist_externals = make passenv = PG* PSYCOPG2_TEST* +basepython = python{envname} [flake8] max-line-length = 85 |