diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9cc16ea..015d4b5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,8 @@ jobs: crdb-version: [ "cockroach:latest-v24.1", "cockroach:latest-v24.2", - "cockroach:latest-v24.3" + "cockroach:latest-v24.3", + "cockroach:latest-v25.1" ] db-alias: [ "psycopg2", diff --git a/dev-requirements.txt b/dev-requirements.txt index b50d7af..c681278 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,16 +1,18 @@ +backports-tarfile==1.2.0 + # via jaraco-context certifi==2025.1.31 # via requests cffi==1.17.1 # via cryptography charset-normalizer==3.4.1 # via requests -cryptography==44.0.1 +cryptography==44.0.2 # via secretstorage distlib==0.3.9 # via virtualenv docutils==0.21.2 # via readme-renderer -filelock==3.17.0 +filelock==3.18.0 # via # tox # virtualenv @@ -18,13 +20,17 @@ id==1.5.0 # via twine idna==3.10 # via requests +importlib-metadata==8.6.1 + # via + # keyring + # twine jaraco-classes==3.4.0 # via keyring jaraco-context==6.0.1 # via keyring jaraco-functools==4.1.0 # via keyring -jeepney==0.8.0 +jeepney==0.9.0 # via # keyring # secretstorage @@ -38,13 +44,13 @@ more-itertools==10.6.0 # via # jaraco-classes # jaraco-functools -nh3==0.2.20 +nh3==0.2.21 # via readme-renderer packaging==24.2 # via # tox # twine -platformdirs==4.3.6 +platformdirs==4.3.7 # via virtualenv pluggy==1.5.0 # via tox @@ -67,7 +73,7 @@ requests-toolbelt==1.0.0 # via twine rfc3986==2.0.0 # via twine -rich==13.9.4 +rich==14.0.0 # via twine secretstorage==3.3.3 # via keyring @@ -79,9 +85,13 @@ tox==3.23.1 # via -r dev-requirements.in twine==6.1.0 # via -r dev-requirements.in +typing-extensions==4.13.1 + # via rich urllib3==2.3.0 # via # requests # twine -virtualenv==20.29.1 +virtualenv==20.30.0 # via tox +zipp==3.21.0 + # via importlib-metadata diff --git a/sqlalchemy_cockroachdb/base.py b/sqlalchemy_cockroachdb/base.py index b1af977..b9eeaa1 100644 --- a/sqlalchemy_cockroachdb/base.py +++ b/sqlalchemy_cockroachdb/base.py @@ -134,6 +134,10 @@ def initialize(self, connection): self._is_v222plus = self._is_v221plus and (" v22.1." not in sversion) self._is_v231plus = self._is_v222plus and (" v22.2." not in sversion) self._is_v232plus = self._is_v231plus and (" v23.1." not in sversion) + self._is_v241plus = self._is_v232plus and (" v23.2." not in sversion) + self._is_v242plus = self._is_v241plus and (" v24.1." not in sversion) + self._is_v243plus = self._is_v242plus and (" v24.2." not in sversion) + self._is_v251plus = self._is_v243plus and (" v24.3." not in sversion) self._has_native_json = self._is_v2plus self._has_native_jsonb = self._is_v2plus self._supports_savepoints = self._is_v201plus diff --git a/test-requirements.txt b/test-requirements.txt index 5647a79..4e15c9b 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,22 +1,22 @@ -alembic==1.14.1 +alembic==1.15.2 # via -r test-requirements.in async-timeout==5.0.1 # via asyncpg asyncpg==0.30.0 # via -r test-requirements.in -attrs==25.1.0 +attrs==25.3.0 # via pytest futures==3.0.5 # via -r test-requirements.in greenlet==3.1.1 # via sqlalchemy -iniconfig==2.0.0 +iniconfig==2.1.0 # via pytest mako==1.3.9 # via alembic markupsafe==3.0.2 # via mako -mock==5.1.0 +mock==5.2.0 # via -r test-requirements.in more-itertools==10.6.0 # via -r test-requirements.in @@ -24,7 +24,7 @@ packaging==24.2 # via pytest pluggy==1.5.0 # via pytest -psycopg==3.2.4 +psycopg==3.2.6 # via -r test-requirements.in psycopg2==2.9.10 # via -r test-requirements.in @@ -32,13 +32,13 @@ py==1.11.0 # via pytest pytest==7.1.3 # via -r test-requirements.in -sqlalchemy==2.0.38 +sqlalchemy==2.0.40 # via # -r test-requirements.in # alembic tomli==2.2.1 # via pytest -typing-extensions==4.12.2 +typing-extensions==4.13.1 # via # alembic # psycopg diff --git a/test/test_suite_sqlalchemy.py b/test/test_suite_sqlalchemy.py index 7c932e3..07bf289 100644 --- a/test/test_suite_sqlalchemy.py +++ b/test/test_suite_sqlalchemy.py @@ -1,9 +1,6 @@ from sqlalchemy import FLOAT, INTEGER, VARCHAR from sqlalchemy.testing import skip from sqlalchemy.testing.suite import * # noqa -from sqlalchemy.testing.suite import ( - BizarroCharacterFKResolutionTest as _BizarroCharacterFKResolutionTest, -) from sqlalchemy.testing.suite import ( ComponentReflectionTest as _ComponentReflectionTest, ) @@ -23,21 +20,6 @@ from sqlalchemy.testing.suite import UnicodeSchemaTest as _UnicodeSchemaTest -class BizarroCharacterFKResolutionTest(_BizarroCharacterFKResolutionTest): - @testing.combinations(("id",), ("(3)",), ("col%p",), ("[brack]",), argnames="columnname") - @testing.variation("use_composite", [True, False]) - @testing.combinations( - ("plain",), - ("(2)",), - ("per % cent",), - ("[brackets]",), - argnames="tablename", - ) - def test_fk_ref(self, connection, metadata, use_composite, tablename, columnname): - if not (config.db.dialect.driver == "asyncpg" and not config.db.dialect._is_v231plus): - super().test_fk_ref(connection, metadata, use_composite, tablename, columnname) - - class ComponentReflectionTest(_ComponentReflectionTest): def test_get_indexes(self, connection): if not (config.db.dialect.driver == "asyncpg" and not config.db.dialect._is_v231plus):