Thread: Help convincing a vendor....

Help convincing a vendor....

From
Larry Rosenman
Date:
to include PostgreSQL in addition to MySQL in an enhancement package.

I'm involved in a beta for some extensions for said vendor, and am looking
for COGENT
arguments for them to include BOTH MySQL (they already include MySQL in the
package, and
for the "other OS" may "have" to do PG for stability reasons).

Anyone on this list have arguments I can use?

I can't say the vendors name due to NDA, but if you've seen my postings,
you can guess.

LER


--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749




Re: Help convincing a vendor....

From
"scott.marlowe"
Date:
On Tue, 15 Jul 2003, Larry Rosenman wrote:

> to include PostgreSQL in addition to MySQL in an enhancement package.
>
> I'm involved in a beta for some extensions for said vendor, and am looking
> for COGENT
> arguments for them to include BOTH MySQL (they already include MySQL in the
> package, and
> for the "other OS" may "have" to do PG for stability reasons).
>
> Anyone on this list have arguments I can use?
>
> I can't say the vendors name due to NDA, but if you've seen my postings,
> you can guess.

1: MySQL 4.1 GPLs the connect libs.  I.e. either you buy a commercial
license or you GPL your code.  Hence, all installations this vendor wants
to sell will need to include a commercially licensed MySQL.

2: supporting ANSI standard SQL is a good idea (TM) because it makes it
that much easier to port to other databases.  I.e. the initial cost of
porting to Postgresql makes porting to the third, fourth, etc... databases
that much easier.

3: Stability and load handling are better in Postgresql.  But you already
kinda mentioned that one.


Re: Help convincing a vendor....

From
Andrew Sullivan
Date:
On Tue, Jul 15, 2003 at 11:28:32AM -0500, Larry Rosenman wrote:

> I'm involved in a beta for some extensions for said vendor, and am looking
> for COGENT
> arguments for them to include BOTH MySQL (they already include MySQL in the
> package, and
> for the "other OS" may "have" to do PG for stability reasons).

Well, what about, "We have to use PostgreSQL, because our accounting
department requires stability in numeric data.  In MySQL, numeric()
gets stored internally as a float, and that leads to potential
problems in accounting applications."

I didn't know about the numeric/float issue in MySQL, but I know for
sure that it would automatically disqualify it for anything we'd use
it for.

A

--
----
Andrew Sullivan                         204-4141 Yonge Street
Liberty RMS                           Toronto, Ontario Canada
<andrew@libertyrms.info>                              M2P 2A8
                                         +1 416 646 3304 x110


Re: Help convincing a vendor....

From
Larry Rosenman
Date:

--On Tuesday, July 15, 2003 15:49:47 -0400 Andrew Sullivan
<andrew@libertyrms.info> wrote:

> On Tue, Jul 15, 2003 at 11:28:32AM -0500, Larry Rosenman wrote:
>
>> I'm involved in a beta for some extensions for said vendor, and am
>> looking  for COGENT
>> arguments for them to include BOTH MySQL (they already include MySQL in
>> the  package, and
>> for the "other OS" may "have" to do PG for stability reasons).
>
> Well, what about, "We have to use PostgreSQL, because our accounting
> department requires stability in numeric data.  In MySQL, numeric()
> gets stored internally as a float, and that leads to potential
> problems in accounting applications."
>
> I didn't know about the numeric/float issue in MySQL, but I know for
> sure that it would automatically disqualify it for anything we'd use
> it for.
>
> A
Good one.  I hadn't seen that till recently on one list here or another.

Keep 'em coming folks.  I'm forwarding to the beta coordinator.

LER



--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749




Re: Help convincing a vendor....

From
"scott.marlowe"
Date:
On Tue, 15 Jul 2003, Andrew Sullivan wrote:

> On Tue, Jul 15, 2003 at 11:28:32AM -0500, Larry Rosenman wrote:
>
> > I'm involved in a beta for some extensions for said vendor, and am looking
> > for COGENT
> > arguments for them to include BOTH MySQL (they already include MySQL in the
> > package, and
> > for the "other OS" may "have" to do PG for stability reasons).
>
> Well, what about, "We have to use PostgreSQL, because our accounting
> department requires stability in numeric data.  In MySQL, numeric()
> gets stored internally as a float, and that leads to potential
> problems in accounting applications."
>
> I didn't know about the numeric/float issue in MySQL, but I know for
> sure that it would automatically disqualify it for anything we'd use
> it for.

See my recent correction about this.  however, it wouldn't surprise me to
find out that while they get stored as strings, they quite likely get
operated on as floats...


Re: Help convincing a vendor....

From
"scott.marlowe"
Date:
On Tue, 15 Jul 2003, scott.marlowe wrote:

> On Tue, 15 Jul 2003, Andrew Sullivan wrote:
>
> > On Tue, Jul 15, 2003 at 11:28:32AM -0500, Larry Rosenman wrote:
> >
> > > I'm involved in a beta for some extensions for said vendor, and am looking
> > > for COGENT
> > > arguments for them to include BOTH MySQL (they already include MySQL in the
> > > package, and
> > > for the "other OS" may "have" to do PG for stability reasons).
> >
> > Well, what about, "We have to use PostgreSQL, because our accounting
> > department requires stability in numeric data.  In MySQL, numeric()
> > gets stored internally as a float, and that leads to potential
> > problems in accounting applications."
> >
> > I didn't know about the numeric/float issue in MySQL, but I know for
> > sure that it would automatically disqualify it for anything we'd use
> > it for.
>
> See my recent correction about this.  however, it wouldn't surprise me to
> find out that while they get stored as strings, they quite likely get
> operated on as floats...

OK, I did some testing.  This script produces different output on mysql
than on postgresql (testing the mysql 3.23.xx version that comes with
RH7.2, and postgresql 7.3.3 installed from .tar.gz):

create table test (i1 numeric (10,2), i2 numeric(10,2));
insert into test values (123.123,123.123);
insert into test values (123.13,123.12);
select i1*i2 from test;

Postgresql produces this:

  ?column?
------------
 15158.5344
 15159.7656

While MySQL produces this:

+----------+
| i1*i2    |
+----------+
| 15158.53 |
| 15159.77 |
+----------+

Note that the mysql result is constrained by the numeric, and it's rounded
off.

Changing the select in postgresql to:

select (i1*i2)::numeric(10,2) from test;

gets the output in numeric format.

This loss of scale is against SQL spec, which states (SQL92 draft):

(QUOTE)

1) If the data type of both operands of a dyadic arithmetic operator is
exact numeric, then the data type of the result is exact numeric, with
precision and scale determined as follows:

   a) Let S1 and S2 be the scale of the first and second operands
      respectively.

   b) The precision of the result of addition and subtraction is
      implementation-defined, and the scale is the maximum of S1
      and S2.

   c) The precision of the result of multiplication is implementation
      defined, and the scale is S1 + S2.

(/QUOTE)

Note that the result should therefore have a precion of (x,4)