[MDEV-9199] Add a limitation about temporal types to Mroonga documentation Created: 2015-11-27  Updated: 2016-02-03  Resolved: 2016-02-03

Status: Closed
Project: MariaDB Server
Component/s: Documentation, Storage Engine - Mroonga
Fix Version/s: N/A

Type: Task Priority: Major
Reporter: Elena Stepanova Assignee: Ian Gilfillan
Resolution: Fixed Votes: 0
Labels: None


 Description   

Note: filing on behalf of Monty.

<montywi> Basically, mroonga only supports date and datetime after 1900
<elenst> is it all?
<montywi> yes, as far as I can see. This is on freebsd and osx. (Others seem to work, but just by luck as I said...)

The reason is in how mroonga stores datetimes:

In TimeConverter::tm_to_time_gm() there is this code:
time_t sec_t = mktime(time);
On MacOSX this returns -1 if year < 0. On Linux it returns number of seconds since 1900, even if year < 0.

The reason year < 0, is that mroonga stores in year the value of 'real_year - 1900'.

Fix:

  • Change storage format in Mroonga of datetime and date to store exact date as a number (like MariaDB does), not seconds from 1900-01-01.


 Comments   
Comment by Ian Gilfillan [ 2015-12-02 ]

The Mroonga documentation states that Mroonga only supports Linux x86_64, but the bug report mentions FreeBSD/OSX - is Mroonga now supported for other platforms?

I have added the date/datetime limit as an item in the limitations: https://mariadb.com/kb/en/mariadb/about-mroonga/#limitations

Generated at Thu Feb 08 07:32:53 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.