summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Finucane <stephenfin@redhat.com>2023-03-22 12:11:12 +0000
committerStephen Finucane <stephenfin@redhat.com>2023-04-17 10:17:44 +0100
commit56d79bf3784bacf4fa17cee31a1ba1a8b3680dba (patch)
tree2ad62972b6def6ad4e63727715f2357ebd37302e
parent7d62b3664e4acad9161d849a111bdb8b4d707f61 (diff)
downloadoslo-db-56d79bf3784bacf4fa17cee31a1ba1a8b3680dba.tar.gz
Remove logic for SQLAlchemy < 1.4
Change I8629225eeb51d95264d8a3e4b719268bb1597f4f bumped the minimum version for SQLAlchemy to 1.4, meaning this logic is now dead. Remove it. Change-Id: I4d4a58e15e840ecfa63e15c709617a65642c8323 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
-rw-r--r--oslo_db/sqlalchemy/engines.py28
-rw-r--r--oslo_db/sqlalchemy/provision.py10
-rw-r--r--oslo_db/tests/sqlalchemy/test_exc_filters.py11
3 files changed, 3 insertions, 46 deletions
diff --git a/oslo_db/sqlalchemy/engines.py b/oslo_db/sqlalchemy/engines.py
index 7c36c8a..847c71a 100644
--- a/oslo_db/sqlalchemy/engines.py
+++ b/oslo_db/sqlalchemy/engines.py
@@ -22,7 +22,6 @@ import logging
import os
import re
import time
-from urllib import parse
import debtcollector.removals
import debtcollector.renames
@@ -130,31 +129,6 @@ def _setup_logging(connection_debug=0):
logger.setLevel(logging.WARNING)
-def _extend_url_parameters(url, connection_parameters):
- # TODO(zzzeek): remove hasattr() conditional when SQLAlchemy 1.4 is the
- # minimum version in requirements; call update_query_string()
- # unconditionally
- if hasattr(url, "update_query_string"):
- return url.update_query_string(connection_parameters, append=True)
-
- # TODO(zzzeek): remove the remainder of this method when SQLAlchemy 1.4
- # is the minimum version in requirements
- for key, value in parse.parse_qs(
- connection_parameters).items():
- if key in url.query:
- existing = url.query[key]
- if not isinstance(existing, list):
- url.query[key] = existing = utils.to_list(existing)
- existing.extend(value)
- value = existing
- else:
- url.query[key] = value
- if len(value) == 1:
- url.query[key] = value[0]
-
- return url
-
-
def _vet_url(url):
if "+" not in url.drivername and not url.drivername.startswith("sqlite"):
if url.drivername.startswith("mysql"):
@@ -201,7 +175,7 @@ def create_engine(sql_connection, sqlite_fk=False, mysql_sql_mode=None,
url = utils.make_url(sql_connection)
if connection_parameters:
- url = _extend_url_parameters(url, connection_parameters)
+ url = url.update_query_string(connection_parameters, append=True)
_vet_url(url)
diff --git a/oslo_db/sqlalchemy/provision.py b/oslo_db/sqlalchemy/provision.py
index a6cc527..96e050c 100644
--- a/oslo_db/sqlalchemy/provision.py
+++ b/oslo_db/sqlalchemy/provision.py
@@ -493,15 +493,7 @@ class BackendImpl(object, metaclass=abc.ABCMeta):
"""
url = utils.make_url(base_url)
-
- # TODO(zzzeek): remove hasattr() conditional in favor of "url.set()"
- # when SQLAlchemy 1.4 is the minimum version in requirements
- if hasattr(url, "set"):
- url = url.set(database=ident)
- else:
- # TODO(zzzeek): remove when SQLAlchemy 1.4
- # is the minimum version in requirements
- url.database = ident
+ url = url.set(database=ident)
return url
diff --git a/oslo_db/tests/sqlalchemy/test_exc_filters.py b/oslo_db/tests/sqlalchemy/test_exc_filters.py
index 796ba6c..816ef7e 100644
--- a/oslo_db/tests/sqlalchemy/test_exc_filters.py
+++ b/oslo_db/tests/sqlalchemy/test_exc_filters.py
@@ -416,16 +416,7 @@ class TestNonExistentDatabase(
super(TestNonExistentDatabase, self).setUp()
url = utils.make_url(self.engine.url)
-
- # TODO(zzzeek): remove hasattr() conditional in favor of "url.set()"
- # when SQLAlchemy 1.4 is the minimum version in requirements
- if hasattr(url, "set"):
- self.url = url.set(database="non_existent_database")
- else:
- # TODO(zzzeek): remove when SQLAlchemy 1.4
- # is the minimum version in requirements
- url.database = 'non_existent_database'
- self.url = url
+ self.url = url.set(database="non_existent_database")
def test_raise(self):
matched = self.assertRaises(