SOQL Operation Limitations
Some Tooling API objects have SOQL limitations.
These objects in Tooling API don’t support SOQL operations COUNT(), GROUP BY, LIMIT, LIMIT OFFSET,
OR, NOT, and
INCLUDES.
- CompactLayoutInfo
- CompactLayoutItemInfo
- DataType
- EntityDefinition
- EntityLimit
- EntityParticle
- FieldDefinition
- Publisher
- RelationshipDomain
- RelationshipInfo
- SearchLayout
- ServiceFieldDataType
- StandardAction
- TimeSheetTemplate
- UserEntityAccess
- UserFieldAccess
The unsupported operations for these objects return errors or incorrect results, as these examples illustrate.
- GROUP BY
- Example Query: SELECT COUNT(qualifiedapiname), isfeedenabled FROM EntityDefinition GROUP BY isfeedenabled
- Error Returned: The requested operation is not yet supported by this SObject storage type, contact salesforce.com support for more information.
- LIMIT, LIMIT OFFSET
- Example Queries:
- SELECT qualifiedapiname FROM EntityDefinition LIMIT 5
- SELECT qualifiedapiname FROM EntityDefinition LIMIT 5 OFFSET 10
- An incorrect result is returned because LIMIT and LIMIT OFFSET are ignored.
- NOT
- Example Query: SELECT qualifiedapiname FROM EntityDefinition WHERE qualifiedapiname!='Account'
- Error Returned: Only equals comparisons permitted
- OR
- Example Query: SELECT qualifiedapiname, keyprefix FROM EntityDefinition WHERE isdeletable=true OR (isfeedenabled=false AND keyprefix='01j')
- Error Returned: Disjunctions not supported
- ORDER BY
- Example Query: SELECT EntityDefinition.DeveloperName, ValidationName, Active, Description, ErrorDisplayField, ErrorMessage FROM ValidationRule ORDER BY EntityDefinition.DeveloperName ASC, ValidationName ASC
- Error Returned: ERROR: relation "core.virtual_standard_entity_data_template" does not exist
- You can always order by fields of the object that you’re querying, but you can get an error when you order by the fields of a joined object.
- INCLUDES
- Example Query: SELECT ComplianceGroup FROM FieldDefinition WHERE EntityDefinitionId = 'Account' AND ComplianceGroup includes('GDPR')
- Error Returned: Unsupported filter type
MetadataComponentDependency (Pilot) doesn’t support GROUP BY or aggregate functions other than COUNT().