Re: Buglist

From: "scott(dot)marlowe" <scott(dot)marlowe(at)ihs(dot)com>
To: Bruno Wolff III <bruno(at)wolff(dot)to>
Cc: Shridhar Daithankar <shridhar_daithankar(at)persistent(dot)co(dot)in>, postgres general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Buglist
Date: 2003-08-19 19:44:31
Message-ID: Pine.LNX.4.33.0308191329500.10096-100000@css120.ihs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On Tue, 19 Aug 2003, Bruno Wolff III wrote:

> On Tue, Aug 19, 2003 at 18:01:33 +0530,
> Shridhar Daithankar <shridhar_daithankar(at)persistent(dot)co(dot)in> wrote:
> >
> > Few major differences I can see right here. Correct me on mysql side.
> >
> > - WAL log
> > - Transactabl DDLs
> > - Nested transactions coming soon to PG
> > - PITR coming soon to PG
>
> Note that the last two are not coming soon as in 7.4, but as in maybe for 7.5.
> Which I can't see being out in less than 6 months.

Good point. We in no way need to point to future improvements anymore to
say Postgresql is a better database than MySQL. Postgresql 7.3.4 is the
best Open Source database in my humble opinion, and the things MySQL is
missing are complex features that need to be well thought out and well
implemented. Given the haphazard approach of MySQL to standards
compliance, you are gambling your company on it's non-standard SQL
sticking around if you use it, or hundreds of man hours replacing MySQL
specific SQL if you ever convert.

Examples:

|| In Postgresql || is the concatenation operator. Why, in god's name,
is || the concatenation operator. Because the Spec says so. In MySQL
it's the OR operator, contrary to spec.

Their FKs silently fail without so much as a notice. Poof, no fks, but
they swallow the syntax as if they do.

They get precision wrong all the time. Spec says numeric(x1,y1) *
numeric(x2,y2) yeilds numeric(size_of_int_portion.y1+y2)

But in MySQL you get a numeric(size_of_int_portion,max(y1,y2)).

Postgresql gives you the answer.

create table mult (i1 numeric(10,2), i2 numeric(10,3));
insert into mult values (123.33,123.354);
select i1*i2 from mult;

MySQL output:
+-----------+
| i1*i2 |
+-----------+
| 15213.249 |
+-----------+

Postgresql output:
?column?
-------------
15213.24882

I don't know if that's changed since 4.x came out, I gave up on MySQL for
anything other than a text storage / content management engine long ago.

In response to

  • Re: Buglist at 2003-08-19 16:00:32 from Bruno Wolff III

Browse pgsql-general by date

  From Date Subject
Next Message Bo Lorentsen 2003-08-19 19:50:25 Re: Buglist
Previous Message The Hermit Hacker 2003-08-19 19:28:09 Virus flood ..

Browse pgsql-hackers by date

  From Date Subject
Next Message Bo Lorentsen 2003-08-19 19:50:25 Re: Buglist
Previous Message alvherre 2003-08-19 18:56:01 Re: Approved