On Mon, Apr 9, 2018 at 2:28 PM, Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > Robert Haas wrote: >> On Sat, Apr 7, 2018 at 5:13 PM, Alvaro Herrera <alvhe...@alvh.no-ip.org> >> wrote: >> > I had reservations about a relation_open() in the new executor code. It >> > seemed a bit odd; we don't have any other relation_open in the executor >> > anywhere. However, setting up the pruneinfo needs some stuff from >> > relcache that I don't see a reasonable mechanism to pass through >> > planner. I asked Andres about it on IM and while he didn't endorse the >> > patch in any way, his quick opinion was that "it wasn't entirely >> > insane". I verified that we already hold lock on the relation. >> >> I don't get this. The executor surely had to (and did) open all of >> the relations somewhere even before this patch. > > Yeah. > > I was worried that this coding could be seen as breaking modularity, or > trying to do excessive work. However, after looking closer at it, it > doesn't really look like it's the case. So, nevermind.
Well what I'm saying is that it shouldn't be necessary. If the relations are being opened already and the pointers to the relcache entries are being saved someplace, you shouldn't need to re-open them elsewhere to get pointers to the relcache entries. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company