]> git.ipfire.org Git - thirdparty/psycopg.git/log
thirdparty/psycopg.git
4 years agoMerge branch 'transaction-control'
Daniele Varrazzo [Fri, 23 Jul 2021 14:57:32 +0000 (16:57 +0200)] 
Merge branch 'transaction-control'

4 years agoImplement the transaction control attributes
Daniele Varrazzo [Fri, 23 Jul 2021 14:28:58 +0000 (16:28 +0200)] 
Implement the transaction control attributes

4 years agoAdd IsolationLevel and transaction control attributes on connection
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.

4 years agoHandle timestamps which would overflow in UTC but not in the want timezone
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

4 years agoBetter display of block examples in docs
Daniele Varrazzo [Thu, 22 Jul 2021 15:53:10 +0000 (17:53 +0200)] 
Better display of block examples in docs

4 years agoFix server-side cursor close() with committed transactions.
Daniele Varrazzo [Thu, 22 Jul 2021 15:43:39 +0000 (17:43 +0200)] 
Fix server-side cursor close() with committed transactions.

4 years agoMove withhold/scrollable as server-side cursor attributes
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.

4 years agohold renamed to withhold for server side cursors
Daniele Varrazzo [Thu, 22 Jul 2021 12:53:40 +0000 (14:53 +0200)] 
hold renamed to withhold for server side cursors

4 years agoAdd cursor_factory and server_cursor_factory attributes
Daniele Varrazzo [Sat, 17 Jul 2021 00:14:47 +0000 (02:14 +0200)] 
Add cursor_factory and server_cursor_factory attributes

4 years agoRemove format param from cursor constructor
Daniele Varrazzo [Fri, 16 Jul 2021 15:03:53 +0000 (17:03 +0200)] 
Remove format param from cursor constructor

4 years agoFix Range get_key/upgrade
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!

4 years agoDisplay the Dumper oid in its repr
Daniele Varrazzo [Mon, 19 Jul 2021 18:16:55 +0000 (20:16 +0200)] 
Display the Dumper oid in its repr

4 years agoAdd faker context manager to help found problematic values
Daniele Varrazzo [Mon, 19 Jul 2021 16:44:41 +0000 (18:44 +0200)] 
Add faker context manager to help found problematic values

4 years agoRetry flaky tests
Daniele Varrazzo [Mon, 19 Jul 2021 03:43:09 +0000 (05:43 +0200)] 
Retry flaky tests

4 years agoMake starting the test proxy idempotent
Daniele Varrazzo [Mon, 19 Jul 2021 03:12:52 +0000 (05:12 +0200)] 
Make starting the test proxy idempotent

Helps with retrying tests.

4 years agoFix Windows package build
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.

4 years agoDrop outdated script to build wheel packages
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.

4 years agoAdd notes about making a release
Daniele Varrazzo [Sun, 18 Jul 2021 02:38:35 +0000 (04:38 +0200)] 
Add notes about making a release

4 years agoBump to next dev release
Daniele Varrazzo [Sun, 18 Jul 2021 02:39:46 +0000 (04:39 +0200)] 
Bump to next dev release

4 years agoBump to next version to build test packages 3.0.dev1
Daniele Varrazzo [Sun, 18 Jul 2021 01:37:57 +0000 (03:37 +0200)] 
Bump to next version to build test packages

4 years agoTest C extension on Windows and build binary 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.

4 years agoDrop test skip for a long solved problem
Daniele Varrazzo [Sun, 18 Jul 2021 01:34:23 +0000 (03:34 +0200)] 
Drop test skip for a long solved problem

4 years agoRetry some flaky tests
Daniele Varrazzo [Sat, 17 Jul 2021 01:52:51 +0000 (03:52 +0200)] 
Retry some flaky tests

4 years agoFix test retry pattern
Daniele Varrazzo [Fri, 16 Jul 2021 23:35:54 +0000 (01:35 +0200)] 
Fix test retry pattern

4 years agoFix types registry shallow copy
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.

