]> git.ipfire.org Git - thirdparty/psycopg.git/log
thirdparty/psycopg.git
3 years agoLet mypy check tests/types code 132/head
Denis Laxalde [Thu, 28 Oct 2021 09:35:04 +0000 (11:35 +0200)] 
Let mypy check tests/types code

We configure mypy to check untyped defs in tests/ directory, but only
let it check tests/types files at the moment.

3 years agoRename a variable in test_composite.py::test_register_scope()
Denis Laxalde [Thu, 28 Oct 2021 08:42:49 +0000 (10:42 +0200)] 
Rename a variable in test_composite.py::test_register_scope()

To make mypy happy.

3 years agoAdd a couple of "# type: ignore" in datetime tests
Denis Laxalde [Thu, 28 Oct 2021 08:55:21 +0000 (10:55 +0200)] 
Add a couple of "# type: ignore" in datetime tests

Mypy cannot check map() calls on split-strings.

3 years agoRename a variable in test_array.py::test_all_chars()
Denis Laxalde [Thu, 28 Oct 2021 08:42:49 +0000 (10:42 +0200)] 
Rename a variable in test_array.py::test_all_chars()

To make mypy happy.

3 years agoMake test_multirange.py mypy-clean
Denis Laxalde [Thu, 28 Oct 2021 08:24:44 +0000 (10:24 +0200)] 
Make test_multirange.py mypy-clean

Either ignoring errors (often intended) or adding type hints/ignore as
in previous commit.

3 years agoMake test_range.py mypy-clean
Denis Laxalde [Thu, 28 Oct 2021 08:40:28 +0000 (10:40 +0200)] 
Make test_range.py mypy-clean

This consists in adding the type variable to Range type when it makes
sense or to let mypy ignore the 'var-annotated' error for ranges
declared as empty, and where we do not use the underlying value.

In test_in(), we add an extra check to verify that mypy warns about
types incompatibility.

3 years agoIgnore typing errors in test_no_info_error() tests
Denis Laxalde [Thu, 28 Oct 2021 07:59:11 +0000 (09:59 +0200)] 
Ignore typing errors in test_no_info_error() tests

3 years agoPass a dummy oid in test_hstore::test_parse_{ok,bad}
Denis Laxalde [Thu, 28 Oct 2021 07:57:31 +0000 (09:57 +0200)] 
Pass a dummy oid in test_hstore::test_parse_{ok,bad}

HstoreLoader() wants an integer value as first parameter 'oid'. In these
tests, the value does not matter but at least pass the expected type.

3 years agoMake __version__ importable, although not included in __all__ 131/head
Daniele Varrazzo [Thu, 28 Oct 2021 15:33:00 +0000 (17:33 +0200)] 
Make __version__ importable, although not included in __all__

3 years agoMake the mypy fixture available to the whole test suite
Daniele Varrazzo [Thu, 28 Oct 2021 15:30:40 +0000 (17:30 +0200)] 
Make the mypy fixture available to the whole test suite

Also make mypy tests automatically slow.

See #130 for other cases where a mypy fixture would be useful.

3 years agoHarmless refactoring to server-side cursors
Daniele Varrazzo [Sat, 30 Oct 2021 16:30:17 +0000 (18:30 +0200)] 
Harmless refactoring to server-side cursors

It's cool that mypy finds the common base of the two expressions in the
ternary operator.

3 years agoShorten server-side cursor execute() tracebacks
Daniele Varrazzo [Sat, 30 Oct 2021 15:26:54 +0000 (17:26 +0200)] 
Shorten server-side cursor execute() tracebacks

3 years agoMerge remote-tracking branch 'sureshdsk/issue-125'
Daniele Varrazzo [Sat, 30 Oct 2021 15:24:07 +0000 (17:24 +0200)] 
Merge remote-tracking branch 'sureshdsk/issue-125'

3 years agoIgnore .venv dir in any subdir
Daniele Varrazzo [Sat, 30 Oct 2021 15:22:55 +0000 (17:22 +0200)] 
Ignore .venv dir in any subdir

3 years agoadded async server cursor close tests for fetchone, fetchmany, fetchall 126/head
Suresh Kumar [Sat, 30 Oct 2021 15:13:21 +0000 (20:43 +0530)] 
added async server cursor close tests for fetchone, fetchmany, fetchall

3 years agofixed cursor close check + updated news
Suresh Kumar [Sat, 30 Oct 2021 15:08:27 +0000 (20:38 +0530)] 
fixed cursor close check + updated news

3 years agoadded issue-125 fix to news
Suresh Kumar [Sat, 30 Oct 2021 14:39:56 +0000 (20:09 +0530)] 
added issue-125 fix to news

3 years agoFix Sphinx setup version specification
Daniele Varrazzo [Sat, 30 Oct 2021 14:36:57 +0000 (16:36 +0200)] 
Fix Sphinx setup version specification

Also specify other dependencies using the ~= operator.

3 years agoadded async cursor close tests for fetchone, fetchmany, fetchall
Suresh Kumar [Sat, 30 Oct 2021 14:28:27 +0000 (19:58 +0530)] 
added async cursor close tests for fetchone, fetchmany, fetchall

3 years agofixed cursor close check + added tests for fetchone, fetchmany, fetchall
Suresh Kumar [Sat, 30 Oct 2021 14:16:33 +0000 (19:46 +0530)] 
fixed cursor close check + added tests for fetchone, fetchmany, fetchall

3 years agofix: check if cursor is closed
Suresh Kumar [Sat, 23 Oct 2021 14:45:36 +0000 (20:15 +0530)] 
fix: check if cursor is closed

3 years agoFix test range comparison with empty ranges
Daniele Varrazzo [Thu, 28 Oct 2021 23:36:03 +0000 (01:36 +0200)] 
Fix test range comparison with empty ranges

3 years agoMark slow every test taking more than 0.1s to run
Daniele Varrazzo [Thu, 28 Oct 2021 23:08:12 +0000 (01:08 +0200)] 
Mark slow every test taking more than 0.1s to run

3 years agoBetter workaround for bad datetime comparison Python bug
Daniele Varrazzo [Thu, 28 Oct 2021 22:51:11 +0000 (00:51 +0200)] 
Better workaround for bad datetime comparison Python bug

The problem doesn't just happen far away in the future. 2255 is enough.
See https://bugs.python.org/issue45347#msg405284

Compare timestamps by checking if their delta is 0, convert ranges bounds
to utc.

Fun fact: pytest --randomly-seed=293472621 triggers both the multirange
array bug and this.

3 years agoAvoid error in multirange arrays random testing
Daniele Varrazzo [Thu, 28 Oct 2021 22:49:57 +0000 (00:49 +0200)] 
Avoid error in multirange arrays random testing

Don't create arrays with first element empty if dumping in binary. It is
known to not work (see xfail in multirange tests).

3 years agoRetry a brittle test
Daniele Varrazzo [Thu, 28 Oct 2021 21:20:32 +0000 (23:20 +0200)] 
Retry a brittle test

3 years agoMake ServerCursorHelper.format private
Daniele Varrazzo [Thu, 28 Oct 2021 16:11:16 +0000 (18:11 +0200)] 
Make ServerCursorHelper.format private

Reduce duplicate code, remove a race condition (the format set outside
the lock section), make _declare_gen() interface more similar to
_execute_gen().

3 years agorefactor: compose DECLARE in the helper common path
Daniele Varrazzo [Thu, 28 Oct 2021 15:55:37 +0000 (17:55 +0200)] 
refactor: compose DECLARE in the helper common path

...instead of in the separate sync/async branches.

3 years agoClean up imports/exports in psycopg package
Daniele Varrazzo [Thu, 28 Oct 2021 11:34:45 +0000 (13:34 +0200)] 
Clean up imports/exports in psycopg package

Drop file-level F401 ignore and declare explicitly what is exported.

Something reordered to keep together package-level types registration,
to use a somewhat alphabetical order to group of things.

3 years agoRename test file dropping the 3 from psycopg
Daniele Varrazzo [Tue, 26 Oct 2021 15:56:14 +0000 (16:56 +0100)] 
Rename test file dropping the 3 from psycopg

3 years agoRaise a TypeError when slice-setting a Multirange with a non-iterable value
Denis Laxalde [Thu, 28 Oct 2021 08:13:39 +0000 (10:13 +0200)] 
Raise a TypeError when slice-setting a Multirange with a non-iterable value

The type declaration is:

    def __setitem__(index: slice, value: Iterable[Range[T]]) -> None:
        ...

so passing a non-iterable value should not be allowed. However, the
method implementation makes a special-case for non-iterable values with
a slice.

In accordance with MutableSequence behavior, e.g.:

  >>> x = [1, 2, 3]
  >>> x[1:3] = 0
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  TypeError: can only assign an iterable

it seems more correct to raise a TypeError.

3 years agoRe-export DB-API type constructors and singletons
Denis Laxalde [Thu, 28 Oct 2021 09:31:25 +0000 (11:31 +0200)] 
Re-export DB-API type constructors and singletons

Following https://www.python.org/dev/peps/pep-0249/#type-objects-and-constructors

3 years agoFix formatting in news page
Daniele Varrazzo [Tue, 26 Oct 2021 12:16:01 +0000 (13:16 +0100)] 
Fix formatting in news page

3 years agoFix type hint for `Connection.notifies()`
Daniele Varrazzo [Tue, 26 Oct 2021 12:14:59 +0000 (13:14 +0100)] 
Fix type hint for `Connection.notifies()`

Close #128.

3 years agoFix type hint for `sql.SQL.join()`
Daniele Varrazzo [Tue, 26 Oct 2021 12:11:59 +0000 (13:11 +0100)] 
Fix type hint for `sql.SQL.join()`

Close #127.

3 years agoRemove the pgresult structure from the cursor on close
Daniele Varrazzo [Mon, 25 Oct 2021 08:59:09 +0000 (09:59 +0100)] 
Remove the pgresult structure from the cursor on close

This is what the dbapi demands and helps with make the cursor
unavailable after close.

3 years agoBump sphinx to 4.2 to build docs
Daniele Varrazzo [Mon, 25 Oct 2021 10:14:40 +0000 (11:14 +0100)] 
Bump sphinx to 4.2 to build docs

Version 4.1 has problems with Python 3.10

3 years agoInstall shapely requirements to validate docs
Daniele Varrazzo [Mon, 25 Oct 2021 09:15:06 +0000 (10:15 +0100)] 
Install shapely requirements to validate docs

If it works the same change will be applied to the psycopg-website
repos.

Close #123

3 years agoExtend docs about connection context
Daniele Varrazzo [Thu, 21 Oct 2021 11:47:44 +0000 (12:47 +0100)] 
Extend docs about connection context

Highlight the difference from normal connection (implicit rollback vs.
explicit commit) after conversation on the mailing list about the
inconsistency between the operations.

3 years agoFix wrong error message on unknown PostgreSQL encoding
Daniele Varrazzo [Wed, 20 Oct 2021 11:16:42 +0000 (13:16 +0200)] 
Fix wrong error message on unknown PostgreSQL encoding

Reported in #122.

3 years agoBump version number to next dev release
Daniele Varrazzo [Wed, 20 Oct 2021 11:20:07 +0000 (13:20 +0200)] 
Bump version number to next dev release

3 years agoFix var name in transactions doc examples
Ramiro Morales [Sun, 17 Oct 2021 01:04:35 +0000 (22:04 -0300)] 
Fix var name in transactions doc examples

3 years agoHighlight meaningful lines in transaction examples
Daniele Varrazzo [Sat, 16 Oct 2021 10:16:56 +0000 (12:16 +0200)] 
Highlight meaningful lines in transaction examples

3 years agoFix docs wording after Daniel Fortunov's suggestion
Daniele Varrazzo [Sat, 16 Oct 2021 10:04:54 +0000 (12:04 +0200)] 
Fix docs wording after Daniel Fortunov's suggestion

3 years agoTweak "Multiple statements in the same query" docs
Daniel Fortunov [Fri, 15 Oct 2021 21:22:26 +0000 (22:22 +0100)] 
Tweak "Multiple statements in the same query" docs

Minor wording and typographical tweaks in follow-up to 650e215b

3 years agoAdd documentation about multiple statements execution
Daniele Varrazzo [Fri, 15 Oct 2021 11:53:59 +0000 (13:53 +0200)] 
Add documentation about multiple statements execution

Close #109.

3 years agoImprove transactions documentation
Daniele Varrazzo [Fri, 15 Oct 2021 10:47:43 +0000 (12:47 +0200)] 
Improve transactions documentation

close #110

3 years agoBump to version 3.0.1 3.0.1
Daniele Varrazzo [Thu, 14 Oct 2021 09:36:14 +0000 (11:36 +0200)] 
Bump to version 3.0.1

3 years agoMerge branch 'bug-112'
Daniele Varrazzo [Thu, 14 Oct 2021 08:59:35 +0000 (10:59 +0200)] 
Merge branch 'bug-112'

3 years agoMention bug fixed in news file
Daniele Varrazzo [Thu, 14 Oct 2021 00:26:02 +0000 (02:26 +0200)] 
Mention bug fixed in news file

Close #112.

3 years agoDon't use row dumpers to dump a sequence in C implementation either
Daniele Varrazzo [Thu, 14 Oct 2021 00:21:25 +0000 (02:21 +0200)] 
Don't use row dumpers to dump a sequence in C implementation either

As per previous commit, the assumption that different rows will need the
different dumper is easily broken.

Ref. bug #112

3 years agoAdd tests on executemany to check the same problem of bug #112
Daniele Varrazzo [Wed, 13 Oct 2021 23:32:23 +0000 (01:32 +0200)] 
Add tests on executemany to check the same problem of bug #112

3 years agoDon't use row dumpers to dump a sequence
Daniele Varrazzo [Wed, 13 Oct 2021 23:26:09 +0000 (01:26 +0200)] 
Don't use row dumpers to dump a sequence

Using row dumpers uses the assumption that the types will be the same if
we see the same query. It's easy to break this assumption. Being cheeky
is a way (like passing arguments 1, '2' to the same query...) but it's
easy to trigger the problem dumping numbers and going from in2-size to
int4-size.

This commit only fixes the Python implementation.

Ref. bug #112

3 years agoAdd test to reproduce bug #112
Daniele Varrazzo [Wed, 13 Oct 2021 21:41:26 +0000 (23:41 +0200)] 
Add test to reproduce bug #112

Our first bug!

3 years agoBump to next dev release
Daniele Varrazzo [Wed, 13 Oct 2021 20:25:29 +0000 (22:25 +0200)] 
Bump to next dev release

3 years agoFix composite example
Daniele Varrazzo [Wed, 13 Oct 2021 00:17:54 +0000 (02:17 +0200)] 
Fix composite example

3 years agoMore docs typo
Daniele Varrazzo [Tue, 12 Oct 2021 22:23:26 +0000 (00:23 +0200)] 
More docs typo

3 years agoDocs typo
Daniele Varrazzo [Tue, 12 Oct 2021 21:50:10 +0000 (23:50 +0200)] 
Docs typo

3 years agoBold for an important install requirement
Daniele Varrazzo [Tue, 12 Oct 2021 21:42:43 +0000 (23:42 +0200)] 
Bold for an important install requirement

3 years agoFix typo, as well as the sense, of a sentence
Daniele Varrazzo [Tue, 12 Oct 2021 21:40:55 +0000 (23:40 +0200)] 
Fix typo, as well as the sense, of a sentence

3 years agoFix news for release 3.0 3.0
Daniele Varrazzo [Tue, 12 Oct 2021 14:34:12 +0000 (16:34 +0200)] 
Fix news for release 3.0

3 years agoBump to version 3.0.0
Daniele Varrazzo [Tue, 12 Oct 2021 12:49:44 +0000 (14:49 +0200)] 
Bump to version 3.0.0

3 years agoMove classifiers to stable release
Daniele Varrazzo [Tue, 12 Oct 2021 12:47:35 +0000 (14:47 +0200)] 
Move classifiers to stable release

3 years agoDrop --pre from documentation
Daniele Varrazzo [Tue, 12 Oct 2021 12:47:53 +0000 (14:47 +0200)] 
Drop --pre from documentation

3 years agoDrop docs for numeric wrappers
Daniele Varrazzo [Tue, 12 Oct 2021 13:04:51 +0000 (15:04 +0200)] 
Drop docs for numeric wrappers

They might not be needed after all, because set_types is probably a
better approach.

3 years agoAdd typing docs page
Daniele Varrazzo [Tue, 12 Oct 2021 14:05:47 +0000 (16:05 +0200)] 
Add typing docs page

3 years agoImprove "what's new section in the docs.
Daniele Varrazzo [Tue, 12 Oct 2021 13:17:09 +0000 (15:17 +0200)] 
Improve "what's new section in the docs.

3 years agoDocs typos
Daniele Varrazzo [Tue, 12 Oct 2021 13:05:28 +0000 (15:05 +0200)] 
Docs typos

3 years agoUpgrade flake8 to 4.0.1
Daniele Varrazzo [Mon, 11 Oct 2021 15:36:55 +0000 (17:36 +0200)] 
Upgrade flake8 to 4.0.1

3 years agoFix random test failure caused by degenerate list sample
Daniele Varrazzo [Mon, 11 Oct 2021 15:35:44 +0000 (17:35 +0200)] 
Fix random test failure caused by degenerate list sample

For example it would fail if a list containing an empty range would be
selected.

https://github.com/psycopg/psycopg/pull/102/checks?check_run_id=3859021392

3 years agoAdd PGconn.send_flush_request()
Denis Laxalde [Mon, 11 Oct 2021 12:18:46 +0000 (14:18 +0200)] 
Add PGconn.send_flush_request()

This function is associated with the pipeline mode.

3 years agoMerge branch 'libpq/pipeline'
Daniele Varrazzo [Sun, 10 Oct 2021 20:01:20 +0000 (22:01 +0200)] 
Merge branch 'libpq/pipeline'

3 years agoUse constant name as return value for pipeline_status
Daniele Varrazzo [Sun, 10 Oct 2021 19:59:05 +0000 (21:59 +0200)] 
Use constant name as return value for pipeline_status

Also use the enum in test, without assuming OFF == 0

3 years agoRework PGconn.pipeline_status 100/head
Denis Laxalde [Sun, 10 Oct 2021 09:27:13 +0000 (11:27 +0200)] 
Rework PGconn.pipeline_status

We make this method a property, that returns an integer value, as do
other similar properties/methods on PGconn.

Then, for libpq version older than 14.0, we make this property always
return 0 (PQ_PIPELINE_OFF).

3 years agoDefine PGRES_PIPELINE_* ExecStatusType values as macros for libpq < 14.0
Denis Laxalde [Sun, 10 Oct 2021 09:22:14 +0000 (11:22 +0200)] 
Define PGRES_PIPELINE_* ExecStatusType values as macros for libpq < 14.0

3 years agoHide long tracebacks on connect
Daniele Varrazzo [Fri, 8 Oct 2021 01:25:46 +0000 (03:25 +0200)] 
Hide long tracebacks on connect

Only hide tracebacks of errors coming from the database. They just come
from the database: seeing exactly where they explode inside psycopg is
not useful for the end user. Especially given the generator/waiting
interaction.

See https://github.com/psycopg/psycopg/issues/99 for an example of not
particularly helpful traceback (the message is the only useful bit).

3 years agoMark typing test slow
Daniele Varrazzo [Fri, 8 Oct 2021 01:24:16 +0000 (03:24 +0200)] 
Mark typing test slow

3 years agoDon't generate random timestamps BC
Daniele Varrazzo [Thu, 7 Oct 2021 21:20:49 +0000 (23:20 +0200)] 
Don't generate random timestamps BC

It might happen to go below datetime.datetime.min if the timezone is
involved.

Today the random data generator is having a field day...

3 years agoAdd tests to verify that execute and enter respect cursor subclasses
Daniele Varrazzo [Thu, 7 Oct 2021 19:47:02 +0000 (21:47 +0200)] 
Add tests to verify that execute and enter respect cursor subclasses

3 years agoImprove typing definition for cursor execute/enter
Daniele Varrazzo [Thu, 7 Oct 2021 18:29:45 +0000 (20:29 +0200)] 
Improve typing definition for cursor execute/enter

This is more redundant than using AnyCursor but it respects better the
interface returned.

3 years agoAvoid to create emtpy ranges in tests
Daniele Varrazzo [Thu, 7 Oct 2021 20:23:36 +0000 (22:23 +0200)] 
Avoid to create emtpy ranges in tests

3 years agoBump up a timeout for a test which sometimes fails in the CI on windows
Daniele Varrazzo [Thu, 7 Oct 2021 20:15:47 +0000 (22:15 +0200)] 
Bump up a timeout for a test which sometimes fails in the CI on windows

3 years agoProperly close the at hock event loop in test_windows_error
Federico Caselli [Thu, 7 Oct 2021 19:25:41 +0000 (21:25 +0200)] 
Properly close the at hock event loop in test_windows_error

3 years agoTest binary packages using Postgres 13 to avoid scram auth problems on aarch64
Daniele Varrazzo [Thu, 7 Oct 2021 12:51:10 +0000 (14:51 +0200)] 
Test binary packages using Postgres 13 to avoid scram auth problems on aarch64

