Browse Source

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

master
Zuul 6 days ago
committed by Gerrit Code Review
parent
commit
252733dce7
2 changed files with 10 additions and 1 deletions
  1. +8
    -0
      keystone/common/sql/core.py
  2. +2
    -1
      keystone/identity/shadow_backends/sql.py

+ 8
- 0
keystone/common/sql/core.py 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:


+ 2
- 1
keystone/identity/shadow_backends/sql.py 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):


Loading…
Cancel
Save