This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.

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.