maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #10574
Re: [GSOC] ColumnStore: Add full support for DECIMAL
Hello,
Ok, i'll write a proposal according to this description at the end of the
week and will send the link to it.
Regards
2017-03-27 17:07 GMT+03:00 Andrew Hutchings <andrew@xxxxxxxxxxxxxxx>:
> 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/
>
References