mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #113 in YUNIONIO/onecloud from ~ZHOUYOUSONG/onecloud:bugfix/yousong-avoid-subquery to release/2.0.0
* commit '3be82ebd540e75a4c690dae9e686c6777f527851': guestnetworks, hostnetworks: avoid subquery in get by address call
This commit is contained in:
@@ -263,9 +263,10 @@ func (self *SGuestnetwork) GetJsonDescAtHost(host *SHost) jsonutils.JSONObject {
|
||||
}
|
||||
|
||||
func (manager *SGuestnetworkManager) GetGuestByAddress(address string) *SGuest {
|
||||
networks := manager.Query().SubQuery()
|
||||
networks := manager.TableSpec().Instance()
|
||||
guests := GuestManager.Query()
|
||||
q := guests.Join(networks, sqlchemy.AND(
|
||||
sqlchemy.IsFalse(networks.Field("deleted")),
|
||||
sqlchemy.Equals(networks.Field("ip_addr"), address),
|
||||
sqlchemy.Equals(networks.Field("guest_id"), guests.Field("id")),
|
||||
))
|
||||
|
||||
@@ -107,9 +107,10 @@ func (man *SHostnetworkManager) GetNetworkByAddress(addr string) *SNetwork {
|
||||
}
|
||||
|
||||
func (man *SHostnetworkManager) GetHostByAddress(addr string) *SHost {
|
||||
networks := man.Query().SubQuery()
|
||||
networks := man.TableSpec().Instance()
|
||||
hosts := HostManager.Query()
|
||||
q := hosts.Join(networks, sqlchemy.AND(
|
||||
sqlchemy.IsFalse(networks.Field("deleted")),
|
||||
sqlchemy.Equals(networks.Field("ip_addr"), addr),
|
||||
sqlchemy.Equals(networks.Field("baremetal_id"), hosts.Field("id")),
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user