maria-developers team mailing list archive
Mailing list archive
Re: [GSOC] ColumnStore: Add full support for DECIMAL
Just to keep you updated I have created a ticket with some basic
information in it (which we have already gone though) and updated the
MariaDB KB 2017 page accordingly.
The ticket can be found here: https://jira.mariadb.org/browse/MCOL-641
On 20/03/17 22:52, Andrew Hutchings wrote:
> Hi Daniil,
> Yes, it is currently stored as an int64. We want to extend it but also
> some of the internal functionality converts it to a double (see
> utils/funcexp/func_math.cpp for example). Every function would need to
> be fully tested to make sure that it uses DECIMAL end-to-end and handles
> overflow scenarios correctly.
> At the moment ColumnStore's integer storage can only handle fixed 1, 2,
> 4 and 8 byte columns. 2, 4 and 8 are used for DECIMAL. It should be
> somewhat easily extendible to 16 byte columns. I believe this will give
> us the capability to store the same amount of digits as MariaDB. If at
> CREATE TABLE it is determined that a DECIMAL will only require 8 bytes
> it should only use an 8 byte column, if it needs bigger it should use a
> 16 byte column.
> In addition the DDL code in ColumnStore will need modifying to handle
> the range.
> The ability to have 16 byte columns will also help us at a later date
> with other potential data types in the future too.
> Here is the first attempt at implementing 16byte columns in InfiniDB.
> This work has not made its way into ColumnStore yet and there are likely
> quite a few things this doesn't touch:
> Kind Regards
> On 20/03/17 21:57, Даниил Медведев wrote:
>> I looked at the code (for better understanding of problem), and now I
>> have some questions:
>> Do I understand correctly, that now it is stored as an int64 value with
>> a scale and we want to extend it, and store maximum 65 digits as in
>> We will use fixed size type or extandable?
>> I think that I will find all answers of my questions in specification,
>> and there is no point in asking more questions.
>> Daniil Medvedev
>> 2017-03-20 21:51 GMT+03:00 Andrew Hutchings <andrew@xxxxxxxxxxxxxxx
>> Hi Daniil,
>> Many thanks for your interest. We haven't fully specified it yet (I'll
>> build a full specification later this week). But I suspect the following
>> would be involved:
>> * Implementation of methods to handle MariaDB's DECIMAL format
>> * Support for a longer than 8-byte numeric column type (there is an
>> InfiniDB tree with work for this already)
>> * Modification of the primitives processor for the math
>> * Modification of the function expression processor to handle the
>> new type
>> * Version upgrade support for DECIMAL from the current form to the
>> new form
>> In the mean time please let me know if you have any questions.
>> Kind Regards
>> (Senior Software Engineer, MariaDB ColumnStore)
>> On 19/03/17 23:09, Даниил Медведев wrote:
>> > Hello,
>> > I took part in GSoC last year, and closed one of MariaDB tasks. Now I
>> > want to continue programming with MariaDB developers and solve a
>> new task.
>> > I considered some of proposed tasks, and was interested in
>> > Add full support for DECIMAL".
>> > I think this task is doable in the given time and I might solve it.
>> > P.S. My github link: https://github.com/medvdanil
>> > Regards,
>> > Daniil Medvedev
>> > _______________________________________________
>> > Mailing list: https://launchpad.net/~maria-developers
>> > Post to : maria-developers@xxxxxxxxxxxxxxxxxxx
>> > Unsubscribe : https://launchpad.net/~maria-developers
>> > More help : https://help.launchpad.net/ListHelp
>> Andrew Hutchings - LinuxJedi - http://www.linuxjedi.co.uk/
Andrew Hutchings - LinuxJedi - http://www.linuxjedi.co.uk/