]> git.ipfire.org Git - thirdparty/psycopg.git/log
thirdparty/psycopg.git
22 months agorefactor(tests): auto-generate the test_cursor module from async_test_cursor
Daniele Varrazzo [Mon, 7 Aug 2023 09:11:24 +0000 (10:11 +0100)] 
refactor(tests): auto-generate the test_cursor module from async_test_cursor

Use a script to translate an async module to sync. The module is to be
extended to cover the entire test suite and then possibly the rest of
the code.

22 months agorefactor(tests): tweak test_cursor to make it more similar to the async version
Daniele Varrazzo [Mon, 7 Aug 2023 08:58:05 +0000 (09:58 +0100)] 
refactor(tests): tweak test_cursor to make it more similar to the async version

22 months agodocs: update requirements specifiers link
Daniele Varrazzo [Wed, 11 Oct 2023 21:44:43 +0000 (23:44 +0200)] 
docs: update requirements specifiers link

22 months agodocs: adjust list of supported systems.
Daniele Varrazzo [Tue, 10 Oct 2023 21:45:35 +0000 (23:45 +0200)] 
docs: adjust list of supported systems.

- Mention Solaris/BSD as not officially supported.
- Drop non-GitHub macOS reference: we are now distributing Apple M1
  packages too, so that's a lie.

22 months agodocs: making fun of psycopg3
Daniele Varrazzo [Tue, 10 Oct 2023 21:45:13 +0000 (23:45 +0200)] 
docs: making fun of psycopg3

For small values of fun.

22 months agodocs: link together readme files on PyPI and add reference to psycopg2
Daniele Varrazzo [Tue, 10 Oct 2023 21:21:57 +0000 (23:21 +0200)] 
docs: link together readme files on PyPI and add reference to psycopg2

See https://github.com/psycopg/psycopg2/issues/1632

22 months agodocs: clean up details and errors in type annotations, more pages
Daniele Varrazzo [Tue, 10 Oct 2023 14:11:52 +0000 (16:11 +0200)] 
docs: clean up details and errors in type annotations, more pages

22 months agochore: drop 'set -x' (commented and not) from scripts
Daniele Varrazzo [Sun, 8 Oct 2023 09:31:29 +0000 (11:31 +0200)] 
chore: drop 'set -x' (commented and not) from scripts

22 months agodocs(pool): simpler, less detailed, more opinionated pool docs page
Daniele Varrazzo [Sat, 7 Oct 2023 01:49:46 +0000 (03:49 +0200)] 
docs(pool): simpler, less detailed, more opinionated pool docs page

Show a very basic usage example, then give a more detailed connection
life cycle illustration. Push lower and keep shorter the alternative
creation methods.

22 months agotest: mark array leak test slow
Daniele Varrazzo [Fri, 6 Oct 2023 19:37:17 +0000 (21:37 +0200)] 
test: mark array leak test slow

It takes 300ms, but it's still a blip when other tests run.

Add notes in the tests readme about repeating finding slow tests.

22 months agorefactor(pool): don't use a no-op function as reconnect callback
Daniele Varrazzo [Fri, 6 Oct 2023 15:04:42 +0000 (17:04 +0200)] 
refactor(pool): don't use a no-op function as reconnect callback

Just check for None.

22 months agostyle(pool): don't report too many decimals in timeout error message
Daniele Varrazzo [Fri, 6 Oct 2023 12:38:44 +0000 (14:38 +0200)] 
style(pool): don't report too many decimals in timeout error message

22 months agofix(pool): trade off usage timing precision for robustness
Daniele Varrazzo [Fri, 6 Oct 2023 12:36:43 +0000 (14:36 +0200)] 
fix(pool): trade off usage timing precision for robustness

It is unlikely that the statements we shuffled around will fail;
however, let's do the right thing and make sure that, if they do, the
getconn/putconn pair remains matched.

22 months agodocs(pool): fix changelog entry
Daniele Varrazzo [Fri, 6 Oct 2023 09:43:23 +0000 (11:43 +0200)] 
docs(pool): fix changelog entry

Attributing Generic pool feature entry to 3.2.0, not to 3.1.9.

22 months agoMerge branch 'fix-652'
Daniele Varrazzo [Tue, 3 Oct 2023 16:31:06 +0000 (18:31 +0200)] 
Merge branch 'fix-652'

22 months agotest: verify that time objects with failing utcoffset() are handled correctly
Daniele Varrazzo [Tue, 3 Oct 2023 16:09:11 +0000 (18:09 +0200)] 
test: verify that time objects with failing utcoffset() are handled correctly

