Re: MySQL Compatibility WAS: 8.5 release timetable, again

Lists: pgsql-hackers
From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: 8.5 release timetable, again
Date: 2009-08-23 01:17:46
Message-ID: 603c8f070908221817y6c99e80xb3dabb4bf8a5caa3@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

I posted a note about a week ago which drew far less commentary than I
expected, regarding the timetable for the release of 8.5.

http://archives.postgresql.org/pgsql-hackers/2009-08/msg01256.php

Perhaps this is already being discussed on -core, but if so the
conclusions haven't been shared publicly. We started the first
CommitFest for 8.5 on July 15, 2009. I believe that there is general
consensus on a two-month cycle for CommitFests, which means that the
second one will start on September 15, 2009, and the third one on
November 15, 2009. The open question is whether there will be a
fourth or a fifth CommitFest, and what that will do to the time line
for the final release.

During the 8.4 development cycle, we started the last CommitFest on
November 1, 2008 and released 8 months later on July 1, 2009. I would
like to think that we could shave a bit of time off of that this time
around, because last time the final CommitFest took approximately 4
months. I found that to be pretty ridiculous and I think that I was
not the only one. By the end, there were not too many patches left
and most of those had been thoroughly reviewed, so there was no
obvious role for non-committers to play. There were also many patches
that went for weeks, sometimes over a month, without being updated or
bounced. I think we can improve this a lot this time around, by
applying the same rules to the last CommitFest that we did to the
first one: patches must be updated in a timely fashion. If they
can't, it's a sign that either the patch author is too busy to work on
the patch, or the revisions needed are too extensive for a single
CommitFest. Either way, we move on.

I am a lot less clear on what we can do to shorten the time we spent
in beta. In some ways, the time we spent in beta for 8.4 seems not to
have been long enough. Several critical bugs introduced by the
infrastructure-changes-for-recovery patch were not fixed until just
before release, and a number of planner and other significant bugs
have been found since the release and will be fixed in 8.4.1. On the
other hand, from my point of view, there was nothing to do during
beta. Most of the open items required first and foremost a decision
about the best way to fix them, and those decisions really need to be
made by (or at least with the consent of) the committers. If we have
a substantial open items list again for 8.5, we need to find a way to
formalize the handling of that list so that it can be dealt with
efficiently and the work distributed among as many people as are
willing and able to help. Writing release notes also seemed to take a
lot of time, perhaps partly because we didn't know until the very end
whether certain large patches were going to be committed.

All of the above having been said, I think it's too much to hope that
the beta/release cycle is going to get drastically shorter than it was
for 8.4. So I think if we decide on three CommitFests, the timetable
will end up going something like this:

2009-11-15 Last CommitFest Begins
2009-12-15 Last CommitFest Ends
2010-01-01 Alpha
2010-03-01 Beta
2010-05-01 Release

This schedule assumes that instead of having 8 months between
start-of-last-CommitFest and release, we'll have five and a half.
Assuming that we can avoid the temptation to let the last CommitFest
drag on and on and on, that seems achievable.

If we go with four CommitFests, we'll probably end up release 45-60
days later, in mid June or start of July. If we go with five
CommitFests, we'll probably be looking at September.

Personally, I favor the more aggressive schedule of just three
CommitFests, because if something goes wrong and the schedule does
slip, we should still be able to get the release out the door next
year by the same time we did this year. If things go as planned,
we'll have the release out the door in time for PGCon. If things go
truly excellently and we manage to get the release out before 1-May,
then we have that much more time for 8.6 development. On the other
hand, if we plan for four Commitfests, we'll be looking at releasing
the same time next year that we did this year *if* everything goes as
planned. If anything slips, we'll release even later - and that also
gets into the summer time, when more people are away.

But, some other decision that has consensus is fine too. The most
important thing is to MAKE a decision before the passage of time makes
one for us.

...Robert


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-23 05:57:34
Message-ID: 19544.1251007054@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> I posted a note about a week ago which drew far less commentary than I
> expected, regarding the timetable for the release of 8.5.

> http://archives.postgresql.org/pgsql-hackers/2009-08/msg01256.php

> Perhaps this is already being discussed on -core, but if so the
> conclusions haven't been shared publicly.

Core hasn't discussed 8.5 schedule since the discussions that Peter
summarized in the message you cited above. I share your concern that
"release in time for PGCon" isn't very realistic if we don't get more
aggressive about schedule. On the other hand, we didn't get all that
much done in this fest. If we cut back to a three-fest schedule
I think we may succeed in releasing 8.5 early, but only because there
is nothing interesting in it :-(. Dunno where the right balance is.

regards, tom lane


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-23 13:37:02
Message-ID: 603c8f070908230637t307ceef7r7f7329e232704168@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Sun, Aug 23, 2009 at 1:57 AM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> I posted a note about a week ago which drew far less commentary than I
>> expected, regarding the timetable for the release of 8.5.
>
>> http://archives.postgresql.org/pgsql-hackers/2009-08/msg01256.php
>
>> Perhaps this is already being discussed on -core, but if so the
>> conclusions haven't been shared publicly.
>
> Core hasn't discussed 8.5 schedule since the discussions that Peter
> summarized in the message you cited above.  I share your concern that
> "release in time for PGCon" isn't very realistic if we don't get more
> aggressive about schedule.  On the other hand, we didn't get all that
> much done in this fest.  If we cut back to a three-fest schedule
> I think we may succeed in releasing 8.5 early, but only because there
> is nothing interesting in it :-(.  Dunno where the right balance is.

Here is my thinking on that point. We have several major features
underway for the September CommitFest, including at least Hot Standby
(Simon Riggs), Streaming Replication (Fujii Masao), and Index-Only
Scans (Heikki). At the July CommitFest, none of these patches were in
a state where they could be seriously reviewed. Simon Riggs and Fujii
Masao have both committed to produce reviewable versions by 9/15, and
it looks like Heikki will hit that date too, if not beat it.

I am assuming that at least Hot Standby and Streaming Replication will
likely require two CommitFests to go from the point where they are
seriously reviewable to actual commit. So if they hit the 9/15 date,
they should make 8.5 even with just three CommitFests. If they don't
hit the 9/15 date, then a 3-CommitFest cycle will probably be too
short for them to make it in. But if we schedule a fourth CommitFest
in January in the hopes of seeing one of those patches committed, then
ISTM we're basically speculating that the patch authors will not hit
the 9/15 date but that they will hit an 11/15 date.

To me, that's an entirely arbitrary and unfounded speculation. On the
one hand, both patch authors have said they will hit 9/15, so why
should we second-guess them? On the other hand, neither of those
patches seems to have made a great deal of progress in the last 7
months, so it's unclear that tacking a few more months onto the
schedule will help anything. Furthermore, even if we're right that
four CommitFests is the right number to land one of those patches
(rather than 3 or 5 or 6 or 7), we're then talking about committing a
major feature in the very last CommitFest for this release. We tried
that for 8.4 and it wasn't a stunning success.

To some degree, what this boils down to is that you can have
time-based releases or feature-based releases, but not both. And the
problem with feature-based releases in a community environment is that
there is no guarantee that patches will be delivered when promised.
None of the people developing these major features work for the
community and we do not have the ability to control any of their
schedules. So saying that we're going to wait for them to be ready is
potentially saying that we're going to wait forever. No one is
proposing that, but we are sort of trying to read the tea leaves and
try to guess when they might be ready and tailor the schedule to it.

To me, it seems to make more sense to just decide we're going to ship
the release on a time line that works for the project overall. If we
get some new features in, good. If they slip a bit past the deadline,
well, at least that should hopefully mean that they get committed
right at the beginning of the 8.6 cycle. If they slip WAY past the
deadline, bummer, but at least we didn't hold up the release to no
benefit. I don't think there's anything wrong with having a release
that has many small improvements but no major new features, and I
think that is the worst that will happen.

...Robert


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 11:39:21
Message-ID: 1251113961.10096.11.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On sön, 2009-08-23 at 09:37 -0400, Robert Haas wrote:
> To some degree, what this boils down to is that you can have
> time-based releases or feature-based releases, but not both.

Sure. But some people are trying to introduce another subvariant: The
conference-circuit-based releases. ;-) It sounds attractive, but it
shouldn't trump all other concerns. Consider this instead: Nothing to
do during beta? Write your conference slides! ;-)

I suggest going with four commit fests. Three is too short. We already
started the first one early, which didn't give those involved in the
release any time to prepare some patches for it. So with three fests
you'd only give the major developers 8 weeks to code something for a
yearly release.


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 13:59:34
Message-ID: 603c8f070908240659i4d954274w5581d0b1126212ff@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, Aug 24, 2009 at 7:39 AM, Peter Eisentraut<peter_e(at)gmx(dot)net> wrote:
> On sön, 2009-08-23 at 09:37 -0400, Robert Haas wrote:
>> To some degree, what this boils down to is that you can have
>> time-based releases or feature-based releases, but not both.
>
> Sure.  But some people are trying to introduce another subvariant: The
> conference-circuit-based releases. ;-)  It sounds attractive, but it
> shouldn't trump all other concerns.  Consider this instead:  Nothing to
> do during beta?  Write your conference slides! ;-)

Oh, gee, what am I speaking on? :-)

The main thing that I (can't speak for anyone else) like about getting
a release out in time for PGCon is that it happens at about the same
time every year, and I kind of like the idea of shooting for a yearly
cycle. I'd be just as happy to release every year on Christmas day,
but it's harder to get people to bundle a release around then.

> I suggest going with four commit fests.  Three is too short.  We already
> started the first one early, which didn't give those involved in the
> release any time to prepare some patches for it.  So with three fests
> you'd only give the major developers 8 weeks to code something for a
> yearly release.

Well, that's a good point, but 12 weeks out of a 14-month release
cycle is only marginally better than 8 weeks out of a 12-month release
cycle. If we really want to give people more time to write patches,
we need to figure out how to speed up the time from the end of the
last CommitFest until release.

One thing that I had thought of proposing is that we branch the tree
when we go to 8.5-beta and hold the first 8.6 CommitFest at that time
- or, failing that, that we hold a DontCommitFest at that time, where
we review all of the patches just as we would for a regular
CommitFest, but without the committing part. At least for 8.4, it
didn't seem like much was happening during beta, at least not much
that was discussed on -hackers or could be distributed across the
community.

I actually don't think that's the ideal solution, though. It's just
papering around the problem that the release takes too long and the
burden falls on too few people. But we haven't yet come up with any
good idea to address that problem.

At any rate, I'm OK with 4 CommitFests if that is the consensus, but
so far we only have 3 people weighing in on this thread, which is not
a consensus for anything.

...Robert


From: Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 16:24:15
Message-ID: 87ab1pkwnk.fsf@dba2.int.libertyrms.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

peter_e(at)gmx(dot)net (Peter Eisentraut) writes:
> I suggest going with four commit fests. Three is too short. We already
> started the first one early, which didn't give those involved in the
> release any time to prepare some patches for it. So with three fests
> you'd only give the major developers 8 weeks to code something for a
> yearly release.

Partial counter-argument...

A large portion of the patches in CommitFest #1 represented items that
had been deferred from 8.4. So...

a) Many of these patches came in with ~6 months of preparation time

b) People were always free to start work earlier than CommitFest #1

c) If something requires a *lot* of work, then it may be that it
gets deferred so that it comes in as part of CommitFest #1 for
8.6, with the very same characteristics as in a)...

I do agree that trying to force coordination with a specific conference
in Ottawa seems like a very peculiar sort of forced scheduling.
--
select 'cbbrowne' || '@' || 'ca.afilias.info';
Christopher Browne
"Bother," said Pooh, "Eeyore, ready two photon torpedoes and lock
phasers on the Heffalump, Piglet, meet me in transporter room three"


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 16:55:16
Message-ID: 14614.1251132916@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info> writes:
> I do agree that trying to force coordination with a specific conference
> in Ottawa seems like a very peculiar sort of forced scheduling.

Well, PGCon is just a convenient concrete target. The real point here
is that we're trying to get the release cycle to end with a release in
the spring. We've grown tired of releasing in the fall and invariably
finding the date slipping into holiday season, so we'd like to try
releasing near the other equinox. (Neither solstice is good, since
you are up against either holidays or vacations taking away the time
of the people who need to be doing the work.)

regards, tom lane


From: Greg Stark <gsstark(at)mit(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 17:25:32
Message-ID: 407d949e0908241025v52310970ka826c239fb85d3e4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, Aug 24, 2009 at 5:55 PM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info> writes:
>> I do agree that trying to force coordination with a specific conference
>> in Ottawa seems like a very peculiar sort of forced scheduling.
>
> Well, PGCon is just a convenient concrete target.  The real point here
> is that we're trying to get the release cycle to end with a release in
> the spring.

Yeah, conference-based releases is just a proxy for time-based
releases. It's nice to have something to be happy about at the
conference too. And it's a convenient time to start talking about the
next release when you're all face-to-face.

--
greg
http://mit.edu/~gsstark/resume.pdf


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 17:48:37
Message-ID: 4A92D275.5070008@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

All,

> Yeah, conference-based releases is just a proxy for time-based
> releases. It's nice to have something to be happy about at the
> conference too. And it's a convenient time to start talking about the
> next release when you're all face-to-face.

On the one hand:

I'd say that we go for the 3-CF release. I think we need to prove that
we can do a time-based release once before a lot of people on this list
will believe in it.

If we do 4 CFs, we're in danger of still being in beta in late May ...
and once conference and vacation season start, things get a lot slower.
Mind you, it's possible that we can shorten the final CF and beta this
time, but I wouldn't want to count on it.

If we *can* shorten them, then 8.6 can have 4CFs. But we won't know
until after we've done it.

On the other hand:

I think if we do another release without Standby/replication, we'll
start to lose a lot of users. People are waiting on that, and a lot of
folks were expecting it in 8.4.

Therefore: I think, 3CFs, but we go all-out to get Standby/Replication
into 8.5 in the next month. So, every committer/major hacker on this
list should pitch in to get those features done.

So, is there someone here who could be helping with HS/SR and isn't?
Why not?

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 18:04:47
Message-ID: 603c8f070908241104t1c236b1fpe33574ad8d037de8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, Aug 24, 2009 at 1:48 PM, Josh Berkus<josh(at)agliodbs(dot)com> wrote:
> Therefore: I think, 3CFs, but we go all-out to get Standby/Replication
> into 8.5 in the next month.  So, every committer/major hacker on this
> list should pitch in to get those features done.
>
> So, is there someone here who could be helping with HS/SR and isn't?
> Why not?

Unfortunately, neither Simon nor Fujii Masao is publishing a git
repository of their work or regular updates to their patch set.
Therefore, no one else can contribute code, and in fact no one else
can even provide a review, because there is nothing to look at. I
don't think that there would be any problem getting these patches
reviewed/committed outside of the regular CommitFest cycle, but
there's simply no place to start.

I have volunteered to work on Hot Standby and have merged it up to CVS
HEAD several times, and cleaned out a bit of other cruft, but the
scope of the task appears to exceed the time I have available. It
seems to me that other people could clone my git repo (or that branch)
and submit patches against it (or ask me to pull from a branch that
they publish), but will Simon incorporate those patches (assuming that
they don't suck) into his next version, or ignore them? It's not
really clear.

As I've said before, I am presently of the opinion that Streaming
Replication has little chance of making it into 8.5. This opinion is
vulnerable to contrary evidence, like a new version of the patch
showing up that shows massive progress. But the patch was bounced
from CF 2009-07 for a whole series of architectural problems which
have to be addressed before we can even get to implementation details,
bugs, documentation, etc. Hot Standby is in better shape but amount
of code cleanup needed is substantial and there is also quite a bit of
'git diff master | grep XXX' that needs to be gone through.

...Robert


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 18:18:59
Message-ID: 28855.1251137939@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Josh Berkus <josh(at)agliodbs(dot)com> writes:
> So, is there someone here who could be helping with HS/SR and isn't?
> Why not?

You mean, other than Simon's hands-off attitude?

regards, tom lane


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 20:51:31
Message-ID: 200908242051.n7OKpVC17218@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Josh Berkus wrote:
> All,
>
> > Yeah, conference-based releases is just a proxy for time-based
> > releases. It's nice to have something to be happy about at the
> > conference too. And it's a convenient time to start talking about the
> > next release when you're all face-to-face.
>
> On the one hand:
>
> I'd say that we go for the 3-CF release. I think we need to prove that
> we can do a time-based release once before a lot of people on this list
> will believe in it.
>
> If we do 4 CFs, we're in danger of still being in beta in late May ...
> and once conference and vacation season start, things get a lot slower.
> Mind you, it's possible that we can shorten the final CF and beta this
> time, but I wouldn't want to count on it.
>
> If we *can* shorten them, then 8.6 can have 4CFs. But we won't know
> until after we've done it.
>
> On the other hand:
>
> I think if we do another release without Standby/replication, we'll
> start to lose a lot of users. People are waiting on that, and a lot of
> folks were expecting it in 8.4.

That is a slightly alarmist. Who are we going to lose these users to?

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 20:56:38
Message-ID: 200908242056.n7OKucA17761@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas wrote:
> As I've said before, I am presently of the opinion that Streaming
> Replication has little chance of making it into 8.5. This opinion is
> vulnerable to contrary evidence, like a new version of the patch
> showing up that shows massive progress. But the patch was bounced
> from CF 2009-07 for a whole series of architectural problems which
> have to be addressed before we can even get to implementation details,
> bugs, documentation, etc. Hot Standby is in better shape but amount
> of code cleanup needed is substantial and there is also quite a bit of
> 'git diff master | grep XXX' that needs to be gone through.

I agree. I think it is unlikely we will have anything ready to commit
for Streaming Replication or Hot Standby for the next commit-fest in
mid-September, and if we go for a 3-CF (commit fest) release, that gives
us only one final CF to get those features accepted, again unlikely. We
are either going to need to go to a 4-CF release, change the way we are
developing these patches, or both to get either in 8.5.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 21:26:35
Message-ID: 603c8f070908241426y6c3ce560u2469bab326de0f5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, Aug 24, 2009 at 4:56 PM, Bruce Momjian<bruce(at)momjian(dot)us> wrote:
> Robert Haas wrote:
>> As I've said before, I am presently of the opinion that Streaming
>> Replication has little chance of making it into 8.5.  This opinion is
>> vulnerable to contrary evidence, like a new version of the patch
>> showing up that shows massive progress.  But the patch was bounced
>> from CF 2009-07 for a whole series of architectural problems which
>> have to be addressed before we can even get to implementation details,
>> bugs, documentation, etc.  Hot Standby is in better shape but amount
>> of code cleanup needed is substantial and there is also quite a bit of
>> 'git diff master | grep XXX' that needs to be gone through.
>
> I agree.  I think it is unlikely we will have anything ready to commit
> for Streaming Replication or Hot Standby for the next commit-fest in
> mid-September, and if we go for a 3-CF (commit fest) release, that gives
> us only one final CF to get those features accepted, again unlikely.  We
> are either going to need to go to a 4-CF release, change the way we are
> developing these patches, or both to get either in 8.5.

I don't think a 4-CF release is going to help. It's just going to be
2 more months before everything else that has been done gets released.
Call me a pessimist if you will, but zero times an arbitrary number
of CommitFests is still zero.

The only solution here is to get more people working on these patches.
I have volunteered to work on HS and would also be willing to work on
SR. Work can be reviewing or actual code. But I cannot work on a
patch I cannot see, and neither can anyone else.

...Robert


From: Rick Vernam <rickv(at)hobi(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 21:29:54
Message-ID: 200908241629.54514.rickv@hobi.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Monday 24 August 2009 3:51:31 pm Bruce Momjian wrote:
> > folks were expecting it in 8.4.
>
> That is a slightly alarmist. Who are we going to lose these users to?
the insane asylum?


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 21:31:31
Message-ID: 200908242131.n7OLVV021506@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas wrote:
> On Mon, Aug 24, 2009 at 4:56 PM, Bruce Momjian<bruce(at)momjian(dot)us> wrote:
> > Robert Haas wrote:
> >> As I've said before, I am presently of the opinion that Streaming
> >> Replication has little chance of making it into 8.5. ?This opinion is
> >> vulnerable to contrary evidence, like a new version of the patch
> >> showing up that shows massive progress. ?But the patch was bounced
> >> from CF 2009-07 for a whole series of architectural problems which
> >> have to be addressed before we can even get to implementation details,
> >> bugs, documentation, etc. ?Hot Standby is in better shape but amount
> >> of code cleanup needed is substantial and there is also quite a bit of
> >> 'git diff master | grep XXX' that needs to be gone through.
> >
> > I agree. ?I think it is unlikely we will have anything ready to commit
> > for Streaming Replication or Hot Standby for the next commit-fest in
> > mid-September, and if we go for a 3-CF (commit fest) release, that gives
> > us only one final CF to get those features accepted, again unlikely. ?We
> > are either going to need to go to a 4-CF release, change the way we are
> > developing these patches, or both to get either in 8.5.
>
> I don't think a 4-CF release is going to help. It's just going to be
> 2 more months before everything else that has been done gets released.
> Call me a pessimist if you will, but zero times an arbitrary number
> of CommitFests is still zero.
>
> The only solution here is to get more people working on these patches.
> I have volunteered to work on HS and would also be willing to work on
> SR. Work can be reviewing or actual code. But I cannot work on a
> patch I cannot see, and neither can anyone else.

Agreed, so we fall back to "change the way we are developing these
patches". I am hesistant to jump into managing these patches until they
get their shot by their original authors in the September CF, but
managing them starting in mid-October will probably be too late for them
to get into 8.5.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: David Fetter <david(at)fetter(dot)org>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 21:37:03
Message-ID: 20090824213703.GM5896@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, Aug 24, 2009 at 04:51:31PM -0400, Bruce Momjian wrote:
> Josh Berkus wrote:
> > All,
> >
> > > Yeah, conference-based releases is just a proxy for time-based
> > > releases. It's nice to have something to be happy about at the
> > > conference too. And it's a convenient time to start talking
> > > about the next release when you're all face-to-face.
> >
> > On the one hand:
> >
> > I'd say that we go for the 3-CF release. I think we need to prove
> > that we can do a time-based release once before a lot of people on
> > this list will believe in it.
> >
> > If we do 4 CFs, we're in danger of still being in beta in late May
> > ... and once conference and vacation season start, things get a
> > lot slower. Mind you, it's possible that we can shorten the final
> > CF and beta this time, but I wouldn't want to count on it.
> >
> > If we *can* shorten them, then 8.6 can have 4CFs. But we won't
> > know until after we've done it.
> >
> > On the other hand:
> >
> > I think if we do another release without Standby/replication,
> > we'll start to lose a lot of users. People are waiting on that,
> > and a lot of folks were expecting it in 8.4.
>
> That is a slightly alarmist. Who are we going to lose these users
> to?

Sadly, to one of the MySQL forks. This is one of those cases (cf. the
current thread on -advocacy) where pointy-hair-friendliness can really
help or hurt us.

Cheers,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david(dot)fetter(at)gmail(dot)com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-24 23:49:48
Message-ID: 4A93271C.3090907@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


>> I think if we do another release without Standby/replication, we'll
>> start to lose a lot of users. People are waiting on that, and a lot of
>> folks were expecting it in 8.4.
>
> That is a slightly alarmist. Who are we going to lose these users to?

Drizzle. MySQL forks. CouchDB. Any database which has replication
which you don't need a professional DBA to understand. Whether or not
it works.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-25 00:02:31
Message-ID: 9219.1251158551@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Josh Berkus <josh(at)agliodbs(dot)com> writes:
>> That is a slightly alarmist. Who are we going to lose these users to?

> Drizzle. MySQL forks. CouchDB. Any database which has replication
> which you don't need a professional DBA to understand. Whether or not
> it works.

You haven't explained why we'd lose such folk next year when we haven't
lost them already. MySQL has had replication (or at least has checked
off the bullet point ;-)) for years. I'd be seriously surprised if any
of the forks will offer significantly better replication than is there
now, so the competitive situation is not changing in that regard.

It is true that we're missing a chance to pull some folks away while
the situation on that side of the fence is so messy. But I don't see
our situation getting worse because of that, just not getting better.

regards, tom lane


From: David Fetter <david(at)fetter(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-25 02:15:36
Message-ID: 20090825021536.GQ5896@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, Aug 24, 2009 at 08:02:31PM -0400, Tom Lane wrote:
> Josh Berkus <josh(at)agliodbs(dot)com> writes:
> >> That is a slightly alarmist. Who are we going to lose these
> >> users to?
>
> > Drizzle. MySQL forks. CouchDB. Any database which has
> > replication which you don't need a professional DBA to understand.
> > Whether or not it works.
>
> You haven't explained why we'd lose such folk next year when we
> haven't lost them already. MySQL has had replication (or at least
> has checked off the bullet point ;-)) for years. I'd be seriously
> surprised if any of the forks will offer significantly better
> replication than is there now, so the competitive situation is not
> changing in that regard.
>
> It is true that we're missing a chance to pull some folks away while
> the situation on that side of the fence is so messy. But I don't
> see our situation getting worse because of that, just not getting
> better.

"Not getting better," isn't a situation to be dismissed lightly. In
FLOSS, as I've seen it, a project whose adoption isn't growing is
dying.

Cheers,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david(dot)fetter(at)gmail(dot)com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: David Fetter <david(at)fetter(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Josh Berkus <josh(at)agliodbs(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-25 03:46:50
Message-ID: 603c8f070908242046g739cda5aqfbeb23b1b151bc98@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, Aug 24, 2009 at 10:15 PM, David Fetter<david(at)fetter(dot)org> wrote:
> On Mon, Aug 24, 2009 at 08:02:31PM -0400, Tom Lane wrote:
>> Josh Berkus <josh(at)agliodbs(dot)com> writes:
>> >> That is a slightly alarmist.  Who are we going to lose these
>> >> users to?
>>
>> > Drizzle.  MySQL forks.  CouchDB.  Any database which has
>> > replication which you don't need a professional DBA to understand.
>> > Whether or not it works.
>>
>> You haven't explained why we'd lose such folk next year when we
>> haven't lost them already.  MySQL has had replication (or at least
>> has checked off the bullet point ;-)) for years.  I'd be seriously
>> surprised if any of the forks will offer significantly better
>> replication than is there now, so the competitive situation is not
>> changing in that regard.
>>
>> It is true that we're missing a chance to pull some folks away while
>> the situation on that side of the fence is so messy.  But I don't
>> see our situation getting worse because of that, just not getting
>> better.
>
> "Not getting better," isn't a situation to be dismissed lightly.  In
> FLOSS, as I've seen it, a project whose adoption isn't growing is
> dying.

You may be right, but I'm not sure that it has much to do with the
ostensible topic of this thread. The reason why these features have
not already been committed is because they are not done. The question
of why they are not done and/or why more people aren't working on them
has been asked and answered. Figuring out some concrete steps that we
can take to address those issues is probably a better use of time than
trying to define whether these features are really important or
really, really important.

...Robert


From: Rick Gigger <rick(at)alpinenetworking(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: David Fetter <david(at)fetter(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Josh Berkus <josh(at)agliodbs(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 07:36:01
Message-ID: 7419D1F8-ECC4-4CC2-BE48-00262468DE6C@alpinenetworking.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On Aug 24, 2009, at 9:46 PM, Robert Haas wrote:

> On Mon, Aug 24, 2009 at 10:15 PM, David Fetter<david(at)fetter(dot)org>
> wrote:
>> On Mon, Aug 24, 2009 at 08:02:31PM -0400, Tom Lane wrote:
>>> Josh Berkus <josh(at)agliodbs(dot)com> writes:
>>>>> That is a slightly alarmist. Who are we going to lose these
>>>>> users to?
>>>
>>>> Drizzle. MySQL forks. CouchDB. Any database which has
>>>> replication which you don't need a professional DBA to understand.
>>>> Whether or not it works.
>>>
>>> You haven't explained why we'd lose such folk next year when we
>>> haven't lost them already. MySQL has had replication (or at least
>>> has checked off the bullet point ;-)) for years. I'd be seriously
>>> surprised if any of the forks will offer significantly better
>>> replication than is there now, so the competitive situation is not
>>> changing in that regard.
>>>
>>> It is true that we're missing a chance to pull some folks away while
>>> the situation on that side of the fence is so messy. But I don't
>>> see our situation getting worse because of that, just not getting
>>> better.

One possible reason that replication is more critical now than it was
a year ago is the rise in cloud computing. The ability to fire up
instances on demand is much more useful when some of those boxes can
be database servers and those databases servers can replicate the
primary database and start doing something useful. As far as I can
tell this one feature alone is the one thing that makes it hard to
convince people to migrate away from Mysql despite it's demonstrable
inferiority in many other areas. Postgres seems to be winning
mindshare as the "real" and reliable database of choice for people who
are serious about their data. But for many, many businesses (many of
whom are really not that serious about their data) easy to set up
replication is just too big of a draw, such that you can't get them to
consider anything without it.

I don't know if current postgres users are really going to switch over
existing projects that were built on postgres, but for new apps
running on EC2 or similar I would not be surprised to see people
choosing mysql over postgres solely on this one issue. Databases
scalability is becoming and issue for more and more businesses and
others are filling in the gap. If postgres could combine it's current
deserved reputation for having a robust feature set, standards
compliance, high performance, reliability, stability, etc, with easy
to use replication it would be be a slam dunk, no-brainer decision to
go with postgres on just about anything.

Just my 2 cents.

Rick

P.S. I don't actually use mysql anywhere but I know many who do and
replication is always the sticking point.


From: Jean-Michel Pouré <jm(at)poure(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 14:17:55
Message-ID: 1251296275.9378.33.camel@acer
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Le mercredi 26 août 2009 à 01:36 -0600, Rick Gigger a écrit :
> One possible reason that replication is more critical now than it
> was
> a year ago is the rise in cloud computing. The ability to fire up
> instances on demand is much more useful when some of those boxes can
> be database servers and those databases servers can replicate the
> primary database and start doing something useful. As far as I can
> tell this one feature alone is the one thing that makes it hard to
> convince people to migrate away from Mysql despite it's demonstrable
> inferiority in many other areas.

I think you should have a deep look at
these two manuals that I wrote for Drupal:

Guidelines for writing MySQL and PostgreSQL compliant SQL
http://drupal.org/node/555514

and

Quidelines for writing SQL efficient code:
http://drupal.org/node/559302

I have been using PostgreSQL since 1998. I took part in the development
of pgAdmin 1 and pgAdmin 2. I am very proud of the PostgreSQL community,
but I think it should fix some important issues in the domain of SQL
compliance and compatibility.

When reading developers comments on Drupal web site, it seems that there
is deep misunderstanding between developers and SQL databases. I would
say that 1% of developers know database technology. For example, most
Drupal developers think that an INNER JOIN is faster than a LEFT JOIN.

The reality of facts is that developers will not even test PostgreSQL
and stop using it after the first SQL warning or error.

So I would recommend focussing on usability.

Then you can work on replication and materilized views. You probably
know that a cloud requires several computers. With materialized view, a
single computer can perform 100 times better. I see plenty of of
possibilities to improve speed using materialized views.

But first and firstly ... focus on usability. Then make a pre-release of
a PostgreSQL 8.4.2 release or so ... We need to wipe out this MySQL
issue once for all.

If there is a compat MySQL mode or functions, then include it in core.
This is too important for PostgreSQL success.

Why MySQL usability is achieved add materialized views and MySQL is dead
in the performance statistics, beaten 99% by PostgreSQL.

Kind regards,
Jean-Michel


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: <pgsql-hackers(at)postgresql(dot)org>, Jean-Michel Pouré <jm(at)poure(dot)com>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 14:30:21
Message-ID: 4A9500AD020000250002A257@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Jean-Michel Pouré<jm(at)poure(dot)com> wrote:
> focus on usability.

It's not clear to me what you feel is needed. That could mean many
things....

-Kevin


From: Jean-Michel Pouré <jm(at)poure(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 15:18:07
Message-ID: 1251299887.11115.22.camel@acer
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Le mercredi 26 août 2009 à 09:30 -0500, Kevin Grittner a écrit :
> It's not clear to me what you feel is needed. That could mean many
> things....

Dear Kevin,

I rarely post on Hackers, so I will try to explain:
* I use PostgreSQL since 1998.
* I took part in the development of pgAdmin 1&2.
* I love PostgreSQL and I believe MySQL sucks. Recently I was forced to
use MySQL for Kdenlive.org project and the database sometimes stops
responding sending nothing or crap. I believe that if you use MySQL in
your company for a paid work, you can die of a heart attack.

But at the same time:
* I rewrote very long and tedious queries from PHPBB. Maybe 100 of them.
They are now part of PhpBB3. I drove all queries below 30 ms and this
enables PhpBB to scale easily. I consider this is my work.
* I think Drupal queries presently have performance problems. If I
wanted, I would be able to drive down Drupal web site, using a
collection of simple queries on projects, forum and comments. But I
don't of course.

This is why I wrote http://drupal.org/node/559302 and
http://drupal.org/node/555514

Everytime I try a new Drupal module under PostgreSQL, I run into tiny
SQL problems ranging from error to performance drop. The most
problematic problem is http://drupal.org/node/559986

To fix a problem, I need to open a thread on Drupal web site and wait
for the maintainer to discuss and commit.

To give an example, Drupal includes a query optimizer written in PHP,
which sometimes adds "DISTINCT" to queries. In the forum, some
incredible query fetches 22000 rows, copies the rows to an arrays and
then computes the array. This allows to display previous and next
message.

But we are not going to change the world of MySQL users, which believe
they know SQL programming and in reality are complete beginners, who
like to boast about farms and replication, just like Windows users like
to collect Adobe products on DVDs and discuss with friends about them.

IMHO for what I know from the porting work (I worked heavily on PHPBB3
and now Drupal), the first goal is to achieve compatibility with issues
mentioned there: http://drupal.org/node/555514 and add mysql compat
functions in PostgreSQL core without breaking existing code.

Then I can insure that 99% of MySQL compatibility problems will be
behind.

When this is achieve, we will be able to start education of developers.
And this will take another decade.

To win over MySQL, the best is to work on materialized views. There are
very good articles available from hackers. Why not port to C.
Materialized which which update when the data is needed would be
perfect.

Then we can convince Drupal hackers to add views in the schema. The
trick would be that MySQL would support normal views, whereas we would
also support materialized. We can do the same with nearly all available
frameworks: PhpBB, etc ...

Web apps are 95% of PostgreSQL possible users.

Kind regards,
Jean-Michel


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 15:37:10
Message-ID: 4A9556A6.5010402@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Jean-Michel Pouré wrote:
>
> Everytime I try a new Drupal module under PostgreSQL, I run into tiny
> SQL problems ranging from error to performance drop. The most
> problematic problem is http://drupal.org/node/559986
>

I strongly suspect this post badly mis-diagnoses the problem.

>
> IMHO for what I know from the porting work (I worked heavily on PHPBB3
> and now Drupal), the first goal is to achieve compatibility with issues
> mentioned there: http://drupal.org/node/555514 and add mysql compat
> functions in PostgreSQL core without breaking existing code.
>

That might be your goal, but it's not the community's goal, I believe.
There are already external projects for compatibility libraries. You are
never going to achieve 100% compatibility.

>
> To win over MySQL, the best is to work on materialized views. There are
> very good articles available from hackers. Why not port to C.
> Materialized which which update when the data is needed would be
> perfect.
>

IIRC some work was being done on materialised views.

>
> Web apps are 95% of PostgreSQL possible users.
>

Most applications these days have a web front end. But that doesn't mean
the database needs to be terribly aware of them. To the database, a web
server is just another client.

cheers

andrew


From: Michael Glaesemann <grzm(at)seespotcode(dot)net>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 15:44:11
Message-ID: 655D67A2-DF12-46DE-8100-EB8065254EE1@seespotcode.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On Aug 26, 2009, at 11:18 , Jean-Michel Pouré wrote:

> Web apps are 95% of PostgreSQL possible users.

Where does this figure come from?

Michael Glaesemann
grzm seespotcode net


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: <pgsql-hackers(at)postgresql(dot)org>, Jean-Michel Pouré <jm(at)poure(dot)com>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 15:46:44
Message-ID: 4A951294020000250002A273@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Jean-Michel Pouré<jm(at)poure(dot)com> wrote:
> Kevin Grittner a écrit :
>> It's not clear to me what you feel is needed.

> http://drupal.org/node/559302

These look like performance issues.

> http://drupal.org/node/555514

These are MySQL compatibility issues.

So when you talk about focusing on usablility improvements you mean
that priority should be given to supporting MySQL-specific syntax
extensions and ensuring that there are no queries where the MySQL
optimizer comes up with a more efficient plan than PostgreSQL?

One concern I have is that you don't mention PostgreSQL configuration
in your performance advice, and I seem to remember you said that you
didn't tune your postgresql.conf file beyond boosting the
shared_buffers setting. If that's true, you might be somewhat
surprised with the performance improvements if you tweak just a few
other settings.

You might want to see what suggestions you get from:

http://pgfoundry.org/projects/configurator/

-Kevin


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 16:07:40
Message-ID: 4A955DCC.4020800@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas wrote:
> I am assuming that at least Hot Standby and Streaming Replication will
> likely require two CommitFests to go from the point where they are
> seriously reviewable to actual commit. So if they hit the 9/15 date,
> they should make 8.5 even with just three CommitFests. If they don't
> hit the 9/15 date, then a 3-CommitFest cycle will probably be too
> short for them to make it in. But if we schedule a fourth CommitFest
> in January in the hopes of seeing one of those patches committed, then
> ISTM we're basically speculating that the patch authors will not hit
> the 9/15 date but that they will hit an 11/15 date.

My concern is not just with those features, but with the whole ratio of
the window for new work to the total development cycle. That ratio keeps
going down and the time the tree is effectively frozen to new features
keeps going up. I'd like to see us keep the tree open as long as
possible but be much more ruthless about chopping off things that aren't
ready at the end. That way we can quickly get to a beta and get on with
the next cycle. I realise the idea is that significant features must be
submitted by the penultimate CF, but I'm not too sure how well that's
going to work in practice. That just seems like we're relabelling things
rather than a fundamental change. At the very least my vote goes for
four CFs rather than three.

cheers

andrew


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 16:15:58
Message-ID: 603c8f070908260915k74074d80w30a9aeafb28043b6@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Wed, Aug 26, 2009 at 12:07 PM, Andrew Dunstan<andrew(at)dunslane(dot)net> wrote:
> Robert Haas wrote:
>>
>> I am assuming that at least Hot Standby and Streaming Replication will
>> likely require two CommitFests to go from the point where they are
>> seriously reviewable to actual commit.  So if they hit the 9/15 date,
>> they should make 8.5 even with just three CommitFests.  If they don't
>> hit the 9/15 date, then a 3-CommitFest cycle will probably be too
>> short for them to make it in.  But if we schedule a fourth CommitFest
>> in January in the hopes of seeing one of those patches committed, then
>> ISTM we're basically speculating that the patch authors will not hit
>> the 9/15 date but that they will hit an 11/15 date.
>
> My concern is not just with those features, but with the whole ratio of the
> window for new work to the total development cycle. That ratio keeps going
> down and the time the tree is effectively frozen to new features keeps going
> up.

I think that's a very valid concern. Against that, if release cycles
become very long, then features can hit the tree more of the time, but
they don't get into a released version for ages.

> I'd like to see us keep the tree open as long as possible but be much
> more ruthless about chopping off things that aren't ready at the end. That
> way we can quickly get to a beta and get on with the next cycle

I'm happy to assist with that, but recall that even after we ended CF
2008-11 another four months went by before release. That's a whole
lotta time for the tree to be closed right there.

> I realise
> the idea is that significant features must be submitted by the penultimate
> CF, but I'm not too sure how well that's going to work in practice. That
> just seems like we're relabelling things rather than a fundamental change.
> At the very least my vote goes for four CFs rather than three.

Fair enough, more votes are good.

...Robert


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Robert Haas" <robertmhaas(at)gmail(dot)com>
Cc: <pgsql-hackers(at)postgresql(dot)org>,"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 16:25:47
Message-ID: 4A951BBB020000250002A279@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:

> the window for new work to the total development cycle. That ratio
> keeps going down and the time the tree is effectively frozen to new
> features keeps going up. I'd like to see us keep the tree open as
> long as possible but be much more ruthless about chopping off things
> that aren't ready at the end. That way we can quickly get to a beta
> and get on with the next cycle. I realise the idea is that
> significant features must be submitted by the penultimate CF, but
> I'm not too sure how well that's going to work in practice. That
> just seems like we're relabelling things rather than a fundamental
> change. At the very least my vote goes for four CFs rather than
> three.

Unless the community can reduce the time between the start of the last
commit-fest and the release, you're limited to an average of four
months of programming time per year for new features (assuming that
people are observing the rules about what they should be doing during
commit-fests and beta testing). If you want to move the next release
back into Spring rather than Summer (which is the season in which 8.4
was released -- at least of those of us in the Northern Hemisphere),
you would need to shorten that to three months for this release.

Unless...

Both the ruthless cutting of anything not totally ready at the end of
a commit-fest, *and* reducing the time from the end of the last
commit-fest to release would be needed to get that up to five months
per year. We obviously don't want less testing during the beta cycle,
but delaying the release while the release notes are developed at the
end of the cycle seems like an obvious target for improvement. I'd
bet there are others, though I don't know what they are....

-Kevin


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 17:01:52
Message-ID: 17357.1251306112@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

> Robert Haas wrote:
>> I am assuming that at least Hot Standby and Streaming Replication will
>> likely require two CommitFests to go from the point where they are
>> seriously reviewable to actual commit.

FWIW, I think that both HS and SR are special cases: if we ever see
reviewable patches for them, people will probably be willing to work
on them outside the CommitFest framework. We shouldn't be setting
the schedule with the idea that those will only be dealt with in CFs.
To my mind the CF process is for dealing with "run of the mill" patches.

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> My concern is not just with those features, but with the whole ratio of
> the window for new work to the total development cycle. That ratio keeps
> going down and the time the tree is effectively frozen to new features
> keeps going up.

Yup. This is a huge problem and we need to deal with it somehow. At
the same time, I'm worried that our beta testing process is already
inadequate. We've found several rather embarrassing bugs in 8.4, for
instance, things that should have been found in beta IMO. Shortening
beta or encouraging people to start next-cycle development instead of
testing doesn't seem like a wise move. You can't just develop all
the time, you have to test & debug too ...

regards, tom lane


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 17:20:54
Message-ID: 4A956EF6.6020709@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Tom Lane wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>
>> My concern is not just with those features, but with the whole ratio of
>> the window for new work to the total development cycle. That ratio keeps
>> going down and the time the tree is effectively frozen to new features
>> keeps going up.
>>
>
> Yup. This is a huge problem and we need to deal with it somehow. At
> the same time, I'm worried that our beta testing process is already
> inadequate. We've found several rather embarrassing bugs in 8.4, for
> instance, things that should have been found in beta IMO. Shortening
> beta or encouraging people to start next-cycle development instead of
> testing doesn't seem like a wise move. You can't just develop all
> the time, you have to test & debug too ...
>
>
>

Perhaps some more formalised beta program would be useful. I have at
least one client who could probably be persuaded to devote some
resources to Beta testing. Maybe we need a Beta Program co-ordinator or
some such animal. I suspect that plenty of possible beta testers don't
even know when we go beta.

cheers

andrew


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 17:49:20
Message-ID: 20090826174919.GJ5065@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan escribió:

> Perhaps some more formalised beta program would be useful. I have at
> least one client who could probably be persuaded to devote some
> resources to Beta testing. Maybe we need a Beta Program co-ordinator
> or some such animal. I suspect that plenty of possible beta testers
> don't even know when we go beta.

This seems a good idea. Possibly pushing the betas more aggresively to
current users would make them tested not only by PG hackers ...

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Robert Haas" <robertmhaas(at)gmail(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 17:57:40
Message-ID: 4A953144020000250002A2E4@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:

> Perhaps some more formalised beta program would be useful. I have
> at least one client who could probably be persuaded to devote some
> resources to Beta testing. Maybe we need a Beta Program co-ordinator
> or some such animal. I suspect that plenty of possible beta testers
> don't even know when we go beta.

In some shops it would be necessary to have a date set months in
advance of the start of the beta to have any chance of getting
managers to assign hardware and staff for a really good test. I
usually have to work in tests on my own time on whatever hardware
happens to be in standby status, when I can get it. Hitting such a
date would seem to require a significant change from prior releases;
although the just-completed commit-fest could be taken as evidence
that such a thing is possible.

-Kevin


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 18:26:30
Message-ID: 603c8f070908261126v175fe396n392973b3cca66bbf@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Wed, Aug 26, 2009 at 1:01 PM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Yup.  This is a huge problem and we need to deal with it somehow.  At
> the same time, I'm worried that our beta testing process is already
> inadequate.  We've found several rather embarrassing bugs in 8.4, for
> instance, things that should have been found in beta IMO.  Shortening
> beta or encouraging people to start next-cycle development instead of
> testing doesn't seem like a wise move.  You can't just develop all
> the time, you have to test & debug too ...

Sure, but an aimless mandate to do testing for 4 (or 8, or 12) months
doesn't necessarily buy you much, either. I'm good at focused
activity - but there was nothing focused about 8.4 beta that I could
see. Maybe we need some kind of TestFest process.

...Robert


From: Jean-Michel Pouré <jm(at)poure(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 18:31:48
Message-ID: 1251311508.14302.9.camel@acer
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Dear Kevin

> So when you talk about focusing on usablility improvements you mean
> that priority should be given to supporting MySQL-specific syntax
> extensions and ensuring that there are no queries where the MySQL
> optimizer comes up with a more efficient plan than PostgreSQL?

Yes. PostgreSQL should be able to run MySQL code quoted here:

This is a prerequisite for people to be willing to test and adopt
PostgreSQL. People are not willing to debug frameworks like Drupal and
port them to PostgreSQL. We are quite alone and lost.

> One concern I have is that you don't mention PostgreSQL configuration
> in your performance advice, and I seem to remember you said that you
> didn't tune your postgresql.conf file beyond boosting the
> shared_buffers setting. If that's true, you might be somewhat
> surprised with the performance improvements if you tweak just a few
> other settings.

shared_buffer 24M.

Kind regards,
Jean-Michel


From: "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 18:34:34
Message-ID: 4A95803A.2070206@zeut.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Alvaro Herrera wrote:
> This seems a good idea. Possibly pushing the betas more aggresively to
> current users would make them tested not only by PG hackers ...

Isn't this the purpose of the new alpha releases, at lease to some extent.


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 18:46:43
Message-ID: 18501.1251312403@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

"Matthew T. O'Connor" <matthew(at)zeut(dot)net> writes:
> Alvaro Herrera wrote:
>> This seems a good idea. Possibly pushing the betas more aggresively to
>> current users would make them tested not only by PG hackers ...

> Isn't this the purpose of the new alpha releases, at lease to some extent.

The alpha releases as currently constituted are practically the exact
opposite of what's being suggested here :-(. We are pushing them out
without very much advertisement, and certainly without any formal
program to encourage significant testing. That's more or less forced by
the decision that alpha releases should be low-overhead, but I think
we're unlikely to get wide-ranging test coverage that way.

regards, tom lane


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 19:14:27
Message-ID: 603c8f070908261214q4786162dud4a9cde7fe8a00a4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2009/8/26 Jean-Michel Pouré <jm(at)poure(dot)com>:
> Dear Kevin
>
>> So when you talk about focusing on usablility improvements you mean
>> that priority should be given to supporting MySQL-specific syntax
>> extensions and ensuring that there are no queries where the MySQL
>> optimizer comes up with a more efficient plan than PostgreSQL?
>
> Yes. PostgreSQL should be able to run MySQL code quoted here:
>
> This is a prerequisite for people to be willing to test and adopt
> PostgreSQL. People are not willing to debug frameworks like Drupal and
> port them to PostgreSQL. We are quite alone and lost.

Er, so we should debug Drupal for them? I find it difficult to
believe that's the best use of our time.

>> One concern I have is that you don't mention PostgreSQL configuration
>> in your performance advice, and I seem to remember you said that you
>> didn't tune your postgresql.conf file beyond boosting the
>> shared_buffers setting.  If that's true, you might be somewhat
>> surprised with the performance improvements if you tweak just a few
>> other settings.
>
> shared_buffer 24M.

That doesn't actually respond to anything he said in that paragraph.

...Robert


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 19:17:25
Message-ID: 4A958A45.9090909@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


>> So when you talk about focusing on usablility improvements you mean
>> that priority should be given to supporting MySQL-specific syntax
>> extensions and ensuring that there are no queries where the MySQL
>> optimizer comes up with a more efficient plan than PostgreSQL?

Well, I'd be interested in this just because I *always* want to improve
the optimizer. I think these cases demonstrate places we could improve
our optimizer still further, just as looking for the same cases with
Oracle or SQL Server does.

> Yes. PostgreSQL should be able to run MySQL code quoted here:
>
> This is a prerequisite for people to be willing to test and adopt
> PostgreSQL. People are not willing to debug frameworks like Drupal and
> port them to PostgreSQL. We are quite alone and lost.

First, off, the evidence is against that; people are doing the work to
port things. And creating new projects which are based on Postgres.

Second, we're not going to support MySQL's *bugs* and *bad design
decisions* which is what lazy developers actually want; they want
something exactly the same as MySQL, including bugs. If they want that,
they can use MySQL. We are not MySQL, and trying to out-MySQL MySQL is
stupid, just as it would be to copy Oracle exactly.

Now, there are things which MySQL does better which we should fix,
because they are real problems for our users who already like
PostgreSQL. These include simple replication, upgrade in place, driver
maintenance, covering indexes, MERGE, etc. But we'll do these because
they make *Postgres* better, not because MySQL has them.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: David Fetter <david(at)fetter(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 19:44:46
Message-ID: 20090826194445.GA1722@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Wed, Aug 26, 2009 at 02:46:43PM -0400, Tom Lane wrote:
> "Matthew T. O'Connor" <matthew(at)zeut(dot)net> writes:
> > Alvaro Herrera wrote:
> >> This seems a good idea. Possibly pushing the betas more
> >> aggresively to current users would make them tested not only by
> >> PG hackers ...
>
> > Isn't this the purpose of the new alpha releases, at lease to some
> > extent.
>
> The alpha releases as currently constituted are practically the
> exact opposite of what's being suggested here :-(. We are pushing
> them out without very much advertisement, and certainly without any
> formal program to encourage significant testing. That's more or
> less forced by the decision that alpha releases should be
> low-overhead, but I think we're unlikely to get wide-ranging test
> coverage that way.

How would you recommend that this change?

Cheers,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david(dot)fetter(at)gmail(dot)com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: David Fetter <david(at)fetter(dot)org>
Cc: "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 20:13:05
Message-ID: 19486.1251317585@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

David Fetter <david(at)fetter(dot)org> writes:
> On Wed, Aug 26, 2009 at 02:46:43PM -0400, Tom Lane wrote:
>> The alpha releases as currently constituted are practically the
>> exact opposite of what's being suggested here :-(. We are pushing
>> them out without very much advertisement, and certainly without any
>> formal program to encourage significant testing. That's more or
>> less forced by the decision that alpha releases should be
>> low-overhead, but I think we're unlikely to get wide-ranging test
>> coverage that way.

> How would you recommend that this change?

As far as the alpha releases go, I wouldn't --- I see no evidence that
we have the manpower to formalize them any more than they are now.
I do like the idea of trying to reach out to more beta testers and
manage that phase more aggressively. Maybe if we can make something
happen there, it would be possible to do the same for alphas later.

regards, tom lane


From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 20:20:22
Message-ID: 200908261320.23111.jd@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Wednesday 26 August 2009 12:17:25 pm Josh Berkus wrote:

> > Yes. PostgreSQL should be able to run MySQL code quoted here:
> >
> > This is a prerequisite for people to be willing to test and adopt
> > PostgreSQL. People are not willing to debug frameworks like Drupal and
> > port them to PostgreSQL. We are quite alone and lost.
>
> First, off, the evidence is against that; people are doing the work to
> port things. And creating new projects which are based on Postgres.

Yeah the above is pretty much a non starter anymore. We out rank MySQL on
several polls in terms of popularity. Our channel is growing whereas the MySQL
one is shrinking. Our community isn't splintered and even projects like Drupal
are making it a specific point to fix the original mysql centric design.

> Now, there are things which MySQL does better which we should fix,
> because they are real problems for our users who already like
> PostgreSQL. These include simple replication, upgrade in place, driver
> maintenance, covering indexes, MERGE, etc. But we'll do these because
> they make *Postgres* better, not because MySQL has them.

Agreed.

Joshua D. Drake

--
PostgreSQL.org Major Contributor
Command Prompt, Inc : 503-667-4564 - http://www.commandprompt.com/
Since 1997, Consulting, Development, Support, Training


From: Jean-Michel Pouré <jm(at)poure(dot)com>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 20:44:20
Message-ID: 1251319460.16259.56.camel@acer
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

> Second, we're not going to support MySQL's *bugs* and *bad design
> decisions* which is what lazy developers actually want; they want
> something exactly the same as MySQL, including bugs. If they want
> that,
> they can use MySQL. We are not MySQL, and trying to out-MySQL MySQL
> is
> stupid, just as it would be to copy Oracle exactly.

I understand what you mean.

To tell you how lazy MySQL people are is my last experience in the
Drupal world. In short, on my devel server, Drupal previous/next link
display SQL script returns 21.000 rows.

Of course, it should return only two rows.

The 21.000 rows are then processed step by step by a PHP script.

I open a bug and one of Drupal core developers answers:
"Jean-Michel, this is a friendly warning, please change your behavior.
This is getting really annoying."

In fact, this core developer does not like the way I try to explain how
to use databases. I wrote two tutorials:

http://drupal.org/node/559302
and
http://drupal.org/node/555514

The truth is that Drupal core developers do not believe fixing the
prev/next link script is important. They don't care for SQL and don't
understand the relationship between SQL queries and CPU cycles.

Read this page: http://drupal.org/project/prev_next

This performance issue was known for several months and these MySQL
developers did not even fixed it.

Finally, I escalated to the founder of the Drupal community to ask him
to integrate a proper SQL Previous/Next script into Drupal.

Their last answer: "Holy crap jmpoure, this is not how the community
works. We don't beg to Dries."

Read: http://drupal.org/node/559424

> Now, there are things which MySQL does better which we should fix,
> because they are real problems for our users who already like
> PostgreSQL. These include simple replication, upgrade in place,
> driver
> maintenance, covering indexes, MERGE, etc. But we'll do these because
> they make *Postgres* better, not because MySQL has them.

After reading my story, I hope we can agree that noone is going to port
any MySQL code to PostgreSQL ever. This demands too much intellectual
efforts. Many people will migrate from DB2 and Oracle to PostgreSQL. But
no MySQL developer is going to use PostgreSQL if he needs to modify SQL
queries. I don't want to be offensive, but I really believe it.

So we should support a minimal set of MySQL SQL instructions.

After several years of porting MySQL code to PostrgeSQL, I believe that
this limited list is enough: http://drupal.org/node/555514

This is quite a straightforward need. Without this list of issues,
PostgreSQL may never be able to run popular products developed under
MySQL. Think of all commercial and free software projects. The impact of
MySQLisms are huge. I can only compare it to Windows vs. GNU/Linux or
FreeBSD. This is what comes in mind first.

We are not leaving in a perfect world and there no reason to achieve
perfectness. So let's support this list, please:
http://drupal.org/node/555514

Kind regards,
Jean-Michel


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 20:50:40
Message-ID: 603c8f070908261350r717616fci8936752d442edaa8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2009/8/26 Jean-Michel Pouré <jm(at)poure(dot)com>:
> After reading my story, I hope we can agree that noone is going to port
> any MySQL code to PostgreSQL ever. This demands too much intellectual

Surely this is a complete overgeneralization...

...Robert


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 20:50:58
Message-ID: 200908262050.n7QKowd15743@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Jean-Michel Pour wrote:
> To tell you how lazy MySQL people are is my last experience in the
> Drupal world. In short, on my devel server, Drupal previous/next link
> display SQL script returns 21.000 rows.

Yes, we have seen this too. We have always targeted serious database
developers, and those wanting to be serious. It is difficult to cater
to MySQL eccentricities and maintain a serious database offering.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 20:56:35
Message-ID: 20090826205635.GS5065@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Jean-Michel Pouré wrote:

> We are not leaving in a perfect world and there no reason to achieve
> perfectness. So let's support this list, please:
> http://drupal.org/node/555514

Have you tried Drupal 7? It's said to have many of these corrected.
Maybe you should stop wasting your time with 6.x.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: Greg Stark <gsstark(at)mit(dot)edu>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 21:06:27
Message-ID: 407d949e0908261406h59d154b3t4be8dad880101160@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2009/8/26 Jean-Michel Pouré <jm(at)poure(dot)com>:
> After reading my story, I hope we can agree that noone is going to port
> any MySQL code to PostgreSQL ever. This demands too much intellectual
> efforts. Many people will migrate from DB2 and Oracle to PostgreSQL. But
> no MySQL developer is going to use PostgreSQL if he needs to modify SQL
> queries. I don't want to be offensive, but I really believe it.
>
> So we should support a minimal set of MySQL SQL instructions.
>
> After several years of porting MySQL code to PostrgeSQL, I believe that
> this limited list is enough: http://drupal.org/node/555514
>
> This is quite a straightforward need. Without this list of issues,
> PostgreSQL may never be able to run popular products developed under
> MySQL. Think of all commercial and free software projects. The impact of
> MySQLisms are huge. I can only compare it to Windows vs. GNU/Linux or
> FreeBSD. This is what comes in mind first.
>
> We are not leaving in a perfect world and there no reason to achieve
> perfectness. So let's support this list, please:
> http://drupal.org/node/555514
>

I'm starting to see how you rubbed the Drupal people the wrong way......

Most of the items on your list are misdiagnosed problems or are
features that we think are bugs in MySQL. You would get further asking
questions and for suggestions than you would insisting that you know
better and Postgres should change its interface to match MySQL.

With your current approach you're likely to get dismissed out of hand,
not unlike what I can well believe happened in the Drupal world. That
would be unfortunate because I think there are 2 or 3 real
improvements hidden in your list.

--
greg
http://mit.edu/~gsstark/resume.pdf


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 21:12:47
Message-ID: 1251321167.4418.4.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On ons, 2009-08-26 at 14:26 -0400, Robert Haas wrote:
> Sure, but an aimless mandate to do testing for 4 (or 8, or 12) months
> doesn't necessarily buy you much, either. I'm good at focused
> activity - but there was nothing focused about 8.4 beta that I could
> see. Maybe we need some kind of TestFest process.

Yeah, exactly. I can't imagine end users would know what to do during
beta. Even assuming that you have release notes at the beginning of
beta, you can't expect people to go through every item and do a formal
test for it. Surely it's been tested before, else it would not be in
the release, right?


From: Jean-Michel Pouré <jm(at)poure(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 21:19:41
Message-ID: 1251321581.16259.86.camel@acer
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Le mercredi 26 août 2009 à 22:06 +0100, Greg Stark a écrit :
> With your current approach you're likely to get dismissed out of hand,
> not unlike what I can well believe happened in the Drupal world.
This is the case.

> That
> would be unfortunate because I think there are 2 or 3 real
> improvements hidden in your list.

Then explain I don't have your skills.

Thanks.


From: Jean-Michel Pouré <jm(at)poure(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 21:20:55
Message-ID: 1251321655.16259.88.camel@acer
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Le mercredi 26 août 2009 à 16:56 -0400, Alvaro Herrera a écrit :
> Have you tried Drupal 7? It's said to have many of these corrected.
> Maybe you should stop wasting your time with 6.x.

I am running a large community on the Net and people would like to
migrate our framework to Drupal. We agreed to.

I already assembled 30 modules to develop a complete service.

But it does not scale very well as my testings show that queries are
slow. I wrote SQL guides to inform the Drupal community. It seems that
Drupal developers do not make a relationship between database and CPU
time or memory usage. Therefore Drupal PHP cache is filled with SQL
queries. At it demands more and more memory.

I am probably going to migrate to Drupal 6.x in a few days and I will
fix queries by hand in case of problems. This is what happened when we
migrated to PhpBB.

Bye, Jean-Michel


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: David Fetter <david(at)fetter(dot)org>, "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 21:23:53
Message-ID: 4A95A7E9.9090201@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Tom, all,

> As far as the alpha releases go, I wouldn't --- I see no evidence that
> we have the manpower to formalize them any more than they are now.
> I do like the idea of trying to reach out to more beta testers and
> manage that phase more aggressively. Maybe if we can make something
> happen there, it would be possible to do the same for alphas later.

Well, we need a concrete list of things to beta test if we want people
to do this in any organized fashion. It's easy enough for us to say "we
need beta testers"; but without telling our community *what* to test,
people just download, compile, do a select * from table, and say "it works".

Once we have a list, we can launch a simple app/wiki page where people
can report results of their tests.

Without all that, the task is too amorphous for us to expect much from
the community-at-large.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Fetter <david(at)fetter(dot)org>, "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 21:35:35
Message-ID: 4A95AAA7.9080105@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Josh Berkus wrote:
> Tom, all,
>
>
>> As far as the alpha releases go, I wouldn't --- I see no evidence that
>> we have the manpower to formalize them any more than they are now.
>> I do like the idea of trying to reach out to more beta testers and
>> manage that phase more aggressively. Maybe if we can make something
>> happen there, it would be possible to do the same for alphas later.
>>
>
> Well, we need a concrete list of things to beta test if we want people
> to do this in any organized fashion. It's easy enough for us to say "we
> need beta testers"; but without telling our community *what* to test,
> people just download, compile, do a select * from table, and say "it works".
>
> Once we have a list, we can launch a simple app/wiki page where people
> can report results of their tests.
>
> Without all that, the task is too amorphous for us to expect much from
> the community-at-large.
>
>

Actually, what I had in mind was getting people to run their
applications etc. in some non-production environment on the beta. I
talked to a client today and he said "sure, we have several development
environments and we can put one or two on the beta and then let the
developers just do their thing on it." Testing the things we know about
is in a way less important than making sure nothing else got broken.

cheers

andrew


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 21:48:01
Message-ID: 603c8f070908261448j5fd5d46ag2e533173280b99ae@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Wed, Aug 26, 2009 at 5:12 PM, Peter Eisentraut<peter_e(at)gmx(dot)net> wrote:
> On ons, 2009-08-26 at 14:26 -0400, Robert Haas wrote:
>> Sure, but an aimless mandate to do testing for 4 (or 8, or 12) months
>> doesn't necessarily buy you much, either.  I'm good at focused
>> activity - but there was nothing focused about 8.4 beta that I could
>> see.  Maybe we need some kind of TestFest process.
>
> Yeah, exactly.  I can't imagine end users would know what to do during
> beta.  Even assuming that you have release notes at the beginning of
> beta, you can't expect people to go through every item and do a formal
> test for it.  Surely it's been tested before, else it would not be in
> the release, right?

I would sure hope so. Testing features individually makes a whole lot
more sense to me than testing the release as a whole. Just trying a
bunch of random stuff and seeing if anything breaks is not a very
productive activity. On the other hand, testing individual features
is frequently very productive, but it's my understanding of the way PG
does things that that is supposed to happen before the patch is
committed.

It appears to me that most of the really nasty bugs that have been
found in 8.4.0 relate to one of the following three things, each of
which seems to be related to multiple back-branch commits.

1. SEMI/ANTI join support.
2. running the bgwriter during recovery (infrastructure changes for recovery)
3. deadman switch

Maybe some of these weren't tested well enough prior to commit? Or
perhaps they're just more significant changes and therefore likely
spots for rough edges.

I think there is a lot of merit (as Andrew suggests) in running a
production application on a beta version of the database just to see
if anything funny happens. But insisting that all PG developers stop
doing development to focus ONLY on that activity doesn't seem very
reasonable: not everyone is well-placed to do that kind of experiment,
or cares to do so. Conversely, there are many people who are NOT
developers who ARE well-placed to beta test (for example, Kevin
Grittner does a lot more testing than he does development, and I think
there are few people on this mailing list who would argue that the
quality of that testing is any less than kickass).

...Robert


From: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 22:03:05
Message-ID: m2ws4q44iu.fsf@hi-media.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Hi,

Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> On ons, 2009-08-26 at 14:26 -0400, Robert Haas wrote:
>> Sure, but an aimless mandate to do testing for 4 (or 8, or 12) months
>> doesn't necessarily buy you much, either. I'm good at focused
>> activity - but there was nothing focused about 8.4 beta that I could
>> see. Maybe we need some kind of TestFest process.
>
> Yeah, exactly. I can't imagine end users would know what to do during
> beta. Even assuming that you have release notes at the beginning of
> beta, you can't expect people to go through every item and do a formal
> test for it. Surely it's been tested before, else it would not be in
> the release, right?

Well we all know that developpers are really bad at testing, because
they tend to test for cases they though about while developping the code
rather than being creative and running a full application against the
overall new product.

Now, it could be that what we miss is some tool suite to enable
application people to test their full code against our new releases and
check results, performance, plans, etc.

I know about a couple of tools to get there, Tsung and Playr. And the
focus is performance testing and scalability, not that it still works.

Is the offering good enough? We might need to run some kind of tutorials
for users to be able to run large tests easily, and maybe think about
some newer tools allowing to compare logs of two application runs in two
database versions (capture all queries and result in a database, then
have a way to diff). Then beta testing would mean having a spare machine
where to run the magic regression test suite against some internal
application.

Regards,
--
dim

Tsung: http://tsung.erlang-projects.org/
Playr: https://area51.myyearbook.com/trac.cgi/wiki/Playr

PS: sql level unit testing isn't an answer here as it means the
application already have the tests when entering beta. Hard sell.


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 22:15:18
Message-ID: 20440.1251324918@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Wed, Aug 26, 2009 at 5:12 PM, Peter Eisentraut<peter_e(at)gmx(dot)net> wrote:
>> ... Surely it's been tested before, else it would not be in
>> the release, right?

> I would sure hope so. Testing features individually makes a whole lot
> more sense to me than testing the release as a whole. Just trying a
> bunch of random stuff and seeing if anything breaks is not a very
> productive activity.

I beg to disagree. New features have presumably been tested, in
isolation, by the original developer and reviewers. The things we tend
to miss are bad side-effects on corner cases and seemingly-unrelated
features. So "testing as a whole" is exactly what beta is for, to my
mind.

> I think there is a lot of merit (as Andrew suggests) in running a
> production application on a beta version of the database just to see
> if anything funny happens.

... but here we seem to be coming out at the same place anyway. Getting
people to put their existing apps onto a beta is very productive.
We have to encourage people to do more of that while it's still beta,
instead of waiting till .0 or .1 or later.

regards, tom lane


From: Greg Stark <gsstark(at)mit(dot)edu>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 22:18:26
Message-ID: 407d949e0908261518r2edfbfc3x6e492e309280e720@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2009/8/26 Jean-Michel Pouré <jm(at)poure(dot)com>:
> Le mercredi 26 août 2009 à 22:06 +0100, Greg Stark a écrit :
>> That
>> would be unfortunate because I think there are 2 or 3 real
>> improvements hidden in your list.
>
> Then explain I don't have your skills.

What I'm suggesting is that you should take a different direction,
both with Drupal and with us. Instead of saying Postgres is wrong
because of your analysis, ask why what's going wrong and what the
right way to fix it is. So instead of telling people what to do
you're asking for their help. People are a lot more friendly when
asked for help than when being bossed around.

Your list:

> PostgreSQL and MySQL do not use the same concatenation funtions (D6 only, fixed in D7)

Personally I don't see a problem with us adding this to Postgres now
that we have variadic functions. I'm not sure why others are so
dead-set against it; it seems a lot less burdensome than some of the
Oracle compatibility stuff we have.

> PostgreSQL does CAST implicitely between int and a domain derived from int (unsolved)

This is misdiagnosed. It's not clear where the problem lies if there's
a problem but it likely has nothing to do with the cast. If you posted
with information and asked for help people would suggest things to
test to get more information and eventually find the best way to fix
it.

> PostgreSQL does not allow DELETE on JOINS
> PostgreSQL does not allow UPDATE or DELETE on multiple tables (not solved)

These are a open issues. I would like to have better support here but
it's a major feature, not just a minor compatibility issue. Again if
you posted the queries and asked for suggestions people would help you
rewrite the queries.

> PostgreSQL does not allow mutiple ROW inserts (PostgreSQL 8.2 + only)

As you point out this was added to Postgres 3 years ago

> PostgreSQL does not allow nested ORDER BY

I don't think this is something we're interested in doing. The grammar
is hard enough to maintain as it is.

> PostgreSQL does not automatically cast data between BOOLEAN and INT
> PostgreSQL does not automatically cast data between INT and VARCHAR/CHAR

These are things we've gone out of our way to NOT do. At some cost
too. Being loose here makes it easy to miss errors in your SQL.

> PostgreSQL requires all non-aggregated fields to be present in the GROUP BY clause

As I explained at length we could do something here but it would be a
major feature and it would still not be compatible with MySQL unless
you happen to be using it in a particular (common) way. For more
general uses you have to use DISTINCT ON.

> PostgreSQL requires single quotes and not double-quotes

There's no way in the world we would switch this. We're an SQL engine
and we parse the SQL language which uses quotes in a certain way. If
we switched this we would be parsing some other very different
language and everything else written in SQL (including, say, internal
queries for referential integrity checks or psql tab completion or
pg_dump) would break.

--
greg
http://mit.edu/~gsstark/resume.pdf


From: Greg Stark <gsstark(at)mit(dot)edu>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 22:22:41
Message-ID: 407d949e0908261522m26e27ae3l76db0d7945bfb9fc@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2009/8/26 Greg Stark <gsstark(at)mit(dot)edu>:
>> PostgreSQL does not automatically cast data between BOOLEAN and INT
>> PostgreSQL does not automatically cast data between INT and VARCHAR/CHAR
>
> These are things we've gone out of our way to NOT do. At some cost
> too. Being loose here makes it easy to miss errors in your SQL.

Actually it always bothered me that we don't have implicit casts from
integer->boolean. I can't see any ambiguity or unintentional effects
this would cause problems with. Am I missing something?

--
greg
http://mit.edu/~gsstark/resume.pdf


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Greg Stark <gsstark(at)mit(dot)edu>
Cc: Jean-Michel Pouré <jm(at)poure(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 22:24:29
Message-ID: 200908262224.n7QMOTL14103@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Greg Stark wrote:
> > PostgreSQL and MySQL do not use the same concatenation funtions (D6 only, fixed in D7)
>
> Personally I don't see a problem with us adding this to Postgres now
> that we have variadic functions. I'm not sure why others are so
> dead-set against it; it seems a lot less burdensome than some of the
> Oracle compatibility stuff we have.

The Oracle functions are there to add functionality that can't be easily
performed using ANSI syntax; this is not true of concact() and ||.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Greg Stark" <gsstark(at)mit(dot)edu>,<pgsql-hackers(at)postgresql(dot)org>
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 22:30:09
Message-ID: 4A957121020000250002A35D@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Greg Stark <gsstark(at)mit(dot)edu> wrote:

> Actually it always bothered me that we don't have implicit casts
> from integer->boolean. I can't see any ambiguity or unintentional
> effects this would cause problems with. Am I missing something?

I'd be at least a little bit concerned about how such automatic
casting to boolean might interact with bug #3822:

http://archives.postgresql.org/pgsql-bugs/2007-12/msg00145.php

-Kevin


From: Greg Stark <gsstark(at)mit(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 22:35:04
Message-ID: 407d949e0908261535y79cba505he1db37755490d29d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Wed, Aug 26, 2009 at 11:15 PM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> ... but here we seem to be coming out at the same place anyway.  Getting
> people to put their existing apps onto a beta is very productive.
> We have to encourage people to do more of that while it's still beta,
> instead of waiting till .0 or .1 or later.

+1 for the goal being to get users to test their applications on beta.

I also wonder if we've adopted the wrong strategy with betas by
stopping development during them. It seems to be the worst of both
worlds in that both developers and users are unhappy.

Perhaps we should fork 8.6 right away after 8.5.beta is released (I'm
assuming *after* any open issues are closed) and start a commitfest
with any pending patches. While we do that call for users to test
8.5.beta with their applications and wait a fixed amount of time for
any bugs to turn up. That lets us have a long beta period for users to
test on without stopping development.

--
greg
http://mit.edu/~gsstark/resume.pdf


From: Guillaume Smet <guillaume(dot)smet(at)gmail(dot)com>
To: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 22:48:50
Message-ID: 1d4e0c10908261548n7d30da75we3ae19a21319b8ef@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 12:03 AM, Dimitri
Fontaine<dfontaine(at)hi-media(dot)com> wrote:
> Is the offering good enough? We might need to run some kind of tutorials
> for users to be able to run large tests easily, and maybe think about
> some newer tools allowing to compare logs of two application runs in two
> database versions (capture all queries and result in a database, then
> have a way to diff). Then beta testing would mean having a spare machine
> where to run the magic regression test suite against some internal
> application.

Well, people may recall I spent a lot of time testing 8.3 before and
during beta. The important words are "a lot of time", probably one
month full time spread on 3 months to find *only* 3 problems Tom,
Alvarro and Andrew fixed: yes one month for only 3 problems
identified, reported, discussed and fixed.
The problem isn't to connect your application to the database - it's
the easy part: if you have a large one, you probably won't see the
anomalies.
The application I used for my tests is displaying every SQL query at
the bottom of the page with the time spent executing the query, I was
switching from the 8.1 site to the 8.3 site to check everything
manually.
I also got all the urls of this application (more than one million),
and use a load test tool to load each page and pgFouine to grab any
error from the PostgreSQL logs.

Even with these information and this work, I'm pretty sure I would
have missed a join problem which would have returned 2 or 3 more rows
even with the time I spent working on it.

My plan at the time was to develop an application which would parse
the query logs from the server, replay the queries on 2 PG servers
with both versions and report me the anomalies (difference in the
number of rows, difference in the content, queries slower than with
the old version).

I haven't had the opportunity to work on the 8.4 beta test due to my
daily (and often nightly) job work load but the idea is still there
and IMHO it's really necessary if we want to be able to detect the
problems we only discovered after the release.

--
Guillaume


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-26 22:51:33
Message-ID: 4A95BC75.40600@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Jean-Michel,

> The truth is that Drupal core developers do not believe fixing the
> prev/next link script is important. They don't care for SQL and don't
> understand the relationship between SQL queries and CPU cycles.

I doubt this would be an accurate description of all Drupal developers.
The Drupal developers I've met have been very intelligent; most don't
know much about SQL database, but then I know zero JavaScript so we're even.

The answer to this is to be educational and not confrontational. And
submit patches ... to a current development version and not an old version.

> After reading my story, I hope we can agree that noone is going to port
> any MySQL code to PostgreSQL ever.

Again, the evidence is against you.

> So we should support a minimal set of MySQL SQL instructions.

In a loadable module, sure. Patches?

> After several years of porting MySQL code to PostrgeSQL, I believe that
> this limited list is enough: http://drupal.org/node/555514

There's other stuff as well. Also, see the updates people have made to
your list.

> can only compare it to Windows vs. GNU/Linux or
> FreeBSD. This is what comes in mind first.

Well, I don't use Windows either. So that's a pretty weak argument with
me ...

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 23:25:44
Message-ID: 1251329144.4418.19.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On ons, 2009-08-26 at 18:15 -0400, Tom Lane wrote:
> > I think there is a lot of merit (as Andrew suggests) in running a
> > production application on a beta version of the database just to see
> > if anything funny happens.
>
> ... but here we seem to be coming out at the same place anyway. Getting
> people to put their existing apps onto a beta is very productive.
> We have to encourage people to do more of that while it's still beta,
> instead of waiting till .0 or .1 or later.

I think people should be running their applications' system tests on top
of the new PostgreSQL. Just installing the application, clicking three
buttons, and I-don't-have-more-time-than-this helps a little but not
much.

Of course many people won't have system tests, which is why this process
is a problem.

To pick up a current example: "Drupal system tests pass with 8.5betaN"
is nice and useful. "I ran our app on 8.5betaN and didn't see any
issues" is interesting, but ultimately doesn't help much.

Much of the delay and uncertainty during beta in my mind comes from the
situation that we wait for negative results and don't trust the release
until we have seen and fixed enough of them. Instead of waiting for
concrete, positive results and producing the release with confidence.


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 23:39:12
Message-ID: 200908262339.n7QNdCc25951@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Peter Eisentraut wrote:
> Much of the delay and uncertainty during beta in my mind comes from the
> situation that we wait for negative results and don't trust the release
> until we have seen and fixed enough of them. Instead of waiting for
> concrete, positive results and producing the release with confidence.

Yep, that is our dilemma.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Rick Gigger <rick(at)alpinenetworking(dot)com>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-26 23:51:58
Message-ID: 4E1B1701-67AE-4ED5-A8CA-AD1B0CFB77CC@alpinenetworking.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On Aug 26, 2009, at 8:17 AM, Jean-Michel Pouré wrote:

> Le mercredi 26 août 2009 à 01:36 -0600, Rick Gigger a écrit :
>> One possible reason that replication is more critical now than it
>> was
>> a year ago is the rise in cloud computing. The ability to fire up
>> instances on demand is much more useful when some of those boxes can
>> be database servers and those databases servers can replicate the
>> primary database and start doing something useful. As far as I can
>> tell this one feature alone is the one thing that makes it hard to
>> convince people to migrate away from Mysql despite it's demonstrable
>> inferiority in many other areas.
>
> I think you should have a deep look at
> these two manuals that I wrote for Drupal:
>
> Guidelines for writing MySQL and PostgreSQL compliant SQL
> http://drupal.org/node/555514
>
> and
>
> Quidelines for writing SQL efficient code:
> http://drupal.org/node/559302
>
> I have been using PostgreSQL since 1998. I took part in the
> development
> of pgAdmin 1 and pgAdmin 2. I am very proud of the PostgreSQL
> community,
> but I think it should fix some important issues in the domain of SQL
> compliance and compatibility.
>
> When reading developers comments on Drupal web site, it seems that
> there
> is deep misunderstanding between developers and SQL databases. I would
> say that 1% of developers know database technology. For example, most
> Drupal developers think that an INNER JOIN is faster than a LEFT JOIN.
>
> The reality of facts is that developers will not even test PostgreSQL
> and stop using it after the first SQL warning or error.
>
> So I would recommend focussing on usability.
>
> Then you can work on replication and materilized views. You probably
> know that a cloud requires several computers. With materialized
> view, a
> single computer can perform 100 times better. I see plenty of of
> possibilities to improve speed using materialized views.
>
> But first and firstly ... focus on usability. Then make a pre-
> release of
> a PostgreSQL 8.4.2 release or so ... We need to wipe out this MySQL
> issue once for all.
>
> If there is a compat MySQL mode or functions, then include it in core.
> This is too important for PostgreSQL success.
>
> Why MySQL usability is achieved add materialized views and MySQL is
> dead
> in the performance statistics, beaten 99% by PostgreSQL.

This may be your experience and maybe there are stats to back this
up. I was simply saying, that in my experience I have consulted with
companies using cloud computing services (ie EC2) and mysql. They are
performance conscious. When they have to fire up more boxes, they pay
for it immediately. When they ran into problems getting good
performance out of mysql it was very easy to show them how to get
better performance using postgres. (Often this was just: do the same
thing in postgres, and look, it's faster!). But they also rely on
replication to be able to scale. And without it they just weren't
interested.

Porting any project has it's own set of issues, I was speaking to the
case where people are evaluating databases for a new project. I was
not however trying to make any kind of statement as too how important
it is as compared to any other specific feature.

I was just trying to say that in my experience current trends indicate
that having easy to set up replication is getting more important over
time, not less, and not the same. Other features may be more
important. Getting it right is certainly more important that getting
it soon (for reasonable values of "soon" and "right" of course IMHO).
The experience of others my be totally different, but that is mine.

Just wanted to clarify what I was actually trying to say because this
response seems to indicate that I didn't make certain things clear.

- Rick


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Greg Stark <gsstark(at)mit(dot)edu>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-27 00:24:00
Message-ID: 25012.1251332640@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Greg Stark <gsstark(at)mit(dot)edu> writes:
> Actually it always bothered me that we don't have implicit casts from
> integer->boolean. I can't see any ambiguity or unintentional effects
> this would cause problems with. Am I missing something?

Personally, as an old Pascal-lover, I always thought that C's failure
to distinguish between int and boolean was the single biggest design
mistake in the language. I'm very glad that SQL doesn't make that
mistake, and I don't want to go against the standard to introduce it.

regards, tom lane


From: Stephen Frost <sfrost(at)snowman(dot)net>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Fetter <david(at)fetter(dot)org>, "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 01:30:18
Message-ID: 20090827013018.GA23840@tamriel.snowman.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

* Andrew Dunstan (andrew(at)dunslane(dot)net) wrote:
> Actually, what I had in mind was getting people to run their
> applications etc. in some non-production environment on the beta. I
> talked to a client today and he said "sure, we have several development
> environments and we can put one or two on the beta and then let the
> developers just do their thing on it." Testing the things we know about
> is in a way less important than making sure nothing else got broken.

I agree entirely with Andrew here- what we need are a set of users who
would be willing to run their actual applications against a beta release
in a testing environment. The Beta-Mom position would be working with
some list of users who've volunteered to do that; prodding them when a
new beta comes out, poking them for feedback, working with them on
issues they run into, etc.

The other possible group of users are those who are interested and
willing to beta-test actual new external-facing features. That'd be
great to have as well, but I don't believe is as important. New
features having bugs are a much smaller impact, overall, than bugs which
have been introduced in existing code-paths due to changes.

Thanks,

Stephen


From: Greg Stark <gsstark(at)mit(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-27 02:04:37
Message-ID: 407d949e0908261904g3440b4b8w7516cb0c55b87f3c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 1:24 AM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Greg Stark <gsstark(at)mit(dot)edu> writes:
>> Actually it always bothered me that we don't have implicit casts from
>> integer->boolean. I can't see any ambiguity or unintentional effects
>> this would cause problems with. Am I missing something?
>
> Personally, as an old Pascal-lover, I always thought that C's failure
> to distinguish between int and boolean was the single biggest design
> mistake in the language.  I'm very glad that SQL doesn't make that
> mistake, and I don't want to go against the standard to introduce it.

I'm sure I can think of bigger flaws in C than that :)

I tend to think SQL has more in common with lisp than either of those,
perhaps because of the tinge of functional programming style.

But I think you're generalizing my suggestion to the point of building
a straw man to say "failure to distinguish". You could argue that
using a boolean in places where integers are expected could be
confusing or dangerous. But using other data types where boolean
values are expected is perfectly reasonable and safe -- especially in
cases like integer where people do expect it to work and the behaviour
is very predictable.

--
greg
http://mit.edu/~gsstark/resume.pdf


From: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 03:14:34
Message-ID: 4A95FA1A.7020508@cheapcomplexdevices.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Tom Lane wrote:
> Josh Berkus <josh(at)agliodbs(dot)com> writes:
>>> That is a slightly alarmist. Who are we going to lose these users to?
>
>> Drizzle. MySQL forks. CouchDB. Any database which has replication
>> which you don't need a professional DBA to understand. Whether or not
>> it works.
>
> You haven't explained why we'd lose such folk next year when we haven't
> lost them already. MySQL has had replication (or at least has checked
> off the bullet point ;-)) for years.

I think it's a slow but ongoing stream of organizations that are
switching away using logic similar to the thoughts outlined here:

http://archives.postgresql.org/pgsql-hackers/2008-05/msg00955.php
"...switched their bugzilla from Postgres to MySQL because the
admins didn't want to deal with Slony any more. People want simple."

MySQL may not have caught postgres in a number of ways yet, but
it's good enough now for many of the things it wasn't good enough
for earlier. And if it's good enough and easier, it's easy to switch.


From: Greg Stark <gsstark(at)mit(dot)edu>
To: Stephen Frost <sfrost(at)snowman(dot)net>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Josh Berkus <josh(at)agliodbs(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Fetter <david(at)fetter(dot)org>, "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 04:04:44
Message-ID: 407d949e0908262104o10a625b4vc51de49df9b04950@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 2:30 AM, Stephen Frost<sfrost(at)snowman(dot)net> wrote:
> I agree entirely with Andrew here- what we need are a set of users who
> would be willing to run their actual applications against a beta release
> in a testing environment.  The Beta-Mom position would be working with
> some list of users who've volunteered to do that; prodding them when a
> new beta comes out, poking them for feedback, working with them on
> issues they run into, etc.

I don't think we need the Beta-Mom to work with them on issues they
run into. We want to hear those things on the mailing lists.

But I do think the idea of having someone being Beta-Mom is a good
idea because of this simple point: right now we don't know if we have
any beta testers. All we hear about is when they run into problems.
What we want to know is how many people have run their applications
and *not* had problems.

So I see the Beta-Mom as being in charge of:

Gathering a list of volunteers willing to report results
For each volunteer getting a list of features they tested
For each volunteer getting a "yay" or "nay" report

Ideally we would want to know that people have run their application
frameworks for a certain length of time, with slave databases set up,
with slony set up, tested failover, with various pluggable langauges,
with various contrib modules, with large objects, with full text
search, etc.

Once we have a reasonable number of positive reports covering a wide
range of heavy-duty configuration then we can start to base our
confidence with going ahead with a release on those positive reports
rather than simply on the amount of time that's passed without a
problem.

--
greg
http://mit.edu/~gsstark/resume.pdf


From: Tino Wildenhain <tino(at)wildenhain(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Greg Stark <gsstark(at)mit(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-27 08:23:20
Message-ID: 4A964278.3060609@wildenhain.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Tom Lane wrote:
> Greg Stark <gsstark(at)mit(dot)edu> writes:
>> Actually it always bothered me that we don't have implicit casts from
>> integer->boolean. I can't see any ambiguity or unintentional effects
>> this would cause problems with. Am I missing something?
>
> Personally, as an old Pascal-lover, I always thought that C's failure
> to distinguish between int and boolean was the single biggest design
> mistake in the language. I'm very glad that SQL doesn't make that
> mistake, and I don't want to go against the standard to introduce it.

Then you should love Python where everything non-empty is regarded True
in boolean context ;-)

Cheers
Tino


From: Jean-Michel Pouré <jm(at)poure(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: postgresql.conf settings autoconfiguration
Date: 2009-08-27 10:00:01
Message-ID: 1251367201.7524.7.camel@acer
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Dear all,

Just a quick message about postgresql.conf auto-configuration.

When MySQL users test PostgreSQL, they load their data and run simple
SQL queries. If postgresql.conf is configured with default values, it
may produce slow results.

Would there be a way for postgresql.conf to auto configure?

This is how MySQL works. Nothing is configurable. And people love it. So
why not implement a simple auto configuration mechanism which would set
basic parameters.

Example
autotune=true;
autotune_profile='web site';
autotune_profile='dedicated SQL server';

...

Kind regards,
Jean-Michel


From: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Greg Stark <gsstark(at)mit(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-27 10:07:12
Message-ID: 4A965AD0.60605@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Tom Lane írta:
> Greg Stark <gsstark(at)mit(dot)edu> writes:
>
>> Actually it always bothered me that we don't have implicit casts from
>> integer->boolean. I can't see any ambiguity or unintentional effects
>> this would cause problems with. Am I missing something?
>>
>
> Personally, as an old Pascal-lover, I always thought that C's failure
> to distinguish between int and boolean was the single biggest design
> mistake in the language.

On the other hand, the first two programming languages I have learnt
was Sinclair ZX Spectrum BASIC and Z80 assembly,
I welcomed C being so near to assembly... :-)

> I'm very glad that SQL doesn't make that
> mistake, and I don't want to go against the standard to introduce it.
>

In that we agree. SQL is not C.

Best regards,
Zoltán Böszörményi

--
Bible has answers for everything. Proof:
"But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
than these cometh of evil." (Matthew 5:37) - basics of digital technology.
"May your kingdom come" - superficial description of plate tectonics

----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
http://www.postgresql.at/


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 13:58:42
Message-ID: 603c8f070908270658n26ed7c44gfc52675a8a3a23e8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Wed, Aug 26, 2009 at 7:39 PM, Bruce Momjian<bruce(at)momjian(dot)us> wrote:
> Peter Eisentraut wrote:
>> Much of the delay and uncertainty during beta in my mind comes from the
>> situation that we wait for negative results and don't trust the release
>> until we have seen and fixed enough of them.  Instead of waiting for
>> concrete, positive results and producing the release with confidence.
>
> Yep, that is our dilemma.

To get positive results in which you can have confidence, you have to
know that the testing which was done actually did a reasonably good
job exercising the code in a way that would have flushed out bugs, had
any been present. That sounds a lot like the definition of a
regression test suite. Of course, we have that already, but it's
nowhere near comprehensive. Maybe we should be looking at an expanded
test suite that runs on a time scale of hours rather than seconds.
Actually, didn't Peter talk about something like this at PGCon?

I don't think that any test suite is going to eliminate the need for
beta-testing. But if we could say that we had a regression test suite
which covered X% of our code, and it passed on all Y platforms tested,
that would certainly be a confidence booster, especially for large
values of X. What we're basically doing now is hoping that
beta-testers come up with some novel tests, and that's a bit
hit-or-miss.

Part of the question, of course, is how to build up such a regression
test suite. One way to do it is try to add a test every time you fix
a bug, such that the new test fails on the unpatched code and passes
with the fix... or we could have a expanded-regression-test only
commitfest during beta, or something. I think people would be willing
to put in some work on this. I certainly would. I run the regression
tests frequently during development but unless I'm making system
catalog changes they rarely catch anything. I'm not prepared to write
the whole thing myself, but I would definitely be willing to develop
and contribute some tests.

...Robert


From: Jean-Michel Pouré <jm(at)poure(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-27 14:05:26
Message-ID: 1251381926.11260.22.camel@acer
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Le mercredi 26 août 2009 à 15:51 -0700, Josh Berkus a écrit :
> I doubt this would be an accurate description of all Drupal
> developers.

My opinion was :

Before adding replication to PostgreSQL, it would be better to support a
basic set of MySQL syntax seems relevant:

DELETE FROM table1, table2 FROM table1 INNER JOIN table2 ON ...
UPDATE table1, table1 SET table1.foo=1, table2.bar=3 WHERE table1.foo=2
INNER JOIN table2 ...,
etc ...

There is not much to add to PostgreSQL, but it seems relevant.

Otherwise, replicating some MySQL SQL syntax will not work.

As you know, people willing to use PostgreSQL replication are possibly
already MySQL replication users. So if they test and PostgreSQL fails,
this is too bad.

Drupal was only an example, I did not mean to criticize all Drupal
developers. Just to say they focus on PHP and not SQL. They don't have
time to port MySQL code. Besides, they are very nice people.

So I apologize for this short (false) focus.

Bye, Jean-Michel


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Robert Haas" <robertmhaas(at)gmail(dot)com>, "Bruce Momjian" <bruce(at)momjian(dot)us>
Cc: "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Peter Eisentraut" <peter_e(at)gmx(dot)net>, <pgsql-hackers(at)postgresql(dot)org>,"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 14:07:05
Message-ID: 4A964CB9020000250002A3DE@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> wrote:

> Maybe we should be looking at an expanded test suite that runs on a
> time scale of hours rather than seconds.

> if we could say that we had a regression test suite which covered X%
> of our code, and it passed on all Y platforms tested, that would
> certainly be a confidence booster, especially for large values of X.

> Part of the question, of course, is how to build up such a
> regression test suite.

Aren't there code coverage monitoring tools that could be run during
regression tests? Sure it would take some time to review the results
and fashion tests to exercise chunks of code which were missed, but at
least we could quantify X and try to make incremental progress on
increasing it....

-Kevin


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 14:11:24
Message-ID: 3050.1251382284@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> ... That sounds a lot like the definition of a
> regression test suite. Of course, we have that already, but it's
> nowhere near comprehensive. Maybe we should be looking at an expanded
> test suite that runs on a time scale of hours rather than seconds.

mysql's got one of those, and I haven't noticed that it's kept their
defect rate down any. Hour-long regression suites are the sort of
thing developers won't run. Worse, regression suites are necessarily
designed to exercise only 100%-reproducible behavior.

> I don't think that any test suite is going to eliminate the need for
> beta-testing.

Precisely...

What I'd like to see is some sort of test mechanism for WAL recovery.
What I've done sometimes in the past (and recently had to fix the tests
to re-enable) is to kill -9 a backend immediately after running the
regression tests, let the system replay the WAL for the tests, and then
take a pg_dump and compare that to the dump gotten after a conventional
run. However this is quite haphazard since (a) the regression tests
aren't especially designed to exercise all of the WAL logic, and (b)
pg_dump might not show the effects of some problems, particularly not
corruption in non-system indexes. It would be worth the trouble to
create a more specific test methodology.

In short: merely making the tests bigger doesn't impress me in the
least. Focused testing on areas we aren't covering at all could be
worth the trouble.

regards, tom lane


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 15:05:11
Message-ID: 603c8f070908270805o132cf15ckbbeef948e71beca4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 10:11 AM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> ... That sounds a lot like the definition of a
>> regression test suite.  Of course, we have that already, but it's
>> nowhere near comprehensive.  Maybe we should be looking at an expanded
>> test suite that runs on a time scale of hours rather than seconds.
>
> mysql's got one of those, and I haven't noticed that it's kept their
> defect rate down any.  Hour-long regression suites are the sort of
> thing developers won't run.

Well, I'll run them. And I bet we could get volunteers to provide
machines to run them every night, too, against CVS HEAD. This has
been discussed before, and I wasn't the one who suggested it. I can't
speak to the value (or lack thereof) of mysql's regression test suite
as I know nothing about it, but even if it is completely worthless
that does not prove that a worthwhile test suite can't be constructed.

> Worse, regression suites are necessarily
> designed to exercise only 100%-reproducible behavior.

That is true, but our current testing methodology (hoping the
beta-testers find the bugs) seems not to be completely satisfactory
either. Which brings us to:

>> I don't think that any test suite is going to eliminate the need for
>> beta-testing.
>
> Precisely...
>
> What I'd like to see is some sort of test mechanism for WAL recovery.
> What I've done sometimes in the past (and recently had to fix the tests
> to re-enable) is to kill -9 a backend immediately after running the
> regression tests, let the system replay the WAL for the tests, and then
> take a pg_dump and compare that to the dump gotten after a conventional
> run.  However this is quite haphazard since (a) the regression tests
> aren't especially designed to exercise all of the WAL logic, and (b)
> pg_dump might not show the effects of some problems, particularly not
> corruption in non-system indexes.  It would be worth the trouble to
> create a more specific test methodology.

Yep. I was thinking about this as an area for possible improvement.
I don't immediately have a brilliant idea how to do it. I did have
the idea of creating a loadable C function which would panic the
database. This could be used to crash the database at a particular
point (even in mid-query, with sufficient creativity).

I think we would certainly need some more powerful way of checking
pass/failure than exact-text comparisons on SQL query results. Being
a perl guy, the first thing that occurs to me is to write some kind of
test harness in perl that can issue SQL queries as well as do other
things, but I don't have an exact design mapped out in my head, and
I'm sure there are other viable approaches.

> In short: merely making the tests bigger doesn't impress me in the
> least.  Focused testing on areas we aren't covering at all could be
> worth the trouble.

Well, I wasn't suggesting adding a lot more testing of things that
we're already testing. I was assuming that we would craft the
additional tests to hit areas that we are not now covering well. My
point here is only to what Peter said upthread: we want to be able to
get positive results rather than waiting for "enough" negative results
(whatever that means). To get positive results, you must have a test
suite. While letting beta testers test whatever they want has some
value, testing things we think might be likely hiding places for bugs
(such as WAL recovery) has merit, too. Making those tests
well-organized and easily repeatable is, IMHO, a Good Thing.

...Robert


From: Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 15:10:26
Message-ID: 87iqg9i97h.fsf@dba2.int.libertyrms.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

andrew(at)dunslane(dot)net (Andrew Dunstan) writes:
> Actually, what I had in mind was getting people to run their
> applications etc. in some non-production environment on the beta. I
> talked to a client today and he said "sure, we have several
> development environments and we can put one or two on the beta and
> then let the developers just do their thing on it." Testing the things
> we know about is in a way less important than making sure nothing else
> got broken.

I've gotten the DB work on one of our applications to the point where
there's a meaningful set of DB tests that can be run in automated
fashion. As a result, I rotate between PG versions periodically; every
couple weeks, I recompile HEAD, and run a test against it to make sure I
don't see any regressions.

It would be insane to think about deploying on some 8.5-alpha version,
but it's nice to have something I can run in ~5 minutes that exercises a
fair bit of at least vaguely realistic functionality.
--
"cbbrowne","@","ca.afilias.info"
Christopher Browne
"Bother," said Pooh, "Eeyore, ready two photon torpedoes and lock
phasers on the Heffalump, Piglet, meet me in transporter room three"


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 15:29:42
Message-ID: 4059.1251386982@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> Well, I wasn't suggesting adding a lot more testing of things that
> we're already testing. I was assuming that we would craft the
> additional tests to hit areas that we are not now covering well. My
> point here is only to what Peter said upthread: we want to be able to
> get positive results rather than waiting for "enough" negative results
> (whatever that means). To get positive results, you must have a test
> suite. While letting beta testers test whatever they want has some
> value, testing things we think might be likely hiding places for bugs
> (such as WAL recovery) has merit, too. Making those tests
> well-organized and easily repeatable is, IMHO, a Good Thing.

The problem here is the "easily repeatable" bit. Almost by definition,
easily repeatable tests don't find hard-to-reproduce problems. I don't
mean to suggest that they're without value, but they are no substitute
for beta testers doing unpredictable things.

regards, tom lane


From: Greg Stark <gsstark(at)mit(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 15:38:13
Message-ID: 407d949e0908270838kde9bb7eu7a3d9849095a2152@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 3:11 PM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
> Precisely...
>
> What I'd like to see is some sort of test mechanism for WAL recovery.
> What I've done sometimes in the past (and recently had to fix the tests
> to re-enable) is to kill -9 a backend immediately after running the
> regression tests, let the system replay the WAL for the tests, and then
> take a pg_dump and compare that to the dump gotten after a conventional
> run.  However this is quite haphazard since (a) the regression tests
> aren't especially designed to exercise all of the WAL logic, and (b)
> pg_dump might not show the effects of some problems, particularly not
> corruption in non-system indexes.  It would be worth the trouble to
> create a more specific test methodology.

What I've been thinking of doing is having the regression suite take a
backup after initdb and set archive mode on. when the regression suite
finishes start the backup up and replay all the WAL.

I'm not sure how to compare the databases since I don't think pg_dump
actually works here -- a lot of the data is dropped by the end of the
test. But at least that would test that replaying WAL didn't cause any
crashes.

--
greg
http://mit.edu/~gsstark/resume.pdf


From: Sam Mason <sam(at)samason(dot)me(dot)uk>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 15:54:22
Message-ID: 20090827155422.GZ5407@samason.me.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 11:29:42AM -0400, Tom Lane wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> > Well, I wasn't suggesting adding a lot more testing of things that
> > we're already testing. I was assuming that we would craft the
> > additional tests to hit areas that we are not now covering well. My
> > point here is only to what Peter said upthread: we want to be able to
> > get positive results rather than waiting for "enough" negative results
> > (whatever that means). To get positive results, you must have a test
> > suite. While letting beta testers test whatever they want has some
> > value, testing things we think might be likely hiding places for bugs
> > (such as WAL recovery) has merit, too. Making those tests
> > well-organized and easily repeatable is, IMHO, a Good Thing.
>
> The problem here is the "easily repeatable" bit. Almost by definition,
> easily repeatable tests don't find hard-to-reproduce problems. I don't
> mean to suggest that they're without value, but they are no substitute
> for beta testers doing unpredictable things.

I've wondered before about using a system emulator to snapshot the disk
on each write (I'd expect you could put some pretty low level hooks
in with qemu and gdb) and then run each snapshot in another system to
make sure that either the transaction is rolled back or committed as
appropriate. I guess this would take a while to run but may help catch
some obscure bugs. Or this an area that's well tested already?

--
Sam http://samason.me.uk/


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 15:55:05
Message-ID: 603c8f070908270855t5883151aj51134aea586746f2@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 11:29 AM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> Well, I wasn't suggesting adding a lot more testing of things that
>> we're already testing.  I was assuming that we would craft the
>> additional tests to hit areas that we are not now covering well.  My
>> point here is only to what Peter said upthread: we want to be able to
>> get positive results rather than waiting for "enough" negative results
>> (whatever that means).  To get positive results, you must have a test
>> suite.  While letting beta testers test whatever they want has some
>> value, testing things we think might be likely hiding places for bugs
>> (such as WAL recovery) has merit, too.  Making those tests
>> well-organized and easily repeatable is, IMHO, a Good Thing.
>
> The problem here is the "easily repeatable" bit.  Almost by definition,
> easily repeatable tests don't find hard-to-reproduce problems.  I don't
> mean to suggest that they're without value, but they are no substitute
> for beta testers doing unpredictable things.

I think you're overstating the case, but I don't want to argue the
point, particularly. What I do want to do is find a way to address
the problem described in the last sentence of this email:

http://archives.postgresql.org/pgsql-hackers/2009-08/msg01614.php

Both committers and non-committers are currently suffering from the
fact that there is not a lot of time in the year which is set aside
for development, i.e. neither CommitFest-time nor beta-time. To fix
this problem, we can:

1. Make CommitFests shorter.
2. Make CommitFests less frequent.
3. Continue developing during CommitFests.
4. Make beta cycles shorter.
5. Make beta cycles less frequent (i.e. lengthen the release cycle).
6. Continue developing during beta.

I believe (1) to be completely impractical and (3) to be
self-defeating. I suspect (2) will backfire badly. That doesn't
leave us with a lot of options. We can certainly do (5), but the
downside is that features that get committed won't hit release for a
very long time. I and others have suggested a couple of possible
approaches toward (4) or (6), such as changing the way we do release
notes, adding more regression tests to give us more (not perfect)
confidence that the release is solid, and/or branching the tree during
beta. None of those ideas have gotten a single vote of confidence
from you or Bruce. What's your suggestion?

...Robert


From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
To: Greg Stark <gsstark(at)mit(dot)edu>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 15:55:39
Message-ID: 3073cc9b0908270855l794a8123x88511b11a9331c33@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 10:38 AM, Greg Stark<gsstark(at)mit(dot)edu> wrote:
>
> What I've been thinking of doing is having the regression suite take a
> backup after initdb and set archive mode on. when the regression suite
> finishes start the backup up and replay all the WAL.
>
> I'm not sure how to compare the databases

- execute 60 of the 121 tests (or at least those that create tables
and insert/update/delete the most data)
- crash the server and replay the WAL
- execute the rest of the tests and cross your fingers :)

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Greg Stark <gsstark(at)mit(dot)edu>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 16:29:03
Message-ID: 5474.1251390543@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Greg Stark <gsstark(at)mit(dot)edu> writes:
> On Thu, Aug 27, 2009 at 3:11 PM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> ... However this is quite haphazard since (a) the regression tests
>> aren't especially designed to exercise all of the WAL logic, and (b)
>> pg_dump might not show the effects of some problems, particularly not
>> corruption in non-system indexes. It would be worth the trouble to
>> create a more specific test methodology.

> What I've been thinking of doing is having the regression suite take a
> backup after initdb and set archive mode on. when the regression suite
> finishes start the backup up and replay all the WAL.

> I'm not sure how to compare the databases since I don't think pg_dump
> actually works here -- a lot of the data is dropped by the end of the
> test.

Yeah, that's another problem with using the existing tests for this
purpose --- a lot of possibly-useful stuff isn't kept around to the end.
And the desire to keep the test modules independent limits the amount of
interaction between them too. I really think we'd need a bespoke set of
tests to get very far with this.

This reminds me that pg_dump/pg_restore is another large pile of code
that receives no formalized testing whatsoever ...

regards, tom lane


From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
To: Jean-Michel Pouré <jm(at)poure(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-27 16:35:49
Message-ID: 3073cc9b0908270935j48c3395u9f33d1c51d41eb48@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2009/8/27 Jean-Michel Pouré <jm(at)poure(dot)com>:
>
> Otherwise, replicating some MySQL SQL syntax will not work.
>
> As you know, people willing to use PostgreSQL replication are possibly
> already MySQL replication users. So if they test and PostgreSQL fails,
> this is too bad.
>

yeah! but some times the reason MySQL is not failing on those cases is
because it's broken...
Consider this one:
http://archives.postgresql.org/pgsql-general/2005-12/msg00487.php

we don't want to copy the bugs nor the bad designs decisions from
MySQL, no that everything from MySQL is bad but i would be scary if we
start supporting every single piece of code MySQL accepts

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157


From: Rob Wultsch <wultsch(at)gmail(dot)com>
To: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: Jean-Michel Pouré <jm(at)poure(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-27 18:39:22
Message-ID: 2c5ef4e30908271139u5deca324h43d13cb7f54fd16d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2009/8/27 Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>:
> 2009/8/27 Jean-Michel Pouré <jm(at)poure(dot)com>:
>>
>> Otherwise, replicating some MySQL SQL syntax will not work.
>>
>> As you know, people willing to use PostgreSQL replication are possibly
>> already MySQL replication users. So if they test and PostgreSQL fails,
>> this is too bad.
>>
>
> yeah! but some times the reason MySQL is not failing on those cases is
> because it's broken...
> Consider this one:
> http://archives.postgresql.org/pgsql-general/2005-12/msg00487.php
>
> we don't want to copy the bugs nor the bad designs decisions from
> MySQL, no that everything from MySQL is bad but i would be scary if we
> start supporting every single piece of code MySQL accepts
>

And that behavior has changed to be sane in 5.0+, iirc.

--
Rob Wultsch
wultsch(at)gmail(dot)com


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 18:54:23
Message-ID: 1251399263.31175.12.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On tor, 2009-08-27 at 09:58 -0400, Robert Haas wrote:
> To get positive results in which you can have confidence, you have to
> know that the testing which was done actually did a reasonably good
> job exercising the code in a way that would have flushed out bugs, had
> any been present. That sounds a lot like the definition of a
> regression test suite. Of course, we have that already, but it's
> nowhere near comprehensive. Maybe we should be looking at an expanded
> test suite that runs on a time scale of hours rather than seconds.
> Actually, didn't Peter talk about something like this at PGCon?

Let's look at it this way: If I were writing a compiler, then I would
have two main test approaches. First, I would have an in-tree test
suite that compiles a bunch of example code snippets and checks that the
results are reasonable. Call that a regression test. It would be
informed by code coverage analysis and previously reported bugs.
Second, as part of my release cycle, I would have an agenda to try to
compile a large set of real programs against my new compiler version.
I would do that during the beta period. You will notice that GCC pretty
much operates that way.

We have regression tests. They could and should be expanded. That's a
developer job, and we can start working on that now. But this
discussion was about what to do during beta. And I think during beta
you want to test PostgreSQL against a large set of real applications.
But we could try to clarify how to actually do that in an organized way.

Now, if you want to improve the regression tests, I would suggest going
through the commits since 8.4beta and since 8.4.0 final release and ask
how these problems could have been prevented or caught earlier. I
suppose a test suite for WAL might be part of the answer, but a closer
analysis might be insightful.


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 19:04:20
Message-ID: 603c8f070908271204q2b97d2b3haaee1c1d45cd3dbf@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 2:54 PM, Peter Eisentraut<peter_e(at)gmx(dot)net> wrote:
> On tor, 2009-08-27 at 09:58 -0400, Robert Haas wrote:
>> To get positive results in which you can have confidence, you have to
>> know that the testing which was done actually did a reasonably good
>> job exercising the code in a way that would have flushed out bugs, had
>> any been present.  That sounds a lot like the definition of a
>> regression test suite.  Of course, we have that already, but it's
>> nowhere near comprehensive.  Maybe we should be looking at an expanded
>> test suite that runs on a time scale of hours rather than seconds.
>> Actually, didn't Peter talk about something like this at PGCon?
>
> Let's look at it this way: If I were writing a compiler, then I would
> have two main test approaches.  First, I would have an in-tree test
> suite that compiles a bunch of example code snippets and checks that the
> results are reasonable.  Call that a regression test.  It would be
> informed by code coverage analysis and previously reported bugs.
> Second, as part of my release cycle, I would have an agenda to try to
> compile a large set of real programs against my new compiler version.
> I would do that during the beta period.  You will notice that GCC pretty
> much operates that way.
>
> We have regression tests.  They could and should be expanded.  That's a
> developer job, and we can start working on that now.  But this
> discussion was about what to do during beta.  And I think during beta
> you want to test PostgreSQL against a large set of real applications.
> But we could try to clarify how to actually do that in an organized way.
>
> Now, if you want to improve the regression tests, I would suggest going
> through the commits since 8.4beta and since 8.4.0 final release and ask
> how these problems could have been prevented or caught earlier.  I
> suppose a test suite for WAL might be part of the answer, but a closer
> analysis might be insightful.

What I want to do is address the concern about too much of any given
year being consumed by beta and CommitFest. I'm not sure I know how
to do that though.

...Robert


From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
To: Rob Wultsch <wultsch(at)gmail(dot)com>
Cc: Jean-Michel Pouré <jm(at)poure(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-27 19:27:49
Message-ID: 3073cc9b0908271227x6a6827e0p6ed274b7fac62fcb@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2009/8/27 Rob Wultsch <wultsch(at)gmail(dot)com>:
>
> And that behavior has changed to be sane in 5.0+, iirc.
>

5.0.12+ actually... that is stated in the same thread...

the point was that if we simply were saying: hey! mysql can interpret
this, make postgres do the same then we could end up with a lot of
broken stuff... just because mysql users think is wonderful to not
have to write sane code...

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157


From: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 19:38:15
Message-ID: m2d46hnj2w.fsf@hi-media.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Hi,

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Thu, Aug 27, 2009 at 2:54 PM, Peter Eisentraut<peter_e(at)gmx(dot)net> wrote:
>> We have regression tests.  They could and should be expanded.  That's a
>> developer job, and we can start working on that now.  But this
>> discussion was about what to do during beta.  And I think during beta
>> you want to test PostgreSQL against a large set of real applications.
>> But we could try to clarify how to actually do that in an organized
>> way.

Exactly, and I think that what we're missing here is a simple tool for
our users to check a new PostgreSQL release against their existing
application.

We already know how to either log all queries and analyze the log files
(CSV makes it easier, pgfouine parses them too) or to have a fe/be
protocol proxy to record application SQL traffic (tsung recorder does
that).

What we miss is a tool to run the captured queries through both versions
of PG and report any resultset mismatch, of course with a way to account
for ordering issues (but we've seen people rely on the ordering when
they don't give an order by clause, then bug the lists about it if a new
release changes it).

> What I want to do is address the concern about too much of any given
> year being consumed by beta and CommitFest. I'm not sure I know how
> to do that though.

To do this I think we *need* to provide beta tester a validator kind of
tool which they can use even without having an application unit test
suite. And a way to easily report success or failure, and in case of
success, a notion of their tests coverage (which is reduced to the list
of PG features the application exercices, but an automated way to
extract the information while running the tool would allow for hackers
friendly categories).

Anyone interrested into starting a project and coding the tool we so
much need?

Regards,
--
dim

PS: of course provided with such a tool, I'd run it for several
applications as soon as possible, which might include every alpha
release.

PPS: I'll be happy to participate into such a project, but I seem to
have a rather full plate already and a shrinking OpenSource free time,
so waiting for me to get there won't help until it's about too late.


From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 19:48:43
Message-ID: 1251402523.4839.1192.camel@ebony.2ndQuadrant
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On Sun, 2009-08-23 at 01:57 -0400, Tom Lane wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> > I posted a note about a week ago which drew far less commentary than I
> > expected, regarding the timetable for the release of 8.5.
>
> > http://archives.postgresql.org/pgsql-hackers/2009-08/msg01256.php
>
> > Perhaps this is already being discussed on -core, but if so the
> > conclusions haven't been shared publicly.
>
> Core hasn't discussed 8.5 schedule since the discussions that Peter
> summarized in the message you cited above. I share your concern that
> "release in time for PGCon" isn't very realistic if we don't get more
> aggressive about schedule. On the other hand, we didn't get all that
> much done in this fest. If we cut back to a three-fest schedule
> I think we may succeed in releasing 8.5 early, but only because there
> is nothing interesting in it :-(. Dunno where the right balance is.

General comment on thread:

The level of detailed planning happening now is a change for the
community and in general I think it's a good thing. In the past we've
always said it will be shipped when it's ready, and now we seem to be
caught by our own rules. There's no need to make hard decisions now.
Let's keep some flexibility in our thinking. If the structures give us
problems, lets change the structures. The idea is the plans help the
developers, not hinder them or make it harder to include big features.

In my view it is important that I have a holistic view of what I am
doing and that means it is very difficult for others to help in a way
that doesn't merely hinder me (or Fujii-san). Speed of coding is not the
issue here, nor is the number of hands on a keyboard.

I don't share the doubts or fears expressed that the two big patches
will not make it into Postgres in this release. We now have more people
experienced in these areas of code than at any other time in our
history. We have almost-complete solutions from experienced developers.
In particular, I have faith in Fujii-san.

I would appreciate it if somebody could send out some messages of calm,
while I/we work. The time for open review will come around soon enough.

Faith and patience. Please. No need for Fawlty Towers re-runs.

--
Simon Riggs www.2ndQuadrant.com


From: David Fetter <david(at)fetter(dot)org>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 19:53:44
Message-ID: 20090827195343.GC3886@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 08:48:43PM +0100, Simon Riggs wrote:
>
> On Sun, 2009-08-23 at 01:57 -0400, Tom Lane wrote:
> > Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> > > I posted a note about a week ago which drew far less commentary
> > > than I expected, regarding the timetable for the release of 8.5.
> >
> > > http://archives.postgresql.org/pgsql-hackers/2009-08/msg01256.php
> >
> > > Perhaps this is already being discussed on -core, but if so the
> > > conclusions haven't been shared publicly.
> >
> > Core hasn't discussed 8.5 schedule since the discussions that
> > Peter summarized in the message you cited above. I share your
> > concern that "release in time for PGCon" isn't very realistic if
> > we don't get more aggressive about schedule. On the other hand,
> > we didn't get all that much done in this fest. If we cut back to
> > a three-fest schedule I think we may succeed in releasing 8.5
> > early, but only because there is nothing interesting in it :-(.
> > Dunno where the right balance is.
>
> General comment on thread:
>
> The level of detailed planning happening now is a change for the
> community and in general I think it's a good thing. In the past
> we've always said it will be shipped when it's ready, and now we
> seem to be caught by our own rules. There's no need to make hard
> decisions now. Let's keep some flexibility in our thinking. If the
> structures give us problems, lets change the structures. The idea is
> the plans help the developers, not hinder them or make it harder to
> include big features.
>
> In my view it is important that I have a holistic view of what I am
> doing and that means it is very difficult for others to help in a
> way that doesn't merely hinder me (or Fujii-san). Speed of coding is
> not the issue here, nor is the number of hands on a keyboard.
>
> I don't share the doubts or fears expressed that the two big patches
> will not make it into Postgres in this release. We now have more
> people experienced in these areas of code than at any other time in
> our history. We have almost-complete solutions from experienced
> developers. In particular, I have faith in Fujii-san.
>
> I would appreciate it if somebody could send out some messages of
> calm, while I/we work. The time for open review will come around
> soon enough.

With all due respect, the time for open review is now. You have
already tried closed development several times, and it each time has
been, more or less, a spectacular failure.

Cheers,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david(dot)fetter(at)gmail(dot)com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 19:56:07
Message-ID: 20090827195607.GM11213@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas escribió:

> What I want to do is address the concern about too much of any given
> year being consumed by beta and CommitFest. I'm not sure I know how
> to do that though.

How much time were we in beta? I thought most time was spent trying to
get to beta in the first place.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>
To: David Fetter <david(at)fetter(dot)org>
Cc: Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 20:22:58
Message-ID: 36e682920908271322s4207da0fq7c6d0f04b1062d28@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 3:53 PM, David Fetter <david(at)fetter(dot)org> wrote:

> > I would appreciate it if somebody could send out some messages of
> > calm, while I/we work. The time for open review will come around
> > soon enough.
>
> With all due respect, the time for open review is now. You have
> already tried closed development several times, and it each time has
> been, more or less, a spectacular failure.

Unlike Robert and Heikki, I don't see you contributing to or assisting
Simon's work. And, while I may be wrong, I doubt that you assisted in
funding any of Simon's work on hot standby either. As such, it's my opinion
that continuing to criticize him from the sidelines is not only rude, but is
also a bad idea as it relates to his motivation in working on this feature.

--
Jonah H. Harris, Senior DBA
myYearbook.com


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 20:26:35
Message-ID: 603c8f070908271326x233eeddcte5ef992608a6811a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 3:56 PM, Alvaro
Herrera<alvherre(at)commandprompt(dot)com> wrote:
> Robert Haas escribió:
>> What I want to do is address the concern about too much of any given
>> year being consumed by beta and CommitFest.  I'm not sure I know how
>> to do that though.
>
> How much time were we in beta?  I thought most time was spent trying to
> get to beta in the first place.

[ looks ]

The final CommitFest began November 11, 2008. It closed March 25,
2009 (+ 144 days). Beta1 was released April 15, 2009 (+ 21 days).
8.4.0 was released July 1, 2009 (+ 77 days). The first CommitFest for
8.5 began on July 15, 2009 (+ 14 days).

http://www.postgresql.org/about/news.1074
http://wiki.postgresql.org/index.php?title=CommitFest_2008-11&action=history
http://www.postgresql.org/docs/8.4/static/release-8-4.html

In total, the tree was closed for 256 days, or 8.5 months, of which
the final CommitFest accounted for approximately 56%. Had we closed
the final CommitFest in 30 days rather than 144 days, and had
everything else taken the same amount of time, the release would have
occurred on March 9th and the first CommitFest for 8.5 would have
started on March 23rd.

Hmm... maybe that's not actually that bad. If we stuck to a similar
schedule for 8.5, but with a timely last CF, then we'd have either (3
CF):

2009-11-15 Final CommitFest Begins
2009-12-15 Final CommitFest Ends
2010-01-05 Beta
2010-03-23 Release
2010-04-06 First CommitFest for 8.6 Begins

Or (4 CF):

2010-01-15 Final CommitFest Begins
2010-02-15 Final CommitFest Ends
2010-03-08 Beta
2010-05-24 Release
2010-06-07 First CommitFest for 8.6 Begins

Of course I don't think we'd actually need to start a CommitFest quite
as quickly as we did this time, because with a shorter release cycle
there ought to be a lot less patches already accumulated by the time
we release, especially if there are clearly defined tasks for
developers to do during the beta period. On the other hand, 8.4beta
was arguably too short, since we missed some serious problems, so the
picture above may be a bit too rosy.

...Robert


From: David Fetter <david(at)fetter(dot)org>
To: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>
Cc: Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 20:41:10
Message-ID: 20090827204110.GD3886@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 04:22:58PM -0400, Jonah H. Harris wrote:
> On Thu, Aug 27, 2009 at 3:53 PM, David Fetter <david(at)fetter(dot)org> wrote:
>
> > > I would appreciate it if somebody could send out some messages
> > > of calm, while I/we work. The time for open review will come
> > > around soon enough.
> >
> > With all due respect, the time for open review is now. You have
> > already tried closed development several times, and it each time
> > has been, more or less, a spectacular failure.
>
> Unlike Robert and Heikki, I don't see you contributing to or
> assisting Simon's work.

My assistance is of the form of actually getting it done. Simon's
work is absolutely fantastic, but only when the rest of the community
can actually help. When it shows up late, it actually hurts
everybody, most of all Simon.

> And, while I may be wrong, I doubt that you assisted in funding any
> of Simon's work on hot standby either. As such, it's my opinion
> that continuing to criticize him from the sidelines is not only
> rude, but is also a bad idea as it relates to his motivation in
> working on this feature.

If, "your past strategy has a track record of failure, go with a new
strategy, one pretty much universally adopted in PostgreSQL," will
demotivate someone, I can't help that, and I doubt it's actually true.
I'm trying to help here, and encouraging a failed strategy is not
helping.

Cheers,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david(dot)fetter(at)gmail(dot)com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Robert Haas" <robertmhaas(at)gmail(dot)com>
Cc: "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Peter Eisentraut" <peter_e(at)gmx(dot)net>, "Bruce Momjian" <bruce(at)momjian(dot)us>, <pgsql-hackers(at)postgresql(dot)org>,"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 21:30:17
Message-ID: 4A96B499020000250002A432@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> wrote:

> The final CommitFest began November 11, 2008. It closed March 25,
> 2009 (+ 144 days). Beta1 was released April 15, 2009 (+ 21 days).

I'm not entirely clear on what was happening during the 21 days
between the end of the CommitFest and and the release of beta1. I
seem to remember Bruce saying that there were bugs being fixed, and
that it didn't make sense to release a beta with known bugs of that
magnitude, but I'm not clear on what was up with that. Did we close
the CF with known bugs open, or were these missed in the CF and found
after? Surely it shouldn't normally take three weeks to get a beta
test version to the public after we close the last CF?

Just looking for where we could pick up a few weeks more of
development in each year....

-Kevin


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 22:08:08
Message-ID: 20090827220808.GP11213@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas escribió:

> Of course I don't think we'd actually need to start a CommitFest quite
> as quickly as we did this time, because with a shorter release cycle
> there ought to be a lot less patches already accumulated by the time
> we release, especially if there are clearly defined tasks for
> developers to do during the beta period. On the other hand, 8.4beta
> was arguably too short, since we missed some serious problems, so the
> picture above may be a bit too rosy.

Maybe what this says is that we need to get a "pre-beta" release out as
early as possible, just after finalizing the last commitfest, and before
the "open items" and Bruce-approved release note writing are sorted out.
Probably the last alpha release will fill that role. Sadly, the greek
folk did not consider having a letter between alpha and beta :-(

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Robert Haas" <robertmhaas(at)gmail(dot)com>, "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Peter Eisentraut" <peter_e(at)gmx(dot)net>, "Bruce Momjian" <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 22:09:25
Message-ID: 27310.1251410965@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

"Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
> Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>> The final CommitFest began November 11, 2008. It closed March 25,
>> 2009 (+ 144 days). Beta1 was released April 15, 2009 (+ 21 days).

> I'm not entirely clear on what was happening during the 21 days
> between the end of the CommitFest and and the release of beta1.

Release note drafting is one part of it, but mostly it's "loose end
cleanup". Historically there have always been a pile of loose ends
to be dealt with, and the CommitFest structure doesn't really do
anything to avoid that. If you're interested, attached are all the
commits between commitfest closure (which I announced immediately
after committing the addition of contrib/btree_gin) and stamping
beta1 (which was actually several days before the date Robert gives,
because of the need for the packagers to do their thing).

It appears to me that release notes weren't actually the bottleneck this
time, though they have been in some prior cycles. Bruce committed a
first draft immediately after the commitfest closed. Rather, it was
arguing about things like \df behavior and cardinality() that took up
the time.

We could certainly have released a perhaps-less-polished beta earlier.
I think that the traditional criterion is that we don't release beta1
as long as there are any known issues that might force an initdb.
We were successful in avoiding a post-beta initdb this time, although
IIRC the majority of release cycles have had one --- so maybe you
could argue that that's not so important. It would certainly be
less important if we had working pg_migrator functionality to ease
the pain of going from beta to final.

Now that we have the alpha-release mechanism defined, some of the
pressure for a quick beta could be taken off by releasing a final
alpha right after the final commitfest closes.

regards, tom lane

2009-04-09 20:20 scrappy

* configure, configure.in, doc/bug.template,
src/include/pg_config.h.win32:
commit and tag beta1

2009-04-09 19:22 tgl

* doc/src/sgml/release.sgml: Update release notes through
yesterday; some minor wordsmithing.

2009-04-09 18:32 momjian

* doc/src/sgml/monitoring.sgml: Clarify documentation references to
pg_stat_get_blocks_fetched and pg_stat_get_blocks_hit, per
suggestion from Robert Haas.

2009-04-09 17:50 momjian

* src/tools/RELEASE_CHANGES: No more need to update FAQs.

2009-04-09 17:35 petere

* src/tools/RELEASE_CHANGES: Add URL for config.guess/sub updates

2009-04-09 17:33 petere

* config/: config.guess, config.sub: Update config.guess and
config.sub

2009-04-09 16:50 tgl

* src/timezone/data/: africa, asia, leapseconds, northamerica,
southamerica (REL8_1_STABLE), africa, asia, leapseconds,
northamerica, southamerica (REL8_3_STABLE), africa, asia,
leapseconds, northamerica, southamerica (REL8_0_STABLE), africa,
asia, leapseconds, northamerica, southamerica (REL8_2_STABLE),
africa, asia, leapseconds, northamerica, southamerica: Update time
zone data files to tzdata release 2009e: DST law changes in
Argentina/San_Luis, Cuba, Jordan (historical correction only),
Morocco, Palestine, Syria, Tunisia.

2009-04-09 15:38 petere

* src/: backend/nls.mk, backend/po/de.po, backend/po/es.po,
backend/po/fr.po, backend/po/ja.po, backend/po/nl.po,
backend/po/ru.po, backend/po/tr.po, bin/initdb/nls.mk,
bin/initdb/po/de.po, bin/initdb/po/es.po, bin/initdb/po/fr.po,
bin/initdb/po/ja.po, bin/initdb/po/ru.po, bin/pg_config/nls.mk,
bin/pg_config/po/de.po, bin/pg_config/po/fr.po,
bin/pg_config/po/ja.po, bin/pg_config/po/ru.po,
bin/pg_config/po/tr.po, bin/pg_controldata/nls.mk,
bin/pg_controldata/po/de.po, bin/pg_controldata/po/fr.po,
bin/pg_controldata/po/ja.po, bin/pg_ctl/nls.mk,
bin/pg_ctl/po/cs.po, bin/pg_ctl/po/de.po, bin/pg_ctl/po/fr.po,
bin/pg_ctl/po/ja.po, bin/pg_ctl/po/ru.po, bin/pg_dump/nls.mk,
bin/pg_dump/po/de.po, bin/pg_dump/po/fr.po, bin/pg_dump/po/ja.po,
bin/pg_dump/po/tr.po, bin/pg_resetxlog/nls.mk,
bin/pg_resetxlog/po/de.po, bin/pg_resetxlog/po/fr.po,
bin/pg_resetxlog/po/ja.po, bin/pg_resetxlog/po/ru.po,
bin/psql/nls.mk, bin/psql/po/de.po, bin/psql/po/es.po,
bin/psql/po/fr.po, bin/psql/po/ja.po, bin/psql/po/tr.po,
bin/scripts/nls.mk, bin/scripts/po/de.po, bin/scripts/po/fr.po,
bin/scripts/po/ja.po, interfaces/ecpg/ecpglib/nls.mk,
interfaces/ecpg/ecpglib/po/de.po, interfaces/ecpg/ecpglib/po/es.po,
interfaces/ecpg/ecpglib/po/fr.po, interfaces/ecpg/preproc/nls.mk,
interfaces/ecpg/preproc/po/de.po, interfaces/ecpg/preproc/po/es.po,
interfaces/ecpg/preproc/po/fr.po, interfaces/libpq/nls.mk,
interfaces/libpq/po/de.po, interfaces/libpq/po/fr.po,
interfaces/libpq/po/ja.po, pl/plperl/nls.mk, pl/plperl/po/de.po,
pl/plperl/po/es.po, pl/plperl/po/fr.po, pl/plpgsql/src/nls.mk,
pl/plpgsql/src/po/de.po, pl/plpgsql/src/po/es.po,
pl/plpgsql/src/po/fr.po, pl/plpgsql/src/po/ja.po,
pl/plpgsql/src/po/ro.po, pl/plpython/nls.mk, pl/plpython/po/de.po,
pl/plpython/po/es.po, pl/plpython/po/fr.po, pl/tcl/nls.mk,
pl/tcl/po/de.po, pl/tcl/po/es.po, pl/tcl/po/fr.po: Translation
updates for 8.4 beta

2009-04-09 15:07 tgl

* doc/src/sgml/gin.sgml: Update GIN limitations documentation to
match current reality.

2009-04-09 13:39 tgl

* doc/src/sgml/func.sgml, doc/src/sgml/release.sgml,
src/backend/utils/adt/arrayfuncs.c,
src/include/catalog/catversion.h, src/include/catalog/pg_proc.h,
src/include/utils/array.h, src/test/regress/expected/arrays.out,
src/test/regress/sql/arrays.sql: Remove SQL-compatibility function
cardinality(). It is not exactly clear how this ought to behave
for multi-dimensional arrays. Per discussion, not having it at all
seems better than having it with what might prove to be the wrong
behavior. We can always add it later when we have consensus on the
correct behavior.

2009-04-09 12:20 momjian

* doc/src/sgml/wal.sgml: Improve documentation about how checkpoint
spreads I/O activity.

2009-04-09 10:21 tgl

* src/backend/utils/misc/guc-file.l: Treat EOF like \n for
line-counting purposes in ParseConfigFile, per bug #4752. Fujii
Masao

2009-04-08 22:57 tgl

* src/: pl/plpgsql/src/pl_exec.c, pl/plpgsql/src/plpgsql.h,
test/regress/expected/plpgsql.out, test/regress/sql/plpgsql.sql:
Fix the plpgsql memory leak exhibited in bug #4677. That leak was
introduced by my patch of 2007-01-28 to use per-subtransaction
ExprContexts/EStates: since we re-prepared any expression tree when
the current subtransaction ID changed, we'd accumulate more and
more leaked expression state trees in the outermost subtransaction
if the same function was executed at multiple levels of
subtransaction nesting. To fix, go back to the previous scheme
where there was only one EState per transaction for simple plpgsql
expressions. We really only need an ExprContext per
subtransaction, not a whole EState, so it's possible to keep
prepared expression state trees in the one EState throughout the
transaction. This should be more efficient as well as not leaking
memory for cases involving lots of subtransactions.

The added regression test is the case that inspired the 2007-01-28
patch in the first place, just to make sure we didn't go backwards.
The current memory leak complaint is unfortunately hard to test
for in the regression test framework, though manual testing shows
it's fixed.

Although this is a pre-existing bug, I'm not back-patching because
I'd like to see this method get some field testing first. Consider
back-patching if it gets through 8.4beta unscathed.

2009-04-08 18:29 tgl

* doc/src/sgml/ref/psql-ref.sgml, src/bin/psql/describe.c: Remove
psql's ancient hack that suppressed functions taking or returning
cstring from the output of \df. Now that the default behavior is
to exclude all system functions, the de-cluttering rationale for
this behavior seems pretty weak; and it was always quite
confusing/unhelpful if you were actually looking for I/O functions.
(Not to mention if you were looking for encoding converters or
other cases that might take or return cstring.)

2009-04-08 18:08 tgl

* src/: backend/utils/adt/numeric.c,
test/regress/expected/numeric.out: Allow leading and trailing
spaces around NaN in numeric_in.

Sam Mason, rewritten a bit by Tom.

2009-04-08 17:51 petere

* src/: backend/executor/execQual.c, backend/utils/adt/xml.c,
include/nodes/execnodes.h, test/regress/expected/xml.out,
test/regress/expected/xml_1.out, test/regress/sql/xml.sql:
XMLATTRIBUTES() should send the attribute values through
map_sql_value_to_xml_value() instead of directly through the data
type output function. This is per SQL standard, and consistent
with XMLELEMENT().

2009-04-08 15:02 heikki

* src/bin/pg_dump/: pg_dump.c, pg_dumpall.c: Quote string literals
correctly in the new CREATE SERVER statements and binary upgrade
UPDATE statements.

2009-04-08 09:08 heikki

* src/backend/utils/init/postinit.c: Oops, mustn't call
textdomain() when compiling without --enable-nls

2009-04-08 05:50 heikki

* src/: backend/utils/init/miscinit.c,
backend/utils/init/postinit.c, backend/utils/mb/mbutils.c,
include/mb/pg_wchar.h: Tell gettext which codeset to use by calling
bind_textdomain_codeset(). We already did that on Windows, but it's
needed on other platforms too when LC_CTYPE=C. With other locales,
we enforce (or trust) that the codeset of the locale matches the
server encoding so we don't need to bind it explicitly. It should
do no harm in that case either, but I don't have full faith in the
PG encoding -> OS codeset mapping table yet. Per recent discussion
on pgsql-hackers.

2009-04-08 00:05 momjian

* src/bin/psql/tab-complete.c: Improve tab completion for \ef.

Andrew Gierth

2009-04-07 19:27 momjian

* src/backend/utils/misc/guc.c: Revert addition of units to GUC
descriptions; doesn't affect postgresql.conf.

2009-04-07 18:48 momjian

* configure, configure.in: Disable effective_io_concurrency on
Solaris because posix_fadvise() is no-op on that platform.

2009-04-07 18:22 momjian

* src/backend/utils/misc/: guc.c, postgresql.conf.sample: More GUC
units doc updates.

Euler Taveira de Oliveira

2009-04-07 17:30 momjian

* doc/src/sgml/release.sgml: Add attribution for:

Add Japanese message translations (Japan PostgreSQL Users
Group)

2009-04-07 17:29 momjian

* doc/src/sgml/release.sgml: Add release note item:

Add Japanese message translations

2009-04-07 17:20 momjian

* doc/: FAQ, FAQ_DEV: Remove FAQ and FAQ_DEV ASCII and HTML files
from CVS; now on the wiki.

Per-language files kept for transator usage.

2009-04-07 15:35 mha

* src/tools/msvc/Mkvcbuild.pm: Support Perl 5.10 and TCL 8.5 in
MSVC builds.

We should probably have a better way to do this (meaning something
not hardcoded) eventually, but this fixes the problem for 8.4.

Dave Page

2009-04-07 14:10 tgl

* contrib/pg_freespacemap/: pg_freespacemap.c (REL8_3_STABLE),
pg_freespacemap.c (REL8_2_STABLE): Fix contrib/pg_freespacemap's
underestimate of the number of pages it could find in the FSM. Per
report from Dimitri Fontaine and Andrew Gierth.

(Affects only 8.2 and 8.3 since HEAD no longer has MaxFSMPages at
all.)

2009-04-07 13:57 tgl

* contrib/pg_freespacemap/pg_freespacemap.c: Remove useless
(leftover?) extern declaration.

2009-04-07 13:49 teodor

* src/backend/access/gist/gist.c (REL7_4_STABLE): Fix 'all at one
page bug' in picksplit method of R-tree emulation. Add defense from
buggy user-defined picksplit to GiST.

2009-04-07 13:46 teodor

* src/backend/access/gist/: gistproc.c, gistutil.c (REL8_1_STABLE),
gist.c (REL8_0_STABLE): Fix 'all at one page bug' in picksplit
method of R-tree emulation. Add defense from buggy user-defined
picksplit to GiST.

2009-04-07 11:53 tgl

* contrib/fuzzystrmatch/: fuzzystrmatch.h (REL7_4_STABLE),
fuzzystrmatch.h (REL8_1_STABLE), fuzzystrmatch.h (REL8_3_STABLE),
fuzzystrmatch.h (REL8_0_STABLE), fuzzystrmatch.h (REL8_2_STABLE),
fuzzystrmatch.c: Defend against non-ASCII letters in fuzzystrmatch
code. The functions still don't behave very sanely for multibyte
encodings, but at least they won't be indexing off the ends of
static arrays.

2009-04-07 00:02 momjian

* doc/src/sgml/trigger.sgml: Add doc link to section about how to
compile triggers.

2009-04-06 20:31 tgl

* doc/src/sgml/backup.sgml, doc/src/sgml/func.sgml,
src/backend/access/transam/xlog.c,
src/backend/catalog/system_views.sql,
src/include/catalog/catversion.h, src/include/catalog/pg_proc.h:
Add an optional parameter to pg_start_backup() that specifies
whether to do the checkpoint in immediate or lazy mode. This is to
address complaints that pg_start_backup() takes a long time even
when there's no need to minimize its I/O consumption.

2009-04-06 17:00 momjian

* src/backend/utils/misc/: guc.c, postgresql.conf.sample: Add unit
documentation for various postgresql.conf settings.

2009-04-06 15:34 petere

* src/backend/utils/mb/mbutils.c: Add entry in the encoding number
to OS name table for KOI8-U.

2009-04-06 15:03 momjian

* src/backend/utils/misc/postgresql.conf.sample: Properly align
equals signs in new postgresql.conf units comments.

2009-04-06 15:00 momjian

* src/backend/utils/misc/postgresql.conf.sample: Document in
postgresql.conf that the default units for
log_min_duration_statement is milliseconds.

2009-04-06 14:40 momjian

* src/backend/utils/misc/postgresql.conf.sample: Display
postgresql.conf unit options in an easier-to-understand, 2-column
format.

2009-04-06 13:56 momjian

* doc/src/sgml/maintenance.sgml: Doc change in new patch,
stand-alone -> standalone

2009-04-06 13:55 momjian

* doc/src/sgml/maintenance.sgml: Add documentation mention of
'check_postgres.pl' in Routine Database Maintenance Tasks section.

2009-04-06 11:50 momjian

* src/bin/psql/tab-complete.c: Adjust psql tab completion for new
\d 'S' flag behavior; adjust code to be more flexible about
additional modifiers for \d commands.

2009-04-06 11:43 tgl

* doc/src/sgml/fuzzystrmatch.sgml: Document the fact that
fuzzystrmatch doesn't work in multibyte encodings.

2009-04-06 11:01 tgl

* doc/src/sgml/keywords.sgml: Correct keywords table for status of
COLLATE vs LC_COLLATE.

2009-04-06 10:47 teodor

* src/backend/access/gist/: gistproc.c, gistsplit.c
(REL8_2_STABLE): Fix 'all at one page bug' in picksplit method of
R-tree emulation. Add defense from buggy user-defined picksplit to
GiST.

2009-04-06 10:39 teodor

* src/backend/access/gist/: gistproc.c, gistsplit.c
(REL8_3_STABLE): Fix 'all at one page bug' in picksplit method of
R-tree emulation. Add defense from buggy user-defined picksplit to
GiST.

2009-04-06 10:27 teodor

* src/backend/access/gist/: gistproc.c, gistsplit.c: Fix 'all at
one page bug' in picksplit method of R-tree emulation. Add defense
from buggy user-defined picksplit to GiST.

2009-04-06 04:42 heikki

* doc/src/sgml/charset.sgml, doc/src/sgml/keywords.sgml,
doc/src/sgml/ref/create_database.sgml,
src/backend/commands/dbcommands.c, src/backend/parser/gram.y,
src/bin/pg_dump/pg_dump.c, src/bin/pg_dump/pg_dumpall.c,
src/bin/scripts/createdb.c, src/include/parser/kwlist.h,
src/interfaces/ecpg/preproc/ecpg.trailer: Rename the new CREATE
DATABASE options to set collation and ctype into LC_COLLATE and
LC_CTYPE, per discussion on pgsql-hackers.

2009-04-05 18:28 tgl

* src/: backend/utils/adt/arrayfuncs.c,
include/catalog/catversion.h, include/catalog/pg_proc.h,
include/utils/array.h: Change cardinality() into a C-code function,
instead of a SQL-language alias for array_length(v,1). The
efficiency gain here is doubtless negligible --- what I'm
interested in is making sure that if we have second thoughts about
the definition, we will not have to force a post-beta initdb to
change the implementation.

2009-04-05 16:32 tgl

* src/backend/executor/execQual.c: Make ExecInitExpr build the list
of SubPlans found in a plan tree in order of discovery, rather than
reverse order. This doesn't matter functionally (I suppose the
previous coding dates from the time when lcons was markedly cheaper
than lappend). However now that EXPLAIN is labeling subplans with
IDs that are based on order of creation, this may help produce a
slightly less surprising printout.

2009-04-05 15:59 tgl

* src/: backend/commands/explain.c, backend/nodes/copyfuncs.c,
backend/nodes/equalfuncs.c, backend/nodes/outfuncs.c,
backend/optimizer/plan/subselect.c, backend/utils/adt/ruleutils.c,
include/nodes/primnodes.h: Change EXPLAIN output so that subplans
and initplans (particularly CTEs) are individually labeled, rather
than just grouped under an "InitPlan" or "SubPlan" heading. This
in turn makes it possible for decompilation of a subplan reference
to usefully identify which subplan it's referencing. I also made
InitPlans identify which parameter symbol(s) they compute, so that
references to those parameters elsewhere in the plan tree can be
connected to the initplan that will be executed. Per a gripe from
Robert Haas about EXPLAIN output of a WITH query being inadequate,
plus some longstanding pet peeves of my own.

2009-04-05 07:32 teodor

* src/backend/access/gin/: ginget.c, ginscan.c: Fix infinite loop
while checking of partial match in pending list. Improve comments.
Now GIN-indexable operators should be strict. Per Tom's
questions/suggestions.

2009-04-05 00:19 tgl

* src/: backend/postmaster/postmaster.c, bin/initdb/initdb.c,
bin/pg_ctl/pg_ctl.c, bin/pg_dump/pg_dump.c,
bin/pg_dump/pg_dumpall.c, bin/pg_dump/pg_restore.c,
bin/psql/startup.c, bin/scripts/common.c, bin/scripts/common.h,
include/getopt_long.h, port/getopt_long.c: Remove a boatload of
useless definitions of 'int optreset'. If we are using our own
ports of getopt or getopt_long, those will define the variable for
themselves; and if not, we don't need these, because we never touch
the variable anyway.

2009-04-05 00:09 tgl

* src/include/pg_config.h.win32: I had always wondered why
pg_config.h.win32 claimed that Windows provides optreset. Current
mastodon results prove that in fact it does not; it was only
because getopt.c defined the variable anyway that things failed to
fall over.

2009-04-04 20:40 tgl

* contrib/intarray/_int.sql.in,
contrib/intarray/uninstall__int.sql, doc/src/sgml/intarray.sgml:
Remove contrib/intarray's definitions of the <@ and @> operators,
so that they don't cause confusion with the built-in anyarray
versions of those operators. Adjust the module's index opclasses
to support the built-in operators in place of the private ones.

The private implementations are still available under their
historical names @ and ~, so no functionality is lost. Some quick
testing suggests that they offer no real benefit over the core
operators, however.

Per a complaint from Rusty Conover.

2009-04-04 18:36 tgl

* src/port/getopt.c: Hmm, baiji thinks we need explicit 'extern'
here.

2009-04-04 17:55 tgl

* configure, configure.in, src/include/pg_config.h.in,
src/port/getopt.c: Make an attempt at fixing our current Solaris 11
breakage: add a configure probe for opterr (exactly like the one
for optreset) and have getopt.c define the variables only if
configure doesn't find them in libc.

2009-04-04 17:12 tgl

* src/: backend/access/common/reloptions.c,
backend/commands/define.c, backend/commands/foreigncmds.c,
backend/commands/sequence.c, backend/commands/typecmds.c,
backend/commands/view.c, backend/nodes/copyfuncs.c,
backend/nodes/equalfuncs.c, backend/nodes/makefuncs.c,
backend/nodes/outfuncs.c, backend/parser/gram.y,
backend/parser/parse_clause.c, include/commands/defrem.h,
include/foreign/foreign.h, include/nodes/makefuncs.h,
include/nodes/nodes.h, include/nodes/parsenodes.h: Remove the
recently added node types ReloptElem and OptionDefElem in favor of
adding optional namespace and action fields to DefElem. Having
three node types that do essentially the same thing bloats the code
and leads to errors of confusion, such as in yesterday's bug report
from Khee Chin.

2009-04-04 13:40 tgl

* src/: backend/commands/indexcmds.c,
backend/storage/ipc/procarray.c, include/storage/lock.h,
include/storage/procarray.h: A session that does not have any live
snapshots does not have to be waited for when we are waiting for
old snapshots to go away during a concurrent index build. In
particular, this rule lets us avoid waiting for idle-in-transaction
sessions.

This logic could be improved further if we had some way to wake up
when the session we are currently waiting for goes
idle-in-transaction. However that would be a significantly more
complex/invasive patch, so it'll have to wait for some other day.

Simon Riggs, with some improvements by Tom.

2009-04-04 00:53 tgl

* src/: backend/utils/adt/timestamp.c,
test/regress/expected/interval.out, test/regress/sql/interval.sql
(REL7_4_STABLE), backend/utils/adt/timestamp.c,
test/regress/expected/interval.out, test/regress/sql/interval.sql
(REL8_1_STABLE), backend/utils/adt/timestamp.c,
test/regress/expected/interval.out, test/regress/sql/interval.sql
(REL8_3_STABLE), backend/utils/adt/timestamp.c,
test/regress/expected/interval.out, test/regress/sql/interval.sql
(REL8_0_STABLE), backend/utils/adt/timestamp.c,
test/regress/expected/interval.out, test/regress/sql/interval.sql
(REL8_2_STABLE), backend/utils/adt/timestamp.c,
test/regress/expected/interval.out, test/regress/sql/interval.sql:
Rewrite interval_hash() so that the hashcodes are equal for values
that interval_eq() considers equal. I'm not sure how that
fundamental requirement escaped us through multiple revisions of
this hash function, but there it is; it's been wrong since
interval_hash was first written for PG 7.1. Per bug #4748 from
Roman Kononov.

Backpatch to all supported releases.

This patch changes the contents of hash indexes for interval
columns. That's no particular problem for PG 8.4, since we've
broken on-disk compatibility of hash indexes already; but it will
require a migration warning note in the next minor releases of all
existing branches: "if you have any hash indexes on columns of type
interval, REINDEX them after updating".

2009-04-03 20:45 alvherre

* src/: backend/access/common/reloptions.c,
include/access/reloptions.h: Disallow setting fillfactor for TOAST
tables.

To implement this without almost duplicating the reloption table,
treat relopt_kind as a bitmask instead of an integer value. This
decreases the range of allowed values, but it's not clear that
there's need for that much values anyway.

This patch also makes heap_reloptions explicitly a no-op for
relation kinds other than heap and TOAST tables.

Patch by ITAGAKI Takahiro with minor edits from me. (In particular
I removed the bit about adding relation kind to an error message,
which I intend to commit separately.)

2009-04-03 20:44 tgl

* src/bin/psql/describe.c: Improve obsolete comment.

2009-04-03 20:41 tgl

* src/bin/psql/describe.c: Make \dt \di and friends more consistent
about the treatment of TOAST tables and indexes; to wit, never show
either. (You can examine them with plain \d if you're really so
inclined.)

2009-04-03 20:39 tgl

* doc/src/sgml/ref/psql-ref.sgml: Minor wordsmithing on
descriptions of some \d commands.

2009-04-03 19:38 tgl

* src/bin/psql/help.c: Add missing help output for \ef option.
Andrew Gierth

2009-04-03 19:27 tgl

* src/port/: path.c (REL8_3_STABLE), path.c (REL8_2_STABLE),
path.c: Use (unsigned char) cast in argument of pg_tolower().
Maybe it works on Windows without that, but we shouldn't put bad
examples where people might copy them. Also, reformat slightly to
improve the odds that pgindent won't go nuts on this.

2009-04-03 14:17 tgl

* src/backend/storage/buffer/bufmgr.c: Add a comment documenting
the question of whether PrefetchBuffer should try to protect an
already-existing buffer from being evicted. This was left as an
open issue when the posix_fadvise patch was committed. I'm not
sure there's any evidence to justify more work in this area, but we
should have some record about it in the source code.

2009-04-03 12:59 tgl

* src/pl/plpython/: plpython.c, expected/plpython_function.out,
expected/plpython_test.out, sql/plpython_function.sql,
sql/plpython_test.sql: Defend against possible crash if a plpython
function does not specify names for its arguments. Also add a
regression test, since someone apparently changed every single
plpython test case to use only named parameters; else we'd have
noticed this sooner.

Euler Taveira de Oliveira, per a report from Alvaro

2009-04-03 07:52 mha

* src/port/: path.c (REL8_3_STABLE), path.c (REL8_2_STABLE),
path.c: Make directory name comparisons on Win32 case insensitive.

This method will not catch all different ways since the locale
handling in NTFS doesn't provide an easy way to do that, but it
will hopefully solve the most common cases causing startup problems
when the backend is found in the system PATH.

Attempts to fix bug #4694.

2009-04-02 18:44 momjian

* doc/src/sgml/config.sgml: Document that Solaris can't use
effective_io_concurrency because of an ineffective posix_fadvise().

2009-04-02 18:39 tgl

* src/: backend/executor/execQual.c, backend/executor/execUtils.c,
include/nodes/execnodes.h: Refactor ExecProject and associated
routines so that fast-path code is used for simple Var targetlist
entries all the time, even when there are other entries that are
not simple Vars. Also, ensure that we prefetch attributes (with
slot_getsomeattrs) for all Vars in the targetlist, even those
buried within expressions. In combination these changes seem to
significantly reduce the runtime for cases where tlists are mostly
but not exclusively Vars. Per my proposal of yesterday.

2009-04-02 16:59 momjian

* src/backend/: access/transam/slru.c, executor/execScan.c,
executor/nodeAgg.c, executor/nodeGroup.c, executor/nodeHash.c,
executor/nodeHashjoin.c, executor/nodeLimit.c,
executor/nodeMaterial.c, executor/nodeMergejoin.c,
executor/nodeNestloop.c, executor/nodeSetOp.c, executor/nodeSort.c,
executor/nodeSubplan.c, executor/nodeUnique.c, utils/probes.d:
Revert DTrace patch from Robert Lor

2009-04-02 16:16 tgl

* src/pl/plpgsql/src/pl_exec.c: Minor code
beautification/consolidation.

2009-04-02 15:57 momjian

* src/backend/utils/misc/guc.c: Give a better error message when
trying to change "effective_io_concurrency" on systems without
posix_fadvise().

2009-04-02 15:20 momjian

* doc/src/sgml/plpgsql.sgml, src/pl/plpgsql/src/pl_exec.c: Have
PL/pgSQL FETCH set DIAGNOSTICS ROW_COUNT.

Andrew Gierth

2009-04-02 15:14 momjian

* src/backend/: access/transam/slru.c, executor/execScan.c,
executor/nodeAgg.c, executor/nodeGroup.c, executor/nodeHash.c,
executor/nodeHashjoin.c, executor/nodeLimit.c,
executor/nodeMaterial.c, executor/nodeMergejoin.c,
executor/nodeNestloop.c, executor/nodeSetOp.c, executor/nodeSort.c,
executor/nodeSubplan.c, executor/nodeUnique.c, utils/probes.d: Add
support for additional DTrace probes.

Robert Lor

2009-04-02 14:06 teodor

* contrib/hstore/hstore_io.c (REL8_2_STABLE): Fix memory allocation
for output of hstore type. Per "maosen.zhang"
<maosen(dot)zhang(at)alibaba-inc(dot)com> report.

2009-04-02 13:57 teodor

* contrib/hstore/: hstore_io.c (REL8_3_STABLE), hstore_io.c: Fix
memory allocation for output of hstore type. Per "maosen.zhang"
<maosen(dot)zhang(at)alibaba-inc(dot)com> report.

2009-04-02 13:38 momjian

* src/bin/psql/describe.c: Do not show information_schema in \d*
commands, unless 'S' or pattern is specified.

Martin Pihlak

2009-04-02 13:30 tgl

* src/: backend/utils/mb/mbutils.c, include/mb/pg_wchar.h: Fix
SetClientEncoding() to maintain a cache of previously selected
encoding conversion functions. This allows transaction rollback to
revert to a previous client_encoding setting without doing fresh
catalog lookups. I believe that this explains and fixes the recent
report of "failed to commit client_encoding" failures.

This bug is present in 8.3.x, but it doesn't seem prudent to
back-patch the fix, at least not till it's had some time for field
testing in HEAD.

In passing, remove SetDefaultClientEncoding(), which was used
nowhere.

2009-04-02 11:15 momjian

* doc/src/sgml/ref/psql-ref.sgml, src/bin/psql/describe.c: Change
psql \d* display so 'S' _or_ a pattern include system objects.

2009-04-01 23:51 tgl

* src/backend/utils/misc/: guc.c (REL8_3_STABLE), guc.c: Fix GUC's
reports of assign_hook failure to always include the parameter
value we failed to assign, even in "can't happen" cases. Motivated
by wondering what's going on in a recent trouble report where
"failed to commit" did happen.

2009-04-01 21:16 tgl

* src/pl/plpgsql/src/: pl_exec.c (REL8_3_STABLE), pl_exec.c
(REL8_2_STABLE), pl_exec.c: plpgsql's exec_simple_cast_value()
mistakenly supposed that it could bypass casting effort whenever
the input value was NULL. However this prevents application of
not-null domain constraints in the cases that use this function, as
illustrated in bug #4741. Since this function isn't meant for use
in performance-critical paths anyway, this certainly seems like
another case of "premature optimization is the root of all evil".

Back-patch as far as 8.2; older versions made no effort to enforce
domain constraints here anyway.

2009-04-01 14:54 tgl

* src/bin/pg_dump/: pg_dump.c (REL8_3_STABLE), pg_dump.c: Improve
pg_dump's query for retrieving BLOB comments to be more efficient
when there are many blobs and not so many comments. Tamas Vincze

2009-04-01 05:17 heikki

* src/backend/utils/adt/pg_locale.c: Update comment to reflect that
LC_COLLATE and LC_CTYPE are now per-database settings.

2009-03-31 23:32 tgl

* doc/src/sgml/func.sgml: Index some array functions, per Mario
Splivalo.

2009-03-31 23:23 tgl

* src/backend/libpq/: auth.c, pg_hba.conf.sample: Remove last
references to the crypt auth method, per Andreas Scherbaum.

2009-03-31 18:54 tgl

* contrib/: pgstattuple/pgstattuple.c (REL7_4_STABLE),
pgstattuple/pgstattuple.c (REL8_1_STABLE),
pageinspect/btreefuncs.c, pageinspect/rawpage.c,
pgstattuple/pgstatindex.c, pgstattuple/pgstattuple.c
(REL8_3_STABLE), pgstattuple/pgstattuple.c (REL8_0_STABLE),
pgstattuple/pgstatindex.c, pgstattuple/pgstattuple.c
(REL8_2_STABLE), pageinspect/btreefuncs.c, pageinspect/rawpage.c,
pgstattuple/pgstatindex.c, pgstattuple/pgstattuple.c: Fix
contrib/pgstattuple and contrib/pageinspect to prevent attempts to
read temporary tables of other sessions; that is unsafe because of
the way our buffer management works. Per report from Stuart
Bishop. This is redundant with the bufmgr.c checks in HEAD, but
not at all redundant in the back branches.

2009-03-31 18:23 momjian

* doc/src/sgml/release.sgml: Remove some "Other" sections in the
release notes by putting the items at the top of their sections.

2009-03-31 18:12 tgl

* src/: backend/catalog/index.c, backend/catalog/namespace.c,
backend/catalog/toasting.c, backend/commands/analyze.c,
backend/commands/cluster.c, backend/commands/copy.c,
backend/commands/indexcmds.c, backend/commands/tablecmds.c,
backend/commands/vacuum.c, backend/optimizer/prep/prepunion.c,
backend/postmaster/autovacuum.c, backend/storage/buffer/bufmgr.c,
backend/utils/cache/relcache.c, include/utils/rel.h: Modify the
relcache to record the temp status of both local and nonlocal temp
relations; this is no more expensive than before, now that we have
pg_class.relistemp. Insert tests into bufmgr.c to prevent
attempting to fetch pages from nonlocal temp relations. This
provides a low-level defense against bugs-of-omission allowing temp
pages to be loaded into shared buffers, as in the
contrib/pgstattuple problem reported by Stuart Bishop. While at
it, tweak a bunch of places to use new relcache tests (instead of
expensive probes into pg_namespace) to detect local or nonlocal
temp tables.

2009-03-31 14:58 mha

* src/bin/initdb/: initdb.c (REL8_1_STABLE), initdb.c
(REL8_3_STABLE), initdb.c (REL8_0_STABLE), initdb.c
(REL8_2_STABLE), initdb.c: Don't crash initdb when we fail to get
the current username. Give an error message and exit instead, like
we do elsewhere...

Per report from Wez Furlong and Robert Treat.

2009-03-31 13:59 tgl

* doc/src/sgml/catalogs.sgml, src/backend/catalog/heap.c,
src/backend/utils/cache/relcache.c,
src/include/catalog/catversion.h,
src/include/catalog/pg_attribute.h, src/include/catalog/pg_class.h:
Add a "relistemp" boolean column to pg_class, which is true for
temporary relations (including a temp table's indexes and toast
table/index), and false for normal relations. For ease of
checking, this commit just adds the column and fills it correctly
--- revising the relation access machinery to use it will come
separately.

2009-03-31 01:18 heikki

* src/backend/storage/ipc/: procarray.c (REL8_1_STABLE),
procarray.c (REL8_3_STABLE), procarray.c (REL8_2_STABLE),
procarray.c: Fix a rare race condition when commit_siblings > 0 and
a transaction commits at the same instant as a new backend is
spawned. Since CountActiveBackends() doesn't hold ProcArrayLock, it
needs to be prepared for the case that a pointer at the end of the
proc array is still NULL even though numProcs says it should be
valid, since it doesn't hold ProcArrayLock. Backpatch to 8.1. 8.0
and earlier had this right, but it was broken in the split of
PGPROC and sinval shared memory arrays.

Per report and proposal by Marko Kreen.

2009-03-30 22:34 momjian

* doc/src/sgml/release.sgml: Update release note introductory
description.

2009-03-30 21:41 tgl

* doc/src/sgml/libpq.sgml, src/interfaces/libpq/exports.txt,
src/interfaces/libpq/fe-secure.c, src/interfaces/libpq/libpq-fe.h:
Add PQinitOpenSSL() function to support applications that use
libcrypto but not OpenSSL (or perhaps vice versa, if that's
possible).

Andrew Chernow, with minor editorialization by me.

2009-03-30 21:26 momjian

* doc/src/sgml/release.sgml: More new subsections in release notes.

2009-03-30 18:01 momjian

* doc/src/sgml/release.sgml: More release note changes, including a
lower level of subsections.

2009-03-30 16:32 momjian

* doc/src/sgml/release.sgml: More release note adjustments,
reordering.

2009-03-30 15:59 momjian

* doc/src/sgml/release.sgml: More release note wording
improvements; section order adjustments.

2009-03-30 14:34 momjian

* doc/src/sgml/release.sgml: Reorder release note sections.

2009-03-30 13:30 tgl

* src/backend/optimizer/plan/planner.c: Fix window function plan
generation to cope with volatile sort expressions. (Not clear how
useful these really are, but failing is no good...) Per report from
David Fetter and Robert Treat.

2009-03-30 12:15 alvherre

* doc/src/sgml/: plpython.sgml (REL8_3_STABLE), plpython.sgml:
Update URL to Python bug tracker. Backpatch to 8.3; doesn't seem
worthy of further backpatch.

2009-03-30 00:08 tgl

* src/: backend/access/common/heaptuple.c,
backend/executor/execTuples.c, include/executor/tuptable.h,
test/regress/expected/rangefuncs.out,
test/regress/sql/rangefuncs.sql (REL8_3_STABLE),
backend/access/common/heaptuple.c, backend/executor/execTuples.c,
include/executor/tuptable.h, test/regress/expected/rangefuncs.out,
test/regress/sql/rangefuncs.sql (REL8_2_STABLE),
backend/access/common/heaptuple.c, backend/executor/execTuples.c,
include/executor/tuptable.h, test/regress/expected/rangefuncs.out,
test/regress/expected/with.out, test/regress/sql/rangefuncs.sql,
test/regress/sql/with.sql: Fix an oversight in the support for
storing/retrieving "minimal tuples" in TupleTableSlots. We have
functions for retrieving a minimal tuple from a slot after storing
a regular tuple in it, or vice versa; but these were implemented by
converting the internal storage from one format to the other. The
problem with that is it invalidates any pass-by-reference Datums
that were already fetched from the slot, since they'll be pointing
into the just-freed version of the tuple. The known problem cases
involve fetching both a whole-row variable and a pass-by-reference
value from a slot that is fed from a tuplestore or tuplesort
object. The added regression tests illustrate some simple cases,
but there may be other failure scenarios traceable to the same bug.
Note that the added tests probably only fail on unpatched code if
it's built with --enable-cassert; otherwise the bug leads to
fetching from freed memory, which will not have been overwritten
without additional conditions.

Fix by allowing a slot to contain both formats simultaneously;
which turns out not to complicate the logic much at all, if
anything it seems less contorted than before.

Back-patch to 8.2, where minimal tuples were introduced.

2009-03-29 15:13 momjian

* doc/src/sgml/release.sgml: More release note markup.

2009-03-28 23:58 momjian

* doc/src/sgml/release.sgml: More release note markup.

2009-03-28 23:01 momjian

* doc/src/sgml/release.sgml: Add SGML markup for
commands/literal/application/etc in release notes; still more work
to do.

2009-03-28 18:05 momjian

* doc/src/sgml/release.sgml: Consistent 8.4 release note naming for
Itagaki Takahiro

2009-03-28 14:48 momjian

* src/interfaces/libpq/fe-secure.c: Clarify variable naming:
pq_initssllib -> pq_init_ssl_lib

2009-03-28 10:15 momjian

* doc/src/sgml/release.sgml: Update release notes to say citext is
multi-byte aware, per suggestion from patch author:

Add /contrib/citext as a case-insensitive, multibyte-capable
text data type (David Wheeler)

2009-03-27 23:26 momjian

* doc/src/sgml/ref/: alter_role.sgml, set_role.sgml: Better
document that SET ROLE does not uset ALTER ROLE SET settings;
suggested wording from Josh Berkus.

2009-03-27 21:36 momjian

* doc/src/sgml/libpq.sgml, src/interfaces/libpq/fe-secure.c: Better
document PQinitSSL(0) behavior in regards to libcrypto.

2009-03-27 20:10 tgl

* doc/src/sgml/monitoring.sgml: Add documentation of the fact that
dtrace probes evaluate their parameters even when not active.
Explain how to prevent that with an ENABLED() check.

2009-03-27 18:39 momjian

* doc/src/sgml/release.sgml: Document in release notes that NOT IN
is only for NOT EXIST clauses.

Andrew Gierth

2009-03-27 15:58 tgl

* configure, configure.in: On Solaris, we should only force use of
our own getopt(); it's okay to use the system's getopt_long(). The
previous coding was the result of a sloppy discussion that failed
to draw this distinction. The result was that PG programs don't
handle options as users of that platform expect. Per gripe from
Chuck McDevitt.

Although this is a pre-existing bug, I'm not backpatching since I
think we could do with a bit of beta testing before concluding this
is really OK.

2009-03-27 15:17 mha

* doc/src/sgml/release.sgml: Fix markup, per Devrim

2009-03-27 14:56 tgl

* src/backend/utils/adt/xml.c: Add an errdetail explaining why we
reject infinite dates and timestamps while converting to XML.
Bernd Helmle

2009-03-27 14:30 tgl

* src/: backend/executor/execQual.c, backend/executor/functions.c,
backend/executor/nodeCtescan.c,
backend/executor/nodeFunctionscan.c,
backend/executor/nodeMaterial.c, backend/executor/nodeWindowAgg.c,
backend/executor/nodeWorktablescan.c, backend/tcop/pquery.c,
backend/utils/sort/tuplestore.c, include/utils/tuplestore.h: Fix
possible failures when a tuplestore switches from in-memory to
on-disk mode while callers hold pointers to in-memory tuples. I
reported this for the case of nodeWindowAgg's primary scan tuple,
but inspection of the code shows that all of the calls in
nodeWindowAgg and nodeCtescan are at risk. For the moment, fix it
with a rather brute-force approach of copying whenever one of the
at-risk callers requests a tuple. Later we might think of some
sort of reference-count approach to reduce tuple copying.

2009-03-27 11:57 tgl

* src/backend/catalog/index.c: Teach reindex_index() to clear
pg_index.indcheckxmin when possible. Greg Stark, slightly modified
by me.

2009-03-27 10:58 heikki

* src/bin/psql/: tab-complete.c (REL8_1_STABLE), tab-complete.c
(REL8_3_STABLE), tab-complete.c (REL8_2_STABLE), tab-complete.c:
Fix tab completion of ANALYZE VERBOSE <tab>. It was previously
confused with EXPLAIN ANALYZE VERBOSE.

Greg Sabino Mullane, reformatted by myself. Backpatch to 8.1, where
the bug was introduced.

2009-03-27 08:01 mha

* doc/src/sgml/release.sgml: Clearify new SSL certificate
verification in libpq

2009-03-27 07:58 mha

* doc/src/sgml/release.sgml: Fix release notes about pg_hba changes

2009-03-26 22:25 momjian

* doc/src/sgml/release.sgml: Updated release wording, per Greg
Stark:

Previously EXPLAIN VERBOSE had output an internal
representation of the

2009-03-26 21:44 momjian

* doc/src/sgml/release.sgml: Second batch of release note fixes by
Guillaume Smet

2009-03-26 21:26 momjian

* doc/src/sgml/release.sgml: Mark Greg as the instigator of the
statistics target increase:

Increase the default value of default_statistics_target from
10 to 100
(Greg Sabino Mullane, Tom)

2009-03-26 20:45 momjian

* doc/src/sgml/release.sgml: First round of release note changes
from Guillaume Smet.

2009-03-26 20:11 momjian

* doc/src/sgml/release.sgml: Fix release note attribution:

Support the IS0 8601 time interval syntax (Tom, Kevin
Grittner)

per Ron Mayer

2009-03-26 20:08 momjian

* doc/src/sgml/release.sgml: Improved release notes interval
wording:

Made interval seconds rounding more consistent across output
formats (Ron Mayer)

Ron Mayer

2009-03-26 20:06 momjian

* doc/src/sgml/release.sgml: Remove duplicate interval (fractional
seconds) items; Ron Mayer

2009-03-26 20:01 momjian

* doc/src/sgml/release.sgml: Document that Datestyle no longer
controls interval output, per suggestion from Ron Mayer

2009-03-26 18:29 tgl

* contrib/pg_standby/: pg_standby.c (REL8_3_STABLE), pg_standby.c:
Make pg_standby's maxretries option do what one would expect.
Fujii Masao

2009-03-26 18:26 petere

* src/: backend/catalog/dependency.c, backend/catalog/pg_proc.c,
backend/catalog/pg_shdepend.c, backend/executor/execQual.c,
backend/parser/parse_func.c, backend/postmaster/bgwriter.c,
bin/pg_dump/pg_backup_archiver.c, bin/pg_dump/pg_backup_tar.c,
bin/pg_dump/pg_dump.c, bin/psql/describe.c, bin/psql/print.c,
include/c.h, interfaces/ecpg/preproc/variable.c,
pl/plpgsql/src/pl_exec.c, pl/plpython/plpython.c: Gettext plural
support

In the backend, I changed only a handful of exemplary or
important-looking instances to make use of the plural support;
there is probably more work there. For the rest of the source,
this should cover all relevant cases.

2009-03-26 16:55 tgl

* doc/src/sgml/: charset.sgml, config.sgml: Fix a couple of places
that still claimed LC_COLLATE and LC_CTYPE can't be changed after
initdb.

2009-03-26 15:24 tgl

* src/backend/commands/copy.c: Adjust phrasing of complaints about
multi-byte COPY delimiter strings. Per pgsql-hackers discussion of
2009-02-17.

2009-03-26 13:15 tgl

* src/: backend/nodes/outfuncs.c,
backend/optimizer/path/costsize.c,
backend/optimizer/plan/createplan.c,
backend/optimizer/util/pathnode.c, include/nodes/relation.h: If we
expect a hash join to be performed in multiple batches, suppress
"physical tlist" optimization on the outer relation (ie, force a
projection step to occur in its scan). This avoids storing useless
column values when the outer relation's tuples are written to
temporary batch files.

Modified version of a patch by Michael Henderson and Ramon
Lawrence.

2009-03-26 08:38 momjian

* doc/src/sgml/release.sgml: Correction: ansi-join ->anti-join.

2009-03-25 23:46 tgl

* doc/src/sgml/release.sgml: Fix markup so that 'make HISTORY'
works. A couple very minor editorial improvements.

2009-03-25 22:48 momjian

* doc/src/sgml/release.sgml: Reorder 8.4 release note sections.

2009-03-25 22:40 momjian

* doc/src/sgml/release.sgml: Re-add release notes for release
8.3.7.

2009-03-25 21:48 momjian

* doc/src/sgml/release.sgml: Adjust AS OF release notes markup.

2009-03-25 21:31 momjian

* doc/src/sgml/release.sgml: Mention release note items current as
of 2009-03-16.

2009-03-25 21:19 momjian

* doc/src/sgml/release.sgml: First version of 8.4 release notes;
markup/cleanup/reorganization still required.


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 22:09:28
Message-ID: 20090827220928.GQ11213@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Kevin Grittner escribió:
> Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>
> > The final CommitFest began November 11, 2008. It closed March 25,
> > 2009 (+ 144 days). Beta1 was released April 15, 2009 (+ 21 days).
>
> I'm not entirely clear on what was happening during the 21 days
> between the end of the CommitFest and and the release of beta1. I
> seem to remember Bruce saying that there were bugs being fixed, and
> that it didn't make sense to release a beta with known bugs of that
> magnitude, but I'm not clear on what was up with that.

That's nonsense IMHO. We should have just released a version
documenting the known bugs, and asking for people to test the rest of
the system.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


From: David Fetter <david(at)fetter(dot)org>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 22:19:57
Message-ID: 20090827221957.GE3886@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 03:04:20PM -0400, Robert Haas wrote:
> On Thu, Aug 27, 2009 at 2:54 PM, Peter Eisentraut<peter_e(at)gmx(dot)net> wrote:
> > On tor, 2009-08-27 at 09:58 -0400, Robert Haas wrote:
> >> To get positive results in which you can have confidence, you
> >> have to know that the testing which was done actually did a
> >> reasonably good job exercising the code in a way that would have
> >> flushed out bugs, had any been present.  That sounds a lot like
> >> the definition of a regression test suite.  Of course, we have
> >> that already, but it's nowhere near comprehensive.  Maybe we
> >> should be looking at an expanded test suite that runs on a time
> >> scale of hours rather than seconds. Actually, didn't Peter talk
> >> about something like this at PGCon?
> >
> > Let's look at it this way: If I were writing a compiler, then I
> > would have two main test approaches.  First, I would have an
> > in-tree test suite that compiles a bunch of example code snippets
> > and checks that the results are reasonable.  Call that a
> > regression test.  It would be informed by code coverage analysis
> > and previously reported bugs. Second, as part of my release
> > cycle, I would have an agenda to try to compile a large set of
> > real programs against my new compiler version. I would do that
> > during the beta period.  You will notice that GCC pretty much
> > operates that way.
> >
> > We have regression tests.  They could and should be expanded.
> >  That's a developer job, and we can start working on that now.
> >  But this discussion was about what to do during beta.  And I
> > think during beta you want to test PostgreSQL against a large set
> > of real applications. But we could try to clarify how to actually
> > do that in an organized way.
> >
> > Now, if you want to improve the regression tests, I would suggest
> > going through the commits since 8.4beta and since 8.4.0 final
> > release and ask how these problems could have been prevented or
> > caught earlier.  I suppose a test suite for WAL might be part of
> > the answer, but a closer analysis might be insightful.
>
> What I want to do is address the concern about too much of any given
> year being consumed by beta and CommitFest. I'm not sure I know how
> to do that though.

How about something in the alphas to the effect of,

Using PostgreSQL?
Have a development server to spare?
Try your application stack on alpha1!
We'd love to hear back. Functionality, performance, you name it.

Cheers,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david(dot)fetter(at)gmail(dot)com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: David Fetter <david(at)fetter(dot)org>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 22:28:56
Message-ID: 4A9708A8.8020006@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

David Fetter wrote:
>
> How about something in the alphas to the effect of,
>
> Using PostgreSQL?
> Have a development server to spare?
> Try your application stack on alpha1!
> We'd love to hear back. Functionality, performance, you name it.
>
>
>

I don't know of anyone who is likely to want to try out alphas in their
normal development environments. The client I approached was
specifically prepared to test beta releases that way.

cheers

andrew


From: Jean-Michel Pouré <jm(at)poure(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MySQL Compatibility WAS: 8.5 release timetable, again
Date: 2009-08-27 22:34:46
Message-ID: 1251412486.25813.4.camel@acer
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Le jeudi 27 août 2009 à 14:27 -0500, Jaime Casanova a écrit :
> the point was that if we simply were saying: hey! mysql can interpret
> this, make postgres do the same then we could end up with a lot of
> broken stuff... just because mysql users think is wonderful to not
> have to write sane code...

Not MySQL in general. Only the subset which helps and seems reasonable.
Bye, JM


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-27 22:35:49
Message-ID: 4A970A45.2080600@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Simon,

> The level of detailed planning happening now is a change for the
> community and in general I think it's a good thing. In the past we've
> always said it will be shipped when it's ready, and now we seem to be
> caught by our own rules. There's no need to make hard decisions now.
> Let's keep some flexibility in our thinking. If the structures give us
> problems, lets change the structures. The idea is the plans help the
> developers, not hinder them or make it harder to include big features.

There's some very good reasons for the health of the project to have
specific release dates and stick to them. "When will it be released" is
an important question to answer, and it's far better for the developers
who *aren't* working on big features to not be elastic.

So, with that in mind: what is your statement on three versus four
commitfests? Does it make a difference to you?

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 00:25:08
Message-ID: 603c8f070908271725o79028b11u3ef5a8615103acf1@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 6:09 PM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
>> Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>>> The final CommitFest began November 11, 2008.  It closed March 25,
>>> 2009 (+ 144 days).  Beta1 was released April 15, 2009 (+ 21 days).
>
>> I'm not entirely clear on what was happening during the 21 days
>> between the end of the CommitFest and and the release of beta1.
>
> Release note drafting is one part of it, but mostly it's "loose end
> cleanup".  Historically there have always been a pile of loose ends
> to be dealt with, and the CommitFest structure doesn't really do
> anything to avoid that.  If you're interested, attached are all the
> commits between commitfest closure (which I announced immediately
> after committing the addition of contrib/btree_gin) and stamping
> beta1 (which was actually several days before the date Robert gives,
> because of the need for the packagers to do their thing).
>
> It appears to me that release notes weren't actually the bottleneck this
> time, though they have been in some prior cycles.  Bruce committed a
> first draft immediately after the commitfest closed.  Rather, it was
> arguing about things like \df behavior and cardinality() that took up
> the time.

It felt, at the time, like the release notes were holding things up,
hence the various and so-far-unsuccesful volunteering related to that
task. But it's possible that there was enough parallel activity going
on that it wasn't actually so.

> We could certainly have released a perhaps-less-polished beta earlier.
> I think that the traditional criterion is that we don't release beta1
> as long as there are any known issues that might force an initdb.
> We were successful in avoiding a post-beta initdb this time, although
> IIRC the majority of release cycles have had one --- so maybe you
> could argue that that's not so important.  It would certainly be
> less important if we had working pg_migrator functionality to ease
> the pain of going from beta to final.
>
> Now that we have the alpha-release mechanism defined, some of the
> pressure for a quick beta could be taken off by releasing a final
> alpha right after the final commitfest closes.

Definitely. Looking at it in hindsight, 3 weeks seems like a
reasonable amount of time between the end of the last CommitFest and
the start of beta. It felt long at the time, but maybe that's partly
because the CommitFest was so intermininable.

I think what a lot of this boils down to is that we need a better
system for managing the tasks that need to be completed at each stage
of the release process, and who is working on each one, and what the
status of it is, just as we do for CommitFests.

...Robert


From: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: David Fetter <david(at)fetter(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 03:02:03
Message-ID: 4A9748AB.5090102@cheapcomplexdevices.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan wrote:
> I don't know of anyone who is likely to want to try out alphas in their
> normal development environments. The client I approached was
> specifically prepared to test beta releases that way.

Perhaps end-users won't, but I think companies who develop software that
works on top of postgres will. Perhaps to make sure their existing software
continues to work; or perhaps to get a head start working with new features.
I test against CVS-head occasionally.


From: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: Simon Riggs <simon(at)2ndQuadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 03:39:17
Message-ID: 4A975165.5000200@cheapcomplexdevices.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Josh Berkus wrote:
> There's some very good reasons for the health of the project to have
> specific release dates and stick to them.

Help me understand why?

The Linux kernel seems to do fine with a "when it is ready" cycle,
where some releases(2.6.24) take twice the time of others(2.6.28)[1,2].
I imagine it has similar stability and lack-of-data-loss requirements
as postgres does.

I understand why commercial packagers like Ubuntu - especially public
ones like Novell and Red Hat who have to forecast earnings - want to
schedule their releases.

And I can imagine they'd appreciate it if project releases aren't
too close to their release schedules (if postgres releases right
after they release they suffer from not having the current version;
if postgres releases just before, they have limited testing time).

[1] http://www.linuxfoundation.org/publications/linuxkerneldevelopment.php
[2] http://fblinux.freebase.com/view/base/fblinux/views/linux_kernel_release

> So, with that in mind: what is your statement on three versus four
> commitfests? Does it make a difference to you?


From: Greg Stark <gsstark(at)mit(dot)edu>
To: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 04:59:33
Message-ID: 407d949e0908272159g31029386u135596d4910ecc72@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Fri, Aug 28, 2009 at 4:39 AM, Ron Mayer<rm_pg(at)cheapcomplexdevices(dot)com> wrote:
> Josh Berkus wrote:
>> There's some very good reasons for the health of the project to have
>> specific release dates and stick to them.
>
> Help me understand why?
>
> The Linux kernel seems to do fine with a "when it is ready" cycle,
> where some releases(2.6.24) take twice the time of others(2.6.28)[1,2].
> I imagine it has similar stability and lack-of-data-loss requirements
> as postgres does.

Uhm, the Linux release process is actually now the canonical example
of time-based release management. They used to do "when it is ready"
and that led to such a dramatic catastrophic failure with 2.6 that
they adopted the most dogmatically time-based system of any open
source project.

They basically don't do any integration testing and leave that up to
the distributions now. Instead they have an "rc" release *every week*
like clockwork and every 2-3 months the last one becomes a new version
regardless of whether there's any notable new feature.

Other than the first few releases after 2.6.0 when things were still
fairly unstable and major fixes were going in the release cycle has
been remarkaby regular modulo holidays and vacations:

r | d | days
------------------+------------+------
ChangeLog-2.6.30 | 2009-06-10 | 79
ChangeLog-2.6.29 | 2009-03-23 | 89
ChangeLog-2.6.28 | 2008-12-24 | 75
ChangeLog-2.6.27 | 2008-10-10 | 89
ChangeLog-2.6.26 | 2008-07-13 | 87
ChangeLog-2.6.25 | 2008-04-17 | 84
ChangeLog-2.6.24 | 2008-01-24 | 107
ChangeLog-2.6.23 | 2007-10-09 | 92
ChangeLog-2.6.22 | 2007-07-09 | 74
ChangeLog-2.6.21 | 2007-04-26 | 81
ChangeLog-2.6.20 | 2007-02-04 | 67
ChangeLog-2.6.19 | 2006-11-29 | 70
ChangeLog-2.6.18 | 2006-09-20 | 94
ChangeLog-2.6.17 | 2006-06-18 | 90
ChangeLog-2.6.16 | 2006-03-20 | 76
ChangeLog-2.6.15 | 2006-01-03 | 67
ChangeLog-2.6.14 | 2005-10-28 | 60
ChangeLog-2.6.13 | 2005-08-29 | 73
ChangeLog-2.6.12 | 2005-06-17 | 107
ChangeLog-2.6.11 | 2005-03-02 | 68
ChangeLog-2.6.10 | 2004-12-24 | 66
ChangeLog-2.6.9 | 2004-10-19 | 66
ChangeLog-2.6.8 | 2004-08-14 | 59
ChangeLog-2.6.7 | 2004-06-16 | 37
ChangeLog-2.6.6 | 2004-05-10 | 36
ChangeLog-2.6.5 | 2004-04-04 | 24
ChangeLog-2.6.4 | 2004-03-11 | 22
ChangeLog-2.6.3 | 2004-02-18 | 14
ChangeLog-2.6.2 | 2004-02-04 | 26
ChangeLog-2.6.1 | 2004-01-09 | 22
ChangeLog-2.6.0 | 2003-12-18 |
(31 rows)

--
greg
http://mit.edu/~gsstark/resume.pdf


From: Greg Smith <gsmith(at)gregsmith(dot)com>
To: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, Simon Riggs <simon(at)2ndQuadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 06:35:21
Message-ID: alpine.GSO.2.01.0908280203450.13559@westnet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, 27 Aug 2009, Ron Mayer wrote:

> The Linux kernel seems to do fine with a "when it is ready" cycle,
> where some releases(2.6.24) take twice the time of others(2.6.28)[1,2].
> [2] http://fblinux.freebase.com/view/base/fblinux/views/linux_kernel_release

That link has bad data. If you check the tagging dates by looking at the
source material here:

http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.27
http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.28

You can see that 2.6.28 didn't come out until 2008-12-14, not the
2008-10-24 claimed on the freebase.com site.

> I imagine it has similar stability and lack-of-data-loss requirements
> as postgres does.

The Linux kernel developers are very clear that they don't care one bit
about testing for stability or lack of data loss in any system-oriented
way. That's somebody else's job now, typically the Linux distributor who
decides which of the kernels floating around are the most stable,
hopefully running more and larger tests than the kernel developers do.

For example, if you consider Ubuntu 9.04 Jaunty, development started with
2.6.27, upgraded to 2.6.28, then rejected moving to 2.6.29 even though
they might have slipped it in.[1] When faced with the similar decision for
2.6.26 vs. 2.6.27 in the previous release, they went for the later one,
based on the features they needed to be stable.[2] It's really amazing
that a useful result ever comes out of this model at all, and I know I'm
not alone that I presume all Linux kernel releases are too full of bugs to
be useful until I've proven otherwise with my own QA.

If the core PostgreSQL development worked like the Linux kernel, at the
end of each CommitFest whatever was done at that point would get published
as the new release. Instead of pausing to focus on a stable release
everyone would just speed ahead, backporting any major issues not
discovered until after the official release.

[1] http://www.h-online.com/news/No-2-6-29-kernel-for-Jaunty-Jackalope--/112636
[2] https://lists.ubuntu.com/archives/ubuntu-devel/2008-August/026142.html

--
* Greg Smith gsmith(at)gregsmith(dot)com http://www.gregsmith.com Baltimore, MD


From: daveg <daveg(at)sonic(dot)net>
To: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 09:35:50
Message-ID: 20090828093550.GE13836@sonic.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 09:38:15PM +0200, Dimitri Fontaine wrote:
> Exactly, and I think that what we're missing here is a simple tool for
> our users to check a new PostgreSQL release against their existing
> application.
>
> We already know how to either log all queries and analyze the log files
> (CSV makes it easier, pgfouine parses them too) or to have a fe/be
> protocol proxy to record application SQL traffic (tsung recorder does
> that).
>
> What we miss is a tool to run the captured queries through both versions
> of PG and report any resultset mismatch, of course with a way to account
> for ordering issues (but we've seen people rely on the ordering when
> they don't give an order by clause, then bug the lists about it if a new
> release changes it).

This would be very useful. I often am asked "how much better will the new
release run our apps" as part of convincing a client to upgrade to a
more current postgresql release. Being able to replay a days workload in a
somewhat realistic manner would be a great help.

-dg

--
David Gould daveg(at)sonic(dot)net 510 536 1443 510 282 0869
If simplicity worked, the world would be overrun with insects.


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Greg Smith <gsmith(at)gregsmith(dot)com>
Cc: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, Simon Riggs <simon(at)2ndQuadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 11:26:43
Message-ID: 4A97BEF3.2020207@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Greg Smith wrote:
>
> The Linux kernel developers are very clear that they don't care one
> bit about testing for stability or lack of data loss in any
> system-oriented way. That's somebody else's job now, typically the
> Linux distributor who decides which of the kernels floating around are
> the most stable, hopefully running more and larger tests than the
> kernel developers do.
>
>

Right. And we are not in any position to do that, even if we wanted to.
The Linux kernel is a great example of how we don't want to do it,
IMNSHO. We need to enhance our testing to preserve our reputation for
stability and reliability, not throw the responsibility over the fence.

cheers

andrew


From: daveg <daveg(at)sonic(dot)net>
To: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, David Fetter <david(at)fetter(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 11:31:42
Message-ID: 20090828113142.GG13836@sonic.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 08:02:03PM -0700, Ron Mayer wrote:
> Andrew Dunstan wrote:
> > I don't know of anyone who is likely to want to try out alphas in their
> > normal development environments. The client I approached was
> > specifically prepared to test beta releases that way.
>
> Perhaps end-users won't, but I think companies who develop software that
> works on top of postgres will. Perhaps to make sure their existing software
> continues to work; or perhaps to get a head start working with new features.
> I test against CVS-head occasionally.

I've been trying to help a client take up new versions of postgresql
more quickly as the performance or feature content is often very valuable
to them. Accordingly, I have encouraged them to run periodic samples of the
nightly snapshots on at least one development instance, and to run the
betas in the test environment. The goal is to be confident on the day of the
postgresql release that we have tested enough and fixed any incompatibilities
so that, if they so choose, they could migrate production to the new release
immediately. This way they get several months extra benefit from improvements
to postgresql.

-dg

--
David Gould daveg(at)sonic(dot)net 510 536 1443 510 282 0869
If simplicity worked, the world would be overrun with insects.


From: Greg Stark <gsstark(at)mit(dot)edu>
To: Greg Smith <gsmith(at)gregsmith(dot)com>
Cc: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 11:32:49
Message-ID: 407d949e0908280432h65b19975lea2bb0ef4d861b01@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Fri, Aug 28, 2009 at 7:35 AM, Greg Smith<gsmith(at)gregsmith(dot)com> wrote:
> It's really amazing that a useful result ever comes out of this model at
> all, and I know I'm not alone that I presume all Linux kernel releases are
> too full of bugs to be useful until I've proven otherwise with my own QA.
>
> If the core PostgreSQL development worked like the Linux kernel, at the end
> of each CommitFest whatever was done at that point would get published as
> the new release.  Instead of pausing to focus on a stable release everyone
> would just speed ahead, backporting any major issues not discovered until
> after the official release.

The lesson that they took from earlier releases was that "pausing"
development just led to heartache and delays and didn't actually help
the release at all.

Keep in mind that the Linux kernel itself is just an integration
effort now anyways. All the actual development happens in other trees
earlier anyways. Patches are only sent up to Linux when they've been
fully developed (and hopefully somewhat tested) elsewhere.

The arguments against the Linux approach are that a) it involves a lot
of backpatching which is a pain. This is less convincing than it
appears because the more often you fork branches the less different
they all are. b) Our developers are also our testers and we don't have
independent distribution vendors available to do testing. Actually we
do, aside from people like EDB who have large test suites we're
discussing how to get more testing from users precisely because our
developers aren't really our testers.

The big difference between Linux and ourselves is that it's a lot more
work to migrate a database. So nobody would be particularly helped by
having frequent releases. It would make a lot of sense even for us
when the day comes that most people just run whatever Redhat or Debian
ship. In which case we could come out with releases but users would
happily ignore those releases until Redhat or Debian picked out,
tested it, and released it in their distributions.

--
greg
http://mit.edu/~gsstark/resume.pdf


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Greg Stark <gsstark(at)mit(dot)edu>
Cc: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 13:44:02
Message-ID: 20090828134402.GB7070@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Greg Stark wrote:

> They basically don't do any integration testing and leave that up to
> the distributions now. Instead they have an "rc" release *every week*
> like clockwork and every 2-3 months the last one becomes a new version
> regardless of whether there's any notable new feature.

They have a two week "merge period" during which all patches of any
importance are merged. The RCs are released after that, and they are
supposed to include only bugfixes to the merged patches. Some things
are still merged after the merge window is closed, but they are very
few. They release as many RCs as are necessary to close the majority of
bugs/regressions.

So yeah, they have some of the "time-based" nature, but they also use
the "when it's ready" philosophy a lot.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Josh Berkus" <josh(at)agliodbs(dot)com>, "Ron Mayer" <rm_pg(at)cheapcomplexdevices(dot)com>
Cc: "Simon Riggs" <simon(at)2ndQuadrant(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 15:39:47
Message-ID: 4A97B3F3020000250002A4FF@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com> wrote:
> Josh Berkus wrote:
>> There's some very good reasons for the health of the project to
>> have specific release dates and stick to them.
>
> Help me understand why?

I don't know how many places are like this, but to get any significant
staff or hardware resources officially allocated to anything here, you
need a minimum of three months lead time. (Less, of course, if things
are crashing and burning around our users' ears; more if the managers
don't see an immediate and direct benefit to the users.)

Any hope of organized participation by the Wisconsin Courts in a beta
program would require a date they can put on their calendars and
schedule around with confidence. As it is, what I do is based on
having permission to run tests on my own time when there are hardware
resources I can find to use which won't disrupt anything.

>From my perspective, a hard date for the beta release is more
important than a hard date for the production release. Management
here is very easy to sell on the concept that PostgreSQL stays in beta
testing until there is confidence that the release is stable and
trustworthy.

-Kevin


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Time-based Releases WAS: 8.5 release timetable, again
Date: 2009-08-28 17:19:07
Message-ID: 4A98118B.8090101@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

All,

>>> There's some very good reasons for the health of the project to have
>>> specific release dates and stick to them.
>> Help me understand why?

We've cited this before, but here's the definitive paper on the subject:

http://www.cyrius.com/publications/michlmayr-phd.pdf
summary here:
http://robertogaloppini.net/2007/04/02/open-source-production-time-based-release-management/

Further evidence since then with Debian, Parrot, and several other
projects which have moved from feature-based releases to time-based
releases is that each release had just as many features despite the more
rigid time, and that contributors and users were far better able to
organize their lives around a defined schedule. Thus, each person was
able to contribute more because they knew exactly when they had to do
it. I don't know about you, but I personally work better when I have an
actual deadline.

I'd think the advantages for our commercial adopters (who pay the
salaries for many of the people on this list) would be obvious; if they
know with a small margin of error when the next version of PostgreSQL is
coming out, they can plan testing and deployment of their new products.
See Kevin's post; many companies need to schedule serious testing
hardware months in advance, and every ISV needs to plan new product
deployments up to a year in advance. We bitch a lot in the community
about the super-old versions of PG which commercial software is using,
but our variable release cycle is partly to blame.

For our contributors, it's a lot harder to get funding to do paid
contract work on features if you can't tell your sponsor when the next
release is coming out.

The alternative? 100% of the evidence I've seen is that feature-based
release cycles get progressively longer as the project gets bigger.
Eventually you find yourself only doing a release every 3.5 years, like
MySQL or Debian used to. And your developers start leaving because they
never see the fruits of their contributions, and your users start
leaving because there's never anything new.

Certainly our project experiences with "waiting for feature X" have all
been negative. The windows port never got into 7.4 despite holding it
up 4 months. HOT held up 8.3 for three to five months, depending on how
you count it, in what I think everyone feels was our most painful beta
period ever. Most recently, we let HS/SR hold up 8.4 for 2 months ...
and they still weren't ready.

I would like to see us go to an annual release timeline in which we
release in the same month every year. Any time we say "variable release
date" what it really means is "later release date". We've never yet
released something *early*.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 17:55:27
Message-ID: 4A981A0F.2060403@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Folks,

Here is my proposal for CFs for this year:

We do four CFs, July 15, September 15, November 15, and January 15.

However, we rigidly apply the 30-day deadline for the January 15 CF.
That is, anything which is not completely ready for commit on February
14 gets punted to the next version. None of the "oh it's almost ready",
no "just 2 more weeks of review". Make sure everything gets reviewed
promptly (we *can* do it) and commit or punt.

== Speeding things up ==

As far as our annual cycle is concerned, I don't think that the
development/CF period is the problem; it's as efficient as we really
want it to be. It's what comes after: post-CF cleanup, integration,
beta. This period is especially a problem because it is one of little
visible activity, no development, and generally waiting-room mentality
for most of our contributors.

Here are my proposals for making all of that go faster, with the caveat
that it probably won't get better until the 2nd time we do it:

Post-CF:
Make a list (now, not in January) of the tasks which need to be done
between CFend and Beta. We'll find that some of them could be done by
someone other than Tom and Bruce, and that others could be done before
CFend.

Beta:
Create a mailing list (why don't we have a list for testers? is
testing less important than the JDBC driver?) and a simple web app or
templated wiki page for testers. Allow people to check in with which
version they tested (Alpha1,2,3, Beta 1,2,3) and what tests they ran,
and issues encountered (if any). We should do this now so we can get
started with Alpha testing.
When this testing gets into swing, we can also look at recruiting
volunteers to run various popular OSS apps' test suites against the
developing version of PostgreSQL.
Once beta starts, have a list of pending issues in some
editable/commentable location (wiki is ok for this, or we can pervert
the commitfest app) *as soon as those issues arise* so that as many
hackers as possible can work on those issues. We did do a "pending
issues" list for 8.4, but not until we were already over a month into
beta, and then the list wasn't very accurate.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-28 20:11:10
Message-ID: 1251490270.4839.1461.camel@ebony.2ndQuadrant
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On Fri, 2009-08-28 at 10:55 -0700, Josh Berkus wrote:

> Here is my proposal for CFs for this year:
>
> We do four CFs, July 15, September 15, November 15, and January 15.
>
> However, we rigidly apply the 30-day deadline for the January 15 CF.
> That is, anything which is not completely ready for commit on February
> 14 gets punted to the next version. None of the "oh it's almost ready",
> no "just 2 more weeks of review". Make sure everything gets reviewed
> promptly (we *can* do it) and commit or punt.

Fine for me.

--
Simon Riggs www.2ndQuadrant.com


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-29 17:05:07
Message-ID: 200908291705.n7TH57u03128@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas wrote:
> Both committers and non-committers are currently suffering from the
> fact that there is not a lot of time in the year which is set aside
> for development, i.e. neither CommitFest-time nor beta-time. To fix
> this problem, we can:
>
> 1. Make CommitFests shorter.
> 2. Make CommitFests less frequent.
> 3. Continue developing during CommitFests.
> 4. Make beta cycles shorter.
> 5. Make beta cycles less frequent (i.e. lengthen the release cycle).
> 6. Continue developing during beta.
>
> I believe (1) to be completely impractical and (3) to be
> self-defeating. I suspect (2) will backfire badly. That doesn't
> leave us with a lot of options. We can certainly do (5), but the
> downside is that features that get committed won't hit release for a
> very long time. I and others have suggested a couple of possible
> approaches toward (4) or (6), such as changing the way we do release
> notes, adding more regression tests to give us more (not perfect)
> confidence that the release is solid, and/or branching the tree during
> beta. None of those ideas have gotten a single vote of confidence
> from you or Bruce. What's your suggestion?

Another solution would be to make major releases less frequent.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-29 17:07:07
Message-ID: 200908291707.n7TH77V03727@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Tom Lane wrote:
> "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
> > Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> >> The final CommitFest began November 11, 2008. It closed March 25,
> >> 2009 (+ 144 days). Beta1 was released April 15, 2009 (+ 21 days).
>
> > I'm not entirely clear on what was happening during the 21 days
> > between the end of the CommitFest and and the release of beta1.
>
> Release note drafting is one part of it, but mostly it's "loose end
> cleanup". Historically there have always been a pile of loose ends
> to be dealt with, and the CommitFest structure doesn't really do
> anything to avoid that. If you're interested, attached are all the
> commits between commitfest closure (which I announced immediately
> after committing the addition of contrib/btree_gin) and stamping
> beta1 (which was actually several days before the date Robert gives,
> because of the need for the packagers to do their thing).
>
> It appears to me that release notes weren't actually the bottleneck this
> time, though they have been in some prior cycles. Bruce committed a
> first draft immediately after the commitfest closed. Rather, it was
> arguing about things like \df behavior and cardinality() that took up
> the time.

Yep, the bottom line here is that patches get into CVS, but issues come
up related to the patch, and we keep looking for good fixes, but once
the final commit-fest is over, we _have_ to fix these issues.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-30 20:05:25
Message-ID: 4A9ADB85.5000406@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Bruce,

>> None of those ideas have gotten a single vote of confidence
>> from you or Bruce. What's your suggestion?
>
> Another solution would be to make major releases less frequent.

That's not a solution and you know it.

Our development cycle has to change with the growth of the project. I
know you don't like change and are comfortable with how we used to do
things in 2001. But at this point the old practices are holding us back
and we need to continue growing, or die.

Our old development cycle was, effectively, single-process just like the
old database engine was once. Making development more efficient and
better for all contributors is largely a process of making it parallel
by the incorporation of more people on every step, which also requires
increased transparency, openness and tracking.

Otherwise, like an overloaded database application in serializable mode,
our development will just get slower and slower until it stops completely.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 00:22:51
Message-ID: 200908310022.n7V0MpJ07164@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Josh Berkus wrote:
> Bruce,
>
> >> None of those ideas have gotten a single vote of confidence
> >> from you or Bruce. What's your suggestion?
> >
> > Another solution would be to make major releases less frequent.
>
> That's not a solution and you know it.

I do?

> Our development cycle has to change with the growth of the project. I
> know you don't like change and are comfortable with how we used to do

I don't? Wow, you are helping me see the light?

> things in 2001. But at this point the old practices are holding us back
> and we need to continue growing, or die.
>
> Our old development cycle was, effectively, single-process just like the
> old database engine was once. Making development more efficient and
> better for all contributors is largely a process of making it parallel
> by the incorporation of more people on every step, which also requires
> increased transparency, openness and tracking.
>
> Otherwise, like an overloaded database application in serializable mode,
> our development will just get slower and slower until it stops completely.

I have no idea how you know so much about me, but don't realize I was
saying that we should extend the release cycle so we don't release as
often, "make major releases less frequent" (every 12-14 months). This
has nothing to do with how we process the releases, parallel or not.

As I have said in the past, we are nearing feature-completeness (in a
way), so having perhaps an 18-month release cycle is an idea. That
would give more time for development compared to beta, etc.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 01:09:09
Message-ID: 603c8f070908301809g4b8de4e9x5419eac39031c197@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Sat, Aug 29, 2009 at 1:05 PM, Bruce Momjian<bruce(at)momjian(dot)us> wrote:
> Robert Haas wrote:
>> Both committers and non-committers are currently suffering from the
>> fact that there is not a lot of time in the year which is set aside
>> for development, i.e. neither CommitFest-time nor beta-time.  To fix
>> this problem, we can:
>>
>> 1. Make CommitFests shorter.
>> 2. Make CommitFests less frequent.
>> 3. Continue developing during CommitFests.
>> 4. Make beta cycles shorter.
>> 5. Make beta cycles less frequent (i.e. lengthen the release cycle).
>> 6. Continue developing during beta.
>>
>> I believe (1) to be completely impractical and (3) to be
>> self-defeating.  I suspect (2) will backfire badly.  That doesn't
>> leave us with a lot of options.  We can certainly do (5), but the
>> downside is that features that get committed won't hit release for a
>> very long time.  I and others have suggested a couple of possible
>> approaches toward (4) or (6), such as changing the way we do release
>> notes, adding more regression tests to give us more (not perfect)
>> confidence that the release is solid, and/or branching the tree during
>> beta.  None of those ideas have gotten a single vote of confidence
>> from you or Bruce.  What's your suggestion?
>
> Another solution would be to make major releases less frequent.

I mentioned that one. It's #5. I also mentioned the downside.
Downthread you make reference to PostgreSQL being feature-complete,
but I don't personally think that's the right way to think about it.
The people who are submitting patches are doing so because they feel
that the product is missing the features implemented by those patches.
Sure, some patches are pure performance plays, or bug fixes, or
documentation improvements, but many of them are new features, plain
and simple. And the people who submit those patches want to see them
in a released version on a reasonable time scale. I do, anyway.

I really can't understand why it isn't possible for us to find a way
to make an annual release happen, and with more than 8-12 weeks of
development time (ie non-CommitFest non-beta) available during that
year. I understand that there is a need for some time to be set aside
for reviewing, testing, debugging, packaging, and so forth, but the
current schedule contemplates that this time is upwards of 75%, and I
think that's excessive.

...Robert


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 17:30:42
Message-ID: 4A9C08C2.6010105@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


>>> Another solution would be to make major releases less frequent.
>> That's not a solution and you know it.
>
> I do?

Ok, here's the reasons it's not a solution:

1) having a longer development cycle would frustrate many users who want
new features sooner, not later. The current 1 year is a good compromise
between reliability and "release often". A longer period would not be.

2) Lengthening the development period would make things less efficient.
The amount of effort we need to test, document, integrate, package,
etc., gets *greater* per patch when we have hundreds of patches. So if
we *planned* an 18-month release, I expect that it would end up being a
24-month release.

3) If we deliberately lengthen the release cycle without doing anything
about why the post-CF portion takes so long, it will continue to get
longer, indefinitely. Eventually, we're at 3.5 year releases and our
users abandoning Postgres for another database who can actually get a
release out.

4) It does nothing to address the *contributor* complaint that the
non-development part of our dev cycle is too long and keeps getting
longer. A longer release cycle would make that worse.

If we could concievably do a release every 4 months, I believe that it
would be easy to keep the non-development portion of our cycle down to
30% or less. We can't, so we need to look at ways to speed up the work
we're already doing.

> I have no idea how you know so much about me, but don't realize I was
> saying that we should extend the release cycle so we don't release as
> often, "make major releases less frequent" (every 12-14 months). This
> has nothing to do with how we process the releases, parallel or not.

OK, to restate: making the cycle longer will not help the
development-to-integration&testing ratio. It will make it worse.

> As I have said in the past, we are nearing feature-completeness (in a
> way), so having perhaps an 18-month release cycle is an idea. That
> would give more time for development compared to beta, etc.

Per the above, it would not. It would make things worse. This has been
true at every other OSS project I've seen documented (disastrously so
with MySQL); there is no reason to believe that Postgres would be any
different.

I also do not see why you are so resistant to the idea of documenting a
tracking the post-CF steps so that we can get more people on them.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 17:42:17
Message-ID: 1251740537.10845.17.camel@jd-desktop.unknown.charter.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, 2009-08-31 at 10:30 -0700, Josh Berkus wrote:
> >>> Another solution would be to make major releases less frequent.
> >> That's not a solution and you know it.
> >
> > I do?
>
> Ok, here's the reasons it's not a solution:

> Per the above, it would not. It would make things worse. This has been
> true at every other OSS project I've seen documented (disastrously so
> with MySQL); there is no reason to believe that Postgres would be any
> different.
>
> I also do not see why you are so resistant to the idea of documenting a
> tracking the post-CF steps so that we can get more people on them.
>

I love how we all have the same arguments, every year, year after year.
So let me just throw in my proverbial two cents.

As I see it we can *NOT* increase our development time line. Open Source
just doesn't work that way. People want it, and want it now. Period. It
will alienate feature contributors and make us fodder for bad press
(blogs whatever) when we are lacking in some area where another isn't.

We can decrease our development cycle. We could do an Ubuntu (and
similarly Fedora) style cycle where people that want the hot new
features now, can. They would do this by using our 6 month releases,
while stable enterprises would use our LTS release. This is "kind of"
happening now with our new Alpha release status.

We can release annually and go all balls toward each release.

The second option seems to be the middle ground that we will settle on
regardless of what arguments are presented. The third option is what I
would like to see happen. Which means we would actually have a 9 month
development cycle/cutoff and a three month alpha/beta/release.

Joshua D. Drake
--
PostgreSQL.org Major Contributor
Command Prompt, Inc: http://www.commandprompt.com/ - 503.667.4564
Consulting, Training, Support, Custom Development, Engineering


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Bruce Momjian" <bruce(at)momjian(dot)us>
Cc: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Robert Haas" <robertmhaas(at)gmail(dot)com>, "Peter Eisentraut" <peter_e(at)gmx(dot)net>, <pgsql-hackers(at)postgresql(dot)org>,"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 17:45:33
Message-ID: 4A9BC5ED020000250002A642@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Bruce Momjian <bruce(at)momjian(dot)us> wrote:

> Yep, the bottom line here is that patches get into CVS, but issues
> come up related to the patch, and we keep looking for good fixes,
> but once the final commit-fest is over, we _have_ to fix these
> issues.

If, hypothetically, it might hold up the release for two weeks while
such issues are sorted out, might it be better to revert and say the
patch missed the release because it wasn't workable enough at the end
of the last CF to allow a beta release to be generated? If the net
result was that a feature or two were delayed until the next release,
but all developers had two more weeks of development time in the next
release cycle, it seems like reverting would be a net gain.

-Kevin


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 17:57:42
Message-ID: 200908311757.n7VHvgL10632@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Josh Berkus wrote:
> Per the above, it would not. It would make things worse. This has been
> true at every other OSS project I've seen documented (disastrously so
> with MySQL); there is no reason to believe that Postgres would be any
> different.
>
> I also do not see why you are so resistant to the idea of documenting a
> tracking the post-CF steps so that we can get more people on them.

Huh, who has asked for a list from me? This entire post is mostly
over-the-top and not worth responding to.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 17:58:50
Message-ID: 603c8f070908311058p6764b9f1p9a7416ded9548d90@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, Aug 31, 2009 at 1:57 PM, Bruce Momjian<bruce(at)momjian(dot)us> wrote:
> Josh Berkus wrote:
>> Per the above, it would not.  It would make things worse.  This has been
>> true at every other OSS project I've seen documented (disastrously so
>> with MySQL); there is no reason to believe that Postgres would be any
>> different.
>>
>> I also do not see why you are so resistant to the idea of documenting a
>> tracking the post-CF steps so that we can get more people on them.
>
> Huh, who has asked for a list from me?  This entire post is mostly
> over-the-top and not worth responding to.

OK, I so request. :-)

...Robert


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 17:59:13
Message-ID: 200908311759.n7VHxDw10848@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Kevin Grittner wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> wrote:
>
> > Yep, the bottom line here is that patches get into CVS, but issues
> > come up related to the patch, and we keep looking for good fixes,
> > but once the final commit-fest is over, we _have_ to fix these
> > issues.
>
> If, hypothetically, it might hold up the release for two weeks while
> such issues are sorted out, might it be better to revert and say the
> patch missed the release because it wasn't workable enough at the end
> of the last CF to allow a beta release to be generated? If the net
> result was that a feature or two were delayed until the next release,
> but all developers had two more weeks of development time in the next
> release cycle, it seems like reverting would be a net gain.

The problem is that many of these decisions are complex so it gets no
easier to make the decisions later rather than now. The delay forces us
to make a final decision. We often had months to make the decision
earlier, but didn't.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 17:59:53
Message-ID: 200908311759.n7VHxrg10909@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas wrote:
> On Mon, Aug 31, 2009 at 1:57 PM, Bruce Momjian<bruce(at)momjian(dot)us> wrote:
> > Josh Berkus wrote:
> >> Per the above, it would not. ?It would make things worse. ?This has been
> >> true at every other OSS project I've seen documented (disastrously so
> >> with MySQL); there is no reason to believe that Postgres would be any
> >> different.
> >>
> >> I also do not see why you are so resistant to the idea of documenting a
> >> tracking the post-CF steps so that we can get more people on them.
> >
> > Huh, who has asked for a list from me? ?This entire post is mostly
> > over-the-top and not worth responding to.
>
> OK, I so request. :-)

What do you want to know? Would someone post exactly what question I
have not answered in the past?

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 18:12:43
Message-ID: 603c8f070908311112i42b3984ahc7c971da932da0e4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, Aug 31, 2009 at 1:59 PM, Bruce Momjian<bruce(at)momjian(dot)us> wrote:
> Robert Haas wrote:
>> On Mon, Aug 31, 2009 at 1:57 PM, Bruce Momjian<bruce(at)momjian(dot)us> wrote:
>> > Josh Berkus wrote:
>> >> Per the above, it would not. ?It would make things worse. ?This has been
>> >> true at every other OSS project I've seen documented (disastrously so
>> >> with MySQL); there is no reason to believe that Postgres would be any
>> >> different.
>> >>
>> >> I also do not see why you are so resistant to the idea of documenting a
>> >> tracking the post-CF steps so that we can get more people on them.
>> >
>> > Huh, who has asked for a list from me? ?This entire post is mostly
>> > over-the-top and not worth responding to.
>>
>> OK, I so request.  :-)
>
> What do you want to know?  Would someone post exactly what question I
> have not answered in the past?

I don't know whether there is a specific question that you have
refused to answer in the past, or not. My suspicion is that there
isn't, but perhaps someone else is aware of something I'm not.

That having been said, I think there is a legitimate concern about
organizing and documenting the steps that are required to get a
release out the door. A number of people have said (on this thread
and previous ones) that we didn't know what we were supposed to be
doing during the period after the end of the last CommitFest and prior
to release. It appeared that all of the activity (to the extent that
there was any activity) was by committers, particularly you and Tom.

Well, OK. We want the release to happen faster next time. We're
willing to help. In order to help, we first need a list of the tasks
that need to be completed after the last CommitFest and before
release. Then we can try to figure out whether any of those tasks can
be done (or assisted with) by someone other than you or Tom.

Can you provide one?

...Robert


From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 18:15:17
Message-ID: 1251742517.10845.25.camel@jd-desktop.unknown.charter.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, 2009-08-31 at 13:59 -0400, Bruce Momjian wrote:
> Robert Haas wrote:
> > On Mon, Aug 31, 2009 at 1:57 PM, Bruce Momjian<bruce(at)momjian(dot)us> wrote:
> > > Josh Berkus wrote:
> > >> Per the above, it would not. ?It would make things worse. ?This has been
> > >> true at every other OSS project I've seen documented (disastrously so
> > >> with MySQL); there is no reason to believe that Postgres would be any
> > >> different.
> > >>
> > >> I also do not see why you are so resistant to the idea of documenting a
> > >> tracking the post-CF steps so that we can get more people on them.
> > >
> > > Huh, who has asked for a list from me? ?This entire post is mostly
> > > over-the-top and not worth responding to.
> >
> > OK, I so request. :-)
>
> What do you want to know? Would someone post exactly what question I
> have not answered in the past?

This is a fair point. I bet 10 bucks that a lot of the questions that
would be asked would be answered with, "check the archives".

Didn't we do a release wiki page at one point?

Joshua D. Drake

--
PostgreSQL.org Major Contributor
Command Prompt, Inc: http://www.commandprompt.com/ - 503.667.4564
Consulting, Training, Support, Custom Development, Engineering


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 18:16:55
Message-ID: 4A9C1397.3050803@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Bruce,

> Huh, who has asked for a list from me? This entire post is mostly
> over-the-top and not worth responding to.

To quote myself:

> Post-CF:
> Make a list (now, not in January) of the tasks which need to be done
> between CFend and Beta. We'll find that some of them could be done by
> someone other than Tom and Bruce, and that others could be done before
> CFend.
>
> Beta:
> Create a mailing list (why don't we have a list for testers? is
> testing less important than the JDBC driver?) and a simple web app or
> templated wiki page for testers. Allow people to check in with which
> version they tested (Alpha1,2,3, Beta 1,2,3) and what tests they ran,
> and issues encountered (if any). We should do this now so we can get
> started with Alpha testing.
> When this testing gets into swing, we can also look at recruiting
> volunteers to run various popular OSS apps' test suites against the
> developing version of PostgreSQL.
> Once beta starts, have a list of pending issues in some
> editable/commentable location (wiki is ok for this, or we can pervert
> the commitfest app) *as soon as those issues arise* so that as many
> hackers as possible can work on those issues. We did do a "pending
> issues" list for 8.4, but not until we were already over a month into
> beta, and then the list wasn't very accurate.

Therefore:

I will create a "cleanup issues" wikipage. Please contribute to it by
listing the *general* kinds of things you need to do between CF and
beta. Then we can look at which things don't need your special
experience and could be done by other contributors.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 18:20:30
Message-ID: 200908311820.n7VIKUC19410@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Robert Haas wrote:
> That having been said, I think there is a legitimate concern about
> organizing and documenting the steps that are required to get a
> release out the door. A number of people have said (on this thread
> and previous ones) that we didn't know what we were supposed to be
> doing during the period after the end of the last CommitFest and prior
> to release. It appeared that all of the activity (to the extent that
> there was any activity) was by committers, particularly you and Tom.
>
> Well, OK. We want the release to happen faster next time. We're
> willing to help. In order to help, we first need a list of the tasks
> that need to be completed after the last CommitFest and before
> release. Then we can try to figure out whether any of those tasks can
> be done (or assisted with) by someone other than you or Tom.
>
> Can you provide one?

Well, at the end of the release I have a mailbox full of open items,
that I think need to be addressed before we go into beta. Tom has a
similar list. I usually put my mbox file up on a web site, and
sometimes it is transfered to a wiki by others.

Knowing about the problem usually isn't hard , e.g. \df, but getting
agreement on them is. One nifty idea would be to do a commit-fest for
open items so we can get to beta. The last commit-fest usually is long
because we can't postpone patches easily and often we are not 100% sure
how to apply them either, so that make it extra-long.

I am not sure what other checklist items there would be (or I am
refusing to divulge).

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: jd(at)commandprompt(dot)com
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 18:21:06
Message-ID: 200908311821.n7VIL6819468@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Joshua D. Drake wrote:
> On Mon, 2009-08-31 at 13:59 -0400, Bruce Momjian wrote:
> > Robert Haas wrote:
> > > On Mon, Aug 31, 2009 at 1:57 PM, Bruce Momjian<bruce(at)momjian(dot)us> wrote:
> > > > Josh Berkus wrote:
> > > >> Per the above, it would not. ?It would make things worse. ?This has been
> > > >> true at every other OSS project I've seen documented (disastrously so
> > > >> with MySQL); there is no reason to believe that Postgres would be any
> > > >> different.
> > > >>
> > > >> I also do not see why you are so resistant to the idea of documenting a
> > > >> tracking the post-CF steps so that we can get more people on them.
> > > >
> > > > Huh, who has asked for a list from me? ?This entire post is mostly
> > > > over-the-top and not worth responding to.
> > >
> > > OK, I so request. :-)
> >
> > What do you want to know? Would someone post exactly what question I
> > have not answered in the past?
>
> This is a fair point. I bet 10 bucks that a lot of the questions that
> would be asked would be answered with, "check the archives".
>
> Didn't we do a release wiki page at one point?

Yes, we have a wiki for open items for the current major release.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 18:23:07
Message-ID: 200908311823.n7VIN7n19655@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Josh Berkus wrote:
> Bruce,
>
> > Huh, who has asked for a list from me? This entire post is mostly
> > over-the-top and not worth responding to.
>
> To quote myself:
>
> > Post-CF:
> > Make a list (now, not in January) of the tasks which need to be done
> > between CFend and Beta. We'll find that some of them could be done by
> > someone other than Tom and Bruce, and that others could be done before
> > CFend.
> >
> > Beta:
> > Create a mailing list (why don't we have a list for testers? is
> > testing less important than the JDBC driver?) and a simple web app or
> > templated wiki page for testers. Allow people to check in with which
> > version they tested (Alpha1,2,3, Beta 1,2,3) and what tests they ran,
> > and issues encountered (if any). We should do this now so we can get
> > started with Alpha testing.
> > When this testing gets into swing, we can also look at recruiting
> > volunteers to run various popular OSS apps' test suites against the
> > developing version of PostgreSQL.
> > Once beta starts, have a list of pending issues in some
> > editable/commentable location (wiki is ok for this, or we can pervert
> > the commitfest app) *as soon as those issues arise* so that as many
> > hackers as possible can work on those issues. We did do a "pending
> > issues" list for 8.4, but not until we were already over a month into
> > beta, and then the list wasn't very accurate.
>
> Therefore:
>
> I will create a "cleanup issues" wikipage. Please contribute to it by
> listing the *general* kinds of things you need to do between CF and
> beta. Then we can look at which things don't need your special
> experience and could be done by other contributors.

That was a request for me to answer? I had no idea.

The issues are different for every commitfest-beta period, so I have no
idea what to list there, but we do alway have an open issues wiki that
is maintained, at least for the most recent releases.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 18:26:39
Message-ID: 603c8f070908311126h77698beo627df4c124ae48d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, Aug 31, 2009 at 2:20 PM, Bruce Momjian<bruce(at)momjian(dot)us> wrote:
> Knowing about the problem usually isn't hard , e.g. \df, but getting
> agreement on them is.  One nifty idea would be to do a commit-fest for
> open items so we can get to beta.

I like that idea very much.

> The last commit-fest usually is long
> because we can't postpone patches easily and often we are not 100% sure
> how to apply them either, so that make it extra-long.
>
> I am not sure what other checklist items there would be (or I am
> refusing to divulge).

LOL. Well, there are things like release notes... and maybe others?

...Robert


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Bruce Momjian" <bruce(at)momjian(dot)us>
Cc: <pgsql-hackers(at)postgresql(dot)org>,<Josh Berkus <josh(at)postgresql(dot)org>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 18:40:21
Message-ID: 4A9BD2C5020000250002A64C@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Bruce Momjian <bruce(at)momjian(dot)us> wrote:

> The issues are different for every commitfest-beta period, so I have
> no idea what to list there, but we do alway have an open issues wiki
> that is maintained, at least for the most recent releases.

After a quick search of the wiki, it appears that the list for 8.4
was:

http://wiki.postgresql.org/wiki/PostgreSQL_8.4_Open_Items

and that there is not yet a list for 8.5. Is that correct?

If I understand what you're saying, this list would contain issues
where a patch was committed and later found to have problems which
need to be fixed. Did I understand that correctly? Anything else go
on there, or possibly belong on there? Can we take the absence of a
list for 8.5 to indicate that no such problems have been found with
any patches committed since 8.4 was tagged?

-Kevin


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Bruce Momjian" <bruce(at)momjian(dot)us>
Cc: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Robert Haas" <robertmhaas(at)gmail(dot)com>, "Peter Eisentraut" <peter_e(at)gmx(dot)net>, <pgsql-hackers(at)postgresql(dot)org>,"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 18:44:10
Message-ID: 4A9BD3AA020000250002A652@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Bruce Momjian <bruce(at)momjian(dot)us> wrote:

> it gets no easier to make the decisions later rather than now. The
> delay forces us to make a final decision. We often had months to
> make the decision earlier, but didn't.

So you're advocating that we find a way to force more timely
decisions?

-Kevin


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 20:21:29
Message-ID: 1251750089.20938.8.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On sön, 2009-08-30 at 21:09 -0400, Robert Haas wrote:
> I really can't understand why it isn't possible for us to find a way
> to make an annual release happen, and with more than 8-12 weeks of
> development time (ie non-CommitFest non-beta) available during that
> year. I understand that there is a need for some time to be set aside
> for reviewing, testing, debugging, packaging, and so forth, but the
> current schedule contemplates that this time is upwards of 75%, and I
> think that's excessive.

Well, the best way to improve that is to organize people and push things
forward when the time comes.


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 20:38:20
Message-ID: 200908312038.n7VKcKk10418@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Kevin Grittner wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> wrote:
>
> > it gets no easier to make the decisions later rather than now. The
> > delay forces us to make a final decision. We often had months to
> > make the decision earlier, but didn't.
>
> So you're advocating that we find a way to force more timely
> decisions?

That would be good. :-)

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: pgsql-hackers(at)postgresql(dot)org, "<Josh Berkus" <josh(at)postgresql(dot)org>
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 20:38:58
Message-ID: 200908312038.n7VKcw010479@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Kevin Grittner wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> wrote:
>
> > The issues are different for every commitfest-beta period, so I have
> > no idea what to list there, but we do alway have an open issues wiki
> > that is maintained, at least for the most recent releases.
>
> After a quick search of the wiki, it appears that the list for 8.4
> was:
>
> http://wiki.postgresql.org/wiki/PostgreSQL_8.4_Open_Items
>
> and that there is not yet a list for 8.5. Is that correct?
>
> If I understand what you're saying, this list would contain issues
> where a patch was committed and later found to have problems which
> need to be fixed. Did I understand that correctly? Anything else go
> on there, or possibly belong on there? Can we take the absence of a
> list for 8.5 to indicate that no such problems have been found with
> any patches committed since 8.4 was tagged?

