Re: "Strong sides of MySQL" talk from PgDay16Russia, translated - Mailing list pgsql-hackers

From Nikolay Samokhvalov
Subject Re: "Strong sides of MySQL" talk from PgDay16Russia, translated
Date
Msg-id CANNMO++=Fz-t+HUS=XYy20GiJ2G9JYDFhMjURcgnGKxGyB1MkA@mail.gmail.com
Whole thread Raw
In response to Re: "Strong sides of MySQL" talk from PgDay16Russia, translated  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
Responses Re: "Strong sides of MySQL" talk from PgDay16Russia, translated  (David Fetter <david@fetter.org>)
List pgsql-hackers
On Fri, Jul 29, 2016 at 5:28 PM, Jim Nasby <Jim.Nasby@bluetreble.com> wrote:
The way I sum up MySQL vs PG for people that ask is to recount how they "fixed" the Feb. 31st bug when they released strict mode (something that they actually called out in the release PR). With strict mode enabled, Feb. 30th and 31st would give you an error. Feb 35th was still silently converted to March whatever. *That was the MySQL mentality: data quality doesn't matter compared to "ease of use".*

They've done this throughout their history... when presented with a hard problem, they skip around it or plaster over it, and then they promote that their solution is the only right way to solve the problem. (Their docs actually used to say that anything other that table-level locking was a bad idea.)

This is exactly what I mean saying MySQL speaks different language than I know, and that's why I simply cannot use it:

(mysql 5.7.12)

mysql> select cast('2016-99-99' as date);
+----------------------------+
| cast('2016-99-99' as date) |
+----------------------------+
| NULL                       |
+----------------------------+
1 row in set, 1 warning (0.00 sec)


In Postgres:

test=#  select cast('2016-99-99' as date);
ERROR:  date/time field value out of range: "2016-99-99"
LINE 1: select cast('2016-99-99' as date);
                    ^

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Wrong defeinition of pq_putmessage_noblock since 9.5
Next
From: Andreas 'ads' Scherbaum
Date:
Subject: Re: to_date_valid()