22 months agofix: raise DataError dumping a time with ambiguous timezone
Daniele Varrazzo [Tue, 3 Oct 2023 16:08:19 +0000 (18:08 +0200)] 
fix: raise DataError dumping a time with ambiguous timezone

Close #652

22 months agochore: drop Python 3.7 support
Daniele Varrazzo [Sun, 1 Oct 2023 02:25:05 +0000 (04:25 +0200)] 
chore: drop Python 3.7 support

Also drop from the test grid PostgreSQL 10, now unsupported.

22 months agoci: add PostgreSQL 16 to the test grid
Daniele Varrazzo [Tue, 3 Oct 2023 11:26:16 +0000 (13:26 +0200)] 
ci: add PostgreSQL 16 to the test grid

22 months agotest: test Python 3.12 on all platform with final image
Daniele Varrazzo [Tue, 3 Oct 2023 11:21:46 +0000 (13:21 +0200)] 
test: test Python 3.12 on all platform with final image

22 months agoci: add Python 3.12 packages build
Daniele Varrazzo [Tue, 3 Oct 2023 08:48:40 +0000 (10:48 +0200)] 
ci: add Python 3.12 packages build

22 months agochore: fix 'adapers' typo
Daniele Varrazzo [Tue, 3 Oct 2023 08:53:29 +0000 (10:53 +0200)] 
chore: fix 'adapers' typo

22 months agostyle: avoid a chained traceback on dns parsing error
Daniele Varrazzo [Wed, 27 Sep 2023 21:59:12 +0000 (23:59 +0200)] 
style: avoid a chained traceback on dns parsing error

22 months agodocs: fix typo
Daniele Varrazzo [Wed, 27 Sep 2023 12:38:14 +0000 (14:38 +0200)] 
docs: fix typo

22 months agoMerge branch 'generic-connection-pool'
Daniele Varrazzo [Wed, 27 Sep 2023 09:09:58 +0000 (11:09 +0200)] 
Merge branch 'generic-connection-pool'

22 months agodocs: add docs about generic pool 559/head
Daniele Varrazzo [Wed, 27 Sep 2023 00:38:44 +0000 (02:38 +0200)] 
docs: add docs about generic pool

22 months agofeat(pool): make pool generic on connection type
Daniele Varrazzo [Tue, 26 Sep 2023 23:16:55 +0000 (01:16 +0200)] 
feat(pool): make pool generic on connection type

22 months agochore: add typing.assert_type() to the _compat module
Denis Laxalde [Mon, 3 Apr 2023 09:53:54 +0000 (11:53 +0200)] 
chore: add typing.assert_type() to the _compat module

This requires typing_extensions >= 4.2.

22 months agofix: use Self type for connection pool in __*enter__()
Denis Laxalde [Wed, 5 Apr 2023 11:39:53 +0000 (13:39 +0200)] 
fix: use Self type for connection pool in __*enter__()

This makes inheritance, e.g. for *NullConnectionPool, work correctly:

    with psycopg_pool.NullConnectionPool() as p:
        pass
    reveal_type(p)
    # Revealed type is "psycopg_pool.null_pool.NullConnectionPool"

22 months agochore: bump psycopg package version to 3.1.12
Daniele Varrazzo [Tue, 26 Sep 2023 21:25:55 +0000 (23:25 +0200)] 
chore: bump psycopg package version to 3.1.12

22 months agoMerge branch 'fix-608'
Daniele Varrazzo [Tue, 26 Sep 2023 21:47:14 +0000 (23:47 +0200)] 
Merge branch 'fix-608'

22 months agofix: use poll() instead of epoll() for waiting
Daniele Varrazzo [Tue, 26 Sep 2023 17:24:44 +0000 (19:24 +0200)] 
fix: use poll() instead of epoll() for waiting

epoll() hangs when the fd it listens to is closed. poll() doesn't have
this problem (as a consequence, hanging only happened in the Python
code, as wait_c is poll-based).

22 months agofix: don't hang forever if async connection is closed while querying
Daniele Varrazzo [Tue, 26 Sep 2023 16:29:47 +0000 (18:29 +0200)] 
fix: don't hang forever if async connection is closed while querying

Fix #608

22 months agofix: don't raise spurious errors on cancel if the connection is closed
Daniele Varrazzo [Tue, 26 Sep 2023 16:27:25 +0000 (18:27 +0200)] 
fix: don't raise spurious errors on cancel if the connection is closed

22 months agochore(crdb): test 23.1 in CI
Daniele Varrazzo [Tue, 26 Sep 2023 16:54:10 +0000 (18:54 +0200)] 
chore(crdb): test 23.1 in CI

22 months agoMerge branch 'fix-647'
Daniele Varrazzo [Tue, 26 Sep 2023 10:48:29 +0000 (12:48 +0200)] 
Merge branch 'fix-647'

22 months agofix: cache all dynamically generated adapter types
Daniele Varrazzo [Mon, 25 Sep 2023 15:19:53 +0000 (17:19 +0200)] 
fix: cache all dynamically generated adapter types

These are not currently a leak in cPython, but I don't think it's
guaranteed anywhere, and it might well not be the case in other Python
implementations. So, as a matter of hygiene, make sure that calling
register_*() in a loop doesn't create an unbound number of new types.

22 months agofix: cache dynamic adapters created in register_array()
Daniele Varrazzo [Mon, 25 Sep 2023 22:26:56 +0000 (00:26 +0200)] 
fix: cache dynamic adapters created in register_array()

If the base class is a C extension, the subclasses cannot be GC'd. This
results in a leak if register_array() is called in a loop.

Close #647

22 months agoci(scaleway_m1): add list command and jq pretty output
Daniele Varrazzo [Mon, 25 Sep 2023 15:16:02 +0000 (17:16 +0200)] 
ci(scaleway_m1): add list command and jq pretty output

22 months agochore: bump psycopg_pool package version to 3.1.8
Daniele Varrazzo [Fri, 22 Sep 2023 22:08:43 +0000 (00:08 +0200)] 
chore: bump psycopg_pool package version to 3.1.8

22 months agochore: bump psycopg package version to 3.1.11
Daniele Varrazzo [Fri, 22 Sep 2023 22:08:01 +0000 (00:08 +0200)] 
chore: bump psycopg package version to 3.1.11

22 months agodocs: Document what to do when a new major version of Postgres is released
Daniele Varrazzo [Fri, 22 Sep 2023 21:44:42 +0000 (23:44 +0200)] 
docs: Document what to do when a new major version of Postgres is released

22 months agoci: provision a M1 build server automatically, if needed
Daniele Varrazzo [Fri, 22 Sep 2023 20:36:27 +0000 (22:36 +0200)] 
ci: provision a M1 build server automatically, if needed

22 months agofix(bump_version): handle tagging without bumping version
Daniele Varrazzo [Fri, 22 Sep 2023 23:07:03 +0000 (01:07 +0200)] 
fix(bump_version): handle tagging without bumping version

22 months agoci: run 3rd party integration tests on commit on maint-3.1 branch
Daniele Varrazzo [Fri, 22 Sep 2023 22:23:07 +0000 (00:23 +0200)] 
ci: run 3rd party integration tests on commit on maint-3.1 branch

22 months agochore: update cibuildwheel version
Daniele Varrazzo [Fri, 22 Sep 2023 21:32:16 +0000 (23:32 +0200)] 
chore: update cibuildwheel version

22 months agochore: upgrade libpq, OpenSSL versions
Daniele Varrazzo [Fri, 22 Sep 2023 21:31:46 +0000 (23:31 +0200)] 
chore: upgrade libpq, OpenSSL versions

22 months agodocs: refresh stale release information
Daniele Varrazzo [Fri, 22 Sep 2023 21:23:47 +0000 (23:23 +0200)] 
docs: refresh stale release information

23 months agoperf(windows): don't use wait_c.
Daniele Varrazzo [Tue, 19 Sep 2023 20:38:03 +0000 (22:38 +0200)] 
perf(windows): don't use wait_c.

The function was reported to use excessive CPU. Need to investigate,
however, for the moment, suspend its usage on Windows.

See #645.

23 months agodocs: add docs about connection pool logging
Daniele Varrazzo [Wed, 20 Sep 2023 09:04:22 +0000 (11:04 +0200)] 
docs: add docs about connection pool logging

23 months agofix(c): fix loading of intervals with days and months or years
Daniele Varrazzo [Tue, 19 Sep 2023 19:07:20 +0000 (21:07 +0200)] 
fix(c): fix loading of intervals with days and months or years

Close #643.

23 months agoci: fix building Python 3.7 extension on windows using delvewheel 1.5.1
Daniele Varrazzo [Fri, 15 Sep 2023 15:35:58 +0000 (17:35 +0200)] 
ci: fix building Python 3.7 extension on windows using delvewheel 1.5.1

