Skip to content
Compare
Choose a tag to compare

New

Fixed

  • PLSQLCOP-405: Logging to system console, use logging framework instead (CWE 398)

    • This happend when opening a report in the default browser, but the default browser could not be detected.
  • PLSQLCOP-406: Printing stack trace to console, use logging framework instead (CWE 400, 200)

    • This happend in various error cases, where only the error message was logged.
    • Now the complete stack trace is also logged.

Compatibility with SQL Developer

  • Minimum version: 4.1.0
  • Latest version tested: 21.4.0
Compare
Choose a tag to compare

New

Compatibility with SQL Developer

  • Minimum version: 4.1.0
  • Latest version tested: 21.2.1
Compare
Choose a tag to compare

New

Fixed

  • PLSQLCOP-399: No code templates visible in preferences after running Check

Compatibility with SQL Developer

  • Minimum version: 4.1.0
  • Latest version tested: 21.2.1
c97d549
Compare
Choose a tag to compare

New

Changed

  • PLSQLCOP-312: Rebrand "PL/SQL Cop for SQL Developer" to "db* CODECOP for SQL Developer"
Compare
Choose a tag to compare

New

  • Common

    • PLSQLCOP-271: JDK 8 is required, JDK 11 is supported
    • PLSQLCOP-275: Xtext and Xtend updated to v2.23.0 (important for custom validators)
    • Custom validators for PL/SQL Cop v2 are not supported (need to be updated to v3)
  • Validator (com.trivadis.tvdcc.validators.TrivadisGuidelines3)

    • PLSQLCOP-284: G-7410: do not throw warning for standalone functions with aggregate_clause
    • PLSQLCOP-285: G-8310: do not throw warning for "OUT" only parameter

Fixed

  • SQL*Plus Grammar

    • PLSQLCOP-274: Space slash NL not handled (for files with Unix line separators only)
  • PL/SQL Grammar

    • PLSQLCOP-262: Parse error when using a * (star) for precision in number data type
    • PLSQLCOP-276: Parser error when TABLE operator is not used for package function
    • PLSQLCOP-277: Parse error when using expressions without space in for loop
    • PLSQLCOP-280: Parse errors when update statements are terminated with slash instead of semicolon (Trivadis/plsql-cop-sonar#1)
    • PLSQLCOP-287: Parse error when using apex_escape.json due to JSON keyword
  • Validator (com.trivadis.tvdcc.validators.TrivadisGuidelines3)

    • PLSQLCOP-283: G-7110 false positives when initializing a collection with user prefix and new operator
    • PLSQLCOP-286: Parse error with when using a variable/constant for error_code in pragma exception_init
    • PLSQLCOP-288: False positive on G-8110 when using "ROWNUM = 1"
    • PLSQLCOP-289: G-6020: False positive with using_clause and in parameter mode
Compare
Choose a tag to compare
  • Fixed
    • Serverity and characteristics are not honored in Issues tab. Default values are shown when using an own validator with a different guideline naming scheme (works in Reports tab).
Compare
Choose a tag to compare
  • Fixed
    • Common

      • incomplete results when analyzed source code contains TREAT (due to NPE, see #1)
      • When using a own validator with a different guideline naming scheme the configured severity and characteristics per guideline are not honored and the defaults are reported (Blocker for severity and all characteristics)
    • Guidelines

      • G-7230 should not be thrown for constants in package specifications (see #79)
    • SQL*Plus grammar

      • Wrong line reported after comment lines ending on slash (/) for files using Unix line separators
    • PL/SQL grammar

      • Parse error when JSON_value_return_type is not defined.
        Documentation changed between version 12c and 18c. However, the following code works in Oracle Database 12c Release 1:

        SELECT *
          FROM JSON_TABLE (
                  (SELECT '{"col1":"foo"}' doc FROM dual), 
                  '$' COLUMNS (col1  PATH '$.col1')
               );
      • Parse error when a row_limiting_clause is used without an order_by_clause

      • Parse error when using expressions for offsetor rowcount in row_limiting_clause

Compare
Choose a tag to compare
  • Released on 2019-09-28
  • Changed
    • Guidelines
      • Link to Trivadis PL/SQL & SQL Guidelines v3.6 in HTML report.
      • Renamed G-3130 from “Try to use ANSI-join syntax” to “Try to use ANSI SQL-92 join syntax”.
      • Renamed G-3160 from “Avoid virtual columns to be visible” to “Avoid visible virtual columns”.
      • Renamed G-8410 from “Always use application locks to ensure a program unit only running once at a given time” to “Always use application locks to ensure a program unit is only running once at a given time”.
    • PL/SQL grammar
      • Support keyword MOD and other keywords as query_name in the subquery_factoring_clause.
      • Support keyword ONE, e.g. as column alias.
      • Support keyword WELLFORMED, e.g. as parameter name.
      • Support keyword WORK, e.g. as parameter name.
    • Included preview/trial license is valid thru 2020-03-31
  • Fixed
    • Guidelines
      • G-3120: false positive when using SYSDATE, SYSTIMESTAMP, NULL, LEVEL, ROWNUM, CONNECT_BY_ISLEAF in query with joins.
    • PL/SQL grammar
      • Parse error when using udf_pragma.
      • Parse error when using record with dot notation in values_clause of INSERT statement. For example INSERT INTO t VALUES in_param.rec.
      • Parse error when using NOT in expressions with A SET, NAN, INFINITE, PRESENT, EMPTY, JSON, OF TYPE. Fore example x IS NOT A SET.
  • Won’t Fix
    • Support of keyword JSON in table name or table alias due to conflicts with JSON_condition.
    • Empty conditional compilation branches (see also Parser Limitations)
Compare
Choose a tag to compare
  • Released on 2019-04-04
  • Fixed
    • Guidelines
      • G-3120 – false positive when using constants in projection.
      • G-4140 – false positive when using FORALL statement.
      • G-7110 – false positive when using functions/procedures with a single parameter.
    • PL/SQL grammar
      • Parse error when using PRAGMA INLINE with a second string parameter.
  • Changed
    • PL/SQL grammar
      • Support keyword EXCLUDE, e.g. as procedure name.
      • Support keyword INSTANTIABLE, e.g. as column name.
      • Support quote literal character / (see also Parser Limitations)
    • SQL*Plus grammar
      • Support $ as alias for HOST command.
    • HTML report refers to the Trivadis PL/SQL & SQL Coding Guidelines Version 3.3 hosted on GitHub.