Thread: pgsql/src/interfaces/ecpg ChangeLog lib/execut ...

pgsql/src/interfaces/ecpg ChangeLog lib/execut ...

From
meskes@postgresql.org (Michael Meskes)
Date:
CVSROOT:    /cvsroot
Module name:    pgsql
Changes by:    meskes@postgresql.org    02/07/20 04:24:19

Modified files:
    src/interfaces/ecpg: ChangeLog
    src/interfaces/ecpg/lib: execute.c
    src/interfaces/ecpg/preproc: keywords.c pgc.l preproc.y

Log message:
    Synced parser yet again.

    Michael


Re: pgsql/src/interfaces/ecpg ChangeLog lib/execut ...

From
nconway@klamath.dyndns.org (Neil Conway)
Date:
On Sat, Jul 20, 2002 at 04:24:19AM -0400, Michael Meskes wrote:
> CVSROOT:    /cvsroot
> Module name:    pgsql
> Changes by:    meskes@postgresql.org    02/07/20 04:24:19
>
> Modified files:
>     src/interfaces/ecpg: ChangeLog
>     src/interfaces/ecpg/lib: execute.c
>     src/interfaces/ecpg/preproc: keywords.c pgc.l preproc.y
>
> Log message:
>     Synced parser yet again.

I get this with CVS HEAD, bison 1.35:

make[4]: Entering directory
`/home/nconway/pgsql/src/interfaces/ecpg/preproc'
bison -y -d  preproc.y
19 rules never reduced
preproc.y contains 7 useless nonterminals and 19 useless rules

Cheers,

Neil

--
Neil Conway <neilconway@rogers.com>
PGP Key ID: DB3C29FC

Re: pgsql/src/interfaces/ecpg ChangeLog lib/execut ...

From
Michael Meskes
Date:
On Sat, Jul 20, 2002 at 01:30:57PM -0400, Neil Conway wrote:
> I get this with CVS HEAD, bison 1.35:
>
> make[4]: Entering directory
> `/home/nconway/pgsql/src/interfaces/ecpg/preproc'
> bison -y -d  preproc.y
> 19 rules never reduced
> preproc.y contains 7 useless nonterminals and 19 useless rules

Frankly I am at a loss here. This happened because I committed something
from my ecpg_big_bison branch. But it went into HEAD again. The tags
simply were lost on my directory. I have no clue at all how this could
happen.

BTW the actual preproc.y file does compile fine with bison 1.49, but
then ecpg gives me syntax errors where none should be. After removing some 30k
of rules from the bison file ecpg works as it should. Maybe this is just
another bison bug.

Michael
--
Michael Meskes
Michael@Fam-Meskes.De
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!

Re: pgsql/src/interfaces/ecpg ChangeLog lib/execut ...

From
Tom Lane
Date:
Michael Meskes <meskes@postgresql.org> writes:
> BTW the actual preproc.y file does compile fine with bison 1.49, but
> then ecpg gives me syntax errors where none should be. After removing some 30k
> of rules from the bison file ecpg works as it should. Maybe this is just
> another bison bug.

Scary.  Have you mentioned it to the bison people?  They might like to
use ecpg as a test case ...

            regards, tom lane

Re: pgsql/src/interfaces/ecpg ChangeLog lib/execut ...

From
Michael Meskes
Date:
On Sun, Jul 21, 2002 at 09:48:36AM -0400, Tom Lane wrote:
> Michael Meskes <meskes@postgresql.org> writes:
> > BTW the actual preproc.y file does compile fine with bison 1.49, but
> > then ecpg gives me syntax errors where none should be. After removing some 30k
> > of rules from the bison file ecpg works as it should. Maybe this is just
> > another bison bug.
>
> Scary.  Have you mentioned it to the bison people?  They might like to
> use ecpg as a test case ...

I did mail them as soon as I found out and offered my sources as test
case. No reply yet, but then it's weekend. :-)

Michael
--
Michael Meskes
Michael@Fam-Meskes.De
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!

Re: pgsql/src/interfaces/ecpg ChangeLog lib/execut ...

From
Thomas Lockhart
Date:
> Frankly I am at a loss here. This happened because I committed something
> from my ecpg_big_bison branch. But it went into HEAD again. The tags
> simply were lost on my directory. I have no clue at all how this could
> happen.

Are you using remote cvs? Perhaps you created the branch (hmm, no I did
that didn't I)? If you had created the branch remotely, then I would
have guessed that after creating the branch you didn't move your tree
*to* the branch using

cvs update -r ecpg_big_bison src/interfaces/ecpg

The symptom is that you have checked out something on the main branch,
or created a tag but did not move your tree to the branch. Or moved your
tree back to the main branch accidentally, before committing.

Try

cvs update -r ecpg_big_bison src/interfaces/ecpg

Ah, perhaps you are updating the rest of the tree using

cvs update -A pgsql

The -A flag forces the code to the main branch, so stay away from it. If
something was checked out on a branch (yours or the main one) it will
stay there unless cvs is directed to change that. So once you've got
your checked-out tree the way you want (mostly on the main branch,
src/interfaces/ecpg on ecpg_big_bison) then say away from "-r" and "-A"
and things should stay the way you want.

You can verify the status of your file(s) *before* committing them by
doing a

cvs status <filename>

hth

                    - Thomas