Re: Fix for tablename in targetlist - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Fix for tablename in targetlist
Date
Msg-id 200106121459.f5CExkr08996@candle.pha.pa.us
Whole thread Raw
In response to Re: Fix for tablename in targetlist  (Gavin Sherry <swm@linuxworld.com.au>)
Responses Re: Fix for tablename in targetlist  (Gavin Sherry <swm@linuxworld.com.au>)
List pgsql-hackers
> Bruce,
> 
> On Fri, 18 May 2001, Bruce Momjian wrote:
> 
> > We have on the TODO list:
> > 
> >     * SELECT pg_class FROM pg_class generates strange error
> > 
> > It passes the tablename as targetlist all the way to the executor, where
> > it throws an error about Node 704 unkown.
> 
> The problem is caused in transformIdent() (parse_expr.c):
> 
>         if (ident->indirection == NIL &&
>                 refnameRangeTableEntry(pstate, ident->name) != NULL)
>         {
>                 ident->isRel = TRUE;
>                 result = (Node *) ident;
>         }
> 
> It is pretty clear what is happening here. ident->name is a member of
> range table so the type of ident is not changed, as would be the case with
> an attribute. Commenting this code out means that result = NULL and the
> error 'Attribute 'pg_class' not found'. This, in my opinion, is the
> correct error to be generated. Moreover, I cannot find any flow on effect
> which may result from removing this code -- regression tests all
> pass. From what I can tell, all transformations of Nodes which are of type
> Ident should have already been transformed anyway -- have I over looked
> something?

I am confused.  I thought I fixed this about a month ago.  Do we need
more coded added here?  

You are suggesting throwing an error as soon as an idend appears as a
relation.  I don't know enough about the code to be sure that is OK.  I
realize the regression tests pass.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: Thomas Lockhart
Date:
Subject: Re: [PATCHES] Australian timezone configure option
Next
From: Bruce Momjian
Date:
Subject: Re: [PATCHES] Australian timezone configure option