See https://github.com/adang1345/delvewheel/issues/39

23 months agochore: constrain importlib metadata to the version supporting Python 3.7
Daniele Varrazzo [Fri, 15 Sep 2023 11:44:15 +0000 (13:44 +0200)] 
chore: constrain importlib metadata to the version supporting Python 3.7

23 months agorefactor: convert back query2pg from static method to regular function
Daniele Varrazzo [Mon, 11 Sep 2023 00:36:26 +0000 (01:36 +0100)] 
refactor: convert back query2pg from static method to regular function

On Python < 3.10, a static method doesn't seem callable, at least during
class building, so applying lru_cache on it fails.

23 months agofix: avoid caching the parsing of large queries
Daniele Varrazzo [Mon, 4 Sep 2023 13:42:00 +0000 (14:42 +0100)] 
fix: avoid caching the parsing of large queries

These queries are typically generated by ORMs and have poor
cacheability, but can result in a lot of memory being used.

Close #628.

See also <https://github.com/sqlalchemy/sqlalchemy/discussions/10270>.

23 months agochore(binary): bump depending libraries
Daniele Varrazzo [Mon, 4 Sep 2023 00:16:35 +0000 (01:16 +0100)] 
chore(binary): bump depending libraries

Bump to libpq 15.4, OpenSSL 1.1.1v, OpenLDAP 2.6.6.

Particularly important is the libpq bump because the library, since
15.2, allows group access to the SSL certificate. See
https://github.com/psycopg/psycopg/discussions/528

23 months agodocs: add porting tips for cursor subclasses
Daniele Varrazzo [Mon, 4 Sep 2023 00:09:18 +0000 (01:09 +0100)] 
docs: add porting tips for cursor subclasses

23 months agorefactor(bump_version): do without parse_version function
Daniele Varrazzo [Sat, 2 Sep 2023 10:41:45 +0000 (11:41 +0100)] 
refactor(bump_version): do without parse_version function

Also allow for no change in the change log found (mostly for testing).

23 months agochore: avoid anyio >= 4 for the moment
Daniele Varrazzo [Fri, 1 Sep 2023 10:46:01 +0000 (11:46 +0100)] 
chore: avoid anyio >= 4 for the moment

The 'policy' parameter is not supported anymore, and finding the right
workaround is tricky, especially because it's only needed for Windows,
and because anyio 4 doesn't support Python 3.7, so we would need to
support both the versions.

When we will drop Python 3.7 support it will be easier move to anyio >= 4.

23 months agoMerge branch 'fix-solaris'
Daniele Varrazzo [Fri, 1 Sep 2023 12:35:16 +0000 (13:35 +0100)] 
Merge branch 'fix-solaris'

23 months agodocs: mention fix for solaris build
Daniele Varrazzo [Fri, 1 Sep 2023 12:32:51 +0000 (13:32 +0100)] 
docs: mention fix for solaris build

23 months agofix: support solaris and deriv
Gaige B. Paulsen [Thu, 31 Aug 2023 11:40:44 +0000 (11:40 +0000)] 
fix: support solaris and deriv

23 months agofix: add missing pipeline sync in async cursro scroll().
Daniele Varrazzo [Sat, 19 Aug 2023 17:23:38 +0000 (18:23 +0100)] 
fix: add missing pipeline sync in async cursro scroll().

23 months agofix: add missing lock in async executemany with no pipeline
Daniele Varrazzo [Sat, 19 Aug 2023 17:23:38 +0000 (18:23 +0100)] 
fix: add missing lock in async executemany with no pipeline

23 months agoMerge branch 'fix-oid-overflow'
Daniele Varrazzo [Fri, 1 Sep 2023 10:55:25 +0000 (11:55 +0100)] 
Merge branch 'fix-oid-overflow'

23 months agodocs: add news entry about bug #630 fixed
Daniele Varrazzo [Wed, 23 Aug 2023 14:39:54 +0000 (15:39 +0100)] 
docs: add news entry about bug #630 fixed

23 months ago* fix integer overflow for oids > 2^31
David Grimes [Wed, 23 Aug 2023 13:37:50 +0000 (09:37 -0400)] 
* fix integer overflow for oids > 2^31

2 years agodocs: allow square logos in the sponsors page
Daniele Varrazzo [Fri, 18 Aug 2023 15:41:20 +0000 (16:41 +0100)] 
docs: allow square logos in the sponsors page

2 years agochore: add @webisoftcom logo sponsorship
Daniele Varrazzo [Fri, 18 Aug 2023 15:39:42 +0000 (16:39 +0100)] 
chore: add @webisoftcom logo sponsorship

2 years agoMerge branch 'raw_query_support'
Daniele Varrazzo [Tue, 15 Aug 2023 21:56:41 +0000 (22:56 +0100)] 
Merge branch 'raw_query_support'

2 years agodocs: improve docs about raw query cursors, add release note 560/head
Daniele Varrazzo [Tue, 15 Aug 2023 15:28:01 +0000 (16:28 +0100)] 
docs: improve docs about raw query cursors, add release note

2 years agotests: fix cursor tests to run on raw cursors too
Daniele Varrazzo [Mon, 14 Aug 2023 18:34:19 +0000 (19:34 +0100)] 
tests: fix cursor tests to run on raw cursors too

2 years agofix: fix TypeInfo.fetch() with connections using RawCursor as factory
Daniele Varrazzo [Sun, 13 Aug 2023 09:48:26 +0000 (10:48 +0100)] 
fix: fix TypeInfo.fetch() with connections using RawCursor as factory

2 years agorefactor: make is_param_sequence a type guard
Daniele Varrazzo [Sun, 13 Aug 2023 09:43:43 +0000 (10:43 +0100)] 
refactor: make is_param_sequence a type guard

Reduce the need of typing hints here and there, although, if it returns
false, it doesn't guarantee "the other half of the union".

2 years agoAdd raw query support with PostgreSQL native placeholders
Joel Jakobsson [Tue, 9 May 2023 00:49:03 +0000 (02:49 +0200)] 
Add raw query support with PostgreSQL native placeholders

This commit introduces support for raw queries with PostgreSQL's native
placeholders ($1, $2, etc.) in psycopg3. By setting the use_raw_query attribute
to True in a custom cursor class, users can enable the use of raw queries with
native placeholders.

The code demonstrates how to create a custom RawQueryCursor class that sets the
use_raw_query attribute to True. This custom cursor class can be set as the
cursor_factory when connecting to the database, allowing users to choose between
PostgreSQL's native placeholders or the standard %s placeholder in their queries.
The code also demonstrates how both styles of placeholders can coexist. Test
cases are included to verify the correct behavior of the new feature.

2 years agoMerge branch 'tests-refactoring'
Daniele Varrazzo [Tue, 15 Aug 2023 14:53:00 +0000 (15:53 +0100)] 
Merge branch 'tests-refactoring'

2 years agotest(crdb): accept different exception on multi-query prepare attempt
Daniele Varrazzo [Sat, 5 Aug 2023 19:53:35 +0000 (20:53 +0100)] 
test(crdb): accept different exception on multi-query prepare attempt

2 years agotest: unify server and client async cursor tests
Daniele Varrazzo [Sat, 5 Aug 2023 18:38:31 +0000 (19:38 +0100)] 
test: unify server and client async cursor tests

Also clean up differences between sync and async cursor tests.

2 years agotest: refactor common cursor tests using parametric fixture
Daniele Varrazzo [Mon, 15 May 2023 09:18:28 +0000 (11:18 +0200)] 
test: refactor common cursor tests using parametric fixture

Tests common to Cursor and BaseCursor now use the same code, with a
parametric connection fixture to run both them.

Tests specific to one of the class moved to a module of their own.

TODO: copy tests might do the same. Async cursors tests should be
refactored too.

2 years agofix: rename QueuedLibpqWriter object
Daniele Varrazzo [Thu, 10 Aug 2023 00:37:22 +0000 (01:37 +0100)] 
fix: rename QueuedLibpqWriter object

It was mistakenly named Driver, not Writer.

2 years agofix: fix infinite loop and OOM in bad executemany
Daniele Varrazzo [Sat, 5 Aug 2023 21:15:05 +0000 (22:15 +0100)] 
fix: fix infinite loop and OOM in bad executemany

The bad condition is only reached using COPY into executemany in
pipeline mode and with prepared statements disabled. It should probably
never happen outside the unit test.

2 years agoMerge branch 'numpy-types-support'
Daniele Varrazzo [Sat, 5 Aug 2023 14:21:46 +0000 (15:21 +0100)] 
Merge branch 'numpy-types-support'

2 years agofeat(crdb): add numpy support 332/head
Daniele Varrazzo [Thu, 3 Aug 2023 13:02:23 +0000 (14:02 +0100)] 
feat(crdb): add numpy support

