pgsql/src/interfaces/ecpg ChangeLog preproc/ec ...

Started by Nonameover 23 years ago5 messages
#1Noname
meskes@postgresql.org

CVSROOT: /cvsroot
Module name: pgsql
Changes by: meskes@postgresql.org 02/05/19 16:00:53

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

Log message:
- Fixed reduce/reduce conflict in parser.
- Synced preproc.y with gram.y.
- Synced pgc.l with scan.l.
- Synced keywords.c.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Noname (#1)
Re: pgsql/src/interfaces/ecpg ChangeLog preproc/ec ...

meskes@postgresql.org (Michael Meskes) writes:

- Fixed reduce/reduce conflict in parser.
- Synced preproc.y with gram.y.

Good, but now I get:

$ make
bison -y -d preproc.y
preproc.y:5330: fatal error: maximum table size (32767) exceeded
make: *** [preproc.h] Error 1

This is with

$ bison -V
GNU Bison version 1.28

Surprised the heck out of me --- I thought GNU tools weren't supposed
to have arbitrary limits in them. Perhaps there's some error in the
preproc.y file that's triggering this?

regards, tom lane

#3Michael Meskes
meskes@postgresql.org
In reply to: Tom Lane (#2)
Re: [COMMITTERS] pgsql/src/interfaces/ecpg ChangeLog preproc/ec ...

[Moved to hackers}

On Sun, May 19, 2002 at 04:14:47PM -0400, Tom Lane wrote:

meskes@postgresql.org (Michael Meskes) writes:

- Fixed reduce/reduce conflict in parser.
- Synced preproc.y with gram.y.

Good, but now I get:

$ make
bison -y -d preproc.y
preproc.y:5330: fatal error: maximum table size (32767) exceeded
make: *** [preproc.h] Error 1

This is with

$ bison -V
GNU Bison version 1.28

I'm using bison 1.35, but get the same error.

Surprised the heck out of me --- I thought GNU tools weren't supposed
to have arbitrary limits in them. Perhaps there's some error in the
preproc.y file that's triggering this?

I wish it was. Here's what I found using google:

...

"sqlparser.y", line 12054: maximum table size (32767) exceeded

After doing some research, we found out that in the source code for
bison v.1.25 there is a #define MAXTABLE 32767 in machine.h. We can
modify that value, but does anyone now what would the consequences be?

I would look to see where the value is used, and be sure any tables
limited to that size are not addressed by short int's. The limit
probably reflects an assumed int size for the DOS target, making it
safe to change, but I would still check for short's.

Is there another way to overcome this bison 32K limitation?

Push more of the work into the scanner? You must have one Hell of a
grammar.
...

It seems that there are only one or two projects ever to hit that limit.
But it appears to be a hardcoded limit inside bison. It seems I hit that
limit with the latest changes.

Right now I'm removing some simple rules to get under it again, but we
will certainly hit it again in the very near future.

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

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Meskes (#3)
Re: [COMMITTERS] pgsql/src/interfaces/ecpg ChangeLog preproc/ec ...

Michael Meskes <meskes@postgresql.org> writes:

[Moved to hackers}
On Sun, May 19, 2002 at 04:14:47PM -0400, Tom Lane wrote:

preproc.y:5330: fatal error: maximum table size (32767) exceeded

This is with
$ bison -V
GNU Bison version 1.28

I'm using bison 1.35, but get the same error.

1.35? Sounds like bison development has become active again. It was
stuck at 1.28 for a *long* time.

It seems that there are only one or two projects ever to hit that limit.
But it appears to be a hardcoded limit inside bison. It seems I hit that
limit with the latest changes.
Right now I'm removing some simple rules to get under it again, but we
will certainly hit it again in the very near future.

Yes. Maybe we should contact the Bison developers and lobby for an
increase in the standard value. I don't mind saying "you must use
Bison 1.36 or newer to rebuild the Postgres grammar" ... but having to
say "you must use a nonstandardly patched Bison" would really suck :-(

regards, tom lane

#5Michael Meskes
meskes@postgresql.org
In reply to: Tom Lane (#4)
Re: [COMMITTERS] pgsql/src/interfaces/ecpg ChangeLog preproc/ec ...

On Mon, May 20, 2002 at 10:31:57AM -0400, Tom Lane wrote:

Yes. Maybe we should contact the Bison developers and lobby for an
increase in the standard value. I don't mind saying "you must use
Bison 1.36 or newer to rebuild the Postgres grammar" ... but having to
say "you must use a nonstandardly patched Bison" would really suck :-(

I fully agree.

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