The frustration builds.
I have come to despise MySQL's sql_mode. It is a hack of the most
gargantuan proportions.
Basically, the optimizer just ignores the sql_mode whenever it is
convenient for it to do so. More importantly, the optimizer
silently ignores bad datetime input in various places. The reason
for this is because of my statement above: sql_mode is a big ole'
hack. Instead of fixing the runtime executor in MySQL to use real
ValueObject types — that are immutable and know how to convert
(and not convert) between each other, the runtime is a mess of
checks for various runtime codes, warning modes,
"count_cuted_field" crap and other miscellany that obfuscates the
executor pipeline almost beyond recognition.
Slowly, I am attacking the mess, but the executor is so fragile
that even tiny changes can wreak havoc on the system, so the
going is slow and painful. It's no wonder that the release cycle
for the MySQL …
[Read more]