From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Gavin Sherry <swm(at)linuxworld(dot)com(dot)au> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Fix for tablename in targetlist |
Date: | 2001-06-12 14:59:46 |
Message-ID: | 200106121459.f5CExkr08996@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Lockhart | 2001-06-12 15:04:52 | Re: Australian timezone configure option |
Previous Message | Tom Lane | 2001-06-12 14:54:14 | Re: global.bki vs template1.bki init files |