From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Lee Kindness <lkindness(at)csl(dot)co(dot)uk> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org, Michael Meskes <meskes(at)postgresql(dot)org> |
Subject: | Re: ecpg - GRANT bug |
Date: | 2001-10-18 14:59:51 |
Message-ID: | 200110181459.f9IExql10220@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
Michael will apply the required patches.
> Tom Lane writes:
> > Uh, isn't the correct fix
> > ! $$ = cat_str(8, make_str("grant"), $2, make_str("on"), $4, $5,
> > make_str("to"), $7, $8);
> > ISTM your patch loses the opt_with_grant clause. (Of course the
> > backend doesn't currently accept that clause anyway, but that's no
> > reason for ecpg to drop it.)
>
> My patch doesn't loose the option, it's never been passed on anyway:
>
> opt_with_grant: WITH GRANT OPTION
> {
> mmerror(ET_ERROR, "WITH GRANT OPTION is not supported. Only relation owners can set privileges");
> }
> | /*EMPTY*/
> ;
>
> The existing code in ecpg/preproc/preproc.y to handle the WITH option
> simply throws an error and aborts the processing... The patch below
> prevents the segfault and also passes on the WITH option to the
> backend, probably a better fix.
>
> Regards, Lee.
>
> Index: interfaces/ecpg/preproc/preproc.y
> ===================================================================
> RCS file: /projects/cvsroot/pgsql/src/interfaces/ecpg/preproc/preproc.y,v
> retrieving revision 1.159
> diff -c -r1.159 preproc.y
> *** interfaces/ecpg/preproc/preproc.y 2001/10/14 12:07:57 1.159
> --- interfaces/ecpg/preproc/preproc.y 2001/10/15 09:06:29
> ***************
> *** 1693,1699 ****
>
> GrantStmt: GRANT privileges ON opt_table relation_name_list TO grantee_list opt_with_grant
> {
> ! $$ = cat_str(7, make_str("grant"), $2, make_str("on"), $4, $5, make_str("to"), $7);
> }
> ;
>
> --- 1693,1699 ----
>
> GrantStmt: GRANT privileges ON opt_table relation_name_list TO grantee_list opt_with_grant
> {
> ! $$ = cat_str(8, make_str("grant"), $2, make_str("on"), $4, $5, make_str("to"), $7, $8);
> }
> ;
>
> ***************
> *** 1769,1779 ****
> | grantee_list ',' grantee { $$ = cat_str(3, $1, make_str(","), $3); }
> ;
>
> ! opt_with_grant: WITH GRANT OPTION
> ! {
> ! mmerror(ET_ERROR, "WITH GRANT OPTION is not supported. Only relation owners can set privileges");
> ! }
> ! | /*EMPTY*/
> ;
>
>
> --- 1769,1776 ----
> | grantee_list ',' grantee { $$ = cat_str(3, $1, make_str(","), $3); }
> ;
>
> ! opt_with_grant: WITH GRANT OPTION { $$ = make_str("with grant option"); }
> ! | /*EMPTY*/ { $$ = EMPTY; }
> ;
>
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>
--
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 | Bruce Momjian | 2001-10-18 14:59:56 | Re: ecpg - GRANT bug |
Previous Message | Bruce Momjian | 2001-10-18 14:59:29 | Re: ecpg - GRANT bug |
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2001-10-18 14:59:56 | Re: ecpg - GRANT bug |
Previous Message | Bruce Momjian | 2001-10-18 14:59:29 | Re: ecpg - GRANT bug |