
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.
42 lines
702 B
Plaintext
42 lines
702 B
Plaintext
== Why is this an issue?
|
|
|
|
include::description.adoc[]
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,text]
|
|
----
|
|
SET SERVEROUTPUT ON
|
|
|
|
DECLARE
|
|
name VARCHAR2(42) := ''; /* This is equivalent to name := NULL; */
|
|
BEGIN
|
|
IF name = '' THEN /* Noncompliant; equivalent to name = NULL & therefore always FALSE*/
|
|
DBMS_OUTPUT.PUT_LINE('True'); /* Unreachable */
|
|
ELSE
|
|
DBMS_OUTPUT.PUT_LINE('False');
|
|
END IF;
|
|
END;
|
|
/
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,text]
|
|
----
|
|
SET SERVEROUTPUT ON
|
|
|
|
DECLARE
|
|
name VARCHAR2(42) := ''; /* This is equivalent to name := NULL; */
|
|
BEGIN
|
|
IF name IS NULL THEN /* Compliant */
|
|
DBMS_OUTPUT.PUT_LINE('True');
|
|
ELSE
|
|
DBMS_OUTPUT.PUT_LINE('False');
|
|
END IF;
|
|
END;
|
|
/
|
|
----
|
|
|