Re: Views no longer in rangeTabls?
От | David Steele |
---|---|
Тема | Re: Views no longer in rangeTabls? |
Дата | |
Msg-id | 7232d0e1-36af-bf3f-e784-6b5576bae627@pgmasters.net обсуждение исходный текст |
Ответ на | Re: Views no longer in rangeTabls? (Amit Langote <amitlangote09@gmail.com>) |
Ответы |
Re: Views no longer in rangeTabls?
|
Список | pgsql-hackers |
On 6/13/23 06:09, Amit Langote wrote: > On Sat, Jun 10, 2023 at 10:27 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Julien Rouhaud <rjuju123@gmail.com> writes: >>> On Sat, Jun 10, 2023 at 08:56:47AM -0400, Tom Lane wrote: >>>> - rte->relkind = 0; >> >>> and also handle that field in (read|out)funcs.c >> >> Oh, right. Ugh, that means a catversion bump. It's not like >> we've never done that during beta, but it's kind of an annoying >> cost for a detail as tiny as this. > > OK, so how about the attached? The patch looks good to me. I also tested it against pgAudit and everything worked. I decided to go with the following because I think it is easier to read: /* We only care about tables/views and can ignore subqueries, etc. */ if (!(rte->rtekind == RTE_RELATION || (rte->rtekind == RTE_SUBQUERY && rte->relkind == RELKIND_VIEW))) continue; > I considered adding Assert(relkind == RELKIND_VIEW) in all places that > have the "rte->rtekind == RTE_SUBQUERY && OidIsValid(rte->relid)" > condition, but that seemed like an overkill, so only added one in the > #ifdef USE_ASSERT_CHECKING block in ExecCheckPermissions() that > f75cec4fff877 added. This seems like a good place for the assert. Thanks! -David
В списке pgsql-hackers по дате отправления: