Merge "Make DB queries compatible with SQLAlchemy 1.4.x"

This commit is contained in:
Zuul 2021-06-10 01:23:35 +00:00 committed by Gerrit Code Review
commit 252733dce7
2 changed files with 10 additions and 1 deletions

View File

@ -119,6 +119,10 @@ ModelBase.__init__ = initialize_decorator(ModelBase.__init__)
class JsonBlob(sql_types.TypeDecorator):
impl = sql.Text
# NOTE(ralonsoh): set to True as any other TypeDecorator in SQLAlchemy
# https://docs.sqlalchemy.org/en/14/core/custom_types.html# \
# sqlalchemy.types.TypeDecorator.cache_ok
cache_ok = True
def process_bind_param(self, value, dialect):
return jsonutils.dumps(value)
@ -144,6 +148,10 @@ class DateTimeInt(sql_types.TypeDecorator):
impl = sql.BigInteger
epoch = datetime.datetime.fromtimestamp(0, tz=pytz.UTC)
# NOTE(ralonsoh): set to True as any other TypeDecorator in SQLAlchemy
# https://docs.sqlalchemy.org/en/14/core/custom_types.html# \
# sqlalchemy.types.TypeDecorator.cache_ok
cache_ok = True
def process_bind_param(self, value, dialect):
if value is None:

View File

@ -98,7 +98,8 @@ class ShadowUsers(base.ShadowUsersDriverBase):
x for x in hints.filters if x['name'] not in ('idp_id',
'protocol_id',
'unique_id')]
query = query.filter(sqlalchemy.and_(*statements))
if statements:
query = query.filter(sqlalchemy.and_(*statements))
return query
def get_federated_users(self, hints):