Search Postgresql Archives

Re: Precision of data types and functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Brandon Aiken wrote:
> Oh, I'm not saying that MySQL is a full-featured database, nor saying
> that I agree with the MySQL philosophy.  I don't.  That's why I'm trying
> to avoid MySQL.  
> 
> However PostgreSQL isn't any more accurate with FLOATs than MySQL is.
> The ANSI SQL standard for FLOAT is for an inaccurate number.  It was
> never meant to be accurate, so even though MySQL has a much more liberal
> philosophy it's still behaving correctly when it does the math
> inaccurately.  Which is just like I would expect PostgreSQL or DB2 or
> Oracle to do.  If you need numeric accuracy and you pick FLOAT for your
> field, that *is* the developer's fault.  You picked a screwdriver when
> you needed a chisel.

I don't think that any of us are criticizing MySQL for it treats
floats, since we all (well, the dev team and most DBAs/developers)
understand the pitfalls of real numbers.

That has *nothing* to do, though, with the bug in question:

   mysql> create table test (a *numeric*(10,2));
   Query OK, 0 rows affected (0.05 sec)

   mysql> insert into test values (123123123123123.2);
   Query OK, 1 row affected, 1 warning (0.00 sec)

   mysql> select * from test;
   +-------------+
   | a           |
   +-------------+
   | 99999999.99 |
   +-------------+
   1 row in set (0.00 sec)

> Now, MySQL's design to 9-fill fields when you try to enter a too-large
> number is, in fact, stupid on MySQL's part.  I consider that silent
> truncation.  Heck, MySQL lets you create a date on February 31st, or
> prior to the year 1500, both of which are obviously nonsensical.
> 
> --
> Brandon Aiken
> CS/IT Systems Engineer
> 
> -----Original Message-----
> From: pgsql-general-owner@xxxxxxxxxxxxxx
> [mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of Ron Johnson
> Sent: Monday, August 28, 2006 6:27 PM
> To: pgsql-general@xxxxxxxxxxxxxx
> Subject: Re: [GENERAL] Precision of data types and functions
> 
> Brandon Aiken wrote:
>>> To be fair, that's the fault of the previous designer, not MySQL.
>>> You don't blame Stanley when your contractor uses 2" plain nails
>>> when he needed 3" galvanized.  The tool isn't to blame just
>>> because someone used it incorrectly.
> 
> Shows that you've been afflicted with the MySQL "app developer must
> do everything" disease.
> 
> Just as a PK should not let you insert a duplicate record, a
> NUMERIC(12,2) should not let you insert a too-big number.
> 
> Tool analogy: Pneumatic nailer says "maximum nail length 3 inches",
> but it *lets* you install *4* inch nails.  So, you do what you can,
> it mis-fires and you nail your hand to the deck.  Who's fault is it?
>  Theirs, for making it easy to install 4 inch nails, or yours for
> doing it?
> 
> That's where the analogy breaks down.  DBMSs have *always* returned
> errors when the app tries to do something beyond the range of the
> DB's parameters.

- --
Ron Johnson, Jr.
Jefferson LA  USA

Is "common sense" really valid?
For example, it is "common sense" to white-power racists that
whites are superior to blacks, and that those with brown skins
are mud people.
However, that "common sense" is obviously wrong.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFE+RxpS9HxQb37XmcRApgwAJ9SoDyxTIDJqNKMVwD2nIsix2E4UwCfaIDf
FVfyZ5VXf/0r6VXCC8QSDbM=
=g3E8
-----END PGP SIGNATURE-----


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux