
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
74 lines
1.3 KiB
Plaintext
74 lines
1.3 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Shared coding conventions allow teams to collaborate efficiently. This rule checks that cursor parameters match the provided regular expression.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
With the default regular expression ``++[a-zA-Z]([a-zA-Z0-9_]*[a-zA-Z0-9])?++``:
|
|
|
|
[source,sql]
|
|
----
|
|
CREATE TABLE employee(
|
|
name VARCHAR2(42)
|
|
);
|
|
|
|
DECLARE
|
|
CURSOR mycursor2(Employee-name-parameter_ VARCHAR2) RETURN employee%ROWTYPE; -- Noncompliant
|
|
|
|
CURSOR mycursor2(Employee-name-parameter_ VARCHAR2) RETURN employee%ROWTYPE IS SELECT * FROM employee WHERE name = Employee-name-parameter_; -- Noncompliant
|
|
BEGIN
|
|
NULL;
|
|
END;
|
|
/
|
|
|
|
DROP TABLE employee;
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,sql]
|
|
----
|
|
CREATE TABLE employee(
|
|
name VARCHAR2(42)
|
|
);
|
|
|
|
DECLARE
|
|
CURSOR mycursor2(employeeNameParameter VARCHAR2) RETURN employee%ROWTYPE;
|
|
|
|
CURSOR mycursor2(employeeNameParameter VARCHAR2) RETURN employee%ROWTYPE IS SELECT * FROM employee WHERE name = employeeNameParameter;
|
|
BEGIN
|
|
NULL;
|
|
END;
|
|
/
|
|
|
|
DROP TABLE employee;
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Rename this cursor parameter to match the regular expression: xxx.
|
|
|
|
|
|
=== Parameters
|
|
|
|
.regexp
|
|
****
|
|
|
|
----
|
|
[a-zA-Z]([a-zA-Z0-9_]*[a-zA-Z0-9])?
|
|
----
|
|
|
|
The regular expression the name should match
|
|
****
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|