diff --git a/pkg/cloudcommon/db/archs.go b/pkg/cloudcommon/db/archs.go index 28d25796fc..12b187ebbb 100644 --- a/pkg/cloudcommon/db/archs.go +++ b/pkg/cloudcommon/db/archs.go @@ -47,6 +47,9 @@ func ListQueryByArchitecture(q *sqlchemy.SQuery, fieldKey string, archs []string } conditions := []sqlchemy.ICondition{} for _, arch := range archs { + if len(arch) == 0 { + continue + } if arch == apis.OS_ARCH_X86 { conditions = append(conditions, sqlchemy.OR( sqlchemy.Startswith(q.Field(fieldKey), arch), diff --git a/pkg/compute/models/cloudaccounts.go b/pkg/compute/models/cloudaccounts.go index ce857d50a1..8197489751 100644 --- a/pkg/compute/models/cloudaccounts.go +++ b/pkg/compute/models/cloudaccounts.go @@ -1703,6 +1703,9 @@ func (manager *SCloudaccountManager) ListItemFilter( managerStrs := query.CloudproviderId conditions := []sqlchemy.ICondition{} for _, managerStr := range managerStrs { + if len(managerStr) == 0 { + continue + } providerObj, err := manager.FetchByIdOrName(userCred, managerStr) if err != nil { if err == sql.ErrNoRows { diff --git a/pkg/compute/models/cloudproviders.go b/pkg/compute/models/cloudproviders.go index 946a10fe06..5f7e85f077 100644 --- a/pkg/compute/models/cloudproviders.go +++ b/pkg/compute/models/cloudproviders.go @@ -1328,6 +1328,9 @@ func (manager *SCloudproviderManager) ListItemFilter( managerStrs := query.CloudproviderId conditions := []sqlchemy.ICondition{} for _, managerStr := range managerStrs { + if len(managerStr) == 0 { + continue + } providerObj, err := manager.FetchByIdOrName(userCred, managerStr) if err != nil { if err == sql.ErrNoRows { diff --git a/pkg/compute/models/dbinstances.go b/pkg/compute/models/dbinstances.go index b5a423c4ef..8c8e22317c 100644 --- a/pkg/compute/models/dbinstances.go +++ b/pkg/compute/models/dbinstances.go @@ -238,6 +238,9 @@ func (man *SDBInstanceManager) ListItemFilter( dn := DBInstanceNetworkManager.Query("dbinstance_id") conditions := []sqlchemy.ICondition{} for _, ipAddr := range query.IpAddr { + if len(ipAddr) == 0 { + continue + } condition := sqlchemy.Contains(dn.Field("ip_addr"), ipAddr) conditions = append(conditions, condition) } diff --git a/pkg/compute/models/external_projects.go b/pkg/compute/models/external_projects.go index 8e39811635..5fcc52d0a1 100644 --- a/pkg/compute/models/external_projects.go +++ b/pkg/compute/models/external_projects.go @@ -577,6 +577,9 @@ func (manager *SExternalProjectManager) ListItemFilter( managerStrs := query.CloudproviderId conditions := []sqlchemy.ICondition{} for _, managerStr := range managerStrs { + if len(managerStr) == 0 { + continue + } providerObj, err := manager.FetchByIdOrName(userCred, managerStr) if err != nil { if err == sql.ErrNoRows { diff --git a/pkg/compute/models/managedresource.go b/pkg/compute/models/managedresource.go index 6fa72fabb3..9064494342 100644 --- a/pkg/compute/models/managedresource.go +++ b/pkg/compute/models/managedresource.go @@ -493,6 +493,9 @@ func _managedResourceFilterByAccount(managerIdFieldName string, q *sqlchemy.SQue cloudproviderStrs := input.CloudproviderId managerIds := []string{} for _, cloudproviderStr := range cloudproviderStrs { + if len(cloudproviderStr) == 0 { + continue + } provider, err := CloudproviderManager.FetchByIdOrName(nil, cloudproviderStr) if err != nil { if err == sql.ErrNoRows { @@ -591,6 +594,9 @@ func managedResourceFilterByZone(q *sqlchemy.SQuery, query api.ZonalFilterListIn func managedResourceFilterByRegion(q *sqlchemy.SQuery, query api.RegionalFilterListInput, filterField string, subqFunc func() *sqlchemy.SQuery) (*sqlchemy.SQuery, error) { regionIds := []string{} for _, region := range query.CloudregionId { + if len(region) == 0 { + continue + } regionObj, err := ValidateCloudregionId(nil, region) if err != nil { return nil, errors.Wrap(err, "ValidateCloudregionResourceInput") diff --git a/pkg/compute/models/networks.go b/pkg/compute/models/networks.go index 9f5ad4314e..6ed7d58008 100644 --- a/pkg/compute/models/networks.go +++ b/pkg/compute/models/networks.go @@ -2151,6 +2151,9 @@ func (manager *SNetworkManager) ListItemFilter( if len(ips) > 0 { conditions := []sqlchemy.ICondition{} for _, ip := range ips { + if len(ip) == 0 { + continue + } ipIa, err := parseIpToIntArray(ip) if err != nil { return nil, err diff --git a/pkg/compute/models/vpcresource.go b/pkg/compute/models/vpcresource.go index 8e899cc474..2547098b89 100644 --- a/pkg/compute/models/vpcresource.go +++ b/pkg/compute/models/vpcresource.go @@ -163,6 +163,9 @@ func (manager *SVpcResourceBaseManager) ListItemFilter( var err error conditions := []sqlchemy.ICondition{} for _, vpcId := range query.VpcId { + if len(vpcId) == 0 { + continue + } switch vpcId { case api.CLASSIC_VPC_NAME: conditions = append(conditions, sqlchemy.Equals(q.Field("name"), api.CLASSIC_VPC_NAME))