mariadb/storage/mroonga
Sergei Golubchik 0140bfac5e MDEV-16127 mroonga/storage.* tests fail with GCC 8
Tests were failing because in TIME_from_longlong_datetime_packed() GCC8
at -O2 assumed that tmp is always positive and used mul and shr while it
used imul and sar at -O1 (where tests passed). GCC8 used multiplication
(by 0x4ec4ec4ec4ec4ec5) and shift to implement division by 13. It could
assume that tmp is always positive, because the function starts with
`if (tmp < 0) tmp= -tmp;`

But this assumption breaks if tmp=0x8000000000000000;
This is invalid value and TIME_from_longlong_datetime_packed() should
never see it, garbage in - garbage out.

It was getting this invalid value because mroonga tried to convert a
NULL key part to MYSQL_TIME. If the key part value is NULL, datetime2
value of it happens to be bzero-ed, which is invalid binary datetime2
value.

The correct behavior is not to try to interpret the key part value, if
it is marked as NULL. But this minimal fix only covers the datetime2 type.
2018-10-24 13:13:35 +02:00
..
build Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
data Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
lib MDEV-16127 mroonga/storage.* tests fail with GCC 8 2018-10-24 13:13:35 +02:00
mysql-test mroonga after-merge test fixes 2017-11-17 13:55:14 +08:00
packages Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
test Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
tools Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
udf Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
vendor/groonga compiler warnings (clang 4.0.1 on i386) 2018-09-04 09:19:48 +02:00
appveyor.yml Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
AUTHORS Update Mroonga to the latest version on 2014-09-21T00:33:44+0900 2014-09-21 00:33:45 +09:00
autogen.sh Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
ChangeLog Update Mroonga to the latest version on 2014-09-21T00:33:44+0900 2014-09-21 00:33:45 +09:00
CMakeLists.txt Make mroonga respect -DWITHOUT_DYNAMIC_PLUGINS. 2018-04-11 15:45:30 +01:00
config.sh.in Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
configure.ac Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
COPYING Update Mroonga to the latest version on 2015-04-30T04:44:30+0900 2015-04-30 04:44:30 +09:00
gpg_uid Update Mroonga to the latest version on 2014-09-21T00:33:44+0900 2014-09-21 00:33:45 +09:00
ha_mroonga.cpp MDEV-16127 mroonga/storage.* tests fail with GCC 8 2018-10-24 13:13:35 +02:00
ha_mroonga.def Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
ha_mroonga.hpp MDEV-16127 mroonga/storage.* tests fail with GCC 8 2018-10-24 13:13:35 +02:00
Makefile.am Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
mrn_constants.hpp Update Mroonga to the latest version on 2015-07-02T04:12:21+0900 2015-07-02 04:12:21 +09:00
mrn_err.h Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
mrn_macro.hpp Update Mroonga to the latest version on 2014-09-21T00:33:44+0900 2014-09-21 00:33:45 +09:00
mrn_mysql.h Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
mrn_mysql_compat.h Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
mrn_table.cpp Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
mrn_table.hpp Update Mroonga to the latest version on 2015-07-02T04:12:21+0900 2015-07-02 04:12:21 +09:00
mrn_variables.hpp Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
mrn_version.h.in Update Mroonga to the latest version on 2014-09-21T00:33:44+0900 2014-09-21 00:33:45 +09:00
NEWS Update Mroonga to the latest version on 2014-09-21T00:33:44+0900 2014-09-21 00:33:45 +09:00
plugin_version Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
README Update Mroonga to the latest version on 2014-09-21T00:33:44+0900 2014-09-21 00:33:45 +09:00
required_groonga_normalizer_mysql_version Update Mroonga to the latest version on 2015-04-30T04:44:30+0900 2015-04-30 04:44:30 +09:00
required_groonga_version Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
sources.am Update Mroonga to the latest version on 2015-04-30T04:44:30+0900 2015-04-30 04:44:30 +09:00
version Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
version_in_hex Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
version_major Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
version_micro Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
version_minor Update Mroonga to the latest version on 2014-09-21T00:33:44+0900 2014-09-21 00:33:45 +09:00

See doc/locale/en/html/index.html or doc/locale/ja/html/index.html