Re: [sqlsmith] Failed assertion in parallel worker (ExecInitSubPlan)
От | Amit Kapila |
---|---|
Тема | Re: [sqlsmith] Failed assertion in parallel worker (ExecInitSubPlan) |
Дата | |
Msg-id | CAA4eK1+iwR12HhAtB4VnvVmxjhqPCoH4A8fTpGqHbr+ADcECSQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [sqlsmith] Failed assertion in parallel worker (ExecInitSubPlan) (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: [sqlsmith] Failed assertion in parallel worker (ExecInitSubPlan)
|
Список | pgsql-hackers |
On Fri, May 13, 2016 at 9:43 AM, Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Thu, May 12, 2016 at 11:37 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >
> > Robert Haas <robertmhaas@gmail.com> writes:
> > >> Target list for a relation, you mean? See relation.h:
> > >>
> > >> * reltarget - Default Path output tlist for this rel; normally contains
> > >> * Var and PlaceHolderVar nodes for the values we need to
> > >> * output from this relation.
> > >> * List is in no particular order, but all rels of an
> > >> * appendrel set must use corresponding orders.
> > >> * NOTE: in an appendrel child relation, may contain
> > >> * arbitrary expressions pulled up from a subquery!
> >
> > > Err, wow. That makes my head hurt. Can you explain why this case
> > > only arises for appendrel children, and not for plain rels?
> >
> > Well, plain rels only output Vars ;-)
> >
>
> Does this mean that base rels can't contain PlaceHolderVars? Isn't it possible in below code:
>
>
> On Thu, May 12, 2016 at 11:37 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >
> > Robert Haas <robertmhaas@gmail.com> writes:
> > >> Target list for a relation, you mean? See relation.h:
> > >>
> > >> * reltarget - Default Path output tlist for this rel; normally contains
> > >> * Var and PlaceHolderVar nodes for the values we need to
> > >> * output from this relation.
> > >> * List is in no particular order, but all rels of an
> > >> * appendrel set must use corresponding orders.
> > >> * NOTE: in an appendrel child relation, may contain
> > >> * arbitrary expressions pulled up from a subquery!
> >
> > > Err, wow. That makes my head hurt. Can you explain why this case
> > > only arises for appendrel children, and not for plain rels?
> >
> > Well, plain rels only output Vars ;-)
> >
>
> Does this mean that base rels can't contain PlaceHolderVars? Isn't it possible in below code:
>
Here I want to ask base rels which are plain rels?
It might be that I am missing something, but if we debug the serial plan for original query [1] for which this issue is reported, we have noticed that PlaceHolderVars that contain subplans are added to base rels for which RTE kind is (RTE_RELATION).
[1] - select ref_68.is_trigger_deletable as c0, (select d from
public.renamecolumnchild limit 1 offset 15) as c1,ref_68.is_trigger_insertable_into as c2, 3 as c3 from
information_schema.role_udt_grants as ref_67 left join
information_schema.views as ref_68 on (ref_67.grantee =
ref_68.table_catalog ) where true limit 138;
В списке pgsql-hackers по дате отправления: