Hi!
On Oct 04, Georgi Kodinov wrote:
> On 04.10.2007, at 08:49, Tatjana A Nuernberg wrote:
>
> >ChangeSet@stripped, 2007-10-04 07:49:08+02:00,
> >tnurnberg@stripped +3 -0
> > Bug#31227: memory overrun with decimal (6,6) and zerofill and group_concat
> >
> > This is a pathological case.
> > DECIMAL(a,b) == a digits altogether, of which b are fractional.
> > DECIMAL(5,3) 123.45, or -123.45(!)
> >
> > This requires a characters,
> > plus one extra for sign,
> > plus one for decimal point if b>0,
> > *plus* one extra for a leading '0' if a==b:
> >
> > DECIMAL(6,6) -0.123456:
> > (sign) (zero) (point) (6 decimal places) (\0)
> >
> > This leading '0' was not factored in.
>
> This would fit ideally to the function comment.
> If you insist on having it as a commit comment please add: "Fixed
> by ...." (counting the leading '0' when it's the only digit before
> the decimal point).
I agree with Georgi. What about a shorter changseset comment
(which, as you remember is like an abstract of a article, not a complete
article):
Bug#31227: memory overrun with decimal (6,6) and zerofill and group_concat
Reserve the space for the leading 0 (before the decimal point) in DECIMAL(a,a)
this concisely describes the problem and a fix without explaining the
semantics of DECIMAL(M,N).
Regards / Mit vielen Grüssen,
Sergei
--
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Sergei Golubchik <serg@stripped>
/ /|_/ / // /\ \/ /_/ / /__ Principal Software Developer
/_/ /_/\_, /___/\___\_\___/ MySQL GmbH, Dachauer Str. 37, D-80335 München
<___/ Geschäftsführer: Kaj Arnö - HRB
München 162140