Bruce Momjian wrote:
>
> > Ugh. I thought that was a pretty unrobust way of doing things :-(
> > If you change the lines in planner.c:
> >
> > /* Is it safe to use just resno to match tlist and glist items?? */
> > if (grpcl->entry->resdom->resno == resdom->resno)
> >
> > to use equal() on the expr's of the two TLEs, does it work any better?
> >
> > > Currently I think the correct solution would be to expand the
> > > targetlist already in the rewrite system and leave it
> > > untouched in the planner. Comments?
> >
> > OK with me, but possibly rather a major change to be making this late
> > in beta...
>
> But it is already broken. Can't get worse, can it?
And just using equal() wouldn't be enough. I tested what
happens if the rewriter add's junk TLE's for group clauses
coming from a view. If the query is a SELECT, anything is
fine, but if it is an INSERT ... SELECT then the added TLE's
needed by the group clauses get lost during
preprocess_targetlist().
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#======================================== jwieck@debis.com (Jan Wieck) #