MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
Alexander Barkov 5417002dae A cleanup for MDEV-15340 + fix MDEV-15363 Wrong result for CAST(LAST_DAY(TIME'00:00:00') AS TIME)
The change N7 in MDEV-15340 (see the commit message) introduced
a regression in how CAST(AS TIME), HOUR(), TIME_TO_SEC() treat datetimes
'0000-00-DD mm:hh:ss' (i.e. with zero YYYYMM part and a non-zero day).
These functions historically do not mix days to hours on datetime-to-time
conversion. Implementations of the underlying methods used get_arg0_time()
to fetch MYSQL_TIME. After MDEV-15340, get_arg0_time() went through the
Time() constructor, which always adds '0000-00-DD' to hours automatically
(as in all other places in the code we do mix days to hours).

Changes:
1. Extending Time() to make it possible to choose a desired way of treating
   '0000-00-DD' (ignore or mix to hours) on datetime-to-time conversion.
   Adding a helper class Time::Options for this, which now describes two aspects
   of Time() creation:
   1. Flags for get_date()
   2. Days/hours mixing behavior.

2. Removing Item_func::get_arg0_time(). Using Time() directly
   in all affected classes. Forcing Time() to ignore (rather than mix)
   '0000-00-DD' in these affected classes by passing a suitable Options value.

3. Adding Time::to_seconds(), to reuse the code between
   Item_func_time_to_sec::decimal_op() and Item_func_time_to_sec::int_op().

4. Item_func::get_arg0_date() now returns only a datetime value,
   with automatic time-to-datetime conversion if needed. An assert was
   added to catch attempts to pass TIME_TIME_ONLY to get_arg0_date().
   All callers were checked not to pass TIME_TIME_ONLY, this revealed
   a bug MDEV-15363.

5. Changing Item_func_last_day::get_date() to remove the TIME_TIME_ONLY flag
   before calling get_arg0_date(). This fixes MDEV-15363.
