From: PG Doc comments form <noreply@postgresql.org>
To: pgsql-docs@lists.postgresql.org
Cc: jason@banfelder.net
Subject: Handling of quantity in recursive query example
Date: Sat, 27 Aug 2022 14:50:47 +0000
Message-ID: <166161184718.1235920.6304070286124217754@wrigleys.postgresql.org> (raw)
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/14/queries-with.html
Description:
I believe that the second query in section 7.8.2 (Recursive Queries) should
be modified to properly account for quantities. In the recursive term,
p.quantity should be multiplied by pr.quantity:
WITH RECURSIVE included_parts(sub_part, part, quantity) AS (
SELECT sub_part, part, quantity FROM parts WHERE part = 'our_product'
UNION ALL
SELECT p.sub_part, p.part, p.quantity * pr.quantity
FROM included_parts pr, parts p
WHERE p.part = pr.sub_part
)
SELECT sub_part, SUM(quantity) as total_quantity
FROM included_parts
GROUP BY sub_part
As currently written, if a car has four wheels, and each wheel has five
bolts, the whole example returns five bolts for the parts of a car. With the
proposed change, it will return 20 bolts.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-docs@postgresql.org
Cc: noreply@postgresql.org, pgsql-docs@lists.postgresql.org, jason@banfelder.net
Subject: Re: Handling of quantity in recursive query example
In-Reply-To: <166161184718.1235920.6304070286124217754@wrigleys.postgresql.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox