2023-05-03 11:06:20 +02:00
|
|
|
== Why is this an issue?
|
|
|
|
|
2020-06-30 12:50:28 +02:00
|
|
|
include::../description.adoc[]
|
|
|
|
|
2023-05-03 11:06:20 +02:00
|
|
|
=== Noncompliant code example
|
2020-06-30 12:50:28 +02:00
|
|
|
|
2022-02-04 17:28:24 +01:00
|
|
|
[source,sql]
|
2020-06-30 12:50:28 +02:00
|
|
|
----
|
|
|
|
select c.id, c.name, o.id, o.item_id, o.item_quantity
|
|
|
|
from ORDERS o INNER JOIN CUSTOMERS c // Noncompliant; no JOIN condition at all
|
|
|
|
|
|
|
|
select f.name, d.title, dlines.*
|
|
|
|
from FOLDER f, DOCUMENTS d, DOC_LINES dlines // Noncompliant; missing at least one condition related to DOC_LINES in the WHERE clause
|
|
|
|
WHERE f.id = d.folder_id
|
|
|
|
----
|
|
|
|
|
2023-05-03 11:06:20 +02:00
|
|
|
=== Compliant solution
|
2020-06-30 12:50:28 +02:00
|
|
|
|
2022-02-04 17:28:24 +01:00
|
|
|
[source,sql]
|
2020-06-30 12:50:28 +02:00
|
|
|
----
|
|
|
|
select c.id, c.name, o.id, o.item_id, o.item_quantity
|
|
|
|
from ORDERS o INNER JOIN CUSTOMERS c
|
|
|
|
WHERE o.customer_id = c.id // Compliant
|
|
|
|
|
|
|
|
|
|
|
|
select f.name, d.title, dlines.*
|
|
|
|
from FOLDER f, DOCUMENTS d, DOC_LINES dlines
|
|
|
|
WHERE f.id = d.folder_id
|
|
|
|
AND d.id = dlines.document_id // Compliant
|
|
|
|
----
|
2021-09-20 15:38:42 +02:00
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
|
|
|
|
'''
|
|
|
|
== Implementation Specification
|
|
|
|
(visible only on this page)
|
|
|
|
|
|
|
|
include::../message.adoc[]
|
|
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|