4 years agoAdd fixture to restore the state of the global adapters
Daniele Varrazzo [Fri, 16 Jul 2021 01:15:45 +0000 (03:15 +0200)] 
Add fixture to restore the state of the global adapters

4 years agoFix dumping arrays of different versions of network objects
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.

4 years agoAt import -> at import time
Daniele Varrazzo [Wed, 14 Jul 2021 00:51:36 +0000 (02:51 +0200)] 
At import -> at import time

4 years agoMove "from psycopg2" docs page under basic
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.

4 years agoDrop a fixme related to a bug closed in furo docs style
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.

4 years agoAdd link to GitHub Actions runner bug hack
Daniele Varrazzo [Wed, 14 Jul 2021 00:19:48 +0000 (02:19 +0200)] 
Add link to GitHub Actions runner bug hack

4 years agoFix reference target to the psycopg module
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.

4 years agoLeft align table contents in the docs
Daniele Varrazzo [Wed, 14 Jul 2021 00:09:32 +0000 (02:09 +0200)] 
Left align table contents in the docs

4 years agoConsistent TOC expansion in docs second level pages
Daniele Varrazzo [Tue, 13 Jul 2021 23:46:28 +0000 (01:46 +0200)] 
Consistent TOC expansion in docs second level pages

4 years agoAdapt docs cleanup
Daniele Varrazzo [Tue, 13 Jul 2021 23:43:29 +0000 (01:43 +0200)] 
Adapt docs cleanup

4 years agoCorrections to the types module docs
Daniele Varrazzo [Tue, 13 Jul 2021 01:55:05 +0000 (03:55 +0200)] 
Corrections to the types module docs

4 years agoAdd example of numeric-to-float loading
Daniele Varrazzo [Tue, 13 Jul 2021 01:45:10 +0000 (03:45 +0200)] 
Add example of numeric-to-float loading

4 years agoAdd wheel package to dev dependencies
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.

4 years agoAdd sphinx-autobuild to docs dependencies
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.

4 years agoDisplay two title levels in the main docs TOC
Daniele Varrazzo [Tue, 13 Jul 2021 01:00:57 +0000 (03:00 +0200)] 
Display two title levels in the main docs TOC

4 years agoDrop repetition in adapt docs, and more cleanup around it
Daniele Varrazzo [Tue, 13 Jul 2021 01:00:36 +0000 (03:00 +0200)] 
Drop repetition in adapt docs, and more cleanup around it

4 years agoFix tox docs build
Daniele Varrazzo [Tue, 13 Jul 2021 00:27:48 +0000 (02:27 +0200)] 
Fix tox docs build

4 years agoDocs building dependencies updated
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.

4 years agoAdding more glue content to docs
Daniele Varrazzo [Mon, 12 Jul 2021 17:32:14 +0000 (19:32 +0200)] 
Adding more glue content to docs

4 years agoMove copy docs to the basic section
Daniele Varrazzo [Mon, 12 Jul 2021 17:26:29 +0000 (19:26 +0200)] 
Move copy docs to the basic section

4 years agoAdd docs for the psycopg module
Daniele Varrazzo [Mon, 12 Jul 2021 17:05:28 +0000 (19:05 +0200)] 
Add docs for the psycopg module

4 years agoRetry more flaky tests
Daniele Varrazzo [Mon, 12 Jul 2021 16:37:17 +0000 (18:37 +0200)] 
Retry more flaky tests

4 years agoMerge branch 'adapters-protocols'
Daniele Varrazzo [Mon, 12 Jul 2021 22:31:32 +0000 (00:31 +0200)] 
Merge branch 'adapters-protocols'

4 years agoproto modules renamed to abc
Daniele Varrazzo [Mon, 12 Jul 2021 15:54:57 +0000 (17:54 +0200)] 
proto modules renamed to abc

4 years agoImprovements to the adaptation documentation
Daniele Varrazzo [Mon, 12 Jul 2021 15:36:19 +0000 (17:36 +0200)] 
Improvements to the adaptation documentation

4 years agoAdd unit tests for register_loader/dumper types
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.

