Rule plsql:S5141 must not raise error for join with "using" predicate

  • Version used SonarQube:7.9.1
  • Code to reporduce:
   cursor c_test is
         SELECT pr.pool_run_seq 
         FROM pool_runs_v pr
         JOIN pool_elements pe USING (pool_run_seq)
         WHERE pr.status_code = 'ACT';

The rule plsql:S5141 (SQL “JOIN” conditions should involve all joined tables) hits on pool_element table with above code and should not hit. And especially when the plsql:NaturalJoinUsageCheck indicates to use USING predicate.

Thanks to have a look.
Sebastien.

Indeed, that’s a false positive.
I created SONARPLSQL-734 to track it.
Thanks a lot for the feedback!

Thank you.