PerformNullCheckOnSoqlVariables (Generally Available)
PerformNullCheckOnSoqlVariables identifies SOQL queries with variables in WHERE clauses that lack null checks. SOQL queries with variables on WHERE clauses become expensive when the variable value is unintentionally null. When the variable value is null, an O(1) operation turns into an O(n) operation. The entire table is scanned but returns no results.
- Source
@AuraEnabled
-annotated methods.@InvocableMethod
-annotated methods.@NamespaceAccessible
-annotated methods.@RemoteAction
-annotated methods. Any method returning aPageReference
object.public
-scoped methods on Visualforce Controllers.global
-scoped methods on any class.Messaging.InboundEmailResult handleInboundEmail()
methods on implementations ofMessaging.InboundEmailHandler
. Any method targeted during invocation.- Sink
Any database operation.
- Sanitizer
Null checks (
if (x != null) {
). Explicit assignment to non-null (String x = 'asdf'
). Checks for specific non-null values (if (x == 7) {
).
Match any violation message that you receive with this case to understand more about the violation.
Null check is missing for variable targetName used in SOQL query.
The mentioned variable is referenced by a SOQL query, and the variable is missing a null check. This behavior is expensive. Instead, explicitly perform a null check on this variable, or assign it to a specific non-null value. For example: