]>
git.ipfire.org Git - thirdparty/psycopg.git/log
Daniele Varrazzo [Fri, 23 Jul 2021 14:57:32 +0000 (16:57 +0200)]
Merge branch 'transaction-control'
Daniele Varrazzo [Fri, 23 Jul 2021 14:28:58 +0000 (16:28 +0200)]
Implement the transaction control attributes
Daniele Varrazzo [Fri, 23 Jul 2021 13:01:34 +0000 (15:01 +0200)]
Add IsolationLevel and transaction control attributes on connection
Only add the documentation and the property: they don't work yet.
Daniele Varrazzo [Thu, 22 Jul 2021 21:17:53 +0000 (23:17 +0200)]
Handle timestamps which would overflow in UTC but not in the want timezone
Daniele Varrazzo [Thu, 22 Jul 2021 15:53:10 +0000 (17:53 +0200)]
Better display of block examples in docs
Daniele Varrazzo [Thu, 22 Jul 2021 15:43:39 +0000 (17:43 +0200)]
Fix server-side cursor close() with committed transactions.
Daniele Varrazzo [Thu, 22 Jul 2021 15:41:50 +0000 (17:41 +0200)]
Move withhold/scrollable as server-side cursor attributes
Add respective properties to read back the state.
Daniele Varrazzo [Thu, 22 Jul 2021 12:53:40 +0000 (14:53 +0200)]
hold renamed to withhold for server side cursors
Daniele Varrazzo [Sat, 17 Jul 2021 00:14:47 +0000 (02:14 +0200)]
Add cursor_factory and server_cursor_factory attributes
Daniele Varrazzo [Fri, 16 Jul 2021 15:03:53 +0000 (17:03 +0200)]
Remove format param from cursor constructor
Daniele Varrazzo [Mon, 19 Jul 2021 18:10:48 +0000 (20:10 +0200)]
Fix Range get_key/upgrade
The adapter doesn't need upgrading not when it knows its oid but when it
adapts a Range strict subclass. The difference emerges if a query
handles different types of ranges in composite types.
Problem found by random testing: https://github.com/psycopg/psycopg/runs/
3104464032
Thank you, faker!
Daniele Varrazzo [Mon, 19 Jul 2021 18:16:55 +0000 (20:16 +0200)]
Display the Dumper oid in its repr
Daniele Varrazzo [Mon, 19 Jul 2021 16:44:41 +0000 (18:44 +0200)]
Add faker context manager to help found problematic values
Daniele Varrazzo [Mon, 19 Jul 2021 03:43:09 +0000 (05:43 +0200)]
Retry flaky tests
Daniele Varrazzo [Mon, 19 Jul 2021 03:12:52 +0000 (05:12 +0200)]
Make starting the test proxy idempotent
Helps with retrying tests.
Daniele Varrazzo [Sun, 18 Jul 2021 23:32:24 +0000 (01:32 +0200)]
Fix Windows package build
The package was built with a libpq 11, found along the path in the PHP
dir. And with the libiconv found in the Git directory. All very
worrying.
So, add to the PATH the Postgres bin directory and deal with the
delvewheel exception of libiconv (mentioned in
https://github.com/adang1345/delvewheel/issues/13).
Also fix confusion about where does this stuff run and where is the
server. There is no Docker image here, so we can start the server from
the workflow steps and access it from cibiuldwheel on localhost.
Daniele Varrazzo [Sun, 18 Jul 2021 14:22:47 +0000 (16:22 +0200)]
Drop outdated script to build wheel packages
Using cibuildwheel and the scripts in the `tools/build` directory now.
Daniele Varrazzo [Sun, 18 Jul 2021 02:38:35 +0000 (04:38 +0200)]
Add notes about making a release
Daniele Varrazzo [Sun, 18 Jul 2021 02:39:46 +0000 (04:39 +0200)]
Bump to next dev release
Daniele Varrazzo [Sun, 18 Jul 2021 01:37:57 +0000 (03:37 +0200)]
Bump to next version to build test packages
Daniele Varrazzo [Sat, 17 Jul 2021 00:39:40 +0000 (02:39 +0200)]
Test C extension on Windows and build binary packages
The built wheel package seems broken, but delocating it seems to fix it.
Use the PG_CONFIG env var to specify the pg_config location because
hacking the path is not straightforward with cibuildwheel and has
unwanted side effects with delvewheel.
Daniele Varrazzo [Sun, 18 Jul 2021 01:34:23 +0000 (03:34 +0200)]
Drop test skip for a long solved problem
Daniele Varrazzo [Sat, 17 Jul 2021 01:52:51 +0000 (03:52 +0200)]
Retry some flaky tests
Daniele Varrazzo [Fri, 16 Jul 2021 23:35:54 +0000 (01:35 +0200)]
Fix test retry pattern
Daniele Varrazzo [Fri, 16 Jul 2021 01:41:06 +0000 (03:41 +0200)]
Fix types registry shallow copy
Mark the template as dirty, so that if it's changed the registries that
were cloned for it will remain unchanged.
Daniele Varrazzo [Fri, 16 Jul 2021 01:15:45 +0000 (03:15 +0200)]
Add fixture to restore the state of the global adapters
Daniele Varrazzo [Wed, 14 Jul 2021 15:48:21 +0000 (17:48 +0200)]
Fix dumping arrays of different versions of network objects
Use a single dumper for both IPv4 and IPv6 so that the array sub_dumper
is not ambiguous.
Daniele Varrazzo [Wed, 14 Jul 2021 00:51:36 +0000 (02:51 +0200)]
At import -> at import time
Daniele Varrazzo [Wed, 14 Jul 2021 00:46:50 +0000 (02:46 +0200)]
Move "from psycopg2" docs page under basic
And tweak it a bit.
Daniele Varrazzo [Wed, 14 Jul 2021 00:21:43 +0000 (02:21 +0200)]
Drop a fixme related to a bug closed in furo docs style
I prefer our style though, so we are not reverting back to the template style.
Daniele Varrazzo [Wed, 14 Jul 2021 00:19:48 +0000 (02:19 +0200)]
Add link to GitHub Actions runner bug hack
Daniele Varrazzo [Wed, 14 Jul 2021 00:09:51 +0000 (02:09 +0200)]
Fix reference target to the psycopg module
It was stolen by the errors module.
Daniele Varrazzo [Wed, 14 Jul 2021 00:09:32 +0000 (02:09 +0200)]
Left align table contents in the docs
Daniele Varrazzo [Tue, 13 Jul 2021 23:46:28 +0000 (01:46 +0200)]
Consistent TOC expansion in docs second level pages
Daniele Varrazzo [Tue, 13 Jul 2021 23:43:29 +0000 (01:43 +0200)]
Adapt docs cleanup
Daniele Varrazzo [Tue, 13 Jul 2021 01:55:05 +0000 (03:55 +0200)]
Corrections to the types module docs
Daniele Varrazzo [Tue, 13 Jul 2021 01:45:10 +0000 (03:45 +0200)]
Add example of numeric-to-float loading
Daniele Varrazzo [Tue, 13 Jul 2021 01:07:58 +0000 (03:07 +0200)]
Add wheel package to dev dependencies
We get warnings when we build the C extension without it. Probably they
are harmless, but let's pretend we understand what it is for.
Daniele Varrazzo [Tue, 13 Jul 2021 01:04:54 +0000 (03:04 +0200)]
Add sphinx-autobuild to docs dependencies
It would probably be a dev dependency, but it would pull the whole
Sphinx in devs, which is not necessarily needed there.
Daniele Varrazzo [Tue, 13 Jul 2021 01:00:57 +0000 (03:00 +0200)]
Display two title levels in the main docs TOC
Daniele Varrazzo [Tue, 13 Jul 2021 01:00:36 +0000 (03:00 +0200)]
Drop repetition in adapt docs, and more cleanup around it
Daniele Varrazzo [Tue, 13 Jul 2021 00:27:48 +0000 (02:27 +0200)]
Fix tox docs build
Daniele Varrazzo [Mon, 12 Jul 2021 23:50:32 +0000 (01:50 +0200)]
Docs building dependencies updated
With the current documentation the image in advanced/adapt is not
displayed. Trying if upgrading fixes the issue because the furo theme
was upgraded but Sphinx didn't and they may be incompatible now.
Docs build dependencies moved to setup.py.
Daniele Varrazzo [Mon, 12 Jul 2021 17:32:14 +0000 (19:32 +0200)]
Adding more glue content to docs
Daniele Varrazzo [Mon, 12 Jul 2021 17:26:29 +0000 (19:26 +0200)]
Move copy docs to the basic section
Daniele Varrazzo [Mon, 12 Jul 2021 17:05:28 +0000 (19:05 +0200)]
Add docs for the psycopg module
Daniele Varrazzo [Mon, 12 Jul 2021 16:37:17 +0000 (18:37 +0200)]
Retry more flaky tests
Daniele Varrazzo [Mon, 12 Jul 2021 22:31:32 +0000 (00:31 +0200)]
Merge branch 'adapters-protocols'
Daniele Varrazzo [Mon, 12 Jul 2021 15:54:57 +0000 (17:54 +0200)]
proto modules renamed to abc
Daniele Varrazzo [Mon, 12 Jul 2021 15:36:19 +0000 (17:36 +0200)]
Improvements to the adaptation documentation
Daniele Varrazzo [Sun, 11 Jul 2021 13:02:44 +0000 (15:02 +0200)]
Add unit tests for register_loader/dumper types
Use the more idiomatic type name for the other tests.
Daniele Varrazzo [Sun, 11 Jul 2021 12:41:54 +0000 (14:41 +0200)]
Expose postgres.adapters from the psycopg package
Daniele Varrazzo [Sun, 11 Jul 2021 12:24:30 +0000 (14:24 +0200)]
Drop flake8 ignore on types/__init__ file
Daniele Varrazzo [Sun, 11 Jul 2021 02:16:25 +0000 (04:16 +0200)]
Drop .register() method from Dumper/Loader classes
Use the register_dumper/loader() method on the adapters, readily
available from the context. A bit of a violation of Demeter law, but
much more intuitive and simplifies the Dumper/Loader interface (the
methods were outside the protocol).
Daniele Varrazzo [Sun, 11 Jul 2021 02:14:17 +0000 (04:14 +0200)]
Add postgres module
The module exports PostgreSQL specific configurations: the mapping
oid -> types and the mapping from oid/types to dumpers/loaders.
Daniele Varrazzo [Sun, 11 Jul 2021 02:27:20 +0000 (04:27 +0200)]
Allow adapter protocols tests to run on Python 3.6
Daniele Varrazzo [Sat, 10 Jul 2021 16:46:07 +0000 (18:46 +0200)]
Add Loader protocol
Daniele Varrazzo [Sat, 10 Jul 2021 16:41:44 +0000 (18:41 +0200)]
Remove the cls attribute from the Dumper protocol
Where used, in recursive types, get_key() can be used instead.
Daniele Varrazzo [Sat, 10 Jul 2021 15:42:30 +0000 (17:42 +0200)]
Rename adapt.Format to PyFormat
Daniele Varrazzo [Sat, 10 Jul 2021 15:13:21 +0000 (17:13 +0200)]
Add Dumper protocol
The presence of this protocol allows to implement custom dumper that
don't inherit from psycopg ones and still be statically checked.
Daniele Varrazzo [Sat, 10 Jul 2021 13:09:22 +0000 (15:09 +0200)]
Don't chain exceptions on pool timeout
Daniele Varrazzo [Wed, 30 Jun 2021 16:05:22 +0000 (17:05 +0100)]
Cleanup of install docs
Daniele Varrazzo [Wed, 30 Jun 2021 16:04:42 +0000 (17:04 +0100)]
More terse import error of the requested implementation
Daniele Varrazzo [Wed, 30 Jun 2021 16:04:19 +0000 (17:04 +0100)]
Cleanup of metadata and readme presented on PyPI
Daniele Varrazzo [Wed, 30 Jun 2021 11:21:11 +0000 (12:21 +0100)]
Note in the first docs example that the module name is psycopg
Daniele Varrazzo [Wed, 30 Jun 2021 11:14:25 +0000 (12:14 +0100)]
Bump to version 3.0.dev0 to release testing packages
Daniele Varrazzo [Wed, 30 Jun 2021 01:59:15 +0000 (02:59 +0100)]
Add workflow to create sdist packages
Daniele Varrazzo [Wed, 30 Jun 2021 00:49:30 +0000 (01:49 +0100)]
Merge branch 'cibuildwheel'
Daniele Varrazzo [Wed, 30 Jun 2021 00:31:12 +0000 (01:31 +0100)]
Disable building Windows packages.
Daniele Varrazzo [Tue, 29 Jun 2021 22:55:38 +0000 (23:55 +0100)]
Install Postgres in the image to build Windows packages
Daniele Varrazzo [Tue, 29 Jun 2021 16:03:54 +0000 (17:03 +0100)]
Build Windows binary packages
Daniele Varrazzo [Mon, 28 Jun 2021 13:07:34 +0000 (14:07 +0100)]
Build MacOS binary packages
Daniele Varrazzo [Mon, 28 Jun 2021 13:32:23 +0000 (14:32 +0100)]
Make the script to build the binary package portable
Daniele Varrazzo [Sun, 27 Jun 2021 23:38:39 +0000 (00:38 +0100)]
Build psycopg-binary package for Linux
Daniele Varrazzo [Tue, 29 Jun 2021 13:29:26 +0000 (14:29 +0100)]
Test all the Python versions on MacOS and Windows
Daniele Varrazzo [Tue, 29 Jun 2021 15:48:18 +0000 (16:48 +0100)]
Merge branch 'windows'
Daniele Varrazzo [Tue, 29 Jun 2021 15:35:21 +0000 (16:35 +0100)]
Don't use the Cython IF construct
This produces independent .c files which can be included in the sdist
and be compiled on every supported platform.
Daniele Varrazzo [Tue, 29 Jun 2021 14:14:12 +0000 (15:14 +0100)]
Drop compile warinings on MSVC
Daniele Varrazzo [Tue, 29 Jun 2021 12:55:37 +0000 (13:55 +0100)]
Disable testing the C exception for Windows
Added libpq.lib to the path to run tests, but it didn't help.
I can't work around the import problem. Maybe delocating the package
would fix it? However, will ask for help for it.
Daniele Varrazzo [Tue, 29 Jun 2021 12:00:33 +0000 (13:00 +0100)]
Work around getpid on Windows
Daniele Varrazzo [Tue, 29 Jun 2021 11:47:43 +0000 (12:47 +0100)]
Add ws2_32 lib dependency on Windows
Daniele Varrazzo [Tue, 29 Jun 2021 10:32:50 +0000 (11:32 +0100)]
Pass the correct libdir to the window builder
"pg_config --libdir" returns "C:/STRAWB~1/c/lib"
Reported in https://github.com/actions/runner/issues/1178
Daniele Varrazzo [Tue, 29 Jun 2021 04:00:42 +0000 (05:00 +0100)]
Skip timing tests on windows
They fail less often than Mac OS, but they are still unreliable.
Daniele Varrazzo [Tue, 29 Jun 2021 03:53:30 +0000 (04:53 +0100)]
Add libpq dir to link options
Daniele Varrazzo [Tue, 29 Jun 2021 03:41:07 +0000 (04:41 +0100)]
Skip tests requiring an IANA db on Windows
Daniele Varrazzo [Tue, 29 Jun 2021 03:33:49 +0000 (04:33 +0100)]
Fix libpq name in windows linking
Daniele Varrazzo [Tue, 29 Jun 2021 03:19:25 +0000 (04:19 +0100)]
Work around _timezone name clash on windows
https://bugs.python.org/issue24643
Daniele Varrazzo [Tue, 29 Jun 2021 02:58:05 +0000 (03:58 +0100)]
Skip proxy tests on windows
It doesn't come up. zfg.
Daniele Varrazzo [Tue, 29 Jun 2021 02:47:40 +0000 (03:47 +0100)]
Fix inclusion of sys/param.h on Windows compiler
The header is probably available on Cygwin but not on MSVC.
Daniele Varrazzo [Tue, 29 Jun 2021 02:40:03 +0000 (03:40 +0100)]
Skip asyncio tests on windows
Daniele Varrazzo [Tue, 29 Jun 2021 02:19:30 +0000 (03:19 +0100)]
Add windows compatibility to endian functions
Daniele Varrazzo [Tue, 29 Jun 2021 01:57:36 +0000 (02:57 +0100)]
Run tests on windows
Daniele Varrazzo [Tue, 29 Jun 2021 00:38:35 +0000 (01:38 +0100)]
Refactor test workflow to avoid repetitions
Also test a sample Python implementation on MacOS.
Daniele Varrazzo [Tue, 29 Jun 2021 01:37:24 +0000 (02:37 +0100)]
Merge branch 'macos'
Daniele Varrazzo [Tue, 29 Jun 2021 00:08:30 +0000 (01:08 +0100)]
Skip proxy-based tests on MacOS tests
The proxy doesn't start in time 2s seem plenty.
Daniele Varrazzo [Mon, 28 Jun 2021 23:40:10 +0000 (00:40 +0100)]
Skip timing-based tests on GitHub Actions MacOS runners
Daniele Varrazzo [Tue, 29 Jun 2021 00:22:18 +0000 (01:22 +0100)]
Give a gc hit before running gc tests
Sometimes these tests fail because there is garbage before.
Daniele Varrazzo [Mon, 28 Jun 2021 14:24:34 +0000 (15:24 +0100)]
Run CI tests on MacOS too
Daniele Varrazzo [Mon, 28 Jun 2021 14:07:14 +0000 (15:07 +0100)]
Don't assume that the user "postgres" always exists in tests
Daniele Varrazzo [Mon, 28 Jun 2021 13:56:08 +0000 (14:56 +0100)]
Add compatibility with Mac OS