maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #10572
Re: [GSOC] ColumnStore: Add full support for DECIMAL
Hi Daniil,
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
Kind Regards
Andrew
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:
>
> https://github.com/infinidb/infinidb/commit/eb1e2df76bda95a43cd2948890bff98f8785a805
>
> Kind Regards
> Andrew
>
> 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
>> documentation?
>> https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/master/dbcon/execplan/treenode.h#L62
>>
>> 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.
>>
>> Regards,
>> Daniil Medvedev
>>
>> 2017-03-20 21:51 GMT+03:00 Andrew Hutchings <andrew@xxxxxxxxxxxxxxx
>> <mailto: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
>> Andrew
>> (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
>> "ColumnStore:
>> > 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
>> <https://launchpad.net/~maria-developers>
>> > Post to : maria-developers@xxxxxxxxxxxxxxxxxxx
>> <mailto:maria-developers@xxxxxxxxxxxxxxxxxxx>
>> > Unsubscribe : https://launchpad.net/~maria-developers
>> <https://launchpad.net/~maria-developers>
>> > More help : https://help.launchpad.net/ListHelp
>> <https://help.launchpad.net/ListHelp>
>> >
>>
>> --
>> Andrew Hutchings - LinuxJedi - http://www.linuxjedi.co.uk/
>>
>>
>
--
Andrew Hutchings - LinuxJedi - http://www.linuxjedi.co.uk/
Follow ups
References