4 years agoExpose postgres.adapters from the psycopg package
Daniele Varrazzo [Sun, 11 Jul 2021 12:41:54 +0000 (14:41 +0200)] 
Expose postgres.adapters from the psycopg package

4 years agoDrop flake8 ignore on types/__init__ file
Daniele Varrazzo [Sun, 11 Jul 2021 12:24:30 +0000 (14:24 +0200)] 
Drop flake8 ignore on types/__init__ file

4 years agoDrop .register() method from Dumper/Loader classes
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).

4 years agoAdd postgres module
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.

4 years agoAllow adapter protocols tests to run on Python 3.6
Daniele Varrazzo [Sun, 11 Jul 2021 02:27:20 +0000 (04:27 +0200)] 
Allow adapter protocols tests to run on Python 3.6

4 years agoAdd Loader protocol
Daniele Varrazzo [Sat, 10 Jul 2021 16:46:07 +0000 (18:46 +0200)] 
Add Loader protocol

4 years agoRemove the cls attribute from the Dumper 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.

4 years agoRename adapt.Format to PyFormat
Daniele Varrazzo [Sat, 10 Jul 2021 15:42:30 +0000 (17:42 +0200)] 
Rename adapt.Format to PyFormat

4 years agoAdd Dumper protocol
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.

4 years agoDon't chain exceptions on pool timeout
Daniele Varrazzo [Sat, 10 Jul 2021 13:09:22 +0000 (15:09 +0200)] 
Don't chain exceptions on pool timeout

4 years agoCleanup of install docs
Daniele Varrazzo [Wed, 30 Jun 2021 16:05:22 +0000 (17:05 +0100)] 
Cleanup of install docs

4 years agoMore terse import error of the requested implementation
Daniele Varrazzo [Wed, 30 Jun 2021 16:04:42 +0000 (17:04 +0100)] 
More terse import error of the requested implementation

4 years agoCleanup of metadata and readme presented on PyPI
Daniele Varrazzo [Wed, 30 Jun 2021 16:04:19 +0000 (17:04 +0100)] 
Cleanup of metadata and readme presented on PyPI

4 years agoNote in the first docs example that the module name is psycopg
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

4 years agoBump to version 3.0.dev0 to release testing packages 3.0.dev0
Daniele Varrazzo [Wed, 30 Jun 2021 11:14:25 +0000 (12:14 +0100)] 
Bump to version 3.0.dev0 to release testing packages

4 years agoAdd workflow to create sdist packages
Daniele Varrazzo [Wed, 30 Jun 2021 01:59:15 +0000 (02:59 +0100)] 
Add workflow to create sdist packages

4 years agoMerge branch 'cibuildwheel'
Daniele Varrazzo [Wed, 30 Jun 2021 00:49:30 +0000 (01:49 +0100)] 
Merge branch 'cibuildwheel'

4 years agoDisable building Windows packages.
Daniele Varrazzo [Wed, 30 Jun 2021 00:31:12 +0000 (01:31 +0100)] 
Disable building Windows packages.

4 years agoInstall Postgres in the image to build Windows packages
Daniele Varrazzo [Tue, 29 Jun 2021 22:55:38 +0000 (23:55 +0100)] 
Install Postgres in the image to build Windows packages

4 years agoBuild Windows binary packages
Daniele Varrazzo [Tue, 29 Jun 2021 16:03:54 +0000 (17:03 +0100)] 
Build Windows binary packages

4 years agoBuild MacOS binary packages
Daniele Varrazzo [Mon, 28 Jun 2021 13:07:34 +0000 (14:07 +0100)] 
Build MacOS binary packages

4 years agoMake the script to build the binary package portable
Daniele Varrazzo [Mon, 28 Jun 2021 13:32:23 +0000 (14:32 +0100)] 
Make the script to build the binary package portable

4 years agoBuild psycopg-binary package for Linux
Daniele Varrazzo [Sun, 27 Jun 2021 23:38:39 +0000 (00:38 +0100)] 
Build psycopg-binary package for Linux

4 years agoTest all the Python versions on MacOS and Windows
Daniele Varrazzo [Tue, 29 Jun 2021 13:29:26 +0000 (14:29 +0100)] 
Test all the Python versions on MacOS and Windows

4 years agoMerge branch 'windows'
Daniele Varrazzo [Tue, 29 Jun 2021 15:48:18 +0000 (16:48 +0100)] 
Merge branch 'windows'

4 years agoDon't use the Cython IF construct
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.

4 years agoDrop compile warinings on MSVC
Daniele Varrazzo [Tue, 29 Jun 2021 14:14:12 +0000 (15:14 +0100)] 
Drop compile warinings on MSVC

4 years agoDisable testing the C exception for Windows
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.

4 years agoWork around getpid on Windows
Daniele Varrazzo [Tue, 29 Jun 2021 12:00:33 +0000 (13:00 +0100)] 
Work around getpid on Windows

4 years agoAdd ws2_32 lib dependency on Windows
Daniele Varrazzo [Tue, 29 Jun 2021 11:47:43 +0000 (12:47 +0100)] 
Add ws2_32 lib dependency on Windows

4 years agoPass the correct libdir to the window builder
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

4 years agoSkip timing tests on windows
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.

4 years agoAdd libpq dir to link options
Daniele Varrazzo [Tue, 29 Jun 2021 03:53:30 +0000 (04:53 +0100)] 
Add libpq dir to link options

4 years agoSkip tests requiring an IANA db on Windows
Daniele Varrazzo [Tue, 29 Jun 2021 03:41:07 +0000 (04:41 +0100)] 
Skip tests requiring an IANA db on Windows

4 years agoFix libpq name in windows linking
Daniele Varrazzo [Tue, 29 Jun 2021 03:33:49 +0000 (04:33 +0100)] 
Fix libpq name in windows linking

4 years agoWork around _timezone name clash on windows
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

4 years agoSkip proxy tests on windows
Daniele Varrazzo [Tue, 29 Jun 2021 02:58:05 +0000 (03:58 +0100)] 
Skip proxy tests on windows

It doesn't come up. zfg.

4 years agoFix inclusion of sys/param.h on Windows compiler
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.

4 years agoSkip asyncio tests on windows
Daniele Varrazzo [Tue, 29 Jun 2021 02:40:03 +0000 (03:40 +0100)] 
Skip asyncio tests on windows

4 years agoAdd windows compatibility to endian functions
Daniele Varrazzo [Tue, 29 Jun 2021 02:19:30 +0000 (03:19 +0100)] 
Add windows compatibility to endian functions

4 years agoRun tests on windows
Daniele Varrazzo [Tue, 29 Jun 2021 01:57:36 +0000 (02:57 +0100)] 
Run tests on windows

4 years agoRefactor test workflow to avoid repetitions
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.

4 years agoMerge branch 'macos'
Daniele Varrazzo [Tue, 29 Jun 2021 01:37:24 +0000 (02:37 +0100)] 
Merge branch 'macos'

4 years agoSkip proxy-based tests on MacOS tests
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.

4 years agoSkip timing-based tests on GitHub Actions MacOS runners
Daniele Varrazzo [Mon, 28 Jun 2021 23:40:10 +0000 (00:40 +0100)] 
Skip timing-based tests on GitHub Actions MacOS runners

4 years agoGive a gc hit before running gc tests
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.

4 years agoRun CI tests on MacOS too
Daniele Varrazzo [Mon, 28 Jun 2021 14:24:34 +0000 (15:24 +0100)] 
Run CI tests on MacOS too

4 years agoDon't assume that the user "postgres" always exists in tests
Daniele Varrazzo [Mon, 28 Jun 2021 14:07:14 +0000 (15:07 +0100)] 
Don't assume that the user "postgres" always exists in tests

4 years agoAdd compatibility with Mac OS
Daniele Varrazzo [Mon, 28 Jun 2021 13:56:08 +0000 (14:56 +0100)] 
Add compatibility with Mac OS