2 years agofix(c): don't try to mutate Cython type
Daniele Varrazzo [Wed, 2 Aug 2023 00:14:04 +0000 (01:14 +0100)] 
fix(c): don't try to mutate Cython type

These types are now marked immutable. Use a module variable instead.

2 years agofix(copy): fix dumping by oid in text mode
Daniele Varrazzo [Fri, 13 Jan 2023 01:30:05 +0000 (01:30 +0000)] 
fix(copy): fix dumping by oid in text mode

It is less useful than in binary mode, but it was being pretty much
ignored.

2 years agofix(numpy): fix dumping numpy values by oid
Daniele Varrazzo [Fri, 13 Jan 2023 01:24:45 +0000 (01:24 +0000)] 
fix(numpy): fix dumping numpy values by oid

2 years agorefactor(numpy): get OIDs from the _oid module
Daniele Varrazzo [Mon, 9 Jan 2023 10:35:20 +0000 (10:35 +0000)] 
refactor(numpy): get  OIDs from the _oid module

Also drop context optionality in adapters registration.

2 years agodocs: add news entry and docs about numpy scalars support
Daniele Varrazzo [Mon, 9 Jan 2023 08:30:41 +0000 (08:30 +0000)] 
docs: add news entry and docs about numpy scalars support

2 years agofeat: add C numpy dumpers
Daniele Varrazzo [Fri, 6 Jan 2023 19:04:53 +0000 (19:04 +0000)] 
feat: add C numpy dumpers

2 years agodocs: improve comment about why we need to register builtin numerics last
Daniele Varrazzo [Fri, 6 Jan 2023 19:04:19 +0000 (19:04 +0000)] 
docs: improve comment about why we need to register builtin numerics last

2 years agorefactor(c): add _IntOrSubclass dumper to the C dumpers too
Daniele Varrazzo [Fri, 6 Jan 2023 18:28:23 +0000 (18:28 +0000)] 
refactor(c): add _IntOrSubclass dumper to the C dumpers too

2 years agotest(numpy) avoid overflow testing with int16
Daniele Varrazzo [Mon, 19 Dec 2022 15:16:40 +0000 (15:16 +0000)] 
test(numpy) avoid overflow testing with int16

2 years agotest(numpy): drop test with deprecated alias
Daniele Varrazzo [Mon, 19 Dec 2022 15:04:48 +0000 (15:04 +0000)] 
test(numpy): drop test with deprecated alias

2 years agotest(numpy): add dump tests with list of numpy values
Daniele Varrazzo [Mon, 19 Dec 2022 15:01:39 +0000 (15:01 +0000)] 
test(numpy): add dump tests with list of numpy values

2 years agotest(numpy): allow more approximation comparing float16 values
Daniele Varrazzo [Sat, 17 Dec 2022 04:08:56 +0000 (04:08 +0000)] 
test(numpy): allow more approximation comparing float16 values

    >>> numpy.float16("-0.00018227100372314453")
    -0.0001823

    >>> -0.0001823 == pytest.approx(-0.00018227100372314453, rel=1e-5)
    False

    >>> -0.0001823 == pytest.approx(-0.00018227100372314453, rel=1e-3)
    True

2 years agofix(numpy): fix dumpers registration order
Daniele Varrazzo [Sat, 17 Dec 2022 03:47:18 +0000 (03:47 +0000)] 
fix(numpy): fix dumpers registration order

If numpy dumpers are registered after numeric ones, then NPNumericBinaryDumper
is used instead of NumericBinaryDumper when looking up by oid. This
breaks dumping values with a decimal part.

2 years agotest(numpy): consolidate numpy float tests
Daniele Varrazzo [Fri, 16 Dec 2022 20:23:28 +0000 (20:23 +0000)] 
test(numpy): consolidate numpy float tests

2 years agotest(numpy): add random tests with numpy objects
Daniele Varrazzo [Fri, 16 Dec 2022 19:11:19 +0000 (19:11 +0000)] 
test(numpy): add random tests with numpy objects

2 years agotest(numpy): consolidate all numpy int tests in a single parametrized one
Daniele Varrazzo [Fri, 16 Dec 2022 18:26:23 +0000 (18:26 +0000)] 
test(numpy): consolidate all numpy int tests in a single parametrized one

2 years agotest(faker): don't crash if a lazy-import dumper class is not available
Daniele Varrazzo [Fri, 16 Dec 2022 18:24:02 +0000 (18:24 +0000)] 
test(faker): don't crash if a lazy-import dumper class is not available