]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
implement PG ranges/multiranges agnostically
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 4 Aug 2022 14:27:59 +0000 (10:27 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 5 Aug 2022 14:39:39 +0000 (10:39 -0400)
commitfce1d954aa57feca9c163f9d8cf66df5e8ce7b65
tree7412139205de0379b5e47e549b87c80bfe618da9
parenteeff036db61377b8159757e6cc2a2d83d85bf69e
implement PG ranges/multiranges agnostically

Ranges now work using a new Range object,
multiranges as lists of Range objects (this is what
asyncpg does.  not sure why psycopg has a "Multirange"
type).

psycopg, psycopg2, and asyncpg are currently supported.
It's not clear how to make ranges work with pg8000, likely
needs string conversion; this is straightforward with the
new archicture and can be added later.

Fixes: #8178
Change-Id: Iab8d8382873d5c14199adbe3f09fd0dc17e2b9f1
14 files changed:
doc/build/changelog/unreleased_20/7156.rst
doc/build/conf.py
doc/build/dialects/postgresql.rst
lib/sqlalchemy/dialects/postgresql/__init__.py
lib/sqlalchemy/dialects/postgresql/_psycopg_common.py
lib/sqlalchemy/dialects/postgresql/asyncpg.py
lib/sqlalchemy/dialects/postgresql/base.py
lib/sqlalchemy/dialects/postgresql/psycopg.py
lib/sqlalchemy/dialects/postgresql/psycopg2.py
lib/sqlalchemy/dialects/postgresql/ranges.py
lib/sqlalchemy/util/__init__.py
test/dialect/postgresql/test_dialect.py
test/dialect/postgresql/test_types.py
test/requirements.py