]> git.ipfire.org Git - thirdparty/psycopg.git/log
thirdparty/psycopg.git
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

4 years agoRetry a few time-based pool tests
Daniele Varrazzo [Mon, 28 Jun 2021 18:38:00 +0000 (19:38 +0100)] 
Retry a few time-based pool tests

4 years agoFix tests run with libpq 9.6
Daniele Varrazzo [Mon, 28 Jun 2021 12:00:36 +0000 (13:00 +0100)] 
Fix tests run with libpq 9.6

4 years agoFix compatibility with 32 bit platforms
Daniele Varrazzo [Mon, 28 Jun 2021 04:31:10 +0000 (05:31 +0100)] 
Fix compatibility with 32 bit platforms

4 years agoUse the _psycopg module from either psycopg_c or psycopg_binary
Daniele Varrazzo [Mon, 28 Jun 2021 02:14:20 +0000 (03:14 +0100)] 
Use the _psycopg module from either psycopg_c or psycopg_binary

4 years agoFix test if the connection string specifies a password
Daniele Varrazzo [Mon, 28 Jun 2021 02:29:33 +0000 (03:29 +0100)] 
Fix test if the connection string specifies a password

4 years agoConfigure libpq libcrypto callback
Daniele Varrazzo [Sun, 27 Jun 2021 15:59:07 +0000 (16:59 +0100)] 
Configure libpq libcrypto callback

Import the ssl module beforehand and set up libpq callbacks to avoid clobbering
the former ones.

4 years agoMerge branch 'better-json'
Daniele Varrazzo [Sun, 27 Jun 2021 02:11:06 +0000 (03:11 +0100)] 
Merge branch 'better-json'

4 years agoUpdate json documentation to describe the new interfaces
Daniele Varrazzo [Sun, 27 Jun 2021 01:40:41 +0000 (02:40 +0100)] 
Update json documentation to describe the new interfaces

4 years agoAllow specifying a context to `set_json_loads/dumps()` functions
Daniele Varrazzo [Sun, 27 Jun 2021 00:51:28 +0000 (01:51 +0100)] 
Allow specifying a context to `set_json_loads/dumps()` functions

Drop subclasses tests from the test suite because they are an
implementation detail: the real interface are the `set_json_*()` functions.

4 years agoMore consistent inheritance graph of json dumpers
Daniele Varrazzo [Sun, 27 Jun 2021 00:23:30 +0000 (01:23 +0100)] 
More consistent inheritance graph of json dumpers

4 years agoCustomise json dumpers and loaders using a class attribute
Daniele Varrazzo [Sun, 27 Jun 2021 00:17:02 +0000 (01:17 +0100)] 
Customise json dumpers and loaders using a class attribute

This is an intermediary step: the class attribute can be set by
subclassing but the idea is to extend set_json_dumps/loads functions to
create these subclasses automatically.

4 years agoGive Json wrappers a dumps method
Daniele Varrazzo [Sat, 26 Jun 2021 23:36:35 +0000 (00:36 +0100)] 
Give Json wrappers a dumps method

In the previous model, dumping a specific json object with a specific
dumper was excessively difficult (it would have required subclassing a
wrapper and a dumper).

4 years agoPackage renamed to psycopg
Daniele Varrazzo [Sat, 26 Jun 2021 03:37:53 +0000 (04:37 +0100)] 
Package renamed to psycopg

Calling the package psycopg3 doesn't allow to apply semver.

4 years agoDefine the package_data info in the setup.cfg files
Daniele Varrazzo [Sat, 26 Jun 2021 02:37:35 +0000 (03:37 +0100)] 
Define the package_data info in the setup.cfg files

It wasn't working... because there was a typo.

Also fix inclusion of pxd files in the psycopg3_c sdist package: finding
them recursively doesn't work because the subdirectories are not
packages (and making them so, adding __init__.py files, breaks
everything) so specify all the paths where they are to be found.

4 years agoMerge branch 'types-reorg'
Daniele Varrazzo [Sat, 26 Jun 2021 02:11:27 +0000 (03:11 +0100)] 
Merge branch 'types-reorg'

4 years agoRename internal numeric adapter classes as private
Daniele Varrazzo [Sat, 26 Jun 2021 01:59:27 +0000 (02:59 +0100)] 
Rename internal numeric adapter classes as private

4 years agoUniform datetime dumpers names
Daniele Varrazzo [Sat, 26 Jun 2021 01:54:08 +0000 (02:54 +0100)] 
Uniform datetime dumpers names

4 years agoStringDumper renamed to StrDumper
Daniele Varrazzo [Sat, 26 Jun 2021 01:42:46 +0000 (02:42 +0100)] 
StringDumper renamed to StrDumper

4 years agoModule types.text renamed to string
Daniele Varrazzo [Sat, 26 Jun 2021 01:38:09 +0000 (02:38 +0100)] 
Module types.text renamed to string

4 years agoModule types.date renamed to datetime
Daniele Varrazzo [Sat, 26 Jun 2021 01:28:12 +0000 (02:28 +0100)] 
Module types.date renamed to datetime

4 years agoModule types.network renamed to net
Daniele Varrazzo [Sat, 26 Jun 2021 01:22:49 +0000 (02:22 +0100)] 
Module types.network renamed to net

4 years agoSplit types.singleton module into bool and none
Daniele Varrazzo [Sat, 26 Jun 2021 01:18:24 +0000 (02:18 +0100)] 
Split types.singleton module into bool and none

4 years agoDon't expose all the adapters in the types package
Daniele Varrazzo [Sat, 26 Jun 2021 00:59:35 +0000 (01:59 +0100)] 
Don't expose all the adapters in the types package