Bruce> I stated many times that I was going on old information, because that is
Bruce> the only information I have. Maybe that is unfair, maybe not, but that
Bruce> is the only thing I can base my opinions on.
Wouldn't it have been better to first check up things before posting ?
Bruce> I can perhaps retrieve the old e-mail stating the crashme maintainer
Bruce> didn't know how to test for transactions. At the same time, the test
Bruce> did an amazingly bizarre UPDATE SET x = x + 1 on a table with unique
Bruce> indexes, and reported that our transactions were not atomic. Well, I
Bruce> figure if the person could come up with that test, they should be able
Bruce> to test for transactions.
It was I that asked for the help to check for transactions a long time
ago (and I got help from Luuk to make this in a way that should be
portable to most sql servers).
Note however that the above test must be supported by a transaction
system to be fully transactional. Almost all other databases (except
postgreSQL) that supports transactions, can handle the UPDATE test.
Bruce> A person reading that would think, "Well MySQL doesn't have
Bruce> transactions, and PostgreSQL's transactions are not atomic, so they must
Bruce> have the same limitations."
Sorry to say, but the above is true. There was some discussion about
this on the postgreSQL list about fixing this bug, but they concluded
that it was too hard to fix so they decided to let it be.
Bruce> This is far from true, but when we tried to
Bruce> have it corrected, we got a shrug, "Gee, how do I test for
Bruce> transactions." Come on, that is not believable.
Who did try to get a correction? No one contacted me above it!
We did add the transaction test very early, but the test you mention is
independent of this test! This tests if the database server support
atomic transactions, which is VERY important in some cases.
Bruce> Is that old news, maybe. Did it make me feel like the crashme test
Bruce> wasn't interested in the truth, yes. Did make me avoid more work on
Bruce> improving crashme, yes.
Your comment reflects one that I have got from many postgreSQL
developers; You seem to think that everyone is against postgreSQL and
you take it personally when postgreSQL can't handle something.
(I have talked with a couple of resonable postgreSQL developers, so I
know that the above doesn't hold for everyone, but the major part of
the mail I get from postgreSQL developers are not very resonable :()
The simple truth is that postgreSQL can't handle atomic transactions,
as required by ANSI SQL. One can however argue that this is not that
important, but this is a whole different story!
To take it from the beginning:
The whole idea of crash-me is to find things that a database support
and doesn't support, to make it easier to write applications for it.
This makes it VERY important to find all possible limitations for a
database. Doesn't this sound reasonable ?
A last note about this topic: I got the query used in crash-me from a
SQL book that describes how transactions works...
>> A note about this; We have a lot of database vendors to help us with
>> making crash-me better, and we have got a lot of positive feedback!
>> >From the postgreSQL developers we have however not got any help at
>> all! All postgreSQL test have been done by Luke on his spare time.
Bruce> Well, we are all volunteers, and the above experience was enough to make
Bruce> us shy away from wasting any time trying to work on it. Also, MySQL is
Bruce> backed by a company, while we are all volunteers, so there is a certain
Bruce> suspicion that the crashme test has a certain monetary incentive behind
Bruce> it. This suspicion may be false, but we have it none-the-less.
We at TCX don't get any money from providing crash-me or improving the
benchmarks result for postgreSQL, but have still done this as a free
service. We know that the postgreSQL developers has used crash-me to
make postgreSQL more bug free and we are very happy about this too. We
also do offer a lot of free support and help for MySQL and most MySQL
usage is free. I wouldn't compare us with 'an evil emporium', just
because we charge for a MySQL license if you bundle MySQL with an
application that is not free.
Bruce> Let me mention something that is a was very glad to see. The MySQL
Bruce> manuals actually recommend PostreSQL for people who need transactions.
Bruce> Now, that takes humility. That is clearly a sign of MySQL objectivity.
>> I have no problem recommending PostgreSQL for applications that suits
>> postgreSQL. We are targeting different applications. There is room
>> for us both on the database market.
>> The only thing that bothers me is that a lot of postgreSQL
>> developers/users seems very hostile against MySQL. What's worse, they
>> speak 'knowingly' about things that they haven't a clue about.
Bruce> I think your impression is correct. There is a hostile atmosphere about
Bruce> MySQL. Part of it was that, in the past, we were worked like crazy, and
Bruce> no was taking serious interest in PostgreSQL. They were all talking
Bruce> about MySQL. Now, in the past 1 1/2 years, we are getting serious
Bruce> consideration. I don't think MySQL had anything to do with that(except
Bruce> being a good product that people liked), but some also felt that the
Bruce> crashme test was made to continue that misinformation about PostgreSQL.
I think it's a pity that you feel hostile to MySQL just because you think you
deserve better. We on the other hand has tried to help postgreSQL as
much as we can by making it look better than it would otherwise have
done, by putting a lot of extra efforts in providing crash-me
information for postgreSQL and tuning the benchmarks for postgreSQL.
I still don't know about a single thing that crash-me have reported wrong
about postgreSQL that hasn't been fixed as soon as it has been brought
to our attention.
As you may have seen on the postgreSQL list, crash-me was actually
right that postgreSQL didn't support -- comments and HAVING as
required by ANSI SQL. Isn't it nice that we help you fix your bugs?
Bruce> No sense in trying to hide our feelings on this. Keeping quiet and
Bruce> stewing about it is not going to help. We might as well say how we feel
Bruce> so MySQL can know our motivations. We certainly would rather not feel
Bruce> the way we do.
I really hope you can grow out of this. There is so much we can do
together to make both products better!