Re: [HACKERS] Parser doesn't grok unqualified array element

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: tgl(at)sss(dot)pgh(dot)pa(dot)us (Tom Lane)
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] Parser doesn't grok unqualified array element
Date: 1999-03-29 15:59:13
Message-ID: 199903291600.LAA10273@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Has this come up before? 6.4.2 and current sources both have
> this problem:
>
> select count(*) from pg_proc where pg_proc.proargtypes[0] = 701;
> works, but
> select count(*) from pg_proc where proargtypes[0] = 701;
> fails with ERROR: Unable to locate type name 'proargtypes' in catalog
>
> The grammar doesn't seem to have a case that allows for a subscripted
> attribute name without a relation name in front of it.
>
> It looks like fixing this might be as easy as making the "ColId"
> cases in a_expr, b_expr, possibly other places include an
> opt_indirection item like columnElem does. But maybe there's
> more to it than meets the eye?

No, it is that easy. For some reason, no one has done it yet. Our TODO
list has:

* array index references without table name cause problems

I am sure the complexity of yacc grammar rules have kept some away from
fixing this.

--
Bruce Momjian | http://www.op.net/~candle
maillist(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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1999-03-29 16:03:08 Re: [HACKERS] Memory grows without bounds in aggregates!
Previous Message Bruce Momjian 1999-03-29 15:51:03 Re: [HACKERS] Another new regress test