Skip to content

Commit 2866166

Browse files
committed
Fix #88 and #89 - Added "Unsupported" mark and reason to G-3160, G-3170, G-5010, G-7170, G-8410, G-8510. Added explanation to introduction.md
1 parent 88d4ea6 commit 2866166

File tree

7 files changed

+25
-1
lines changed

7 files changed

+25
-1
lines changed

docs/1-introduction/introduction.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,15 @@ Example | Precedes text used to illustrate a rule or a recommendation.
5252
Reason | Explains the thoughts and purpose behind a rule or a recommendation.
5353
Restriction | Describes the circumstances to be fulfilled to make use of a rule.
5454

55+
### Validator support ###
56+
57+
The tool PL/SQL Cop (see the "Tool Support" chapter) cannot support *all* the guidelines in this document. Those guidelines that are *not* supported by PL/SQL Cop validators are marked like this:
58+
59+
!!! missing "Unsupported in PL/SQL Cop Validators"
60+
Reason why the specific guideline is not supported by the validators.
61+
62+
The PL/SQL Cop repository documents the [details of validator limitations](https://github.com/Trivadis/plsql-cop-cli/blob/main/validator-limitations.md#guidelines).
63+
5564
### Why are standards important
5665

5766
For a machine executing a program, code formatting is of no importance. However, for the human eye, well-formatted code is much easier to read. Modern tools can help to implement format and coding rules.

docs/4-language-usage/3-dml-and-sql/1-general/g-3160.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
!!! warning "Major"
44
Maintainability, Reliability
55

6+
!!! missing "Unsupported in PL/SQL Cop Validators"
7+
We cannot identify the type of a column. Requires `create table` and `alter table` parser support or access to the Oracle Data Dicionary.
8+
69
## Restriction
710

811
ORACLE 12c

docs/4-language-usage/3-dml-and-sql/1-general/g-3170.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
!!! warning "Major"
44
Reliability
55

6+
!!! missing "Unsupported in PL/SQL Cop Validators"
7+
We cannot identify column default values. Requires `create table` and `alter table` parser support or access to the Oracle Data Dicionary.
8+
69
## Restriction
710

811
ORACLE 12c

docs/4-language-usage/5-exception-handling/g-5010.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
!!! danger "Critical"
44
Reliability, Reusability, Testability
55

6+
!!! missing "Unsupported in PL/SQL Cop Validators"
7+
We cannot identify logging framework and where it should be applied. Requires further definition regarding naming of the error/logging framework and its minimal use in PL/SQL code.
8+
69
## Reason
710

811
Having a framework to raise/handle/log your errors allows you to easily avoid duplicate application error numbers and having different error messages for the same type of error.

docs/4-language-usage/7-stored-objects/1-general/g-7170.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
Efficiency, Maintainability
55

66
!!! missing "Unsupported in PL/SQL Cop Validators"
7-
Rule G-7170 is not expected to be implemented in the static code analysis validators.
7+
We cannot determine the usage of an `in out` parameter in a reliable way, especially when other units are involved which are maintained in another file.
88

99
## Reason
1010

docs/4-language-usage/8-patterns/4-ensure-single-execution-at-a-time-of-a-program-unit/g-8410.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
!!! tip "Minor"
44
Efficiency, Reliability
55

6+
!!! missing "Unsupported in PL/SQL Cop Validators"
7+
We cannot identify where an application lock would make sense. Algorithms to detect wrong, missing and right usages of this pattern are virtually impossible to implement without understanding the context.
8+
69
## Reason
710

811
This technique allows us to have locks across transactions as well as a proven way to clean up at the end of the session.

docs/4-language-usage/8-patterns/5-use-dbms-application-info-package-to-follow-progress-of-a-process/g-8510.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
!!! tip "Minor"
44
Efficiency, Reliability
55

6+
!!! missing "Unsupported in PL/SQL Cop Validators"
7+
We cannot know where the use of `dbms_application_info` is sensible. Algorithms to detect wrong, missing and right usages of this pattern are virtually impossible to implement without understanding the context.
8+
69
## Reason
710

811
This technique allows us to view progress of a process without having to persistently write log data in either a table or a file. The information is accessible through the `v$session` view.

0 commit comments

Comments
 (0)