Re: [HACKERS] Bison 3.0 updates

2014-05-28 Thread Peter Eisentraut
On 5/28/14, 2:43 PM, Tom Lane wrote:
> Peter Eisentraut  writes:
>> What they want is that you use
>> %name-prefix "base_yy"
>> instead of
>> %name-prefix="base_yy"
>> That makes the warning go away.
> 
> Oh really!?
> 
>> The %something=something syntax is not documented anywhere, so it looks
>> like it worked more or less by accident.  We don't use it anywhere else
>> either (e.g. %expect 0, not %expect=0).
> 
> Hah.  That's probably my fault, somewhere way back when.  I'll fix it,
> unless you're already on it.

Go ahead.



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2014-05-28 Thread Tom Lane
Peter Eisentraut  writes:
> What they want is that you use
> %name-prefix "base_yy"
> instead of
> %name-prefix="base_yy"
> That makes the warning go away.

Oh really!?

> The %something=something syntax is not documented anywhere, so it looks
> like it worked more or less by accident.  We don't use it anywhere else
> either (e.g. %expect 0, not %expect=0).

Hah.  That's probably my fault, somewhere way back when.  I'll fix it,
unless you're already on it.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2014-05-28 Thread Peter Eisentraut
On 5/21/14, 12:29 PM, Tom Lane wrote:
> Vik Fearing  writes:
>> I'm getting some more of these, including some I thought you had fixed.
>> Bison 3.0.2 on current head.
> 
> I didn't do anything to suppress those warnings:
> 
>> gram.y:172.1-13: warning: deprecated directive, use ‘%name-prefix’
>> [-Wdeprecated]
>>  %name-prefix="base_yy"
>>  ^
> 
> because it's hard to see how that's anything but a bison bug.

What they want is that you use

%name-prefix "base_yy"

instead of

%name-prefix="base_yy"

That makes the warning go away.

The %something=something syntax is not documented anywhere, so it looks
like it worked more or less by accident.  We don't use it anywhere else
either (e.g. %expect 0, not %expect=0).



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2014-05-21 Thread Tom Lane
Vik Fearing  writes:
> On 05/21/2014 12:29 PM, Tom Lane wrote:
>> I didn't do anything to suppress those warnings:
>>> gram.y:172.1-13: warning: deprecated directive, use ‘%name-prefix’
>>> [-Wdeprecated]
>>> %name-prefix="base_yy"
>>> ^
>> because it's hard to see how that's anything but a bison bug.

> The wording is a little odd as it seems we're supposed to replace
> %name-prefix with... %name-prefix, but the docs say we're supposed to
> use api.prefix now instead.

Oh, just a bad error message eh?

[ Reads docs ... ]  AFAICT, they've deprecated this in favor of some
other syntax that they introduced in 2.6, which was released in July 2012.
That makes it a nonstarter for us.  We're not going to break PG altogether
for most people in order to hide a warning message on the bleeding edge
version.

(For comparison, I've got bison 2.3 on my Mac and 2.4.1 on my RHEL6
machine, both of which are pretty up-to-date platforms as such things
go.  Some of the buildfarm machines are still running 1.875.)

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2014-05-21 Thread Vik Fearing
On 05/21/2014 12:29 PM, Tom Lane wrote:
> Vik Fearing  writes:
>> I'm getting some more of these, including some I thought you had fixed.
>> Bison 3.0.2 on current head.
> I didn't do anything to suppress those warnings:
>
>> gram.y:172.1-13: warning: deprecated directive, use ‘%name-prefix’
>> [-Wdeprecated]
>>  %name-prefix="base_yy"
>>  ^
> because it's hard to see how that's anything but a bison bug.

The wording is a little odd as it seems we're supposed to replace
%name-prefix with... %name-prefix, but the docs say we're supposed to
use api.prefix now instead.  I'll just take your word for it as I've
never done anything with bison before.

-- 
Vik



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2014-05-21 Thread Tom Lane
Vik Fearing  writes:
> I'm getting some more of these, including some I thought you had fixed.
> Bison 3.0.2 on current head.

I didn't do anything to suppress those warnings:

> gram.y:172.1-13: warning: deprecated directive, use ‘%name-prefix’
> [-Wdeprecated]
>  %name-prefix="base_yy"
>  ^

because it's hard to see how that's anything but a bison bug.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2014-05-21 Thread Vik Fearing
I'm getting some more of these, including some I thought you had fixed.

Bison 3.0.2 on current head.


<>
Writing postgres.bki
Writing schemapg.h
Writing postgres.description
Writing postgres.shdescription
gram.y:172.1-13: warning: deprecated directive, use ‘%name-prefix’
[-Wdeprecated]
 %name-prefix="base_yy"
 ^
Writing fmgroids.h
Writing fmgrtab.c
bootparse.y:96.1-13: warning: deprecated directive, use ‘%name-prefix’
[-Wdeprecated]
 %name-prefix="boot_yy"
 ^
In file included from gram.y:14004:0:
scan.c: In function ‘yy_try_NUL_trans’:
scan.c:10188:23: warning: unused variable ‘yyg’ [-Wunused-variable]
 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var
may be unused depending upon options. */
   ^
repl_gram.y:43.1-13: warning: deprecated directive, use ‘%name-prefix’
[-Wdeprecated]
 %name-prefix="replication_yy"
 ^
preproc.y:576.1-13: warning: deprecated directive, use ‘%name-prefix’
[-Wdeprecated]
 %name-prefix="base_yy"
 ^
pl_gram.y:113.1-13: warning: deprecated directive, use ‘%name-prefix’
[-Wdeprecated]
 %name-prefix="plpgsql_yy"
 ^
cubeparse.y:42.1-13: warning: deprecated directive, use ‘%name-prefix’
[-Wdeprecated]
 %name-prefix="cube_yy"
 ^
segparse.y:45.1-13: warning: deprecated directive, use ‘%name-prefix’
[-Wdeprecated]
 %name-prefix="seg_yy"
 ^
PostgreSQL, contrib, and documentation installation complete.




On 07/29/2013 01:05 AM, Tom Lane wrote:
> Buildfarm member anchovy has been failing for the last couple of days,
> evidently because its owner just couldn't wait to adopt bison 3.0,
> which is all of 3 days old.  The failures look like
>
> cubeparse.y:42.1-13: warning: deprecated directive, use '%name-prefix' 
> [-Wdeprecated]
>  %name-prefix="cube_yy"
>  ^
>
> (which looks like 3.0 isn't actually ready for prime time, but at least
> it's only a warning)
>
> cubeparse.c:163:5: error: conflicting types for 'cube_yyparse'
>  int cube_yyparse (void);
>  ^
> cubeparse.y:32:5: note: previous declaration of 'cube_yyparse' was here
>  int cube_yyparse(void *result);
>  ^
>
> A look in the Bison release notes explains this one: they stopped
> supporting YYPARSE_PARAM, which contrib/cube and contrib/seg both use.
> The recommended replacement is %parse-param, which is certainly a whole
> lot cleaner: it lets you specify the datatype of the extra parser
> parameter, instead of having it default to "void *".  This option also
> changes the signature of yyerror(), but that's not a problem.
>
> At first I thought this was going to make us go through a tool upgrade
> exercise, because I couldn't find %parse-param in the documentation for
> bison 1.875, which is our oldest supported version.  But further
> research shows that %parse-param actually was introduced in 1.875,
> they just forgot to document it :-(.
>
> So I propose the attached patch, which I've verified still works with
> 1.875.  I don't plan to install 3.0 just to test this, but I assume it's
> OK there.
>
> I'm thinking we should apply this to all supported branches, in case
> somebody gets the idea to build an older branch with bleeding-edge
> tools.  Any objections?
>
>   regards, tom lane
>
>
>


-- 
Vik



Re: [HACKERS] bison, flex and ./configure

2014-01-28 Thread salah jubeh
Hello Heikki,

Thanks for sharing.

Reagrds





On Tuesday, January 28, 2014 3:48 PM, Heikki Linnakangas 
 wrote:
 
On 01/28/2014 04:28 PM, salah jubeh wrote:
>> Yes. Bison and flex are not required when building from a source
>> tarball, because the tarball includes the generated files. If you're
>> building from a git checkout, however, then you need bison and flex. You
>> will get an error at make, and IIRC a warning at ./configure
>
> Thanks for the quick reply. For curiosity reasons why the differentiation 
> between tar and git.

We include the generated files in the tarballs for the convenience of 
people who just want to download, compile, and install the software. 
Fewer dependencies is good in that case. It also ensures that an 
official version, ie. from a tarball, is always built using the same 
version of bison/flex.

Whereas if you do a git checkout, you're probably a developer, and want 
to modify the sources. It's not unreasonable to expect a developer to 
have bison and flex installed. Also, including the generated files in 
the git repository would cause unnecessary diffs when people have 
different versions of bison/flex installed on their development boxes.

We've chosen a different approach with autoconf; the configure file is 
generated from configure.in, but we include the configure file in the 
git repository. It does add some extra effort to developers that need to 
modify configure.in, but OTOH, if you don't modify it, you don't need to 
have autoconf installed.

- Heikki

Re: [HACKERS] bison, flex and ./configure

2014-01-28 Thread Heikki Linnakangas

On 01/28/2014 04:28 PM, salah jubeh wrote:

Yes. Bison and flex are not required when building from a source
tarball, because the tarball includes the generated files. If you're
building from a git checkout, however, then you need bison and flex. You
will get an error at make, and IIRC a warning at ./configure


Thanks for the quick reply. For curiosity reasons why the differentiation 
between tar and git.


We include the generated files in the tarballs for the convenience of 
people who just want to download, compile, and install the software. 
Fewer dependencies is good in that case. It also ensures that an 
official version, ie. from a tarball, is always built using the same 
version of bison/flex.


Whereas if you do a git checkout, you're probably a developer, and want 
to modify the sources. It's not unreasonable to expect a developer to 
have bison and flex installed. Also, including the generated files in 
the git repository would cause unnecessary diffs when people have 
different versions of bison/flex installed on their development boxes.


We've chosen a different approach with autoconf; the configure file is 
generated from configure.in, but we include the configure file in the 
git repository. It does add some extra effort to developers that need to 
modify configure.in, but OTOH, if you don't modify it, you don't need to 
have autoconf installed.

- Heikki


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] bison, flex and ./configure

2014-01-28 Thread salah jubeh
>Yes. Bison and flex are not required when building from a source 
>tarball, because the tarball includes the generated files. If you're 
>building from a git checkout, however, then you need bison and flex. You 
>will get an error at make, and IIRC a warning at ./configure

Thanks for the quick reply. For curiosity reasons why the differentiation 
between tar and git.

Regards




On Tuesday, January 28, 2014 3:18 PM, Heikki Linnakangas 
 wrote:
 
On 01/28/2014 04:14 PM, salah jubeh wrote:

> Today, I have noticed that ./configure does not return an error when bison 
> and flex are missing.  Is this intended ?

Yes. Bison and flex are not required when building from a source 
tarball, because the tarball includes the generated files. If you're 
building from a git checkout, however, then you need bison and flex. You 
will get an error at make, and IIRC a warning at ./configure.

- Heikki

Re: [HACKERS] bison, flex and ./configure

2014-01-28 Thread Heikki Linnakangas

On 01/28/2014 04:14 PM, salah jubeh wrote:

Today, I have noticed that ./configure does not return an error when bison and 
flex are missing.  Is this intended ?


Yes. Bison and flex are not required when building from a source 
tarball, because the tarball includes the generated files. If you're 
building from a git checkout, however, then you need bison and flex. You 
will get an error at make, and IIRC a warning at ./configure.


- Heikki


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] bison, flex and ./configure

2014-01-28 Thread salah jubeh
Hello, 


Today, I have noticed that ./configure does not return an error when bison and 
flex are missing.  Is this intended ?


OS: Ubuntu 13.04


Regards


Re: [HACKERS] Bison 3.0 updates

2013-08-21 Thread Tom Lane
Andres Freund  writes:
> On 2013-07-29 08:02:49 -0400, Tom Lane wrote:
>>> It looks like our choices are (1) teach configure to enable
>>> -fno-aggressive-loop-optimizations if the compiler recognizes it,
>>> or (2) back-port commit 8137f2c32322c624e0431fac1621e8e9315202f9.
>>> 
>>> I am in favor of fixing the back branches via (1), because it's less
>>> work and much less likely to break third-party extensions.

> This seems to be the agreed upon course of action, so I've prepared a
> patch including a preliminary commit message. I confirmed that it fixes
> the issue with gcc 4.8 and 9.1 for me.

Committed --- thanks for doing the legwork to check it fixes the problem.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-08-21 Thread Andres Freund
On 2013-07-29 08:02:49 -0400, Tom Lane wrote:
> Andres Freund  writes:
> > On 2013-07-29 07:11:13 -0400, Stephen Frost wrote:
> >> * Tom Lane (t...@sss.pgh.pa.us) wrote:
> >>> The bottom line was:
> >>> It looks like our choices are (1) teach configure to enable
> >>> -fno-aggressive-loop-optimizations if the compiler recognizes it,
> >>> or (2) back-port commit 8137f2c32322c624e0431fac1621e8e9315202f9.
> >>> 
> >>> I am in favor of fixing the back branches via (1), because it's less
> >>> work and much less likely to break third-party extensions.  Some other
> >>> people argued for (2), but I've not seen any patch emerge from them,
> >>> and you can bet I'm not going to do it.
> 
> >> Yea, just passing -fno-aggressive-loop-optimizations seems like the
> >> safest and best option to me also..
> 
> > I think we need to do both. There very well might be other optimizations
> > made based on the unreachability information.
> 
> If we turn off the optimization, that will fix any other cases as well,
> no?  So why would we risk breaking third-party code by back-porting the
> struct declaration changes?

This seems to be the agreed upon course of action, so I've prepared a
patch including a preliminary commit message. I confirmed that it fixes
the issue with gcc 4.8 and 9.1 for me.

The patch needs to be applied to 9.1, 9.0 and 8.4.

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services
>From 1d9f13fd9245c66de02478875c9f6c3eea3bc978 Mon Sep 17 00:00:00 2001
From: Andres Freund 
Date: Wed, 21 Aug 2013 13:10:23 +0200
Subject: [PATCH] Amend CFLAGS for gcc 4.8 to prevent optimization problems due
 to variable length structs

gcc 4.8 concludes it can terminate some loops prematurely, causing e.g. initdb
to fail in optimized builds, because we embed variable length structs inside
catalog structs.
If those embedded variable length structs are not the trailing field gcc
concludes that they an area of memory has to be of a certain size and uses that
information to infer that some loops can only iterate a limited number of
times.
In reality, the actual struct layout isn't used for any of the elements beyond
the first variable length element, it's just there for the benefit
genbki.pl. Later fields are only accessed indirectly via heap_getattr() and
friends. But the compiler doesn't know that.
Commits 8137f2c3 / 8a3f745f, which are only included in 9.2 and onwards, thus
hide all variable length fields after the first one via #ifdefs.

For the benefit of earlier releases, let configure check for
-fno-aggressive-loop-optimizations, which disables this kind of
optimization. It was concluded that this way of fixing problems arising from
the optimization is less likely to cause problems than backporting the
aforementioned commits.

Per discussion on the hackers mailinglist.
---
 configure.in | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/configure.in b/configure.in
index cf1afeb..76cd5eb 100644
--- a/configure.in
+++ b/configure.in
@@ -438,6 +438,9 @@ if test "$GCC" = yes -a "$ICC" = no; then
   PGAC_PROG_CC_CFLAGS_OPT([-fwrapv])
   # Disable FP optimizations that cause various errors on gcc 4.5+ or maybe 4.6+
   PGAC_PROG_CC_CFLAGS_OPT([-fexcess-precision=standard])
+  # Disable some loop optimizations, causes error due to variable length structs
+  # needed for < 9.2 and gcc 4.8+
+  PGAC_PROG_CC_CFLAGS_OPT([-fno-aggressive-loop-optimizations])
 elif test "$ICC" = yes; then
   # Intel's compiler has a bug/misoptimization in checking for
   # division by NAN (NaN == 0), -mp1 fixes it, so add it to the CFLAGS.
-- 
1.8.2.rc2.4.g7799588.dirty


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Marti Raudsepp
On Tue, Jul 30, 2013 at 3:56 AM, Noah Misch  wrote:
> Agreed.  Let's stick an "Updates OS packages daily, regularly acquiring
> bleeding-edge upstream releases" note on the buildfarm status page

FWIW, I added "[updated daily]" to the OS version field.

I haven't changed other configuration yet, will wait until there's a consensus.

Regards,
Marti


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Noah Misch
On Mon, Jul 29, 2013 at 11:05:52AM -0400, Tom Lane wrote:
> Andrew Dunstan  writes:
> > On 07/29/2013 10:28 AM, Marti Raudsepp wrote:
> >> Hmm? Anchovy is upgrading automatically to newest Arch Linux packages 
> >> daily.
> >> I assumed that's a good thing -- the purpose of build farm is to test
> >> PostgreSQL in various different real-life environments? Arch Linux is
> >> one such environment that adopts new packages very quickly. If Arch
> >> users are unable to build PostgreSQL then surely it's good to be
> >> notified by the build farm before real users start reporting problems?
> 
> > The buildfarm is principally designed to detect when some change in the 
> > Postgres code breaks something. As such, the expectation is that the 
> > animals will provide a fairly stable platform.  A totally moving target 
> > will present us with false positives, since the failure could be due to 
> > no action of ours at all.
> 
> I can see both sides of this.  It's definitely nice to get early warning
> when toolchain changes create new problems for Postgres, but it's not
> clear that the buildfarm is the best way to get such notifications.

Early notification when a dependency's compatibility break affects PostgreSQL
is a Very Good Thing.

> The big problem here is that it might take a long time before we have
> a suitable fix, and in the meantime that buildfarm member is basically
> useless: it can't tell us anything new, and even if it tried, probably
> nobody would notice because they'd not realize the failure cause changed.
> We've had cases before where a buildfarm member that was failing for
> some known reason was unable to detect a later-introduced bug, so this
> isn't hypothetical.  (And I'm not too thrilled that we've let the
> back-branch failures on anchovy persist for months, though I suppose
> that's not as bad as a breakage in HEAD.)

True, but the solution, if any, is more buildfarm members.  anchovy plays the
important role of a sentinel for trouble with bleeding-edge dependency
packages.  Doing that with excellence inevitably makes it less useful for
detecting other kinds of problems.

> On the other hand, this
> doesn't seem like a big enough problem to justify building some
> different infrastructure for it, so I'm not seeing a practical way
> to do better.

Agreed.  Let's stick an "Updates OS packages daily, regularly acquiring
bleeding-edge upstream releases" note on the buildfarm status page, like we
have for the CLOBBER_CACHE_ALWAYS members.  That should be enough for folks to
realize that a failure in this animal alone is more likely the fault of a new
package version than of the latest commit.

-- 
Noah Misch
EnterpriseDB http://www.enterprisedb.com


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Christian Ullrich

* Andrew Dunstan wrote:


I'm toying with the idea of a check_upgrade mode for the buildfarm
client where it wouldn't do a git pull, but would report changes if the
build result was different from the previous result. You'd run this
immediately after pulling new changes into your OS. Other, brighter
ideas welcome.


Might it be possible for the buildfarm client to query the various tools 
(compiler, autotools, flex, bison, perl, shell, etc.) for their version 
numbers and report those too? If the config page said "since the last 
successful build, these commits have been added, and the compiler is now 
tomorrow's snapshot of gcc 4.8.4711", diagnosing a failed build could be 
easier.


This could be done either through the usual -V, --version flags or by 
asking the host's packaging system, although there are probably too many 
of the latter to support.


I would not want to have to implement this, but perhaps the client could 
also automatically drop back to the last known good commit if it gets a 
failed build immediately after a tool version change.


--
Christian





--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Jeff Janes
On Mon, Jul 29, 2013 at 11:45 AM, Andrew Dunstan  wrote:
>
> On 07/29/2013 02:26 PM, Marti Raudsepp wrote:
>>>
>>> I'm toying with the idea of a check_upgrade mode for the buildfarm client
>>> where it wouldn't do a git pull, but would report changes if the build
>>> result was different from the previous result. You'd run this immediately
>>> after pulling new changes into your OS. Other, brighter ideas welcome.
>>
>> What would be the right course of action if check_upgrade fails? Is it
>> reasonable to expect buildfarm volunteers to downgrade the system and
>> postpone until the problem is resolved?
>>
>> Or do you think the member should be removed from the farm until the
>> build succeeds again? Sounds like worst of both worlds.
>>
>
>
> Neither, I don't think you're understanding me at all. The idea is to have
> some way of saying "well, the code is the same, but the tools have changed."
> i.e. we want to be able to hold one of these variables constant.

Could it remove the need for manual intervention, by detecting if the
tools have changed first, and then suppressing the git pull and adding
the appropriate reporting flag, if they have?

Cheers,

Jeff


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Greg Stark
On Mon, Jul 29, 2013 at 4:05 PM, Tom Lane  wrote:
> I can see both sides of this.  It's definitely nice to get early warning
> when toolchain changes create new problems for Postgres, but it's not
> clear that the buildfarm is the best way to get such notifications.

Perhaps something as simple as choosing a sufficiently oddball or
frightening animal name?

predator or alien?
killerbee? bedbug?

-- 
greg


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Andrew Dunstan


On 07/29/2013 02:26 PM, Marti Raudsepp wrote:

I'm toying with the idea of a check_upgrade mode for the buildfarm client
where it wouldn't do a git pull, but would report changes if the build
result was different from the previous result. You'd run this immediately
after pulling new changes into your OS. Other, brighter ideas welcome.

What would be the right course of action if check_upgrade fails? Is it
reasonable to expect buildfarm volunteers to downgrade the system and
postpone until the problem is resolved?

Or do you think the member should be removed from the farm until the
build succeeds again? Sounds like worst of both worlds.




Neither, I don't think you're understanding me at all. The idea is to 
have some way of saying "well, the code is the same, but the tools have 
changed." i.e. we want to be able to hold one of these variables constant.


The buildfarm server knows how the run was invoked, and could 
distinguish runs done in this mode from other runs.


cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Marti Raudsepp
On Mon, Jul 29, 2013 at 9:15 PM, Andrew Dunstan  wrote:
> There has to be something between "set in stone and never changes" and
> "auto-updates everything every 24 hours" that would suit us.

Well sure I could change the update frequency. But again, it seems
like delaying the inevitable.

> I'm toying with the idea of a check_upgrade mode for the buildfarm client
> where it wouldn't do a git pull, but would report changes if the build
> result was different from the previous result. You'd run this immediately
> after pulling new changes into your OS. Other, brighter ideas welcome.

What would be the right course of action if check_upgrade fails? Is it
reasonable to expect buildfarm volunteers to downgrade the system and
postpone until the problem is resolved?

Or do you think the member should be removed from the farm until the
build succeeds again? Sounds like worst of both worlds.

Regards,
Marti


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Andrew Dunstan


On 07/29/2013 11:05 AM, Tom Lane wrote:

Andrew Dunstan  writes:

On 07/29/2013 10:28 AM, Marti Raudsepp wrote:

Hmm? Anchovy is upgrading automatically to newest Arch Linux packages daily.
I assumed that's a good thing -- the purpose of build farm is to test
PostgreSQL in various different real-life environments? Arch Linux is
one such environment that adopts new packages very quickly. If Arch
users are unable to build PostgreSQL then surely it's good to be
notified by the build farm before real users start reporting problems?

The buildfarm is principally designed to detect when some change in the
Postgres code breaks something. As such, the expectation is that the
animals will provide a fairly stable platform.  A totally moving target
will present us with false positives, since the failure could be due to
no action of ours at all.

I can see both sides of this.  It's definitely nice to get early warning
when toolchain changes create new problems for Postgres, but it's not
clear that the buildfarm is the best way to get such notifications.

The big problem here is that it might take a long time before we have
a suitable fix, and in the meantime that buildfarm member is basically
useless: it can't tell us anything new, and even if it tried, probably
nobody would notice because they'd not realize the failure cause changed.
We've had cases before where a buildfarm member that was failing for
some known reason was unable to detect a later-introduced bug, so this
isn't hypothetical.  (And I'm not too thrilled that we've let the
back-branch failures on anchovy persist for months, though I suppose
that's not as bad as a breakage in HEAD.)

Ideally we'd not rotate toolchain updates into the buildfarm until
they'd been checked out in some other way.  On the other hand, this
doesn't seem like a big enough problem to justify building some
different infrastructure for it, so I'm not seeing a practical way
to do better.





There has to be something between "set in stone and never changes" and 
"auto-updates everything every 24 hours" that would suit us.


I'm toying with the idea of a check_upgrade mode for the buildfarm 
client where it wouldn't do a git pull, but would report changes if the 
build result was different from the previous result. You'd run this 
immediately after pulling new changes into your OS. Other, brighter 
ideas welcome.


cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Marti Raudsepp
On Mon, Jul 29, 2013 at 5:53 PM, Andres Freund  wrote:
> Both the
> gcc 4.8 and the bison 3.0 problems are things the project needs to know
> about

Perl 5.18 too: 
http://www.postgresql.org/message-id/2825.1370226...@sss.pgh.pa.us

Marti


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Tom Lane
Andrew Dunstan  writes:
> On 07/29/2013 10:28 AM, Marti Raudsepp wrote:
>> Hmm? Anchovy is upgrading automatically to newest Arch Linux packages daily.
>> I assumed that's a good thing -- the purpose of build farm is to test
>> PostgreSQL in various different real-life environments? Arch Linux is
>> one such environment that adopts new packages very quickly. If Arch
>> users are unable to build PostgreSQL then surely it's good to be
>> notified by the build farm before real users start reporting problems?

> The buildfarm is principally designed to detect when some change in the 
> Postgres code breaks something. As such, the expectation is that the 
> animals will provide a fairly stable platform.  A totally moving target 
> will present us with false positives, since the failure could be due to 
> no action of ours at all.

I can see both sides of this.  It's definitely nice to get early warning
when toolchain changes create new problems for Postgres, but it's not
clear that the buildfarm is the best way to get such notifications.

The big problem here is that it might take a long time before we have
a suitable fix, and in the meantime that buildfarm member is basically
useless: it can't tell us anything new, and even if it tried, probably
nobody would notice because they'd not realize the failure cause changed.
We've had cases before where a buildfarm member that was failing for
some known reason was unable to detect a later-introduced bug, so this
isn't hypothetical.  (And I'm not too thrilled that we've let the
back-branch failures on anchovy persist for months, though I suppose
that's not as bad as a breakage in HEAD.)

Ideally we'd not rotate toolchain updates into the buildfarm until
they'd been checked out in some other way.  On the other hand, this
doesn't seem like a big enough problem to justify building some
different infrastructure for it, so I'm not seeing a practical way
to do better.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Andres Freund
On 2013-07-29 10:52:10 -0400, Tom Lane wrote:
> Andres Freund  writes:
> > FWIW cherry-picking bf66bfb4cd726b6ddab3fe2718648f65a7106149 and
> > e58f3181fdaacc91d4cc1bd98a4a8ad7d286544c fixes the issue for me
> > (After fixing trivial conflicts in the latter).
> 
> I've already spent more time on this than I wanted to, but just for
> the archives' sake: neither of those commits exist in the master
> repo.

Hrmpf, sorry for that. Posting the hashes *after* cherry-picking them
ontop REL9_1_STABLE obviously isn't very helpful. The correct ones are:
8a3f745f160d8334ad978676828d3926ac949f43
8137f2c32322c624e0431fac1621e8e9315202f9

Those definitely are reachable via gitweb.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Andres Freund
On 2013-07-29 10:46:41 -0400, Andrew Dunstan wrote:
> 
> On 07/29/2013 10:28 AM, Marti Raudsepp wrote:
> >Hi,
> >
> >>On 07/29/2013 01:05 AM, Tom Lane wrote:
> >>>Buildfarm member anchovy has been failing for the last couple of days,
> >>>evidently because its owner just couldn't wait to adopt bison 3.0,
> >>>which is all of 3 days old.
> >Hmm? Anchovy is upgrading automatically to newest Arch Linux packages daily.
> >
> >I assumed that's a good thing -- the purpose of build farm is to test
> >PostgreSQL in various different real-life environments? Arch Linux is
> >one such environment that adopts new packages very quickly. If Arch
> >users are unable to build PostgreSQL then surely it's good to be
> >notified by the build farm before real users start reporting problems?
> >
> >I don't mean to sound reluctant, I'm open to suggestions, but please
> >help me understand why this is bad.
> 
> 
> The buildfarm is principally designed to detect when some change in the
> Postgres code breaks something. As such, the expectation is that the animals
> will provide a fairly stable platform.  A totally moving target will present
> us with false positives, since the failure could be due to no action of ours
> at all.
> 
> A machine that can auto-upgrade anything at any time is really not very fit
> for the purpose. What that would be testing is not if a change in Postgres
> code has broken something, but if the host packaging system has broken
> something.

FWIW given the evidence here anchovy seems to do a good job. Both the
gcc 4.8 and the bison 3.0 problems are things the project needs to know
about and that need to get fixed. And none of the other animals seems to
run anything really up2date.
Also, afaik Arch has a rolling release model, so there isn't any other
specific release that should be tested instead.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Tom Lane
Andres Freund  writes:
> FWIW cherry-picking bf66bfb4cd726b6ddab3fe2718648f65a7106149 and
> e58f3181fdaacc91d4cc1bd98a4a8ad7d286544c fixes the issue for me
> (After fixing trivial conflicts in the latter).

I've already spent more time on this than I wanted to, but just for
the archives' sake: neither of those commits exist in the master
repo.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Andrew Dunstan


On 07/29/2013 10:28 AM, Marti Raudsepp wrote:

Hi,


On 07/29/2013 01:05 AM, Tom Lane wrote:

Buildfarm member anchovy has been failing for the last couple of days,
evidently because its owner just couldn't wait to adopt bison 3.0,
which is all of 3 days old.

Hmm? Anchovy is upgrading automatically to newest Arch Linux packages daily.

I assumed that's a good thing -- the purpose of build farm is to test
PostgreSQL in various different real-life environments? Arch Linux is
one such environment that adopts new packages very quickly. If Arch
users are unable to build PostgreSQL then surely it's good to be
notified by the build farm before real users start reporting problems?

I don't mean to sound reluctant, I'm open to suggestions, but please
help me understand why this is bad.



The buildfarm is principally designed to detect when some change in the 
Postgres code breaks something. As such, the expectation is that the 
animals will provide a fairly stable platform.  A totally moving target 
will present us with false positives, since the failure could be due to 
no action of ours at all.


A machine that can auto-upgrade anything at any time is really not very 
fit for the purpose. What that would be testing is not if a change in 
Postgres code has broken something, but if the host packaging system has 
broken something.



And if the upgrade involves
the OS or the compiler, please use the udate_personality.pl script to update
the server.

Is it OK to run update_personality.pl automatically every day from crontab?



No. It is designed to support a fairly small number of changes.

cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Marti Raudsepp
Hi,

> On 07/29/2013 01:05 AM, Tom Lane wrote:
>> Buildfarm member anchovy has been failing for the last couple of days,
>> evidently because its owner just couldn't wait to adopt bison 3.0,
>> which is all of 3 days old.

Hmm? Anchovy is upgrading automatically to newest Arch Linux packages daily.

I assumed that's a good thing -- the purpose of build farm is to test
PostgreSQL in various different real-life environments? Arch Linux is
one such environment that adopts new packages very quickly. If Arch
users are unable to build PostgreSQL then surely it's good to be
notified by the build farm before real users start reporting problems?

I don't mean to sound reluctant, I'm open to suggestions, but please
help me understand why this is bad.

On Mon, Jul 29, 2013 at 4:59 PM, Andrew Dunstan  wrote:
> Reminder to buildfarm animal owners: if you upgrade software please make
> sure your buildfarm members are still working.

If I had checked the machine's status manually after upgrading, the
best course of action would be to report the incompatibility to
PostgreSQL mailing lists. The end result is the same, in that sense,
it was "working". Manual upgrades would only delay that reporting, not
prevent it?

I realize there have been problems with anchovy that are my own fault
and I'm sorry about that. I check the buildfarm status every week or
two.

> And if the upgrade involves
> the OS or the compiler, please use the udate_personality.pl script to update
> the server.

Is it OK to run update_personality.pl automatically every day from crontab?

Regards,
Marti


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Andres Freund
On 2013-07-29 08:44:56 -0400, Tom Lane wrote:
> Andres Freund  writes:
> > On 2013-07-29 08:17:46 -0400, Tom Lane wrote:
> >> I'm not excited about breaking code in order to fix optimization bugs
> >> that are purely hypothetical (and for which there's no particular reason
> >> to believe that the proposed change would fix them anyway).  If we were
> >> seeing such things in the field it would be a different story.
> 
> > Well, given the problems we're discussing here, it's not all that
> > hypothetical. Obviously the compiler *does* have information it believes
> > to proof some code to be unreachable.
> 
> The known case here has nothing to do with unreachability IMO; it has
> to do with concluding that a loop can be unrolled into exactly one
> execution.

If I understand the optimization correctly what it does is building a
flow control model of a loop and concluding which its iterations can be
reached assuming standard conforming code. In this case, since it knows
(from looking at the underlying data structures) that the upper bound of
the iteration has to be 1 it decides to stop there. If oidvector had
values[2] it would make two iterations.

> But in any case, there is no point in arguing about what
> hypothetical versions of gcc might do in hypothetical cases.  We have
> experimental evidence that -fno-aggressive-loop-optimizations fixes the
> observed problem with gcc 4.8.0.

Well, it seems to me like we don't have particularly good experience
with fixing compiler optimization issues by disabling some specific
optimization. They tend to crop up again under the umbrella of another
feature a compiler version or two later.

FWIW cherry-picking bf66bfb4cd726b6ddab3fe2718648f65a7106149 and
e58f3181fdaacc91d4cc1bd98a4a8ad7d286544c fixes the issue for me
(After fixing trivial conflicts in the latter).

 32 files changed, 98 insertions(+), 50 deletions(-)

> So we can apply a one-line patch that
> fixes the observed problem and seems 100% safe, or we can apply a very
> large patch that might possibly fix problems that we don't know exist,
> and might also break third-party code.  Given the available evidence
> the choice seems pretty clear to me.  If you want to provide concrete
> proof that there are additional optimization hazards then that would
> change the tradeoff.

No, don't really want to spend more time on this. We'll see whether it
crops up again or not.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Andrew Dunstan


On 07/29/2013 01:05 AM, Tom Lane wrote:

Buildfarm member anchovy has been failing for the last couple of days,
evidently because its owner just couldn't wait to adopt bison 3.0,
which is all of 3 days old.  The failures look like



Reminder to buildfarm animal owners: if you upgrade software please make 
sure your buildfarm members are still working. And if the upgrade 
involves the OS or the compiler, please use the udate_personality.pl 
script to update the server.


cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Tom Lane
Andres Freund  writes:
> On 2013-07-29 08:17:46 -0400, Tom Lane wrote:
>> I'm not excited about breaking code in order to fix optimization bugs
>> that are purely hypothetical (and for which there's no particular reason
>> to believe that the proposed change would fix them anyway).  If we were
>> seeing such things in the field it would be a different story.

> Well, given the problems we're discussing here, it's not all that
> hypothetical. Obviously the compiler *does* have information it believes
> to proof some code to be unreachable.

The known case here has nothing to do with unreachability IMO; it has
to do with concluding that a loop can be unrolled into exactly one
execution.  But in any case, there is no point in arguing about what
hypothetical versions of gcc might do in hypothetical cases.  We have
experimental evidence that -fno-aggressive-loop-optimizations fixes the
observed problem with gcc 4.8.0.  So we can apply a one-line patch that
fixes the observed problem and seems 100% safe, or we can apply a very
large patch that might possibly fix problems that we don't know exist,
and might also break third-party code.  Given the available evidence
the choice seems pretty clear to me.  If you want to provide concrete
proof that there are additional optimization hazards then that would
change the tradeoff.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Andres Freund
On 2013-07-29 08:17:46 -0400, Tom Lane wrote:
> Andres Freund  writes:
> > On 2013-07-29 08:02:49 -0400, Tom Lane wrote:
> >> If we turn off the optimization, that will fix any other cases as well,
> >> no?  So why would we risk breaking third-party code by back-porting the
> >> struct declaration changes?
> 
> > The -fno-agressive-loop thingie afaics only controls the optimization
> > with regard to loopey constructs, not in general. I *think* there are
> > independent hazards with general unreachability detection. Not sure
> > whether they trigger at -O2 or only at -O3 though.
> 
> I'm not excited about breaking code in order to fix optimization bugs
> that are purely hypothetical (and for which there's no particular reason
> to believe that the proposed change would fix them anyway).  If we were
> seeing such things in the field it would be a different story.

Well, given the problems we're discussing here, it's not all that
hypothetical. Obviously the compiler *does* have information it believes
to proof some code to be unreachable. And we know that information comes
from the way the catalog structs are declared.
I don't really fancy finding more and more optimizations we didn't think
about and disabling them one by one after annoying debugging sessions.

Also, just about all code that would get broken by that change would be
code that's already pretty much broken.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Tom Lane
Andres Freund  writes:
> On 2013-07-29 08:02:49 -0400, Tom Lane wrote:
>> If we turn off the optimization, that will fix any other cases as well,
>> no?  So why would we risk breaking third-party code by back-porting the
>> struct declaration changes?

> The -fno-agressive-loop thingie afaics only controls the optimization
> with regard to loopey constructs, not in general. I *think* there are
> independent hazards with general unreachability detection. Not sure
> whether they trigger at -O2 or only at -O3 though.

I'm not excited about breaking code in order to fix optimization bugs
that are purely hypothetical (and for which there's no particular reason
to believe that the proposed change would fix them anyway).  If we were
seeing such things in the field it would be a different story.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Andres Freund
On 2013-07-29 08:02:49 -0400, Tom Lane wrote:
> Andres Freund  writes:
> > On 2013-07-29 07:11:13 -0400, Stephen Frost wrote:
> >> * Tom Lane (t...@sss.pgh.pa.us) wrote:
> >>> The bottom line was:
> >>> It looks like our choices are (1) teach configure to enable
> >>> -fno-aggressive-loop-optimizations if the compiler recognizes it,
> >>> or (2) back-port commit 8137f2c32322c624e0431fac1621e8e9315202f9.
> >>> 
> >>> I am in favor of fixing the back branches via (1), because it's less
> >>> work and much less likely to break third-party extensions.  Some other
> >>> people argued for (2), but I've not seen any patch emerge from them,
> >>> and you can bet I'm not going to do it.
> 
> >> Yea, just passing -fno-aggressive-loop-optimizations seems like the
> >> safest and best option to me also..
> 
> > I think we need to do both. There very well might be other optimizations
> > made based on the unreachability information.
> 
> If we turn off the optimization, that will fix any other cases as well,
> no?  So why would we risk breaking third-party code by back-porting the
> struct declaration changes?

The -fno-agressive-loop thingie afaics only controls the optimization
with regard to loopey constructs, not in general. I *think* there are
independent hazards with general unreachability detection. Not sure
whether they trigger at -O2 or only at -O3 though.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Tom Lane
Andres Freund  writes:
> On 2013-07-29 07:11:13 -0400, Stephen Frost wrote:
>> * Tom Lane (t...@sss.pgh.pa.us) wrote:
>>> The bottom line was:
>>> It looks like our choices are (1) teach configure to enable
>>> -fno-aggressive-loop-optimizations if the compiler recognizes it,
>>> or (2) back-port commit 8137f2c32322c624e0431fac1621e8e9315202f9.
>>> 
>>> I am in favor of fixing the back branches via (1), because it's less
>>> work and much less likely to break third-party extensions.  Some other
>>> people argued for (2), but I've not seen any patch emerge from them,
>>> and you can bet I'm not going to do it.

>> Yea, just passing -fno-aggressive-loop-optimizations seems like the
>> safest and best option to me also..

> I think we need to do both. There very well might be other optimizations
> made based on the unreachability information.

If we turn off the optimization, that will fix any other cases as well,
no?  So why would we risk breaking third-party code by back-porting the
struct declaration changes?

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Andres Freund
On 2013-07-29 07:11:13 -0400, Stephen Frost wrote:
> * Tom Lane (t...@sss.pgh.pa.us) wrote:
> > Stephen Frost  writes:
> > > However, I comment on this mainly because anchovy has had issues with
> > > 9.1 and older for some time, which looks like an issue with GCC 4.8.0.
> > > Did you happen to resolve or identify what is happening there..?
> > 
> > Yeah, we know about that:
> > http://www.postgresql.org/message-id/14242.1365200...@sss.pgh.pa.us
> 
> Ah, right, read the thread but didn't attach it to anchovy.
> 
> > The bottom line was:
> > >> It looks like our choices are (1) teach configure to enable
> > >> -fno-aggressive-loop-optimizations if the compiler recognizes it,
> > >> or (2) back-port commit 8137f2c32322c624e0431fac1621e8e9315202f9.
> > 
> > I am in favor of fixing the back branches via (1), because it's less
> > work and much less likely to break third-party extensions.  Some other
> > people argued for (2), but I've not seen any patch emerge from them,
> > and you can bet I'm not going to do it.
> 
> Yea, just passing -fno-aggressive-loop-optimizations seems like the
> safest and best option to me also..

I think we need to do both. There very well might be other optimizations
made based on the unreachability information. Like concluding some
conditional block isn't reachable. (1) would be back branches only,
right?

If others aggree I'll happily (ok, that's a blatant lie), provide
patches if that actually helps $committer.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-29 Thread Stephen Frost
* Tom Lane (t...@sss.pgh.pa.us) wrote:
> Stephen Frost  writes:
> > However, I comment on this mainly because anchovy has had issues with
> > 9.1 and older for some time, which looks like an issue with GCC 4.8.0.
> > Did you happen to resolve or identify what is happening there..?
> 
> Yeah, we know about that:
> http://www.postgresql.org/message-id/14242.1365200...@sss.pgh.pa.us

Ah, right, read the thread but didn't attach it to anchovy.

> The bottom line was:
> >> It looks like our choices are (1) teach configure to enable
> >> -fno-aggressive-loop-optimizations if the compiler recognizes it,
> >> or (2) back-port commit 8137f2c32322c624e0431fac1621e8e9315202f9.
> 
> I am in favor of fixing the back branches via (1), because it's less
> work and much less likely to break third-party extensions.  Some other
> people argued for (2), but I've not seen any patch emerge from them,
> and you can bet I'm not going to do it.

Yea, just passing -fno-aggressive-loop-optimizations seems like the
safest and best option to me also..

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: [HACKERS] Bison 3.0 updates

2013-07-28 Thread Tom Lane
Stephen Frost  writes:
> However, I comment on this mainly because anchovy has had issues with
> 9.1 and older for some time, which looks like an issue with GCC 4.8.0.
> Did you happen to resolve or identify what is happening there..?

Yeah, we know about that:
http://www.postgresql.org/message-id/14242.1365200...@sss.pgh.pa.us

The bottom line was:
>> It looks like our choices are (1) teach configure to enable
>> -fno-aggressive-loop-optimizations if the compiler recognizes it,
>> or (2) back-port commit 8137f2c32322c624e0431fac1621e8e9315202f9.

I am in favor of fixing the back branches via (1), because it's less
work and much less likely to break third-party extensions.  Some other
people argued for (2), but I've not seen any patch emerge from them,
and you can bet I'm not going to do it.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison 3.0 updates

2013-07-28 Thread Stephen Frost
Tom,

* Tom Lane (t...@sss.pgh.pa.us) wrote:
> Buildfarm member anchovy has been failing for the last couple of days,
[...]
> I'm thinking we should apply this to all supported branches, in case
> somebody gets the idea to build an older branch with bleeding-edge
> tools.  Any objections?

Certainly looks cleaner to me, and if it works for older bison then it
seems reasonable to back-patch it.

However, I comment on this mainly because anchovy has had issues with
9.1 and older for some time, which looks like an issue with GCC 4.8.0.
Did you happen to resolve or identify what is happening there..?

Thanks!

Stephen


signature.asc
Description: Digital signature


[HACKERS] Bison 3.0 updates

2013-07-28 Thread Tom Lane
Buildfarm member anchovy has been failing for the last couple of days,
evidently because its owner just couldn't wait to adopt bison 3.0,
which is all of 3 days old.  The failures look like

cubeparse.y:42.1-13: warning: deprecated directive, use '%name-prefix' 
[-Wdeprecated]
 %name-prefix="cube_yy"
 ^

(which looks like 3.0 isn't actually ready for prime time, but at least
it's only a warning)

cubeparse.c:163:5: error: conflicting types for 'cube_yyparse'
 int cube_yyparse (void);
 ^
cubeparse.y:32:5: note: previous declaration of 'cube_yyparse' was here
 int cube_yyparse(void *result);
 ^

A look in the Bison release notes explains this one: they stopped
supporting YYPARSE_PARAM, which contrib/cube and contrib/seg both use.
The recommended replacement is %parse-param, which is certainly a whole
lot cleaner: it lets you specify the datatype of the extra parser
parameter, instead of having it default to "void *".  This option also
changes the signature of yyerror(), but that's not a problem.

At first I thought this was going to make us go through a tool upgrade
exercise, because I couldn't find %parse-param in the documentation for
bison 1.875, which is our oldest supported version.  But further
research shows that %parse-param actually was introduced in 1.875,
they just forgot to document it :-(.

So I propose the attached patch, which I've verified still works with
1.875.  I don't plan to install 3.0 just to test this, but I assume it's
OK there.

I'm thinking we should apply this to all supported branches, in case
somebody gets the idea to build an older branch with bleeding-edge
tools.  Any objections?

regards, tom lane

diff --git a/contrib/cube/cube.c b/contrib/cube/cube.c
index ce8eaa870fc760b7c7b4607e0844c38ffd5e56bb..dab0e6e7586e306ecfabb6537789a91f95d656e8 100644
*** a/contrib/cube/cube.c
--- b/contrib/cube/cube.c
*** PG_MODULE_MAGIC;
*** 26,33 
  #define ARRPTR(x)  ( (double *) ARR_DATA_PTR(x) )
  #define ARRNELEMS(x)  ArrayGetNItems( ARR_NDIM(x), ARR_DIMS(x))
  
! extern int	cube_yyparse();
! extern void cube_yyerror(const char *message);
  extern void cube_scanner_init(const char *str);
  extern void cube_scanner_finish(void);
  
--- 26,33 
  #define ARRPTR(x)  ( (double *) ARR_DATA_PTR(x) )
  #define ARRNELEMS(x)  ArrayGetNItems( ARR_NDIM(x), ARR_DIMS(x))
  
! extern int	cube_yyparse(NDBOX **result);
! extern void cube_yyerror(NDBOX **result, const char *message);
  extern void cube_scanner_init(const char *str);
  extern void cube_scanner_finish(void);
  
*** Datum
*** 156,167 
  cube_in(PG_FUNCTION_ARGS)
  {
  	char	   *str = PG_GETARG_CSTRING(0);
! 	void	   *result;
  
  	cube_scanner_init(str);
  
  	if (cube_yyparse(&result) != 0)
! 		cube_yyerror("bogus input");
  
  	cube_scanner_finish();
  
--- 156,167 
  cube_in(PG_FUNCTION_ARGS)
  {
  	char	   *str = PG_GETARG_CSTRING(0);
! 	NDBOX	   *result;
  
  	cube_scanner_init(str);
  
  	if (cube_yyparse(&result) != 0)
! 		cube_yyerror(&result, "bogus input");
  
  	cube_scanner_finish();
  
diff --git a/contrib/cube/cubeparse.y b/contrib/cube/cubeparse.y
index 21fe5378773da012bd223f4437f02d248da6b6c6..d7205b824cb5c0f21c913b5746552898d8590327 100644
*** a/contrib/cube/cubeparse.y
--- b/contrib/cube/cubeparse.y
***
*** 1,10 
  %{
  /* NdBox = [(lowerleft),(upperright)] */
  /* [(xLL(1)...xLL(N)),(xUR(1)...xUR(n))] */
  
- /* contrib/cube/cubeparse.y */
- 
- #define YYPARSE_PARAM result  /* need this to pass a pointer (void *) to yyparse */
  #define YYSTYPE char *
  #define YYDEBUG 1
  
--- 1,9 
  %{
+ /* contrib/cube/cubeparse.y */
+ 
  /* NdBox = [(lowerleft),(upperright)] */
  /* [(xLL(1)...xLL(N)),(xUR(1)...xUR(n))] */
  
  #define YYSTYPE char *
  #define YYDEBUG 1
  
*** extern int cube_yylex(void);
*** 28,35 
  static char *scanbuf;
  static int	scanbuflen;
  
! void cube_yyerror(const char *message);
! int cube_yyparse(void *result);
  
  static int delim_count(char *s, char delim);
  static NDBOX * write_box(unsigned int dim, char *str1, char *str2);
--- 27,34 
  static char *scanbuf;
  static int	scanbuflen;
  
! extern int	cube_yyparse(NDBOX **result);
! extern void cube_yyerror(NDBOX **result, const char *message);
  
  static int delim_count(char *s, char delim);
  static NDBOX * write_box(unsigned int dim, char *str1, char *str2);
*** static NDBOX * write_point_as_box(char *
*** 38,43 
--- 37,43 
  %}
  
  /* BISON Declarations */
+ %parse-param {NDBOX **result}
  %expect 0
  %name-prefix="cube_yy"
  
*** box: O_BRACKET paren_list COMMA paren_li
*** 70,76 
  			YYABORT;
  		}
  
! 		*((void **)result) = write_box( dim, $2, $4 );
  
  	}
  
--- 70,76 
  			YYABORT;
  		}
  
! 		*result = write_box( dim, $2, $4 );
  
  	}
  
*** box: O_BRACKET paren_list COMMA paren_li
*** 97,103 
  			YYABORT;
  		}
  
! 		*((void **)result) = write_box( dim, $1, $3

Re: [HACKERS] bison location reporting for potentially-empty list productions

2012-10-04 Thread Tom Lane
I wrote:
> To produce a really useful cursor for this type of situation I think
> we would have to do something like this:

> #define YYLLOC_DEFAULT(Current, Rhs, N) \
> do { \
> int i;
> (Current) = -1; \
> for (i = 1; i <= (N); i++)
> {
> (Current) = (Rhs)[i]; \
> if ((Current) >= 0)
> break;
> }
> } while (0)

> This is pretty ugly and seems likely to create a visible hit on the
> parser's speed (which is already not that good).  I'm not sure it's
> worth it for something that seems to be a corner case --- anyway
> we've not hit it before in six years since the location tracking
> support was added.

After another look at the Bison manual I realized that there's a way to
fix this without making YYLLOC_DEFAULT slower, because that macro only
sets the *default* location for the current nonterminal; the rule action
is allowed to override its location value.  So I propose the attached
patch against HEAD.  This is a little bit ugly because we have to
remember to put some extra code in productions that have this issue ...
but track record so far suggests that there will be very few of them.

Anyone have an objection, or a better idea?

regards, tom lane

diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 7feadeac1693e7ff46f44ef3ad9ea2fa86bf46a8..e4ff76e66e0990d91790ccc54615c26dd64a143e 100644
*** a/src/backend/parser/gram.y
--- b/src/backend/parser/gram.y
***
*** 67,82 
  #include "utils/xml.h"
  
  
! /* Location tracking support --- simpler than bison's default */
  #define YYLLOC_DEFAULT(Current, Rhs, N) \
  	do { \
! 		if (N) \
  			(Current) = (Rhs)[1]; \
  		else \
! 			(Current) = (Rhs)[0]; \
  	} while (0)
  
  /*
   * Bison doesn't allocate anything that needs to live across parser calls,
   * so we can easily have it use palloc instead of malloc.  This prevents
   * memory leaks if we error out during parsing.  Note this only works with
--- 67,100 
  #include "utils/xml.h"
  
  
! /*
!  * Location tracking support --- simpler than bison's default, since we only
!  * want to track the start position not the end position of each nonterminal.
!  */
  #define YYLLOC_DEFAULT(Current, Rhs, N) \
  	do { \
! 		if ((N) > 0) \
  			(Current) = (Rhs)[1]; \
  		else \
! 			(Current) = (-1); \
  	} while (0)
  
  /*
+  * The above macro assigns -1 (unknown) as the parse location of any
+  * nonterminal that was reduced from an empty rule.  This is problematic
+  * for nonterminals defined like
+  *		OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
+  * because we'll set -1 as the location during the first reduction and then
+  * copy it during each subsequent reduction, leaving us with -1 for the
+  * location even when the list is not empty.  To fix that, do this in the
+  * action for the nonempty rule(s):
+  *		if (@$ < 0) @$ = @2;
+  * (Although we have many nonterminals that follow this pattern, we only
+  * bother with fixing @$ like this when the nonterminal's parse location
+  * is actually referenced in some rule.)
+  */
+ 
+ /*
   * Bison doesn't allocate anything that needs to live across parser calls,
   * so we can easily have it use palloc instead of malloc.  This prevents
   * memory leaks if we error out during parsing.  Note this only works with
*** OptSchemaName:
*** 1223,1230 
  		;
  
  OptSchemaEltList:
! 			OptSchemaEltList schema_stmt			{ $$ = lappend($1, $2); }
! 			| /* EMPTY */			{ $$ = NIL; }
  		;
  
  /*
--- 1241,1254 
  		;
  
  OptSchemaEltList:
! 			OptSchemaEltList schema_stmt
! {
! 	if (@$ < 0)			/* see comments for YYLLOC_DEFAULT */
! 		@$ = @2;
! 	$$ = lappend($1, $2);
! }
! 			| /* EMPTY */
! { $$ = NIL; }
  		;
  
  /*
diff --git a/src/test/regress/expected/namespace.out b/src/test/regress/expected/namespace.out
index 5fcd46daf42705147f53599d657e52d8fe7b5b1f..9187c8126a3ffa32e365400816b262daf3b6f2d5 100644
*** a/src/test/regress/expected/namespace.out
--- b/src/test/regress/expected/namespace.out
*** CREATE SCHEMA IF NOT EXISTS test_schema_
*** 47,54 
b int UNIQUE
 );
  ERROR:  CREATE SCHEMA IF NOT EXISTS cannot include schema elements
! LINE 1: CREATE SCHEMA IF NOT EXISTS test_schema_1 
! ^
  DROP SCHEMA test_schema_1 CASCADE;
  NOTICE:  drop cascades to 2 other objects
  DETAIL:  drop cascades to table test_schema_1.abc
--- 47,54 
b int UNIQUE
 );
  ERROR:  CREATE SCHEMA IF NOT EXISTS cannot include schema elements
! LINE 2:CREATE TABLE abc (
!^
  DROP SCHEMA test_schema_1 CASCADE;
  NOTICE:  drop cascades to 2 other objects
  DETAIL:  drop cascades to table test_schema_1.abc

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] bison location reporting for potentially-empty list productions

2012-10-03 Thread Tom Lane
In the just-committed patch for CREATE SCHEMA IF NOT EXISTS, there is
an error thrown by the grammar when IF NOT EXISTS is specified together
with any schema-element clauses.  I thought it would make more sense for
the error cursor to point at the schema-element clauses, rather than at
the IF NOT EXISTS as submitted.  So the code looks like, eg,

| CREATE SCHEMA IF_P NOT EXISTS ColId OptSchemaEltList
...
if ($7 != NIL)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 errmsg("CREATE SCHEMA IF NOT EXISTS cannot 
include schema elements"),
 parser_errposition(@7)));

However, it turns out this actually results in a cursor pointing at the
previous word:

CREATE SCHEMA IF NOT EXISTS test_schema_1 -- fail, disallowed
   CREATE TABLE abc (
  a serial,
  b int UNIQUE
   );
ERROR:  CREATE SCHEMA IF NOT EXISTS cannot include schema elements
LINE 1: CREATE SCHEMA IF NOT EXISTS test_schema_1 
^

After some study I think what is happening is that there's a deficiency
in the location-tracking macro in gram.y:

/* Location tracking support --- simpler than bison's default */
#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
if (N) \
(Current) = (Rhs)[1]; \
else \
(Current) = (Rhs)[0]; \
} while (0)

OptSchemaEltList looks like this:

OptSchemaEltList:
OptSchemaEltList schema_stmt{ $$ = lappend($1, $2); }
| /* EMPTY */   { $$ = NIL; }
;

When the macro is evaluated for the initial empty production for
OptSchemaEltList, the "else" case causes it to index off the beginning
of the array and pick up the location for the preceding token.  Then,
each succeeding reduction of the first part of the production copies
that bogus value from the first RHS member item.  So this same problem
applies not only to OptSchemaEltList but to any case where we've formed
a zero-or-more-element-list production in this style.  So far as I can
tell, there are no other cases in the current grammar where we make use
of the position of a list nonterminal for error-reporting purposes,
which is why we'd not noticed this before.  But it seems likely to come
up again.

It seems clear to me now that the macro ought at least to be changed to

#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
if (N) \
(Current) = (Rhs)[1]; \
else \
(Current) = -1; \
} while (0)

so that the parse location attributed to an empty production is -1
(ie, unknown) rather than the current quite bogus behavior of marking
it as the preceding token's location.  (For one thing, what if there
*isn't* a preceding token?  That's not possible I think in the current
grammar, but if it were possible this code would be indexing off the
beginning of the locations array.)

But that change wouldn't really fix the issue for CREATE SCHEMA ---
the -1 would be propagated up to all instances of OptSchemaEltList
even after we'd reduced the first production a few times, so that
we'd end up printing no error cursor for this case.

To produce a really useful cursor for this type of situation I think
we would have to do something like this:

#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
int i;
(Current) = -1; \
for (i = 1; i <= (N); i++)
{
(Current) = (Rhs)[i]; \
if ((Current) >= 0)
break;
}
} while (0)

This is pretty ugly and seems likely to create a visible hit on the
parser's speed (which is already not that good).  I'm not sure it's
worth it for something that seems to be a corner case --- anyway
we've not hit it before in six years since the location tracking
support was added.

At this point I'm inclined to change the macro to the second case
(with the -1) and accept a less good error cursor position for the
CREATE SCHEMA error.

Has anybody got a better idea?

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison crashes postgresql

2009-09-01 Thread Werner Echezuria
The thing is I was in a project to develop a Fuzzy Database Management
System. We have to bring fuzzy logic to postgresql, there was a team
developing a software in java and the other developing in the
postgresql core. But I always think these were wrong, so I'm trying to
develop a library to do that, but I guess I'm moving forward, the bug
was solved and I have a google code project:
http://code.google.com/p/fuzzyquery/. Now I hope to give more features
and have a fully functional library.

2009/9/1 Hans-Juergen Schoenig -- PostgreSQL :
> Andrew Dunstan wrote:
>>
>>
>> Werner Echezuria wrote:
>>>
>>> Hi, I have a code in which I translate some code from sqlf to sql, but
>>> when it comes to yy_parse the server crashes, I have no idea why,
>>> because it works fine in other situations.
>>>
>>
>> I don't understand why you're doing what you're doing this way. Wouldn't
>> it be better to patch the main postgres parser and make your functionality
>> first class rather than having it run via an SQL string and a function that
>> calls a secondary parser?
>>
>> cheers
>>
>> andrew
>>
>
> yes, this is the thing i had in mind as well.
> what is your ultimate goal?
>
>   many thanks,
>
>      hans
>
>
> --
> Cybertec Schoenig & Schoenig GmbH
> Reyergasse 9 / 2
> A-2700 Wiener Neustadt
> Web: www.postgresql-support.de
>
>

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison crashes postgresql

2009-08-31 Thread Hans-Juergen Schoenig -- PostgreSQL

Andrew Dunstan wrote:



Werner Echezuria wrote:

Hi, I have a code in which I translate some code from sqlf to sql, but
when it comes to yy_parse the server crashes, I have no idea why,
because it works fine in other situations.
  


I don't understand why you're doing what you're doing this way. 
Wouldn't it be better to patch the main postgres parser and make your 
functionality first class rather than having it run via an SQL string 
and a function that calls a secondary parser?


cheers

andrew



yes, this is the thing i had in mind as well.
what is your ultimate goal?

   many thanks,

  hans


--
Cybertec Schoenig & Schoenig GmbH
Reyergasse 9 / 2
A-2700 Wiener Neustadt
Web: www.postgresql-support.de


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Bison crashes postgresql

2009-08-31 Thread Andrew Dunstan



Werner Echezuria wrote:

Hi, I have a code in which I translate some code from sqlf to sql, but
when it comes to yy_parse the server crashes, I have no idea why,
because it works fine in other situations.
  


I don't understand why you're doing what you're doing this way. Wouldn't 
it be better to patch the main postgres parser and make your 
functionality first class rather than having it run via an SQL string 
and a function that calls a secondary parser?


cheers

andrew



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] Bison crashes postgresql

2009-08-31 Thread Werner Echezuria
Hi, I have a code in which I translate some code from sqlf to sql, but
when it comes to yy_parse the server crashes, I have no idea why,
because it works fine in other situations.

This is the code (the problem is in parse_sqlf, when I call  sqlf_yyparse):

#include "postgres.h"
#include "gram.h"
#include "utils/builtins.h"
#include "funcapi.h"
#include "executor/spi.h"
#include "access/heapam.h"
#include "fmgr.h"
#include "miscadmin.h"

extern Datum sqlf(PG_FUNCTION_ARGS);
char *parse_sqlf();

PG_MODULE_MAGIC;

PG_FUNCTION_INFO_V1(sqlf);

Datum
sqlf(PG_FUNCTION_ARGS)
{
char*query = text_to_cstring(PG_GETARG_TEXT_PP(0));
char*sql;
ReturnSetInfo   *rsinfo = (ReturnSetInfo *) fcinfo->resultinfo;
Tuplestorestate *tupstore;
TupleDesc   tupdesc;
int call_cntr;
int max_calls;
AttInMetadata   *attinmeta;
SPITupleTable   *spi_tuptable;
TupleDesc   spi_tupdesc;
boolfirstpass;
char*lastrowid;
int i;
int num_categories;
MemoryContext   per_query_ctx;
MemoryContext   oldcontext;
int ret;
int proc;

sql=(char *)palloc(strlen(query)*sizeof(char *));

sql=parse_sqlf(query);

/* check to see if caller supports us returning a tuplestore */
if (rsinfo == NULL || !IsA(rsinfo, ReturnSetInfo))
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 errmsg("set-valued function called in context
that cannot accept a set")));
if (!(rsinfo->allowedModes & SFRM_Materialize))
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 errmsg("materialize mode required, but it is not " \
"allowed in this context")));

per_query_ctx = rsinfo->econtext->ecxt_per_query_memory;

/* Connect to SPI manager */
if ((ret = SPI_connect()) < 0)
/* internal error */
elog(ERROR, "SPI_connect returned %d", ret);


/* Retrieve the desired rows */
ret = SPI_execute(sql, true, 0);
proc = SPI_processed;

/* If no qualifying tuples, fall out early */
if (ret != SPI_OK_SELECT || proc <= 0)
{
SPI_finish();
rsinfo->isDone = ExprEndResult;
PG_RETURN_NULL();
}

spi_tuptable = SPI_tuptable;
spi_tupdesc = spi_tuptable->tupdesc;

/* get a tuple descriptor for our result type */
switch (get_call_result_type(fcinfo, NULL, &tupdesc))
{
case TYPEFUNC_COMPOSITE:
/* success */
break;
case TYPEFUNC_RECORD:
/* failed to determine actual type of RECORD */
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 errmsg("function returning record called
in context "
"that cannot accept type record")));
break;
default:
/* result type isn't composite */
elog(ERROR, "return type must be a row type");
break;
}


/*
 * switch to long-lived memory context
 */
oldcontext = MemoryContextSwitchTo(per_query_ctx);

/* make sure we have a persistent copy of the result tupdesc */
tupdesc = CreateTupleDescCopy(tupdesc);

/* initialize our tuplestore in long-lived context */
tupstore =
tuplestore_begin_heap(rsinfo->allowedModes &
SFRM_Materialize_Random,
  false, work_mem);

MemoryContextSwitchTo(oldcontext);


/*
 * Generate attribute metadata needed later to produce tuples from raw C
 * strings
 */
attinmeta = TupleDescGetAttInMetadata(tupdesc);

/* total number of tuples to be examined */
max_calls = proc;

/* the return tuple always must have 1 rowid + num_categories columns */
num_categories = tupdesc->natts;

firstpass = true;
lastrowid = NULL;


for (call_cntr = 0; call_cntr < max_calls; call_cntr++)
{
char**values;
HeapTuple   spi_tuple;
HeapTuple   tuple;

/* allocate and zero space */
values = (char **) palloc0((1 + num_categories) * sizeof(char *));

/* get the next sql result tuple */
spi_tuple = spi_tuptable->vals[call_cntr];

/*
 * now loop through the sql results and assign each value in sequence
 * to the next category
 */
for (i = 0; i < num_categories; i++)
{
/* see if we've gone too far already */
if (call_cntr >= max_calls)
break;

values[i] = SPI_getvalue(spi_tuple, spi_tupdesc, i+1);
 

Re: [HACKERS] Bison 2.1 on win32

2007-03-17 Thread Hiroshi Saito

Hi.

I was operating in a tentative way by 2.3.
Still, it is not sufficient. However, it moves.
I will think that I am glad, if it can adjust with Magnus.
http://winpg.jp/~saito/MinGW/bison-2.3_win32_src.tgz

Regards,
Hiroshi Saito

- Original Message - 
From: "Tom Lane" <[EMAIL PROTECTED]>

To: "Magnus Hagander" <[EMAIL PROTECTED]>
Cc: "PGSQL Hackers" 
Sent: Sunday, March 18, 2007 2:06 AM
Subject: Re: [HACKERS] Bison 2.1 on win32 




Magnus Hagander <[EMAIL PROTECTED]> writes:

Do you happen to have a 2.2 around so you can see what happens there? Or
does someone else have that? So I know which version to test against...


2.2 and 2.3 seem to use _MSC_VER in the same way.  I had occasion to
test both last fall, and they generate only trivially different
outputs from our grammar.

regards, tom lane

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


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

  http://www.postgresql.org/docs/faq


Re: [HACKERS] Bison 2.1 on win32

2007-03-17 Thread Tom Lane
Magnus Hagander <[EMAIL PROTECTED]> writes:
> Do you happen to have a 2.2 around so you can see what happens there? Or
> does someone else have that? So I know which version to test against...

2.2 and 2.3 seem to use _MSC_VER in the same way.  I had occasion to
test both last fall, and they generate only trivially different
outputs from our grammar.

regards, tom lane

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


Re: [HACKERS] Bison 2.1 on win32

2007-03-17 Thread Magnus Hagander
Tom Lane wrote:
> Magnus Hagander <[EMAIL PROTECTED]> writes:
>> Actually, looking at the GNU ftp site, there isn't even a version 2.2
>> available. There is a 2.1a which should have the fix (based on file
>> dates - they don't use branches or tags in their cvs repository).
> 
> Huh?  At
> http://ftp.gnu.org/gnu/bison/
> I see 2.0, 2.1, 2.2, 2.3, and no 2.1a.

Gah. I clicked the wrong link that was titled "test releases" ;-) I just
found a second ftp link when the first one didn't work. Should've read
more carefully.

Ok. So it looks like 2.2 should be fine as well, as soon as they put out
a new win32 ver... (FYI, the code seems to come from data/c.m4)

/Magnus

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


Re: [HACKERS] Bison 2.1 on win32

2007-03-17 Thread Tom Lane
Magnus Hagander <[EMAIL PROTECTED]> writes:
> Actually, looking at the GNU ftp site, there isn't even a version 2.2
> available. There is a 2.1a which should have the fix (based on file
> dates - they don't use branches or tags in their cvs repository).

Huh?  At
http://ftp.gnu.org/gnu/bison/
I see 2.0, 2.1, 2.2, 2.3, and no 2.1a.

regards, tom lane

---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly


Re: [HACKERS] Bison 2.1 on win32

2007-03-17 Thread Magnus Hagander
Magnus Hagander wrote:
> I just tried building with Bison 2.1 on msvc, and it broke. For one
> thing, the .BAT file rejects 2.1 as broken instead of 2.0, which is
> obviously incorrect :-)

Actually, looking at the GNU ftp site, there isn't even a version 2.2
available. There is a 2.1a which should have the fix (based on file
dates - they don't use branches or tags in their cvs repository).

But I'll go ahead and just say it's fixed in 2.3, and patch accordingly.

//Magnus

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

   http://www.postgresql.org/docs/faq


Re: [HACKERS] Bison 2.1 on win32

2007-03-17 Thread Magnus Hagander
Tom Lane wrote:
> Magnus Hagander <[EMAIL PROTECTED]> writes:
>> The attached patch seems to fix the build issue. Does it seem
>> acceptable/the right thing to do?
> 
> No, it seems pretty bletcherous.

That's kind of what I thought :-)


>> Another option would be to just reject both 2.0 and 2.1 as broken to
>> build pg with, I guess...
> 
> In bison 2.3 (which is shipping with Fedora Core 6), all the uses of
> __STDC__ seem to also test _MSC_VER:
> 
> #if (defined __STDC__ || defined __C99__FUNC__ \
>  || defined __cplusplus || defined _MSC_VER)
> 
> If this fixes the problem, then I'd vote for just stating you need
> bison >= 2.3 (or 2.2?) to build on MSVC.

It certainly looks like it would fix it. However, the gnuwin32 project
doesn't have 2.3, not even 2.2. But let's add a check and say we need
it, and then we can fix it again once they do release that version if
it's broken still...

Do you happen to have a 2.2 around so you can see what happens there? Or
does someone else have that? So I know which version to test against...

//Magnus

---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly


Re: [HACKERS] Bison 2.1 on win32

2007-03-17 Thread Tom Lane
Magnus Hagander <[EMAIL PROTECTED]> writes:
> The attached patch seems to fix the build issue. Does it seem
> acceptable/the right thing to do?

No, it seems pretty bletcherous.

> Another option would be to just reject both 2.0 and 2.1 as broken to
> build pg with, I guess...

In bison 2.3 (which is shipping with Fedora Core 6), all the uses of
__STDC__ seem to also test _MSC_VER:

#if (defined __STDC__ || defined __C99__FUNC__ \
 || defined __cplusplus || defined _MSC_VER)

If this fixes the problem, then I'd vote for just stating you need
bison >= 2.3 (or 2.2?) to build on MSVC.

regards, tom lane

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


Re: [HACKERS] Bison 2.1 on win32

2007-03-17 Thread Andrew Dunstan

Magnus Hagander wrote:

I just tried building with Bison 2.1 on msvc, and it broke. For one
thing, the .BAT file rejects 2.1 as broken instead of 2.0, which is
obviously incorrect :-)

But the generated C file also does not compile causing the error on
http://msdn2.microsoft.com/en-us/library/93az0868.aspx, because msvc
doesn't define __STDC__, which causes Bison to generate code it can't
compile.  Defining __STDC__ globally breaks several other places, since
it affects a lot of include files that aren't necessarily others.

The attached patch seems to fix the build issue. Does it seem
acceptable/the right thing to do?

Another option would be to just reject both 2.0 and 2.1 as broken to
build pg with, I guess...

  


I rolled back to 1.875 to get MSVC builds working. In the longer term, 
though, falling behind upstream is probably not a good idea. Should this 
be reported to the bison people?


For now I could live with either of your solutions.

cheers

andrew

---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


[HACKERS] Bison 2.1 on win32

2007-03-17 Thread Magnus Hagander
I just tried building with Bison 2.1 on msvc, and it broke. For one
thing, the .BAT file rejects 2.1 as broken instead of 2.0, which is
obviously incorrect :-)

But the generated C file also does not compile causing the error on
http://msdn2.microsoft.com/en-us/library/93az0868.aspx, because msvc
doesn't define __STDC__, which causes Bison to generate code it can't
compile.  Defining __STDC__ globally breaks several other places, since
it affects a lot of include files that aren't necessarily others.

The attached patch seems to fix the build issue. Does it seem
acceptable/the right thing to do?

Another option would be to just reject both 2.0 and 2.1 as broken to
build pg with, I guess...

//Magnus
Index: src/backend/parser/gram.y
===
RCS file: /projects/cvsroot/pgsql/src/backend/parser/gram.y,v
retrieving revision 2.581
diff -c -r2.581 gram.y
*** src/backend/parser/gram.y   13 Mar 2007 00:33:41 -  2.581
--- src/backend/parser/gram.y   17 Mar 2007 13:14:40 -
***
*** 62,67 
--- 62,71 
  #include "utils/numeric.h"
  #include "utils/xml.h"
  
+ /* MSVC does not define __STDC__, but Bison 2.1 generates broken code without 
it */
+ #ifdef WIN32_ONLY_COMPILER
+ #define __STDC__ 1
+ #endif
  
  /* Location tracking support --- simpler than bison's default */
  #define YYLLOC_DEFAULT(Current, Rhs, N) \
Index: src/backend/bootstrap/bootparse.y
===
RCS file: /projects/cvsroot/pgsql/src/backend/bootstrap/bootparse.y,v
retrieving revision 1.88
diff -c -r1.88 bootparse.y
*** src/backend/bootstrap/bootparse.y   13 Mar 2007 00:33:39 -  1.88
--- src/backend/bootstrap/bootparse.y   17 Mar 2007 13:14:56 -
***
*** 51,56 
--- 51,61 
  #include "tcop/dest.h"
  #include "utils/rel.h"
  
+ /* MSVC does not define __STDC__, but Bison 2.1 generates broken code without 
it */
+ #ifdef WIN32_ONLY_COMPILER
+ #define __STDC__ 1
+ #endif
+ 
  #define atooid(x) ((Oid) strtoul((x), NULL, 10))

  
Index: src/pl/plpgsql/src/gram.y
===
RCS file: /projects/cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v
retrieving revision 1.99
diff -c -r1.99 gram.y
*** src/pl/plpgsql/src/gram.y   19 Feb 2007 03:18:51 -  1.99
--- src/pl/plpgsql/src/gram.y   17 Mar 2007 13:15:11 -
***
*** 18,23 
--- 18,27 
  
  #include "parser/parser.h"
  
+ /* MSVC does not define __STDC__, but Bison 2.1 generates broken code without 
it */
+ #ifdef WIN32_ONLY_COMPILER
+ #define __STDC__ 1
+ #endif
  
  static PLpgSQL_expr   *read_sql_construct(int until,

int until2,

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


Re: [HACKERS] Bison Version

2006-08-11 Thread William ZHANG
Due to the bug in bison 2.1, I always use version 1.875:
http://www.mail-archive.com/bug-bison@gnu.org/msg00718.html

""Christopher Kings-Lynne"" <[EMAIL PROTECTED]>
> What version of Bison is currently required to compile HEAD?  1.75
> doesn't seem to work...
>
> ---(end of broadcast)---
> TIP 5: don't forget to increase your free space map settings
> 



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


Re: [HACKERS] Bison Version

2006-08-11 Thread Andrew Dunstan

Christopher Kings-Lynne wrote:

What version of Bison is currently required to compile HEAD?  1.75
doesn't seem to work...



Bison >= 1.875 has been required for years. That hasn't changed.


cheers

andrew

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

  http://www.postgresql.org/docs/faq


Re: [HACKERS] Bison Version

2006-08-11 Thread Greg Sabino Mullane

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


> What version of Bison is currently required to compile HEAD?  1.75
> doesn't seem to work...

1.875

Search for Bison here:

http://projects.commandprompt.com/public/pgsql/browser/trunk/pgsql/doc/src/sgml/installation.sgml

- --
Greg Sabino Mullane [EMAIL PROTECTED]
End Point Corporation
PGP Key: 0x14964AC8 200608110905
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-BEGIN PGP SIGNATURE-

iD8DBQFE3IEivJuQZxSWSsgRAlflAJ9ZqKPKyrav/Ln7vjSgFzBEyorfgACgw0vJ
OMR3lJzf5MP1mhzVdlVDZG4=
=Oz63
-END PGP SIGNATURE-



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


[HACKERS] Bison Version

2006-08-11 Thread Christopher Kings-Lynne

What version of Bison is currently required to compile HEAD?  1.75
doesn't seem to work...

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


Re: [HACKERS] bison version

2006-06-11 Thread ohp
Yep!
I reverted to 1.875 and it works, I'll be a member of build farm soon for
UnixWare.

On Sun, 11 Jun 2006, Tom Lane wrote:

> Date: Sun, 11 Jun 2006 11:21:20 -0400
> From: Tom Lane <[EMAIL PROTECTED]>
> To: ohp@pyrenet.fr
> Cc: Stefan Kaltenbrunner <[EMAIL PROTECTED]>,
>  PostgreSQL-development 
> Subject: Re: [HACKERS] bison version
>
> ohp@pyrenet.fr writes:
> > Here's my make.log FWIW...
> > ...
> > gram.y:7074.27-7077.33: warning: useless rule: b_expr: b_expr IS OF '(' 
> > type_list ')'
> > gram.y:7078.27-7081.33: warning: useless rule: b_expr: b_expr IS NOT OF '(' 
> > type_list ')'
> > gmake[3]: *** [parse.h] Segmentation Fault (core dumped)
>
> The fact that bison dumps core after emitting all those bogus
> messages suggests to me that you've got a broken copy of bison.
>
>   regards, tom lane
>

-- 
Olivier PRENANT Tel: +33-5-61-50-97-00 (Work)
15, Chemin des Monges+33-5-61-50-97-01 (Fax)
31190 AUTERIVE   +33-6-07-63-80-64 (GSM)
FRANCE  Email: ohp@pyrenet.fr
--
Make your life a dream, make your dream a reality. (St Exupery)

---(end of broadcast)---
TIP 4: Have you searched our list archives?

   http://archives.postgresql.org


Re: [HACKERS] bison version

2006-06-11 Thread Tom Lane
ohp@pyrenet.fr writes:
> Here's my make.log FWIW...
> ...
> gram.y:7074.27-7077.33: warning: useless rule: b_expr: b_expr IS OF '(' 
> type_list ')'
> gram.y:7078.27-7081.33: warning: useless rule: b_expr: b_expr IS NOT OF '(' 
> type_list ')'
> gmake[3]: *** [parse.h] Segmentation Fault (core dumped)

The fact that bison dumps core after emitting all those bogus
messages suggests to me that you've got a broken copy of bison.

regards, tom lane

---(end of broadcast)---
TIP 4: Have you searched our list archives?

   http://archives.postgresql.org


Re: [HACKERS] bison version

2006-06-11 Thread ohp
Hi Stefan,

Here's my make.log FWIW...

TIA
On Sat, 10 Jun 2006, Stefan Kaltenbrunner wrote:

> Date: Sat, 10 Jun 2006 21:10:09 +0200
> From: Stefan Kaltenbrunner <[EMAIL PROTECTED]>
> To: ohp@pyrenet.fr
> Cc: PostgreSQL-development 
> Subject: Re: [HACKERS] bison version
>
> ohp@pyrenet.fr wrote:
> > Hi,
> >
> > I'd like to check 2 things:
> >
> > What's the bison version required to compile gram.y ?
> > Trying to set up a build farm machine, it seems I can't compile with bison
> > 2.1 ...
>
> 2.1 should work fine - there are a number of boxes on the buildfarm
> running with that version (like sponge the FC5/ppc I own).
> What exact problem do you see on your platform ?
>
> >
> > Also where is the documentation page that gives postgresql limits (number
> > of column/table max size of col)
>
> http://www.postgresql.org/docs/faqs.FAQ.html#item4.4
>
>
> Stefan
>

-- 
Olivier PRENANT Tel: +33-5-61-50-97-00 (Work)
15, Chemin des Monges+33-5-61-50-97-01 (Fax)
31190 AUTERIVE   +33-6-07-63-80-64 (GSM)
FRANCE  Email: ohp@pyrenet.fr
--
Make your life a dream, make your dream a reality. (St Exupery)gmake -C doc all
gmake[1]: Entering directory `/home4/ohp/pgfarmbuild/HEAD/pgsql.4903/doc'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/home4/ohp/pgfarmbuild/HEAD/pgsql.4903/doc'
gmake -C src all
gmake[1]: Entering directory `/home4/ohp/pgfarmbuild/HEAD/pgsql.4903/src'
gmake -C port all
gmake[2]: Entering directory `/home4/ohp/pgfarmbuild/HEAD/pgsql.4903/src/port'
ccache cc -O -Kinline -g  -I../../src/port -DFRONTEND -I../../src/include 
-I/usr/local/include  -c -o getopt_long.o getopt_long.c
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
ccache cc -O -Kinline -g  -I../../src/port -DFRONTEND -I../../src/include 
-I/usr/local/include  -c -o copydir.o copydir.c
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
ccache cc -O -Kinline -g  -I../../src/port -DFRONTEND -I../../src/include 
-I/usr/local/include  -c -o dirmod.o dirmod.c
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
ccache cc -O -Kinline -g  -I../../src/port -DFRONTEND -I../../src/include 
-I/usr/local/include  -c -o exec.o exec.c
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
ccache cc -O -Kinline -g  -I../../src/port -DFRONTEND -I../../src/include 
-I/usr/local/include  -c -o noblock.o noblock.c
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
echo "#define PGBINDIR \"/home4/ohp/pgfarmbuild/HEAD/inst/bin\"" 
>pg_config_paths.h
echo "#define PGSHAREDIR \"/home4/ohp/pgfarmbuild/HEAD/inst/share/postgresql\"" 
>>pg_config_paths.h
echo "#define SYSCONFDIR \"/home4/ohp/pgfarmbuild/HEAD/inst/etc/postgresql\"" 
>>pg_config_paths.h
echo "#define INCLUDEDIR \"/home4/ohp/pgfarmbuild/HEAD/inst/include\"" 
>>pg_config_paths.h
echo "#define PKGINCLUDEDIR 
\"/home4/ohp/pgfarmbuild/HEAD/inst/include/postgresql\"" >>pg_config_paths.h
echo "#define INCLUDEDIRSERVER 
\"/home4/ohp/pgfarmbuild/HEAD/inst/include/postgresql/server\"" 
>>pg_config_paths.h
echo "#define LIBDIR \"/home4/ohp/pgfarmbuild/HEAD/inst/lib\"" 
>>pg_config_paths.h
echo "#define PKGLIBDIR \"/home4/ohp/pgfarmbuild/HEAD/inst/lib/postgresql\"" 
>>pg_config_paths.h
echo "#define LOCALEDIR \"\"" >>pg_config_paths.h
echo "#define DOCDIR \"/home4/ohp/pgfarmbuild/HEAD/inst/doc/postgresql\"" 
>>pg_config_paths.h
echo "#define MANDIR \"/home4/ohp/pgfarmbuild/HEAD/inst/man\"" 
>>pg_config_paths.h
ccache cc -O -Kinline -g  -I../../src/port -DFRONTEND -I../../src/include 
-I/usr/local/include  -c -o path.o path.c
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
ccache cc -O -Kinline -g  -I../../src/port -DFRONTEND -I../../src/include 
-I/usr/local/include  -c -o pipe.o pipe.c
UX:cc: WARNING: debugging and optimization mutually exclusive; -O disabled
UX:cc: WARNING: debugging and optimization mutually exclus

Re: [HACKERS] bison version

2006-06-10 Thread Bruce Momjian
ohp@pyrenet.fr wrote:
> Hi,
> 
> I'd like to check 2 things:
> 
> What's the bison version required to compile gram.y ?
> Trying to set up a build farm machine, it seems I can't compile with bison
> 2.1 ...

1.875

> Also where is the documentation page that gives postgresql limits (number
> of column/table max size of col)

FAQ.

-- 
  Bruce Momjian   http://candle.pha.pa.us
  EnterpriseDBhttp://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

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


Re: [HACKERS] bison version

2006-06-10 Thread Stefan Kaltenbrunner
ohp@pyrenet.fr wrote:
> Hi,
> 
> I'd like to check 2 things:
> 
> What's the bison version required to compile gram.y ?
> Trying to set up a build farm machine, it seems I can't compile with bison
> 2.1 ...

2.1 should work fine - there are a number of boxes on the buildfarm
running with that version (like sponge the FC5/ppc I own).
What exact problem do you see on your platform ?

> 
> Also where is the documentation page that gives postgresql limits (number
> of column/table max size of col)

http://www.postgresql.org/docs/faqs.FAQ.html#item4.4


Stefan

---(end of broadcast)---
TIP 4: Have you searched our list archives?

   http://archives.postgresql.org


[HACKERS] bison version

2006-06-10 Thread ohp
Hi,

I'd like to check 2 things:

What's the bison version required to compile gram.y ?
Trying to set up a build farm machine, it seems I can't compile with bison
2.1 ...

Also where is the documentation page that gives postgresql limits (number
of column/table max size of col)

Many thanks

-- 
Olivier PRENANT Tel: +33-5-61-50-97-00 (Work)
15, Chemin des Monges+33-5-61-50-97-01 (Fax)
31190 AUTERIVE   +33-6-07-63-80-64 (GSM)
FRANCE  Email: ohp@pyrenet.fr
--
Make your life a dream, make your dream a reality. (St Exupery)

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


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-17 Thread Peter Eisentraut
Josh Berkus writes:

> Might I suggest changing the wording in the final release, then?  The warning
> sure looked dangerous;

It only looks dangerous to those who don't actually read the full text of
the message.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


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


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-17 Thread Josh Berkus
Tom,

> > Really?   'cause I got the warning from the Beta4 tarball.
>
> If you mean the configure warning, sure, but the build won't fail.

Might I suggest changing the wording in the final release, then?  The warning 
sure looked dangerous; I aborted the build and went looking for bison 1.875 
binaries.   We should let people know that the warning is non-fatal so they 
don't repeat my experience.

-- 
Josh Berkus
Aglio Database Solutions
San Francisco

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-17 Thread Andreas Pflug
Josh Berkus wrote:

Peter,

 

I can't seem to find a Bison 1.875 RPM for a SuSE 8.1 machine I can't 
 

afford
 

to upgrade right now.   Does such an animal exist?  Help!
 

Install it from source if you cannot find a package.
   

Hmmm ... still getting the "Bison Too Old" warning message.  How can I tell 
where Postgres is looking for Bison?

 

I got the same problem when I upgraded my SuSE 8.1. Try "which bison" to 
locate it; usually, SuSE will install in /usr/bin, while packages 
installed from source will install to /usr/local/bin, so the older bison 
would take precedence.

Regards,
Andreas


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-16 Thread Tom Lane
Josh Berkus <[EMAIL PROTECTED]> writes:
>> No, because it only matters to people who build from a CVS pull instead
>> of using a tarball.  I'd think most of the people in the first category
>> have already dealt with the issue...

> Really?   'cause I got the warning from the Beta4 tarball.

If you mean the configure warning, sure, but the build won't fail.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-16 Thread Josh Berkus
TOm,

> No, because it only matters to people who build from a CVS pull instead
> of using a tarball.  I'd think most of the people in the first category
> have already dealt with the issue...

Really?   'cause I got the warning from the Beta4 tarball.


-- 
-Josh Berkus
 Aglio Database Solutions
 San Francisco


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


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-16 Thread Tom Lane
Josh Berkus <[EMAIL PROTECTED]> writes:
> (I predict that we're going to get many more questions about Bison after we 
> release 7.4, since many major Linux distros don't yet include 1.875)

No, because it only matters to people who build from a CVS pull instead
of using a tarball.  I'd think most of the people in the first category
have already dealt with the issue...

regards, tom lane

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-16 Thread Philip Yarra
On Fri, 17 Oct 2003 09:43 am, Josh Berkus wrote:
> (I predict that we're going to get many more questions about Bison after we
> release 7.4, since many major Linux distros don't yet include 1.875)

You only need bison if you are building from CVS - tarballs include the bison 
output files (AFAIK - correct me if I am mistaken anyone).

Regards, Philip.


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


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-16 Thread Josh Berkus
Peter,

> If you installed from source into /usr/local/bin and you have an older
> version in /usr/bin, you may need to run 'hash -r' or 'rehash' to make the
> shell forget about the old installation in the path.

Yeah, that was it.  Thanks!

(I predict that we're going to get many more questions about Bison after we 
release 7.4, since many major Linux distros don't yet include 1.875)

-- 
-Josh Berkus
 Aglio Database Solutions
 San Francisco


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


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-16 Thread Peter Eisentraut
Josh Berkus writes:

> Hmmm ... still getting the "Bison Too Old" warning message.  How can I tell
> where Postgres is looking for Bison?

checking for bison... bison -y
  ^
I tells you right there.

If you installed from source into /usr/local/bin and you have an older
version in /usr/bin, you may need to run 'hash -r' or 'rehash' to make the
shell forget about the old installation in the path.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-16 Thread Josh Berkus
Peter,

> > I can't seem to find a Bison 1.875 RPM for a SuSE 8.1 machine I can't 
afford
> > to upgrade right now.   Does such an animal exist?  Help!
> 
> Install it from source if you cannot find a package.

Hmmm ... still getting the "Bison Too Old" warning message.  How can I tell 
where Postgres is looking for Bison?

-- 
-Josh Berkus
 Aglio Database Solutions
 San Francisco


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


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-16 Thread Andrew Dunstan


Peter Eisentraut wrote:

Josh Berkus writes:

 

I can't seem to find a Bison 1.875 RPM for a SuSE 8.1 machine I can't afford
to upgrade right now.   Does such an animal exist?  Help!
   

Install it from source if you cannot find a package.



or build from an SRPM - the dependencies are quite modest, I believe

cheers

andrew

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


Re: [HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-16 Thread Peter Eisentraut
Josh Berkus writes:

> I can't seem to find a Bison 1.875 RPM for a SuSE 8.1 machine I can't afford
> to upgrade right now.   Does such an animal exist?  Help!

Install it from source if you cannot find a package.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 6: Have you searched our list archives?

   http://archives.postgresql.org


[HACKERS] Bison 1.875 for SuSE Linux 8.1?

2003-10-16 Thread Josh Berkus
Folks,

I can't seem to find a Bison 1.875 RPM for a SuSE 8.1 machine I can't afford 
to upgrade right now.   Does such an animal exist?  Help!

-- 
-Josh Berkus
 Aglio Database Solutions
 San Francisco


---(end of broadcast)---
TIP 6: Have you searched our list archives?

   http://archives.postgresql.org


[HACKERS] Bison 1.875 now required.

2003-03-25 Thread Lee Kindness
For those using Linux, the RPMs at:

 http://services.csl.co.uk/postgresql/

are probably handy.

L.

Bruce Momjian writes:
 > Sorry, I meant bison 1.875 is now required, not 1.85.
 > 
 > -- 
 >   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


[HACKERS] Bison 1.875 RPMs

2003-01-06 Thread Lee Kindness
Guys, for your convenience i've put online a source RPM for Bison
1.875 along with binary RPMs for Redhat 7.2, 7.3 and 8.0. Hunting
around the net i didn't find any existing Bison >= 1.50 RPMs, so this
should be useful for those compiling PostgreSQL (ECPG in particular)
from the CVS source:

 http://services.csl.co.uk/postgresql/bison-1.875-1PGDG.src.rpm
 http://services.csl.co.uk/postgresql/redhat72/bison-1.875-1PGDG.i386.rpm
 http://services.csl.co.uk/postgresql/redhat73/bison-1.875-1PGDG.i386.rpm
 http://services.csl.co.uk/postgresql/redhat80/bison-1.875-1PGDG.i386.rpm

The PGDG tag seemed appropriate.

>From version 1.50 onward Bison starting installing a 'yacc' script -
i've disabled the creation of this in these RPMs so upgrades can be
done simply without conflicting with the 'byacc' package (guess this
is Bison based too)...

Thanks, Lee.

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

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] bison error

2002-12-08 Thread Joe Conway
bigapple wrote:
> hi,
>  When I check out the pgsql from cvs and I complile it,  an error occured .
> 
> dir: pgsql/src/interfaces/ecpg/preproc
> bison -y -d preproc.y
> erro information:
>   preproc.y:5559: fatal error: maximum table size (32767) exceeded.
> 

You need at least version 1.5 of bison. Last time I checked, the latest out
was 1.75

> However, I used the source from the ftp, find preproc.c in there.  gmake will skip 
>the
> step(bison -y -d preproc.y) and succeeded.
> 
> who can tell me why?

Source distributions contain preprocessed files so that you can compile
PostgreSQL without needing bison installed. I think you only need bison if you
get source code from CVS (or want to hack the grammar in the source distribution).

HTH,

Joe


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] bison error

2002-12-08 Thread Neil Conway
On Mon, 2002-12-09 at 01:58, bigapple wrote:
>  When I check out the pgsql from cvs and I complile it,  an error occured .
> 
> dir: pgsql/src/interfaces/ecpg/preproc
> bison -y -d preproc.y
> erro information:
>   preproc.y:5559: fatal error: maximum table size (32767) exceeded.

You need to use Bison 1.50 or greater, due to a limitation in previous
versions of Bison.

Cheers,

Neil
-- 
Neil Conway <[EMAIL PROTECTED]> || PGP Key ID: DB3C29FC




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



[HACKERS] bison error

2002-12-08 Thread bigapple
hi,
 When I check out the pgsql from cvs and I complile it,  an error occured .

dir: pgsql/src/interfaces/ecpg/preproc
bison -y -d preproc.y
erro information:
  preproc.y:5559: fatal error: maximum table size (32767) exceeded.

However, I used the source from the ftp, find preproc.c in there.  gmake will skip the
step(bison -y -d preproc.y) and succeeded.

who can tell me why?
¡¡
2002-12-09




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



Re: [HACKERS] bison 1.75 installed ...

2002-10-21 Thread Bruce Momjian
Tom Lane wrote:
> "Marc G. Fournier" <[EMAIL PROTECTED]> writes:
> > let me know if there are any problems with it 
> 
> 
> Other than the fact that it's about a factor of 16 slower than bison
> 1.28, while not offering any substantial gain in functionality?  If I
> were a Bison maintainer, I'd hang my head in shame.
> 
> 
> All PG regression tests pass here with 1.75-built parsers.

16x is the grammer output generation, not the actual parsing of the SQL,
right?  There are cases where slow output generation can lead to faster
parsing, right?  Let's hope that happened.

-- 
  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 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



[HACKERS] bison 1.75 installed ...

2002-10-20 Thread Marc G. Fournier

let me know if there are any problems with it 



---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Bison 1.50 was released

2002-10-10 Thread Greg Copeland

Oh, that's right.  I had forgotten that it wasn't for general PostgreSQL
use.  Since it's a ecpg deal only, I guess I remove my objection.


Greg


On Thu, 2002-10-10 at 09:18, Tom Lane wrote:
> Greg Copeland <[EMAIL PROTECTED]> writes:
> > Can we please hold off until bison 1.50 becomes a defacto?
> 
> We don't have a whole lot of choice, unless you prefer releasing a
> broken or crippled ecpg with 7.3.
> 
> In practice this only affects people who pull sources from CVS, anyway.
> If you use a tarball then you'll get prebuilt bison output.
> 
>   regards, tom lane
> 
> ---(end of broadcast)---
> TIP 5: Have you checked our extensive FAQ?
> 
> http://www.postgresql.org/users-lounge/docs/faq.html




signature.asc
Description: This is a digitally signed message part


Re: [HACKERS] Bison 1.50 was released

2002-10-10 Thread Bruce Momjian

Greg Copeland wrote:
-- Start of PGP signed section.
> Can we please hold off until bison 1.50 becomes a defacto?  It will be a
> matter of weeks before distros offer this as an upgrade package let
> alone months before distros offer this as a standard.  Seems like these
> changes are ideal for a release after next (7.5/7.6) as enough time will
> of gone by for it to be much more commonly found.  By not jumping on the
> wagon now, it will also allow more time for bugs in the wild to be
> caught and fixed before we force it onto the masses.

No, we can't wait. A fully function ecpg has exceeded the bison tables
sizes, so we need a new version now.  Rememeber we ship pre-bison'ed
files in the tarball, so only developers will need a new bison.

-- 
  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 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Bison 1.50 was released

2002-10-10 Thread Tom Lane

Greg Copeland <[EMAIL PROTECTED]> writes:
> Can we please hold off until bison 1.50 becomes a defacto?

We don't have a whole lot of choice, unless you prefer releasing a
broken or crippled ecpg with 7.3.

In practice this only affects people who pull sources from CVS, anyway.
If you use a tarball then you'll get prebuilt bison output.

regards, tom lane

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

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Bison 1.50 was released

2002-10-10 Thread Greg Copeland

Can we please hold off until bison 1.50 becomes a defacto?  It will be a
matter of weeks before distros offer this as an upgrade package let
alone months before distros offer this as a standard.  Seems like these
changes are ideal for a release after next (7.5/7.6) as enough time will
of gone by for it to be much more commonly found.  By not jumping on the
wagon now, it will also allow more time for bugs in the wild to be
caught and fixed before we force it onto the masses.

Greg


On Thu, 2002-10-10 at 02:05, Michael Meskes wrote:
> Hi,
> 
> I just learned that bison 1.50 was released on Oct. 5th and it indeed
> compiles ecpg just nicely on my machine. Could we please install this on
> our main machine and merge the ecpg.big branch back into main?
> 
> Michael
> -- 
> Michael Meskes
> [EMAIL PROTECTED]
> Go SF 49ers! Go Rhein Fire!
> Use Debian GNU/Linux! Use PostgreSQL!
> 
> ---(end of broadcast)---
> TIP 4: Don't 'kill -9' the postmaster




signature.asc
Description: This is a digitally signed message part


[HACKERS] Bison 1.50 was released

2002-10-09 Thread Michael Meskes

Hi,

I just learned that bison 1.50 was released on Oct. 5th and it indeed
compiles ecpg just nicely on my machine. Could we please install this on
our main machine and merge the ecpg.big branch back into main?

Michael
-- 
Michael Meskes
[EMAIL PROTECTED]
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!

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



Re: [HACKERS] bison news

2002-08-21 Thread Peter Eisentraut

Bruce Momjian writes:

> This may be a case where we have to do some beta testing on our own. I
> will grab the bison beta myself for my machine.

I imagine that bison doesn't get a lot of beta testing, since people don't
have a whole bunch of production grammars lying around that they want to
upgrade at the earliest possible moment.

So if we want to test it more, we could propagate it to our beta testers.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] bison news

2002-08-20 Thread Bruce Momjian

Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > OK, now that _a_ bison exists that works, how does this effect our
> > release?  I don't see preproc.[ch] in CVS.  Do we need this new bison
> > version on postgresql.org because Marc generates these as part of his
> > install script?
> 
> I don't think we want a beta bison on postgres.org.  Let's see if we can
> hold out for a release...

Well, we had better get it on or it will get zero testing, and we _need_
it for the 7.3 release of ecpg, because as I remember, we didn't have
any other good backup plans.  ;-)

This may be a case where we have to do some beta testing on our own. I
will grab the bison beta myself for my machine.

-- 
  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 4: Don't 'kill -9' the postmaster



Re: [HACKERS] bison news

2002-08-20 Thread Tom Lane

Bruce Momjian <[EMAIL PROTECTED]> writes:
> OK, now that _a_ bison exists that works, how does this effect our
> release?  I don't see preproc.[ch] in CVS.  Do we need this new bison
> version on postgresql.org because Marc generates these as part of his
> install script?

I don't think we want a beta bison on postgres.org.  Let's see if we can
hold out for a release...

regards, tom lane

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



Re: [HACKERS] bison news

2002-08-20 Thread Bruce Momjian


OK, now that _a_ bison exists that works, how does this effect our
release?  I don't see preproc.[ch] in CVS.  Do we need this new bison
version on postgresql.org because Marc generates these as part of his
install script?

---

Tom Lane wrote:
> Michael Meskes <[EMAIL PROTECTED]> writes:
> > On Tue, Aug 20, 2002 at 11:10:01AM -0400, Tom Lane wrote:
> >> BTW, I spent some time looking at the problem, and it seems the issue
> >> is not overrun of any bison internal table, but failure to compress the
> >> resulting "action table" into 32K entries.  This means that the required
> 
> > Ouch! This of course is not so much a problem for ecpg but for the
> > backend should we run into the problem there too.
> 
> As of CVS tip a few days ago, the backend's action table was about 27K
> entries.  So we have some breathing room, but certainly in the
> foreseeable future there will be a problem...
> 
>   regards, tom lane
> 
> ---(end of broadcast)---
> TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
> 

-- 
  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/users-lounge/docs/faq.html



Re: [HACKERS] bison news

2002-08-20 Thread Tom Lane

Michael Meskes <[EMAIL PROTECTED]> writes:
> On Tue, Aug 20, 2002 at 11:10:01AM -0400, Tom Lane wrote:
>> BTW, I spent some time looking at the problem, and it seems the issue
>> is not overrun of any bison internal table, but failure to compress the
>> resulting "action table" into 32K entries.  This means that the required

> Ouch! This of course is not so much a problem for ecpg but for the
> backend should we run into the problem there too.

As of CVS tip a few days ago, the backend's action table was about 27K
entries.  So we have some breathing room, but certainly in the
foreseeable future there will be a problem...

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] bison news

2002-08-20 Thread Michael Meskes

On Tue, Aug 20, 2002 at 11:10:01AM -0400, Tom Lane wrote:
> BTW, I spent some time looking at the problem, and it seems the issue
> is not overrun of any bison internal table, but failure to compress the
> resulting "action table" into 32K entries.  This means that the required

Ouch! This of course is not so much a problem for ecpg but for the
backend should we run into the problem there too.

> ...
> Also, it seemed to me that the most leverage on the size of the
> compressed action table would be gained by reducing the number of
> terminal symbols, more so than the number of rules.  Dunno if there
> is a lot you can do about that, but it's a thought.

Will look at it.

Michael
-- 
Michael Meskes
[EMAIL PROTECTED]
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] bison news

2002-08-20 Thread Tom Lane

Michael Meskes <[EMAIL PROTECTED]> writes:
> I just got the latest beta and it compiles ecpg grammar correctly!

This is good.  Any word on when it will go to an official release?

BTW, I spent some time looking at the problem, and it seems the issue
is not overrun of any bison internal table, but failure to compress the
resulting "action table" into 32K entries.  This means that the required
expansion from short to int is not just a cost paid while you run bison;
the actual table in the ecpg executable will double in size.  I trust
they did not fix the problem in a way that causes *every* generated
parser to use an int[] rather than short[] action table ...

Also, it seemed to me that the most leverage on the size of the
compressed action table would be gained by reducing the number of
terminal symbols, more so than the number of rules.  Dunno if there
is a lot you can do about that, but it's a thought.

regards, tom lane

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



[HACKERS] bison news

2002-08-20 Thread Michael Meskes

I just got the latest beta and it compiles ecpg grammar correctly! I had
to make one change to my source though as bison no longer accepts a comma inside the 
token list.

Michael

-- 
Michael Meskes
[EMAIL PROTECTED]
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!

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

http://www.postgresql.org/users-lounge/docs/faq.html



[HACKERS] bison

2002-05-23 Thread Michael Meskes

Hi,

I talked to one of the bison guys and he told me where to find a beta
version of bison 1.49. And this one translates the grammar without a
problem, no more table overflow. So once they will release the
new bison we should be able to expand our grammar.

Michael
-- 
Michael Meskes
[EMAIL PROTECTED]
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



  1   2   >