diff options
author | Stephen Finucane <stephenfin@redhat.com> | 2019-12-18 10:56:13 +0000 |
---|---|---|
committer | Stephen Finucane <stephenfin@redhat.com> | 2020-02-25 15:52:47 +0000 |
commit | e4f2020b94481c801ecd956dd695dd9130ced1d9 (patch) | |
tree | 958dfa70f9d62f34a36513056d765083ea91bac6 /oslo_db/sqlalchemy/compat | |
parent | fafcbddec7deb3d96b4cb3b837912b8fcfb2debb (diff) | |
download | oslo-db-e4f2020b94481c801ecd956dd695dd9130ced1d9.tar.gz |
Raise minimum SQLAlchemy version to 1.2.0
Per [1], this is the latest supported version of SQLAlchemy. 1.1.x and
earlier are EOL.
[1] https://www.sqlalchemy.org/download.html#relstatus
Change-Id: I63e4baf772be9ddfb787ac3aff01fcaddf7b901c
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Diffstat (limited to 'oslo_db/sqlalchemy/compat')
-rw-r--r-- | oslo_db/sqlalchemy/compat/__init__.py | 0 | ||||
-rw-r--r-- | oslo_db/sqlalchemy/compat/utils.py | 69 |
2 files changed, 0 insertions, 69 deletions
diff --git a/oslo_db/sqlalchemy/compat/__init__.py b/oslo_db/sqlalchemy/compat/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/oslo_db/sqlalchemy/compat/__init__.py +++ /dev/null diff --git a/oslo_db/sqlalchemy/compat/utils.py b/oslo_db/sqlalchemy/compat/utils.py deleted file mode 100644 index 1d27a56..0000000 --- a/oslo_db/sqlalchemy/compat/utils.py +++ /dev/null @@ -1,69 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -import re - -import sqlalchemy - - -SQLA_VERSION = tuple( - int(num) if re.match(r'^\d+$', num) else num - for num in sqlalchemy.__version__.split(".") -) - -sqla_110 = SQLA_VERSION >= (1, 1, 0) -sqla_100 = SQLA_VERSION >= (1, 0, 0) -sqla_097 = SQLA_VERSION >= (0, 9, 7) -sqla_094 = SQLA_VERSION >= (0, 9, 4) -sqla_090 = SQLA_VERSION >= (0, 9, 0) -sqla_08 = SQLA_VERSION >= (0, 8) - - -def get_postgresql_enums(conn): - """Return a list of ENUM type names on a Postgresql backend. - - For SQLAlchemy 0.9 and lower, makes use of the semi-private - _load_enums() method of the Postgresql dialect. In SQLAlchemy - 1.0 this feature is supported using get_enums(). - - This function may only be called when the given connection - is against the Postgresql backend. It will fail for other - kinds of backends. - - """ - if sqla_100: - return [e['name'] for e in sqlalchemy.inspect(conn).get_enums()] - else: - return conn.dialect._load_enums(conn).keys() - - -def adapt_type_object(type_object, target_class, *args, **kw): - """Call the adapt() method on a type. - - For SQLAlchemy 1.0, runs a local version of constructor_copy() that - allows keyword arguments to be overridden. - - See https://github.com/zzzeek/sqlalchemy/commit/\ - ceeb033054f09db3eccbde3fad1941ec42919a54 - - """ - if sqla_110: - return type_object.adapt(target_class, *args, **kw) - else: - # NOTE(zzzeek): this only works for basic types, won't work for - # schema types like Enum, Boolean - # NOTE(zzzeek): this code can be removed once requirements - # are at SQLAlchemy >= 1.1 - names = sqlalchemy.util.get_cls_kwargs(target_class) - kw.update( - (k, type_object.__dict__[k]) for k in names.difference(kw) - if k in type_object.__dict__) - return target_class(*args, **kw) |