Re: [HACKERS] CVS HEAD compile warning

2004-02-27 Thread Tom Lane
Michael Meskes [EMAIL PROTECTED] writes:
 At this point I think our first question is whether flex 2.5.31 is
 correctly detecting a hole in the ecpg lexer rules that was missed by
 flex 2.5.4, or whether the warning is simply wrong.

 Yes, that's it. The big problem seems to be that flex does not have a
 way to help finding that hole.

Yeah, I was scratching my head over that too.  You'd think there'd be
some more useful debug output.

FWIW, I found two basic causes of that failure when I was fixing the
other lexers:

* not accounting for the fact that . matches everything but newline.
  You can write .|\n instead.

* not ensuring that a single character can always be matched.  For
  instance, one lexer had several rules for \ followed by various
  things, but no rule that could match \ not followed by anything,
  which meant that \ just before EOF was a missing case.

But I'm not sure that helps, since flex 2.5.4 detected those cases.
We don't really know what we're dealing with in this ecpg situation...

regards, tom lane

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faqs/FAQ.html


Re: [HACKERS] CVS HEAD compile warning

2004-02-27 Thread tswan
 Tom Lane wrote:


 Red Hat's still shipping 2.5.4a according to a quick look...

 Well Red Hat's still ship Postgres 7.3.4 ...

 I'm not considering anymore RH to be up to date with various versions
 :-(

 Gaetano



Not to jump immediately to RH's defense, but Fedora Core 2 (currently in
beta) is going to ship with PostgreSQL 7.4.x.   AFAIK, the update strategy
for most Red Hat distributions does not include major application version
changes in a release maintenance update.  RH will often backport patches
to fix bugs or security issues from newer versions of applications so that
library version numbers do not change and it doesn't adversely affect any
other dependent systems.

Look at this list's archive to see how difficult it is to update from
7.3.x to 7.4.x without the RPM or automated upgrade issue.  There has been
some talk about resurrecting pg_upgrade, but that's not an easy task. 
Even then, that may not solve the entire upgrade problem for RPM based
distributions.



---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match


Re: [HACKERS] CVS HEAD compile warning

2004-02-26 Thread Gaetano Mendola
Tom Lane wrote:


Red Hat's still shipping 2.5.4a according to a quick look...
Well Red Hat's still ship Postgres 7.3.4 ...

I'm not considering anymore RH to be up to date with various versions
:-(
Gaetano

---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
 joining column's datatypes do not match


Re: [HACKERS] CVS HEAD compile warning

2004-02-26 Thread Michael Meskes
On Thu, Feb 26, 2004 at 02:44:52AM -0500, Tom Lane wrote:
 I knew at the time that ecpg was the only one of our lexers in which
 echo-to-stdout could conceivably be a reasonable default rule.  But
 since flex 2.5.4 did not complain, I went ahead and committed the
 addition in ecpg as well as everyplace else.

Actually it was actively used back in earlier versions of ecpg, but I
thought it wasn't anymore.

 At this point I think our first question is whether flex 2.5.31 is
 correctly detecting a hole in the ecpg lexer rules that was missed by
 flex 2.5.4, or whether the warning is simply wrong.

Yes, that's it. The big problem seems to be that flex does not have a
way to help finding that hole.

 If the warning is valid, you need to decide whether you like the idea of
 a default spit-to-stdout action, or you'd prefer to put in an additional
 flex rule to cover the missing case.

I'd prefer to program my own default rule.

Michael
-- 
Michael Meskes
Email: Michael at Fam-Meskes dot De
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: [EMAIL PROTECTED]
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!

---(end of broadcast)---
TIP 8: explain analyze is your friend


Re: [HACKERS] CVS HEAD compile warning

2004-02-25 Thread Tom Lane
Neil Conway [EMAIL PROTECTED] writes:
 /usr/bin/flex  -o'pgc.c' pgc.l
 pgc.l:979: warning, -s option given but default rule can be matched

That's interesting, because I get no such warning here.  What version
of flex are you using?  (Mine is 2.5.4)

regards, tom lane

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [HACKERS] CVS HEAD compile warning

2004-02-25 Thread Bruce Momjian
Neil Conway wrote:
 $ cd src/interfaces/ecpg
 $ make
 [ ... ]
 bison -y -d  preproc.y
 mv -f y.tab.c ./preproc.c
 mv -f y.tab.h ./preproc.h
 /usr/bin/flex  -o'pgc.c' pgc.l
 pgc.l:979: warning, -s option given but default rule can be matched


FYI, I am not seeing this with my flex 2.5.4 and bison 1.875:

---

(2) touch preproc.y
(2) touch pgc.l
(2) gmake
gmake -C ../../../../src/port all
gmake[1]: Entering directory
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/port'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory
`/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/port'
bison -y -d  preproc.y
mv -f y.tab.c ./preproc.c
mv -f y.tab.h ./preproc.h
/usr/bin/flex  -o'pgc.c' pgc.l
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
-Wmissing-declarations -O1 -Wall -Wmissing-prototypes
-Wmissing-declarations -Wpointer-arith -Wcast-align -Wno-error
-I./../include -I. -I../../../../src/include
-I/usr/local/include/readline -I/usr/contrib/include  -DMAJOR_VERSION=3
-DMINOR_VERSION=1 -DPATCHLEVEL=1
-DINCLUDEDIR=\/usr/local/pgsql/include\
-DPKGINCLUDEDIR=\/usr/local/pgsql/include\   -c -o preproc.o preproc.c
In file included from preproc.y:6186:
pgc.c: In function `yylex':
pgc.c:1436: warning: label `find_rule' defined but not used
preproc.y: At top level:
pgc.c:3416: warning: `yy_flex_realloc' defined but not used
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
-Wmissing-declarations -O1 -Wall -Wmissing-prototypes
-Wmissing-declarations -Wpointer-arith -Wcast-align -Wno-error
-I./../include -I. -I../../../../src/include
-I/usr/local/include/readline -I/usr/contrib/include  -DMAJOR_VERSION=3
-DMINOR_VERSION=1 -DPATCHLEVEL=1
-DINCLUDEDIR=\/usr/local/pgsql/include\
-DPKGINCLUDEDIR=\/usr/local/pgsql/include\   -c -o ecpg_keywords.o
ecpg_keywords.c
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
-Wmissing-declarations -O1 -Wall -Wmissing-prototypes
-Wmissing-declarations -Wpointer-arith -Wcast-align -Wno-error
-I./../include -I. -I../../../../src/include
-I/usr/local/include/readline -I/usr/contrib/include  -DMAJOR_VERSION=3
-DMINOR_VERSION=1 -DPATCHLEVEL=1
-DINCLUDEDIR=\/usr/local/pgsql/include\
-DPKGINCLUDEDIR=\/usr/local/pgsql/include\   -c -o keywords.o
keywords.c
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
-Wmissing-declarations -O1 -Wall -Wmissing-prototypes
-Wmissing-declarations -Wpointer-arith -Wcast-align -Wno-error
-I./../include -I. -I../../../../src/include
-I/usr/local/include/readline -I/usr/contrib/include  -DMAJOR_VERSION=3
-DMINOR_VERSION=1 -DPATCHLEVEL=1
-DINCLUDEDIR=\/usr/local/pgsql/include\
-DPKGINCLUDEDIR=\/usr/local/pgsql/include\   -c -o c_keywords.o
c_keywords.c
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
-Wmissing-declarations -O1 -Wall -Wmissing-prototypes
-Wmissing-declarations -Wpointer-arith -Wcast-align -Wno-error
-L../../../../src/port -L/usr/local/lib -L/usr/contrib/lib
-Wl,-rpath,/usr/local/pgsql/lib -O1 -Wall -Wmissing-prototypes
-Wmissing-declarations -Wpointer-arith -Wcast-align preproc.o type.o
ecpg.o ecpg_keywords.o output.o keywords.o c_keywords.o
../ecpglib/typename.o descriptor.o variable.o -lssl -lcrypto -lz
-lreadline -ltermcap -lgetopt -lcompat -lipc -ldl -lm -lutil  -lpgport 
-o ecpg

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faqs/FAQ.html


Re: [HACKERS] CVS HEAD compile warning

2004-02-25 Thread Neil Conway
Tom Lane [EMAIL PROTECTED] writes:
 That's interesting, because I get no such warning here.  What version
 of flex are you using?  (Mine is 2.5.4)

[EMAIL PROTECTED]:/home/nconway]% flex --version
flex 2.5.31

