diff options
author | Ronald De Rose <ronald.de.rose@intel.com> | 2016-07-27 17:52:53 +0000 |
---|---|---|
committer | Steve Martinelli <s.martinelli@gmail.com> | 2016-07-27 18:07:36 +0000 |
commit | f8c65c10dfe55787e9d5755f4986e8808aa6aa28 (patch) | |
tree | 96f713fa3b7483cb1743c9c0cfb96958c3546232 | |
parent | ee74d157abfcae31a8496827e808157cf9611267 (diff) | |
download | keystone-f8c65c10dfe55787e9d5755f4986e8808aa6aa28.tar.gz |
Change LocalUser sql model to eager loading
This patch changes the LocalUser sql model to eager loading. Subquery
loading is eager loading as the parents are loaded, using one additional
SQL statement, which issues a JOIN to a subquery of the original
statement, for each collection requested.
Closes-Bug: 1606426
Change-Id: I48965676ad6a796115caef5e90974cb617243223
(cherry-picked from: 4b9384dea36755c0dc0256f7392bf8c1e13f6632)
-rw-r--r-- | keystone/identity/backends/sql.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/keystone/identity/backends/sql.py b/keystone/identity/backends/sql.py index 5680a8a2b..0e5c784c5 100644 --- a/keystone/identity/backends/sql.py +++ b/keystone/identity/backends/sql.py @@ -118,8 +118,10 @@ class LocalUser(sql.ModelBase, sql.DictBase): ondelete='CASCADE'), unique=True) domain_id = sql.Column(sql.String(64), nullable=False) name = sql.Column(sql.String(255), nullable=False) - passwords = orm.relationship('Password', single_parent=True, + passwords = orm.relationship('Password', + single_parent=True, cascade='all,delete-orphan', + lazy='subquery', backref='local_user') __table_args__ = (sql.UniqueConstraint('domain_id', 'name'), {}) |