3 years agoBuild Windows binary package with libpq 14
Daniele Varrazzo [Wed, 6 Oct 2021 22:17:47 +0000 (00:17 +0200)] 
Build Windows binary package with libpq 14

3 years agoUpdate Windows CI job for Postgres 14
Denis Laxalde [Thu, 7 Oct 2021 10:03:03 +0000 (12:03 +0200)] 
Update Windows CI job for Postgres 14

Since image 20211003.2, PostgreSQL 14 is installed:

  https://github.com/actions/virtual-environments/blob/win19/20211003.2/images/win/Windows2019-Readme.md

3 years agoFix connection delay bias in pool test queue
Daniele Varrazzo [Thu, 7 Oct 2021 00:29:00 +0000 (02:29 +0200)] 
Fix connection delay bias in pool test queue

The connection time was mistakenly counted in the execution time, which
made the test more brittle than already is.

3 years agoUse PostgreSQL 14 to test in the CI
Daniele Varrazzo [Wed, 6 Oct 2021 22:15:06 +0000 (00:15 +0200)] 
Use PostgreSQL 14 to test in the CI

3 years agoInstall typing extensions for setuptools, pytest
Daniele Varrazzo [Tue, 5 Oct 2021 13:41:55 +0000 (15:41 +0200)] 
Install typing extensions for setuptools, pytest

3 years agoMove mypy configuration to pyproject.toml
Daniele Varrazzo [Tue, 5 Oct 2021 13:41:15 +0000 (15:41 +0200)] 
Move mypy configuration to pyproject.toml

3 years agoDropped unneeded continue at the end of a loop
Daniele Varrazzo [Tue, 5 Oct 2021 11:31:26 +0000 (13:31 +0200)] 
Dropped unneeded continue at the end of a loop

3 years agoMerge pull request #91 from dlax/generators-c
Daniele Varrazzo [Tue, 5 Oct 2021 13:09:48 +0000 (14:09 +0100)] 
Merge pull request #91 from dlax/generators-c

Define and use send(), fetch_many() and fetch() generators in C implementation

3 years agoPossibly use C impl of send() and fetch() in Cursor.stream() 91/head
Denis Laxalde [Sat, 2 Oct 2021 13:47:43 +0000 (15:47 +0200)] 
Possibly use C impl of send() and fetch() in Cursor.stream()

Taking advantage of these functions being available per previous commit.

3 years agoExtract send(), fetch_many() and fetch() from generators.execute() C impl
Denis Laxalde [Wed, 29 Sep 2021 12:09:29 +0000 (14:09 +0200)] 
Extract send(), fetch_many() and fetch() from generators.execute() C impl

We extract send(), fetch_many() and fetch() functions from execute() C
implementation. This way, the code structure is similar to the Python
implementation.

3 years agoRun mypy on pool/c Python files too
Daniele Varrazzo [Mon, 4 Oct 2021 16:33:28 +0000 (18:33 +0200)] 
Run mypy on pool/c Python files too

3 years agoExplicitly disallow some mypy checks for tests/
Denis Laxalde [Mon, 4 Oct 2021 09:20:55 +0000 (11:20 +0200)] 
Explicitly disallow some mypy checks for tests/

When running mypy on the tests/ directory, the top-level mypy
configuration is used and strict mode is thus enforced whereas tests
code is not typed. As mypy might be run in people editors by default,
the current situation makes this uncomfortable.

By disabling obvious checks, we get a nicer developer experience. A more
straightforward option would be to set 'check_untyped_defs = False', but
this would prevent valid code to be checked, so the current proposal is
a trade-off.

3 years agoImprove TypeInfo docs
Daniele Varrazzo [Mon, 4 Oct 2021 12:46:27 +0000 (14:46 +0200)] 
Improve TypeInfo docs

3 years agoMerge branch 'multirange'
Daniele Varrazzo [Mon, 4 Oct 2021 12:46:15 +0000 (14:46 +0200)] 
Merge branch 'multirange'

3 years agoAdd Multirange documentation
Daniele Varrazzo [Mon, 4 Oct 2021 12:43:15 +0000 (14:43 +0200)] 
Add Multirange documentation

3 years agoComplete multirange implementation and test
Daniele Varrazzo [Mon, 4 Oct 2021 01:50:15 +0000 (03:50 +0200)] 
Complete multirange implementation and test

- add register_multirange()
- check type of multirange items
- add extensive dump/load tests