Code analysis: False positives with rules 2831 and 5809

The following snippet is marked by two rules. I believe that both of them are wrong:

SELECT CAST( 1 AS INTEGER )
FROM dual
CROSS JOIN dual;

Rule 2831: Use PLS_INTEGER instead of INTEGER or equivalent subtypes.
Rule 5809: Ensure elements in the SELECT list (either columns or expressions) are qualified by a table/view name.

Peter,

Rule 2831:

This relates to your post http://www.toadworld.com/products/toad-for-oracle/toad_for_oracle_beta_program/f/86/t/30843 . The work described there and done (QP-1675) doesn’t seem complete. We reviewed it more in depth and we’ll do two things:

1/ Rule 2831 should not hint to use PLS_INTEGER where not allowed to (in CAST, and in column or attribute definitions in DDL statements), (QP-2460)

2/ The parser should flag any casual usages of PLS_INTEGER at those spots as syntax error. (QP-2461)

This should hopefully make it waterproof.

Thanks,
Andre

About rule 5809:

I’ll add this one to QP-2542 opened by your other post http://www.toadworld.com/products/toad-for-oracle/toad_for_oracle_beta_program/f/86/t/32648 .

Thanks,
Andre

Fixed in QP5 component version 5.315.