Re: [HACKERS] Bug in gram.y? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] Bug in gram.y?
Date
Msg-id 199808041737.NAA09615@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] Bug in gram.y?  ("Dr. Michael Meskes" <meskes@online-club.de>)
List pgsql-hackers
> On Mon, Aug 03, 1998 at 02:19:44PM -0400, Bruce Momjian wrote:
> > Looks fine to me:
> >
> > opt_database1:  LOCATION '=' location           { $$ = $3; }
> >         | /*EMPTY*/                             { $$ = NULL; }
> >         ;
> >
> > opt_database2:  ENCODING '=' encoding           { $$ = $3; }
> >         | /*EMPTY*/                             { $$ = NULL; }
> >         ;
>
> Yes, but check the code under CreatedbStmt:
>
>                     n->dbpath = $5;
> #ifdef MULTIBYTE
>                                         if ($6 != NULL) {
>                                                 n->encoding = pg_char_to_encoding($6);
>                                                 if (n->encoding < 0) {
>                                                         elog(ERROR, "invalid encoding name %s", $6);
>                                                 }
>                                         } else {
>                                                 n->encoding = GetTemplateEncoding();
>                                         }
> #else
>                                         elog(ERROR, "WITH ENCODING is not supported");
> #endif
>                                         $$ = (Node *)n;
>
>
> If you have undefined MULTIBYTE you will get the WITH ENCODING error message
> despite the command being legal even without this option.

Good point.  I have changed it to:

>                                         } else {
>                                                 n->encoding = GetTemplateEncoding();
>                                         }
> #else
>                                         if ($6 != NULL)
                                          ^^^^^^^^^^^^^^^
>                                                 elog(ERROR, "WITH ENCODING is not supported");
> #endif
>                                         $$ = (Node *)n;

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [COMMITTERS] 'pgsql/src/include/utils lsyscache.h'
Next
From: David Hartwig
Date:
Subject: Re: [HACKERS] OR with multi-key indexes