Skip to content

Commit 2375319

Browse files
committed
Don't include all types in Vm children
The parent class includes all classes (that are VMs) No reason to include a `type` query. Before ====== ``` vmdb(dev)> puts Vm.all.to_sql SELECT "vms".* FROM "vms" WHERE "vms"."type" IN ('Vm', 'VmServer', 'ManageIQ::Providers::PhysicalInfraManager::Vm', 'ManageIQ::Providers::InfraManager::Vm', 'ManageIQ::Providers::CloudManager::Vm', 'ManageIQ::Providers::CiscoIntersight::PhysicalInfraManager::Vm', 'ManageIQ::Providers::Vmware::InfraManager::Vm', 'ManageIQ::Providers::Ovirt::InfraManager::Vm', 'ManageIQ::Providers::Nutanix::InfraManager::Vm', 'ManageIQ::Providers::Kubevirt::InfraManager::Vm', 'ManageIQ::Providers::IbmPowerHmc::InfraManager::Vm', 'ManageIQ::Providers::Redhat::InfraManager::Vm', 'ManageIQ::Providers::Openshift::InfraManager::Vm', 'ManageIQ::Providers::IbmPowerHmc::InfraManager::Vios', 'ManageIQ::Providers::IbmPowerHmc::InfraManager::Lpar', 'ManageIQ::Providers::Vmware::CloudManager::Vm', 'ManageIQ::Providers::OracleCloud::CloudManager::Vm', 'ManageIQ::Providers::Openstack::CloudManager::Vm', 'ManageIQ::Providers::IbmCloud::VPC::CloudManager::Vm', 'ManageIQ::Providers::IbmCloud::PowerVirtualServers::CloudManager::Vm', 'ManageIQ::Providers::Google::CloudManager::Vm', 'ManageIQ::Providers::AzureStack::CloudManager::Vm', 'ManageIQ::Providers::Azure::CloudManager::Vm', 'ManageIQ::Providers::Amazon::CloudManager::Vm', 'ManageIQ::Providers::IbmPowerVc::CloudManager::Vm', 'ManageIQ::Providers::IbmCic::CloudManager::Vm') AND "vms"."template" = FALSE => nil vmdb(dev)> puts ManageIQ::Providers::Vmware::InfraManager::Vm.all.to_sql SELECT "vms".* FROM "vms" WHERE "vms"."type" = 'ManageIQ::Providers::Vmware::InfraManager::Vm' AND "vms"."template" = FALSE ``` After ===== ``` vmdb(dev)> puts Vm.all.to_sql SELECT "vms".* FROM "vms" WHERE "vms"."template" = FALSE => nil vmdb(dev)> puts ManageIQ::Providers::Vmware::InfraManager::Vm.all.to_sql SELECT "vms".* FROM "vms" WHERE "vms"."type" = 'ManageIQ::Providers::Vmware::InfraManager::Vm' AND "vms"."template" = FALSE ```
1 parent 0241da2 commit 2375319

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

app/models/miq_template.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ def self.base_model
1616
MiqTemplate
1717
end
1818

19+
# Don't tack on `type IN []` query for the top level classes (default scope already filters out the vms)
20+
def self.finder_needs_type_condition?
21+
self < base_model
22+
end
23+
1924
def self.corresponding_model
2025
module_parent::Vm
2126
end

app/models/vm.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ def self.base_model
1414
Vm
1515
end
1616

17+
# Don't tack on `type IN []` query for the top level classes (default scope already filters out the templates)
18+
def self.finder_needs_type_condition?
19+
self < base_model
20+
end
21+
1722
def self.corresponding_model
1823
if self == Vm
1924
MiqTemplate

0 commit comments

Comments
 (0)