Yes, though I have a few items that I should transfer from my mailbox to
that list.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 21:47:21
Message-ID: 4A9C44E9.4080302@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Bruce,

> I am not sure what other checklist items there would be (or I am
> refusing to divulge).

Hopefully the last is a joke. ;-)

So, the only post-CF tasks are issues with specific patches? This seems
resolvable, especially if we take a hard line with patch readiness.
There isn't anything else in that period?

This doesn't sound that difficult then.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-08-31 21:57:49
Message-ID: 200908312157.n7VLvnw19173@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Josh Berkus wrote:
> Bruce,
>
> > I am not sure what other checklist items there would be (or I am
> > refusing to divulge).
>
> Hopefully the last is a joke. ;-)

Yes.

> So, the only post-CF tasks are issues with specific patches? This seems
> resolvable, especially if we take a hard line with patch readiness.
> There isn't anything else in that period?

Nope. Release notes and open items is all I remember, and the release
notes were done at the end of the commit-fest, so that isn't really even
an issue.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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


From: Kristian Larsson <kristian(at)spritelink(dot)net>
To: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.5 release timetable, again
Date: 2009-09-06 14:19:10
Message-ID: 20090906141909.GK47859@spritelink.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Aug 27, 2009 at 12:03:05AM +0200, Dimitri Fontaine wrote:
> Hi,
>
> Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> > On ons, 2009-08-26 at 14:26 -0400, Robert Haas wrote:
> >> Sure, but an aimless mandate to do testing for 4 (or 8, or 12) months
> >> doesn't necessarily buy you much, either. I'm good at focused
> >> activity - but there was nothing focused about 8.4 beta that I could
> >> see. Maybe we need some kind of TestFest process.
> >
> > Yeah, exactly. I can't imagine end users would know what to do during
> > beta. Even assuming that you have release notes at the beginning of
> > beta, you can't expect people to go through every item and do a formal
> > test for it. Surely it's been tested before, else it would not be in
> > the release, right?
>
> Well we all know that developpers are really bad at testing, because
> they tend to test for cases they though about while developping the code
> rather than being creative and running a full application against the
> overall new product.
>
> Now, it could be that what we miss is some tool suite to enable
> application people to test their full code against our new releases and
> check results, performance, plans, etc.
>
> I know about a couple of tools to get there, Tsung and Playr. And the
> focus is performance testing and scalability, not that it still works.
>
> Is the offering good enough? We might need to run some kind of tutorials
> for users to be able to run large tests easily, and maybe think about
> some newer tools allowing to compare logs of two application runs in two
> database versions (capture all queries and result in a database, then
> have a way to diff). Then beta testing would mean having a spare machine
> where to run the magic regression test suite against some internal
> application.

