MySQL crashme test and PostgreSQL

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Matthias Urlichs <smurf(at)noris(dot)net>
Cc: Mike Mascari <mascarm(at)mascari(dot)com>, pgsql-hackers(at)postgresql(dot)org, PostgreSQL-general <pgsql-general(at)postgresql(dot)org>
Subject: MySQL crashme test and PostgreSQL
Date: 2000-05-21 03:13:46
Message-ID: 200005210313.XAA04165@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

[CC: to general list.]

> > > What does the official standard say (assuming any exists) -- is the "to"
> > > optional or not?
> >
> > I don't see any RENAME in the SQL92 spec. Now, how hard is it to do a
> > 'man alter_table' and see what it says at the top of the screen?
> >
> It's not a question of your manpage vs. their manpage. I can read your
> manpage just fine. It's a question of whether there is something that
> can be regarded as a standard on it or not. "Official" is a poor wording
> in this case -- sorry.
>
> If yes, then the test will be changed to do it the standard way.
> If no, then I might have to test for both syntaxes, which is a PITA.
>

You know, you are asking what syntax is SQL standard. It is actually
not our job to report it to you. If you are responsible for the test,
you should know what the standard says, and test against that. If you
are not responsible for the test, then it shows that the person who is
responsible for the test doesn't care enough to test for SQL standard
syntax, only for MySQL syntax.

You know, there is a saying, "Do it right, or don't do it at all." That
is pretty much the PostgreSQL style. And if you are going to criticize
someone, you better be sure you are right.

We didn't write the crashme test, we don't host it on our web site, we
didn't ask to be in it. Someone has to be responsible for the test, and
knowing standard SQL syntax, and that must be whoever put it on the
MySQL site. We really don't want to hear that it dropped from the sky
and landed on the MySQL site, and no one there is responsible for it.

If we put something on our site, we are responsible for it. If we don't
like something or can't take ownership of it, we remove it.

Now, I am not picking on you. You may have the best of intentions. But
basically someone has decided to put it on the MySQL site, and has not
considered it worth their while to learn the SQL standard. They would
rather make other people tell them about the SQL standard, and maybe,
just maybe, we will fix the test someday. Well, I will tell you, we
have better things to do than fix the MySQL crashme test.

> What matters is that your opinion is that they are responsible for making
> the test 100% accurate. Their reply to that is that many database
> vendors actually provided fixes for this test instead of bitching
> about how inaccurate it is, thus they feel the obligation is on your
> side.

BINGO! You know, if other database vendors are stupid enough to do
MySQL's work for them and read the SQL standard for them, well...

You can't just point fingers and say no one at MySQL is responsible.
The MySQL bias is written all through that test.

> Now I am of neither side. I am, IMHO, thus in a position to ask you
> about your opinion of these inaccuracies, I am going to change
> the crashme test to be a whole lot more accurate WRT PostgreSQL,
> I will feed these changes back to the MySQL people, and they'll
> incorporate these changes into their next release. (Their head honcho
> (Monty) has said so on their mailing list. I _am_ going to take him up
> on it, and I can be quite obnoxious if somebody reneges on a promise.
> *EVIL*GRIN* )

You know, how do we know he is not just saying that hoping no one will
actually take him up on it.

You know, Monty was on this list last year, and he asked why we had a
bad attitude about MySQL, and we told him about the crashme test, and
you know, nothing happened. So I don't think it is very important to
Monty to be fair, or more accurately, he would rather keep a test that
makes MySQL look good, than to spend time making the test fair. He made
his choice. I can tell you our reaction would be totally different.

> I might add that their test lists 52 features of PostgreSQL which
> MySQL doesn't have (13 functions). It also lists 122 features of MySQL
> which PostgreSQL doesn't have; 78 of those are extra functions (40 of
> these, just for M$-ODBC compatibility).

>
> So it seems that overall, that crash-me test result is reasonably
> balanced (39 vs. 44 non-function differences -- let's face it, adding
> another function for compatibility with SQL variant FOO is one of the
> easier exercises here, whatever the current value of FOO is).

You have to make the test deceptive to get MySQL to be on par with
PostgreSQL. Period. Doesn't MySQL admit they have fewer features than
PostgreSQL. How did MySQL get an equal score on features? Answer me
that one.

We have given enough of our time to this, and have pointed out many
problems. Why don't you go an get those fixed, to show that the MySQL
group is working in good faith on this, and then, go and get a copy of
the standard, or a book about standard SQL, and start actually doing
something about the test.

And if it is not worth your time, and it is not worth any one else's
time at MySQL, then you folks have to admit you want to criticize
PostgreSQL without spending time to be fair about it.

I am going to suggest that no one else in the PostgreSQL group send any
more problem reports about the crashme tests until some changes appear
on the MySQL end. Tom Lane has already done a great job of illustrating
the issues involved. Pointing to actual SQL items is not the real
problem. The MySQL attitude about crashme is the problem.

Also, I have heard about the hit squads attacking MySQL. I never
condone inaccuracy or attacks, but I can understand why it is happening.

For years, I believe the deceptiveness of the MySQL crashme test has
hampered acceptance of PostgreSQL. And our response was to just reply
with our opinion when asked about it. We didn't create a web page to
attack MySQL and make them look bad. We believed that in the end, truth
always wins. So we kept going, and you know, in the end, truth does
win. We have a $25 million dollar company forming around PostgreSQL,
with maybe more to come. We are on our way up, even though the MySQL
crashme test delayed us.

And there is a saying "If you are not nice to people on your way up,
they will not be nice to you on the way down." I bet the hit squads are
frustrated people who have seen unfair things said about PostgreSQL for
years, with nothing they could do about it. Now they can do something,
and they are talking. But instead of one web page with deceptive
results, you have 100 people all over the net slamming MySQL. There is
a certain poetic justice in that. The saying goes, "Oh what a tangled
web we weave, When first we practice to deceive".

--
Bruce Momjian | http://www.op.net/~candle
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2000-05-21 03:20:42 PostgreSQL 7.0 a success
Previous Message Lamar Owen 2000-05-21 03:07:36 PostgreSQL 7.0-2 RPMset released.

Browse pgsql-hackers by date

  From Date Subject
Next Message Mike Mascari 2000-05-21 03:37:17 Re: MySQL crashme test and PostgreSQL
Previous Message Lamar Owen 2000-05-21 03:07:36 PostgreSQL 7.0-2 RPMset released.