2018-02-21 08:18:44 +04:00
BUILD Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-01-27 15:20:01 +02:00
client Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-02-08 19:06:25 +04:00
cmake Merge 10.2 into bb-10.2-ext 2018-02-19 09:01:06 +02:00
dbug Make debug multi thread safe 2017-10-26 13:49:55 +03:00
debian Merge branch 'bb-10.2-mariarocks' into 10.2 2018-02-09 13:44:38 +03:00
Docs Merge branch '10.0' into 10.1 2016-03-21 13:02:53 +01:00
extra Merge 10.2 into bb-10.2-ext 2018-02-19 09:01:06 +02:00
include MDEV-15310 Range optimizer does not work well for "WHERE temporal_column NOT IN (const_list)" 2018-02-14 22:58:34 +04:00
libmariadb@67cc3438a8 Update C/C 2018-02-14 19:45:26 +00:00
libmysqld Added name to MEM_ROOT for esier debugging 2018-02-02 11:08:36 +02:00
libservices MDEV-11663 Create services for functionality used by plugins 2017-04-27 19:12:38 +02:00
man Merge 10.1 into 10.2, with some MDEV-14799 fixups 2018-01-03 11:56:24 +02:00
mysql-test A cleanup for MDEV-15340 + fix MDEV-15363 Wrong result for CAST(LAST_DAY(TIME'00:00:00') AS TIME) 2018-02-21 08:18:44 +04:00
mysys Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-02-12 10:03:28 +04:00
mysys_ssl MDEV-14567: CRYPTO_set_mem_functions fails in FIPS mode 2018-02-07 11:45:01 +01:00
pcre Fix and reenable Windows compiler warning C4800 (size_t conversion). 2018-01-26 10:37:46 +00:00
plugin Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-02-08 19:06:25 +04:00
randgen/conf
scripts Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-02-08 19:06:25 +04:00
sql A cleanup for MDEV-15340 + fix MDEV-15363 Wrong result for CAST(LAST_DAY(TIME'00:00:00') AS TIME) 2018-02-21 08:18:44 +04:00
sql-bench don't install same files twice 2017-08-14 19:45:58 +02:00
sql-common MDEV-15310 Range optimizer does not work well for "WHERE temporal_column NOT IN (const_list)" 2018-02-14 22:58:34 +04:00
storage Merge 10.2 into bb-10.2-ext 2018-02-19 09:01:06 +02:00
strings Fix and reenable Windows compiler warning C4800 (size_t conversion). 2018-01-26 10:37:46 +00:00
support-files Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-02-08 19:06:25 +04:00
tests Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-02-16 13:52:02 +04:00
unittest Merge branch 'github/10.1' into 10.2 2018-02-06 14:50:50 +01:00
vio Fix and reenable Windows compiler warning C4800 (size_t conversion). 2018-01-26 10:37:46 +00:00
win Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-02-08 19:06:25 +04:00
wsrep Prevent building WSREP without INNODB 2018-02-15 15:00:46 +00:00
zlib Build improvements and cleanups. 2017-09-08 18:22:15 +00:00
.gitattributes Merge branch 'connect/10.1' into 10.1 2016-06-28 22:12:50 +02:00
.gitignore Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-01-01 19:39:59 +02:00
.gitmodules Use https instead of ssh(git@) for rocksdb submodule. 2016-11-15 10:00:19 -05:00
.travis.compiler.sh travis: add clang-5.0 2017-08-07 10:05:01 +04:00
.travis.yml travis: osx - xcode 8.3 -> 9.1 2017-10-31 11:21:28 +04:00
appveyor.yml Add some hints for finding bison on its usual locations on Windows. 2018-02-14 17:01:07 +00:00
BUILD-CMAKE various documentation updates 2012-06-18 16:57:58 -04:00
CMakeLists.txt Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-02-08 19:06:25 +04:00
config.h.cmake Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-02-08 19:06:25 +04:00
configure.cmake Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2018-02-08 19:06:25 +04:00
COPYING
COPYING.thirdparty Correct FSF address 2017-03-10 18:21:29 +01:00
CREDITS Update sponsors 2018-01-24 12:11:29 +04:00
EXCEPTIONS-CLIENT MDEV-5645 MariaDB-5.5.35 - references are made to an "EXCEPTIONS-CLIENT" file but it does not exist 2014-05-31 13:18:56 +02:00
INSTALL-SOURCE Update AskMonty and Atlassian references to MariaDB 2016-03-08 15:24:01 +02:00
INSTALL-WIN-SOURCE Update AskMonty and Atlassian references to MariaDB 2016-03-08 15:24:01 +02:00
KNOWN_BUGS.txt various documentation updates 2012-06-18 16:57:58 -04:00
README.md README.md - Secure (HTTPS) Links 2017-09-25 13:51:15 +04:00
VERSION bump the VERSION 2018-02-13 11:23:14 -05:00

MariaDB: drop-in replacement for MySQL

MariaDB is designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.

MariaDB is brought to you by the MariaDB Foundation. Please read the CREDITS file for details about the MariaDB Foundation, and who is developing MariaDB.

MariaDB is developed by many of the original developers of MySQL who now work for the MariaDB Foundation and the MariaDB Corporation, and by many people in the community.

MySQL, which is the base of MariaDB, is a product and trademark of Oracle Corporation, Inc. For a list of developers and other contributors, see the Credits appendix. You can also run 'SHOW authors' to get a list of active contributors.

A description of the MariaDB project and a manual can be found at: https://mariadb.org/ https://mariadb.com/kb/en/ https://mariadb.com/kb/en/mariadb-vs-mysql-features/ https://mariadb.com/kb/en/mariadb-versus-mysql-features/ https://mariadb.com/kb/en/mariadb-versus-mysql-compatibility/

As MariaDB is a full replacement of MySQL, the MySQL manual at http://dev.mysql.com/doc is generally applicable.

Help:

More help is available from the Maria Discuss mailing list https://launchpad.net/~maria-discuss and the #maria IRC channel on Freenode.

License:


NOTE:

MariaDB is specifically available only under version 2 of the GNU General Public License (GPLv2). (I.e. Without the "any later version" clause.) This is inherited from MySQL. Please see the README file in the MySQL distribution for more information.

License information can be found in the COPYING, COPYING.LESSER, and COPYING.thirdparty files.


Bug Reports:

Bug and/or error reports regarding MariaDB should be submitted at https://mariadb.org/jira

Bugs in the MySQL code can also be submitted at https://bugs.mysql.com

The code for MariaDB, including all revision history, can be found at: https://github.com/MariaDB/server


Code status:

  • tests status travis-ci.org (10.2 branch)