Page tree
Skip to end of metadata
Go to start of metadata

The following table lists the Quality Rules that have not been included in the SQL Analyzer, and provides an explanation for this decision.

#Name of Quality Rule when not using the SQL Analyzer extensionName of Quality Rule when using the SQL AnalyzerExplanation
1Avoid SQL queries that no index can supportAvoid non-indexed SQL queriesRenamed for clarity
2Avoid SQL queries using functions on indexed columns in the WHERE clause *)Avoid non-indexed SQL queries
Removed because:
  • It is a sub case of Avoid SQL queries that no index can support
  • In some cases, when the join is indexable by another constraint, then the specification itself is "wrong" (i.e. a false positive exists by design). Here is an example with t1.c1 being indexed - this is an indexed join that the query optimizer uses (t1.c1 = t2.c1) but by rule design, the query is marked as a violation:

select * 
from Table1 t1, Table2 t2 
where t1.c1 = t2.c1 
  and f(t1.c1) > 10;
3Avoid SQL queries not using the first column of a composite index in the WHERE clause *)Avoid non-indexed SQL queriesRemoved because:
  • It is a sub case of Avoid SQL queries that no index can support
  • Any violation for this is also a violation for Avoid SQL queries that no index can support

Note that a * denotes that the same thing has been done for the equivalent "XXL" Quality Rule.

  • No labels