Someone else upthread mentioned it as well; having an easy way to
capture queries for a day and replaying it towards a server with
the beta software would be a totally awesome way to beta test.
Query results would be compared and any anomalies reported. Doing
this in realtime over both servers would be an even more
appealing option (at least to me and my environment).

I could easily capture queries from a dev machine (where
development is still towards a stable release of postgres) and
test them on the new Beta release. I haven't looked at either
Tsung or Playr (but I will), so if anyone knows if this is
possible with these tools or perhaps is already doing it, it
would be nice with a short "tutorial" (documented on the wiki?)
on steps on how to setup such an environment.

Kind regards,
Kristian.

--
Kristian Larsson KLL-RIPE
+46 704 264511 kll(at)spritelink(dot)net


From: Stuart Bishop <stuart(at)stuartbishop(dot)net>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Time-based Releases WAS: 8.5 release timetable, again
Date: 2009-09-08 11:16:34
Message-ID: 6bc73d4c0909080416u6caaa07v8275b3f03317f7ab@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Sat, Aug 29, 2009 at 12:19 AM, Josh Berkus<josh(at)agliodbs(dot)com> wrote:

> I'd think the advantages for our commercial adopters (who pay the
> salaries for many of the people on this list) would be obvious; if they
> know with a small margin of error when the next version of PostgreSQL is
> coming out, they can plan testing and deployment of their new products.
>  See Kevin's post; many companies need to schedule serious testing
> hardware months in advance, and every ISV needs to plan new product
> deployments up to a year in advance.  We bitch a lot in the community
> about the super-old versions of PG which commercial software is using,
> but our variable release cycle is partly to blame.