(The flex 2.5.31-22 debian package)

-Neil


---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match


Re: [HACKERS] CVS HEAD compile warning

2004-02-25 Thread Tom Lane
Neil Conway [EMAIL PROTECTED] writes:
 Tom Lane [EMAIL PROTECTED] writes:
 That's interesting, because I get no such warning here.  What version
 of flex are you using?  (Mine is 2.5.4)

 [EMAIL PROTECTED]:/home/nconway]% flex --version
 flex 2.5.31

Oh, that thing.  We deliberately backed off of 2.5.31 some time ago
because it seemed too broken to be worth our time; see for instance
http://archives.postgresql.org/pgsql-hackers/2003-04/msg00732.php
(searching the archives for 2.5.31 turns up various other interesting
comments).

Peter claimed some time later that he'd fixed CVS tip to work with
2.5.31, but I'm still not willing to put any effort into it.  IMHO
the burden of proof is on 2.5.31 to prove that it's not broken.

Red Hat's still shipping 2.5.4a according to a quick look...

regards, tom lane

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [HACKERS] CVS HEAD compile warning

2004-02-25 Thread Michael Meskes
On Wed, Feb 25, 2004 at 05:22:59PM -0500, Neil Conway wrote:
 /usr/bin/flex  -o'pgc.c' pgc.l
 pgc.l:979: warning, -s option given but default rule can be matched

Hmm, maybe the change is that -s is now enabled by default. I just
didn't find any mention of this in the docs and no option to enable the
default rule again.

But then I wonder which inout flex thinks could trigger the default
rule. Any idea how to find out?

Bruce, Tom, or anyone else with flex 2.5.4, could you please run
/usr/bin/flex -s -o'pgc.c' pgc.l 
and check if the same warning appears?

Michael
-- 
Michael Meskes
Email: Michael at Fam-Meskes dot De
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: [EMAIL PROTECTED]
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!

---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match


Re: [HACKERS] CVS HEAD compile warning

2004-02-25 Thread Tom Lane
Michael Meskes [EMAIL PROTECTED] writes:
 Hmm, maybe the change is that -s is now enabled by default.

Right.  I inserted %option nodefault into pgc.l (and all our other
flex source files) a day or two ago, after realizing that it is a very
effective tool for catching missed cases in a set of lex rules.

I knew at the time that ecpg was the only one of our lexers in which
echo-to-stdout could conceivably be a reasonable default rule.  But
since flex 2.5.4 did not complain, I went ahead and committed the
addition in ecpg as well as everyplace else.

At this point I think our first question is whether flex 2.5.31 is
correctly detecting a hole in the ecpg lexer rules that was missed by
flex 2.5.4, or whether the warning is simply wrong.

If the warning is valid, you need to decide whether you like the idea of
a default spit-to-stdout action, or you'd prefer to put in an additional
flex rule to cover the missing case.

regards, tom lane

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster