Re: Use array as object (src/fe_utils/parallel_slot.c)
Ranier Vilela <ranier.vf@gmail.com>
From: Ranier Vilela <ranier.vf@gmail.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: pgsql-hackers@postgresql.org
Date: 2022-08-19T19:30:19Z
Lists: pgsql-hackers
Em sex., 19 de ago. de 2022 às 16:22, Justin Pryzby <pryzby@telsasoft.com> escreveu: > On Fri, Aug 19, 2022 at 03:52:36PM -0300, Ranier Vilela wrote: > > Em qui., 11 de ago. de 2022 às 09:52, Ranier Vilela <ranier.vf@gmail.com> > escreveu: > > > > > Hi, > > > > > > One other case suspicious, which I think deserves a conference. > > > At function wait_on_slots (src/fe_utils/parallel_slot.c) > > > The variable "slots" are array, but at function call SetCancelConn, > > > "slots" are used as an object, which at the very least would be > suspicious. > > > > The commit > > > https://github.com/postgres/postgres/commit/f71519e545a34ece0a27c8bb1a2b6e197d323163 > > Introduced the affected function. > > It's true that the function was added there, but SetCancelConn() was > called the > same way before that: SetCancelConn(slots->connection); > > If you trace the history back to a17923204, you'll see a comment about the > "zeroth slot", which makes it clear that the first slot it what's intended. > Thank you Justin, for the research. > > I agree that it would be clearer if this were written as > slots[0].connection. > But I still think that the new variable introduced, "cancelconn", became the real argument. regards, Ranier Vilela
Commits
-
Use correct connection for cancellation in frontend's parallel slots
- aeec3534ccf3 14.6 landed
- 44817d97bca3 15.0 landed
- 52144b6fcd62 16.0 landed
-
Refactor and generalize the ParallelSlot machinery.
- f71519e545a3 14.0 cited