It also works on the other end - with time based releases you can also
schedule obsolescence. It is just as critical knowing when the
community will stop bug fixes and security fixes when you are trying
to schedule major rollouts and planning product development.

Canonical (my employer) certainly believe in time based releases, and
that is one of the major reasons for the growth of Ubuntu and the
Ubuntu Community. We now use time based releases for almost all our
sponsored projects (some 6 monthly, some monthly), and are lobbying
various projects and other OS distributions to get into some sort of
cadence with releases so everyone benefits. It makes us happier
(especially when we are choosing what we can commit to providing
security updates for the 5 year releases), and our users happier, and
I think you happier with less support issues.

(In fact the one project I'm personally aware of that doesn't have
time based releases also has the worst reputation for bug fixes and
updates and caused us trauma because of it, so I'll be pushing to get
that fixed too :-P)

> Certainly our project experiences with "waiting for feature X" have all
> been negative.  The windows port never got into 7.4 despite holding it
> up 4 months.  HOT held up 8.3 for three to five months, depending on how
> you count it, in what I think everyone feels was our most painful beta
> period ever.  Most recently, we let HS/SR hold up 8.4 for 2 months ...
> and they still weren't ready.
>
> I would like to see us go to an annual release timeline in which we
> release in the same month every year.  Any time we say "variable release
> date" what it really means is "later release date".  We've never yet
> released something *early*.

Yes please.

You may even want to seriously consider shorter release cycles.
Tighter cycles can actually reduce stress, as people are less
concerned with slippage. With our projects on one month cycles, it
doesn't matter that much if a feature isn't good enough for a release
- it just goes out with the next months release or the one after if
you really underestimated the work. With longer cycles, the penalties
of missing deadlines is much greater which can lead to cutting corners
if people are not disciplined.

Of course, PG already has its own historical cadence to start from
where as we had the luxury of adopting time based releases at the
start or relatively early in development. For PostgreSQL, with the
regular commit fests you might end up to a similar process to GNU
Bazaar except with yearly major releases and 2 month development
releases, documented at
http://doc.bazaar-vcs.org/latest/developers/cycle.html. This is a
smaller project, but had to address a number of similar concerns that
PostgreSQL would have to so may be a good basis for discussion.

--
Stuart Bishop <stuart(at)stuartbishop(dot)net>
http://www.stuartbishop.net/


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Stuart Bishop <stuart(at)stuartbishop(dot)net>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Time-based Releases WAS: 8.5 release timetable, again
Date: 2009-09-08 12:54:57
Message-ID: 4AA65421.8030605@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Stuart Bishop wrote:
> Canonical (my employer) certainly believe in time based releases, and
> that is one of the major reasons for the growth of Ubuntu and the
> Ubuntu Community. We now use time based releases for almost all our
> sponsored projects (some 6 monthly, some monthly), and are lobbying
> various projects and other OS distributions to get into some sort of
> cadence with releases so everyone benefits. It makes us happier
> (especially when we are choosing what we can commit to providing
> security updates for the 5 year releases), and our users happier, and
> I think you happier with less support issues.
>
>

The release cycle is quite independent of the release lifetime.

In any case, I don't accept this analogy. The mechanics of a Linux
distribution are very different from the mechanics of a project like
PostgreSQL. The prominent OSS project that seems to me most like ours is
the Apache HTTP project. But they don't do timed releases AFAIK, and
theirs is arguably the most successful OSS project ever.

I'm especially resistant to suggestions that we should in some way
coordinate our releases with other projects' timings. Getting our own
developers organized is sufficiently like herding cats that I have no
confidence that anyone will successfully organize those of a plethora of
projects.

I am not saying timed releases are necessarily bad. But many of the
arguments that have been put forward to support them don't seem to me to
withstand critical analysis.

I would argue that it would be an major setback for us if we made
another release without having Hot Standby or whatever we are calling it
now. I would much rather slip one month or three than ship without it.

cheers

andrew


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Stuart Bishop <stuart(at)stuartbishop(dot)net>, Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Time-based Releases WAS: 8.5 release timetable, again
Date: 2009-09-08 14:14:13
Message-ID: 25704.1252419253@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> I would argue that it would be an major setback for us if we made
> another release without having Hot Standby or whatever we are calling it
> now. I would much rather slip one month or three than ship without it.

I would agree with you, except that every single time we have done that,
it's led to a scheduling disaster: the release was invariably far later
than anyone expected, and more often than not shipped without the
"critical" feature anyhow. Review the archives.

regards, tom lane


From: Stuart Bishop <stuart(at)stuartbishop(dot)net>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Time-based Releases WAS: 8.5 release timetable, again
Date: 2009-09-08 14:17:12
Message-ID: 6bc73d4c0909080717s4f4c4365tcf007bac2d591552@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Tue, Sep 8, 2009 at 7:54 PM, Andrew Dunstan<andrew(at)dunslane(dot)net> wrote:

> The release cycle is quite independent of the release lifetime.

If you have dates on releases, it is easier to set dates on release
lifetime. If you know the releases come out once a year at about the
same time, and you want to have a set number of versions in play, you
can state at release time when the community will stop support. This
gives everyone a clear picture to people what versions they should be
targeting and when upgrades will be required.

> In any case, I don't accept this analogy. The mechanics of a Linux
> distribution are very different from the mechanics of a project like
> PostgreSQL. The prominent OSS project that seems to me most like ours is the
> Apache HTTP project. But they don't do timed releases AFAIK, and theirs is
> arguably the most successful OSS project ever.

We find it works for stuff other than Ubuntu too. IIRC original
concerns where you could do it for a small open source project, but
it would be impossible to do when juggling as many moving parts as a
Linux distribution. You might find the document I cited is for a
project with similar issues to PostgreSQL and may address your
concerns. It seems to work for other large projects too, such as
Gnome, as well as smaller ones. People are discussing switching for
reasons Joshua cited (maintaining momentum, planning, enterprise
adoption etc.), because people find it a good idea on other projects
they work with, or maybe because they read too many articles on agile
and lean development practices. It seems to be working fine for me
personally (I work on launchpad.net, which is an Open Source
mostly-web application using generally Lean/Agile development
methodologies, a one month release cycle and a team of about 30 spread
over all timezones).

> I'm especially resistant to suggestions that we should in some way
> coordinate our releases with other projects' timings. Getting our own
> developers organized is sufficiently like herding cats that I have no
> confidence that anyone will successfully organize those of a plethora of
> projects.

I tend to think it will evolve naturally as more people switch to time
based releases. Its natural to sync in with the OS releases your
developers care about because it makes their lives easier, and its
natural for the distributions to get in sync too because it makes
their developer's lives easier. But only hindsight will tell of course
:-) With a yearly schedule, it probably doesn't matter much except for
distributions with a 2 or 3 year cycle - you would still end up with
latest PostgreSQL a maximum of I think 8 months after the official
release.

> I am not saying timed releases are necessarily bad. But many of the
> arguments that have been put forward to support them don't seem to me to
> withstand critical analysis.
>
> I would argue that it would be an major setback for us if we made another
> release without having Hot Standby or whatever we are calling it now. I
> would much rather slip one month or three than ship without it.

This is why you want your cycle as small as possible - if you have a 6
month cycle for instance, the feature would be available a maximum of
6 months after it is ready. With the feature based release cycle, what
if it still isn't ready for prime time after three months of slippage?
Having one feature slip hurts, but having all features slip hurts
more. Josh cited several examples where he felt similar situations had
hurt PostgreSQL development. Of course, if you think it is critical
enough you can let it slip and if it is critical enough people will
understand - we let one of the 10 Ubuntu releases slip once and people
generally understood (you want to get a LTS release right since you
have to live with your mistakes for 5 years). There was some flak but
we are still here.

I personally suspect PostgreSQL would want a 1 year cycle for major
releases while a full dump/reload is required for upgrades. When this
changes, 6 or even 4 months might actually be a good fit.

--
Stuart Bishop <stuart(at)stuartbishop(dot)net>
http://www.stuartbishop.net/


From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Stuart Bishop <stuart(at)stuartbishop(dot)net>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Time-based Releases WAS: 8.5 release timetable, again
Date: 2009-09-08 16:03:23
Message-ID: 162867790909080903qf51ccdfrc2454242a2f6277c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

>
> I personally suspect PostgreSQL would want a 1 year cycle for major
> releases while a full dump/reload is required for upgrades. When this
> changes, 6 or even 4 months might actually be a good fit.
>

For some DBA specialist is 1 year cycle too much fast. I thing, so 1
year cycle is perfect for databases. Migration to new database
releases is some different then migration to new program. You have to
be more carefully, because wrong database could to destroy your data.
Normal use case for using a new version contains one year waiting. I
afraid so too much short cycle can break clean postgresql's release
process.

regards
Pavel Stehule


From: Michael Gould <mgould(at)intermodalsoftwaresolutions(dot)net>
To:
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Disable and enable of table and column constraints
Date: 2009-09-08 16:09:35
Message-ID: b0212fb5759640e700d33f76627c5fa7@intermodalsoftwaresolutions.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

It would be nice if we could enable and disable column and table
constraints. I believe that you can do this in Oracle but this is very
handy for testing stored procedures and other external processes.

Best Regards
--
Michael Gould, Managing Partner
Intermodal Software Solutions, LLC
904.226.0978
904.592.5250 fax


From: Josh Berkus <josh(at)agliodbs(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Time-based Releases WAS: 8.5 release timetable, again
Date: 2009-09-08 18:05:45
Message-ID: 4AA69CF9.8080408@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


> In any case, I don't accept this analogy. The mechanics of a Linux
> distribution are very different from the mechanics of a project like
> PostgreSQL. The prominent OSS project that seems to me most like ours is
> the Apache HTTP project. But they don't do timed releases AFAIK, and
> theirs is arguably the most successful OSS project ever.

I can't find information about HTTPD release planning so I'll take your
word for it. On the other hand, I have to point out that Apache is
releasing HTTPD major versions an average of once every 3 years. I
don't think we want to go to 3 years, do we?

> I'm especially resistant to suggestions that we should in some way
> coordinate our releases with other projects' timings.

Agreed, that's impossible. I'd prefer just to time things so that we're
not trying to do committer-critical tasks during high summer vacation
season.

> I am not saying timed releases are necessarily bad. But many of the
> arguments that have been put forward to support them don't seem to me to
> withstand critical analysis.

There are several reasons to have a timed release schedule, which are
detailed in the paper I linked. The benefits of having timed releases
are for our contributors and for our users.

> I would argue that it would be an major setback for us if we made
> another release without having Hot Standby or whatever we are calling it
> now. I would much rather slip one month or three than ship without it.

Historically, any feature which hasn't been ready for the originally
planned release date needed far more than an extra month to be ready --
up to an additional year. HOT is the only exception I can think of to
this in our 13-year history.

I agree that HS is critical to adoption of PostgreSQL. However, the way
to make it succeed is to have deadlines and meet them. Not work on it
"until it's ready".

>> I personally suspect PostgreSQL would want a 1 year cycle for major
>> releases while a full dump/reload is required for upgrades. When this
>> changes, 6 or even 4 months might actually be a good fit.
>>
>
> For some DBA specialist is 1 year cycle too much fast. I thing, so 1
> year cycle is perfect for databases. Migration to new database

Pavel is right. Upgrade-in-place will become easier, but it will never
become painless. So DBAs will always want to put off upgrades to once
in 2-3 years. If we went to releases ever 6 months, that would mean
users skipping 5 versions.

Also, we backpatch fixes a lot more than Ubuntu does AFAIK. So we'd
still have to patch back 5 years, which would be 10 versions ... I
don't think so.

Once/year is the right length for us. It's 2x to 3x faster than any
other mission-critical DBMS.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com


From: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Stuart Bishop <stuart(at)stuartbishop(dot)net>, Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Time-based Releases WAS: 8.5 release timetable, again
Date: 2009-09-08 18:06:18
Message-ID: 4AA69D1A.9000803@cheapcomplexdevices.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan wrote:
> In any case, I don't accept this analogy. The mechanics of a Linux
> distribution are very different from the mechanics of a project like
> PostgreSQL. The prominent OSS project that seems to me most like ours is
> the Apache HTTP project.

I'd think that File Systems might be more like postgres - with a shared
obsession about data loss risks, and concerns about compatibility
with any on-disk format changes. I wonder if the ext4 or btrfs
guys use time-based release schedules, or if they'll release when
it's ready. I see the ZFS guys have target dates for completing
features that are still in beta, but also that they change as needed.[1]
[1] http://opensolaris.org/os/project/zfs-crypto/

Anyone know how the F/OSS filesystem guys schedule their releases?

I agree it's quite different than a distro - which, if I understand
correctly, is mostly a matter of identifying completed and stable
features rather than completing and stabilizing features.

> I would argue that it would be an major setback for us if we made
> another release without having Hot Standby or whatever we are calling it
> now. I would much rather slip one month or three than ship without it.

Perhaps if sufficiently interesting features get in outside of
a time-based schedule, an extra release could be made after the
commit fest it gets in?

If hot-standby + streaming-replication + index_only_scans +
magic-fairy-dust-powered-shared-nothing-clusters all happened
to get in 3 months after a time-based release, it'd be nice to
see it sooner rather than waiting 9 months for a time-based window.


From: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Time-based Releases WAS: 8.5 release timetable, again
Date: 2009-09-08 18:45:01
Message-ID: 4AA6A62D.9000108@cheapcomplexdevices.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Josh Berkus wrote:
> I can't find information about HTTPD release planning so I'll take your
> word for it. On the other hand, I have to point out that Apache is
> releasing HTTPD major versions an average of once every 3 years. I
> don't think we want to go to 3 years, do we?

I'd say it depends on the flexibility of some hypothetical future
module layer.

If I understand right, much of the functionality in apache comes
from modules - and those modules that are under heavy development
may have different release cycles.

I realize this doesn't work for many of the big features; but some
of those seem to have over 1 year development cycles anyway.


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Stuart Bishop <stuart(at)stuartbishop(dot)net>, Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Time-based Releases WAS: 8.5 release timetable, again
Date: 2009-09-08 19:22:22
Message-ID: 603c8f070909081222r6f166d9q6aa21c93431ce129@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Tue, Sep 8, 2009 at 2:06 PM, Ron Mayer<rm_pg(at)cheapcomplexdevices(dot)com> wrote:
> Andrew Dunstan wrote:
>> In any case, I don't accept this analogy. The mechanics of a Linux
>> distribution are very different from the mechanics of a project like
>> PostgreSQL. The prominent OSS project that seems to me most like ours is
>> the Apache HTTP project.
>
> I'd think that File Systems might be more like postgres - with a shared
> obsession about data loss risks, and concerns about compatibility
> with any on-disk format changes.   I wonder if the ext4 or btrfs
> guys use time-based release schedules, or if they'll release when
> it's ready.  I see the ZFS guys have target dates for completing
> features that are still in beta, but also that they change as needed.[1]
> [1] http://opensolaris.org/os/project/zfs-crypto/
>
> Anyone know how the F/OSS filesystem guys schedule their releases?
>
>
> I agree it's quite different than a distro - which, if I understand
> correctly, is mostly a matter of identifying completed and stable
> features rather than completing and stabilizing features.
>
>> I would argue that it would be an major setback for us if we made
>> another release without having Hot Standby or whatever we are calling it
>> now. I would much rather slip one month or three than ship without it.
>
> Perhaps if sufficiently interesting features get in outside of
> a time-based schedule, an extra release could be made after the
> commit fest it gets in?
>
> If hot-standby + streaming-replication + index_only_scans +
> magic-fairy-dust-powered-shared-nothing-clusters all happened
> to get in 3 months after a time-based release, it'd be nice to
> see it sooner rather than waiting 9 months for a time-based window.

That's somewhat true, but major patches are also more likely to come
with bugs. I think we ought to try to time major patches near the
beginning of the release cycle, not the end. Indeed, I'd be much more
inclined to support a proposal to branch the tree and do an
out-of-sequence release just BEFORE committing a bunch of major
features rather than just after. Otherwise, PostgreSQL's reputation
for being a solid product with solid releases will suffer.

...Robert


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Michael Gould <mgould(at)intermodalsoftwaresolutions(dot)net>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Disable and enable of table and column constraints
Date: 2009-09-08 19:23:15
Message-ID: 15314.1252437795@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Michael Gould <mgould(at)intermodalsoftwaresolutions(dot)net> writes:
> It would be nice if we could enable and disable column and table
> constraints. I believe that you can do this in Oracle but this is very
> handy for testing stored procedures and other external processes.

Drop the constraint and re-add it later...

regards, tom lane


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Michael Gould <mgould(at)intermodalsoftwaresolutions(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Disable and enable of table and column constraints
Date: 2009-09-08 20:07:20
Message-ID: 20090908200720.GJ549@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Tom Lane wrote:
> Michael Gould <mgould(at)intermodalsoftwaresolutions(dot)net> writes:
> > It would be nice if we could enable and disable column and table
> > constraints. I believe that you can do this in Oracle but this is very
> > handy for testing stored procedures and other external processes.
>
> Drop the constraint and re-add it later...

That's not very useful when adding it later means grabbing an exclusive
lock on the table for the whole duration of the full table scan required
to check the table.

Actually something in this area is on my plate too -- a customer of ours
wants to be able to define constraints but not have it checked
immediately. I envision it similar to how concurrent index creation
works: the constraint is created as "not checked" and the transaction is
committed; new insertions are checked against the constraint. Then the
table is scanned to verify that extant tuples pass the constraint,
_without_ the exclusive lock on the table.

Both DB2 and Oracle have an ENFORCE setting for constraints, and a MySQL
blog hinted some time ago that it might be in SQL 201x.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Michael Gould <mgould(at)intermodalsoftwaresolutions(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Disable and enable of table and column constraints
Date: 2009-09-09 05:55:38
Message-ID: 1252475738.15729.1.camel@fsopti579.F-Secure.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Tue, 2009-09-08 at 16:07 -0400, Alvaro Herrera wrote:
> Tom Lane wrote:
> > Michael Gould <mgould(at)intermodalsoftwaresolutions(dot)net> writes:
> > > It would be nice if we could enable and disable column and table
> > > constraints. I believe that you can do this in Oracle but this is very
> > > handy for testing stored procedures and other external processes.
> >
> > Drop the constraint and re-add it later...
>
> That's not very useful when adding it later means grabbing an exclusive
> lock on the table for the whole duration of the full table scan required
> to check the table.

It's also useful to define foreign keys for documentation purposes but
not enforce them for some reason.


From: Rob Wultsch <wultsch(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Michael Gould <mgould(at)intermodalsoftwaresolutions(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Disable and enable of table and column constraints
Date: 2009-09-09 07:01:33
Message-ID: 2c5ef4e30909090001v1cff5072s33ae586e9dbf0fbc@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Tue, Sep 8, 2009 at 1:07 PM, Alvaro
Herrera<alvherre(at)commandprompt(dot)com> wrote:
> Tom Lane wrote:
>> Michael Gould <mgould(at)intermodalsoftwaresolutions(dot)net> writes:
>> > It would be nice if we could enable and disable column and table
>> > constraints.  I believe that you can do this in Oracle but this is very
>> > handy for testing stored procedures and other external processes.
>>
>> Drop the constraint and re-add it later...
>
> That's not very useful when adding it later means grabbing an exclusive
> lock on the table for the whole duration of the full table scan required
> to check the table.
>
> Actually something in this area is on my plate too -- a customer of ours
> wants to be able to define constraints but not have it checked
> immediately.  I envision it similar to how concurrent index creation
> works: the constraint is created as "not checked" and the transaction is
> committed; new insertions are checked against the constraint.  Then the
> table is scanned to verify that extant tuples pass the constraint,
> _without_ the exclusive lock on the table.
>
> Both DB2 and Oracle have an ENFORCE setting for constraints, and a MySQL
> blog hinted some time ago that it might be in SQL 201x.
>
> --
> Alvaro Herrera                                http://www.CommandPrompt.com/
> The PostgreSQL Company - Command Prompt, Inc.

The mysql'ism foreign_key_checks would seem to do similar things...?
(http://dev.mysql.com/doc/refman/5.1/en/server-session-variables.html#sysvar_foreign_key_checks
)
--
Rob Wultsch
wultsch(at)gmail(dot)com


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Michael Gould" <mgould(at)intermodalsoftwaresolutions(dot)net>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Disable and enable of table and column constraints
Date: 2009-09-09 14:23:29
Message-ID: 4AA77411020000250002ABB8@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:

> Both DB2 and Oracle have an ENFORCE setting for constraints, and a
> MySQL blog hinted some time ago that it might be in SQL 201x.

If I remember correctly, Sybase never checks the existing data when
you add a constraint of any type (except for a unique constraint or
primary key).

That has occasionally been useful to me when a business rule has been
identified which we want to enforce in an existing database, but there
hasn't yet been enforcement of that rule. You can "plug the leak"
first, then list the legacy problems and get those on a list for
cleanup. If you insist that all preexisting bad data must be cleaned
up before you can prevent more bad data from going in, you might never
*get* clean because of a steady dribble of additional bad data while
you are attempting cleanup.

(Well, OK, you could always enforce the rule at some other layer and
hope to get enough traction to correct the problems, but it is nice to
have help from the DBMS in this regard, without having to code
triggers to get there.)

-Kevin


From: Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Disable and enable of table and column constraints
Date: 2009-09-09 14:51:01
Message-ID: 87skewcgtm.fsf@dba2.int.libertyrms.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

peter_e(at)gmx(dot)net (Peter Eisentraut) writes:
> On Tue, 2009-09-08 at 16:07 -0400, Alvaro Herrera wrote:
>> Tom Lane wrote:
>> > Michael Gould <mgould(at)intermodalsoftwaresolutions(dot)net> writes:
>> > > It would be nice if we could enable and disable column and table
>> > > constraints. I believe that you can do this in Oracle but this is very
>> > > handy for testing stored procedures and other external processes.
>> >
>> > Drop the constraint and re-add it later...
>>
>> That's not very useful when adding it later means grabbing an exclusive
>> lock on the table for the whole duration of the full table scan required
>> to check the table.
>
> It's also useful to define foreign keys for documentation purposes but
> not enforce them for some reason.

With the ALTER TABLE DISABLE TRIGGER functionality added in 8.3, we
already have the ability to do this with foreign key constraints.

That suggests a place for syntax to come from, I'd expect.
--
let name="cbbrowne" and tld="ca.afilias.info" in name ^ "@" ^ tld;;
Christopher Browne
"Bother," said Pooh, "Eeyore, ready two photon torpedoes and lock
phasers on the Heffalump, Piglet, meet me in transporter room three"


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Disable and enable of table and column constraints
Date: 2009-09-10 15:06:19
Message-ID: 23971.1252595179@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info> writes:
> With the ALTER TABLE DISABLE TRIGGER functionality added in 8.3, we
> already have the ability to do this with foreign key constraints.

That "feature" is a crock that should not be extended, because it
leaves it entirely on the user's shoulders whether the constraint
is actually true when the system thinks it is. What is being discussed
here is ways to incrementally add real, proven-valid constraints.

(Indeed, given the thought that's being given to having the planner
assume that FK constraints hold, I rather think that we need to
reconsider ALTER DISABLE TRIGGER.)

regards, tom lane


From: Jan Wieck <JanWieck(at)Yahoo(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Disable and enable of table and column constraints
Date: 2009-09-10 20:24:15
Message-ID: 4AA9606F.2070200@Yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On 9/10/2009 11:06 AM, Tom Lane wrote:
> Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info> writes:
>> With the ALTER TABLE DISABLE TRIGGER functionality added in 8.3, we
>> already have the ability to do this with foreign key constraints.
>
> That "feature" is a crock that should not be extended, because it
> leaves it entirely on the user's shoulders whether the constraint
> is actually true when the system thinks it is. What is being discussed
> here is ways to incrementally add real, proven-valid constraints.
>
> (Indeed, given the thought that's being given to having the planner
> assume that FK constraints hold, I rather think that we need to
> reconsider ALTER DISABLE TRIGGER.)

The feature was originally intended to be a clean way of avoiding
interferences of triggers and/or foreign keys with replication systems
that work on the user level (like Bucardo, Londiste and Slony). The only
way to break foreign keys in that scenario is to replicate a referencing
table without replicating the corresponding PK table.

Note that Slony-I currently does apply updates in a fashion that would
actually make checking of foreign keys on the replica possible, but does
need the ability to disable regular user triggers. But for some future
version of Slony, we may need to change that and apply changes within
one replication group (SYNC) out of order with respect to multiple
tables. Which means that Slony would need at least some mechanism to
disable user triggers and force all foreign key constraints to be
deferred, whether they are declared deferrable or not.

Jan

--
Anyone who trades liberty for security deserves neither
liberty nor security. -- Benjamin Franklin


From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Jan Wieck <JanWieck(at)Yahoo(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Christopher Browne <cbbrowne(at)ca(dot)afilias(dot)info>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Disable and enable of table and column constraints
Date: 2009-09-12 12:06:34
Message-ID: 20090912120634.GA5285@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Sep 10, 2009 at 04:24:15PM -0400, Jan Wieck wrote:
> The feature was originally intended to be a clean way of avoiding
> interferences of triggers and/or foreign keys with replication systems
> that work on the user level (like Bucardo, Londiste and Slony). The only
> way to break foreign keys in that scenario is to replicate a referencing
> table without replicating the corresponding PK table.

FWIW, I find the ability in Slony to configure triggers so they work or
not depending on the replication role to be extremely useful. Absolutely
a major positive feature.

Have a nice day,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> Please line up in a tree and maintain the heap invariant while
> boarding. Thank you for flying nlogn airlines.


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Martijn van Oosterhout" <kleptog(at)svana(dot)org>, "Jan Wieck" <JanWieck(at)Yahoo(dot)com>
Cc: "Christopher Browne" <cbbrowne(at)ca(dot)afilias(dot)info>, <pgsql-hackers(at)postgresql(dot)org>,"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: Disable and enable of table and column constraints
Date: 2009-09-14 14:30:18
Message-ID: 4AAE0D2A020000250002AECC@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

>Martijn van Oosterhout <kleptog(at)svana(dot)org> wrote:
> FWIW, I find the ability in Slony to configure triggers so they work
> or not depending on the replication role to be extremely useful.
> Absolutely a major positive feature.

Yeah, as a general rule it doesn't make sense to try to enforce
constraints on a replication *target*. Check and report, perhaps, but
you don't normally want to error out on anything which you know was
actually applied to the source database. It's even worse for some
classes of triggers which generate derived data; you don't want the
replication to generate one value and then a trigger on the
replication target to try to do the same. A count, for example, could
easily wind up with an "off by one" error much of the time.

-Kevin