From: Kristian Nielsen Date: November 2 2009 1:51pm Subject: Re: DECIMAL broken in information_schema by patch for Bug#45261 List-Archive: http://lists.mysql.com/internals/37461 Message-Id: <87y6mpnigo.fsf@knielsen-hq.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Davi Arnaut writes: > Sorry for the delay on responding, I was on vacation for most of Oct. Sure, thanks for getting back to me on this! Interesting timing ... just this morning, Monty committed a small patch to the MariaDB tree that seems to fix this particular problem in the MariaDB tree (if anyone is interested the commit mail is here: https://lists.launchpad.net/maria-developers/msg01401.html) >> Note that the old code uses item->max_length to set the precision, so the >> precision will be set from the _type_ (metadata) of the Item. > > Kind of. max_length is not really supposed to be type metadata as can > been seen in the constructor and other methods of Item_decimal. In > spite of this, this thing is quite messy as max_length can be used to > "stuff" things that are correlated but depend on other components of > the item. For example, the integer part and decimal part are > represented in the length, but if one of those is updated via another > source (eg Item::decimals), its not possible to properly interpret > max_length. > > I think that the real problem lies in create_schema_table which > violates any sense of interface and updates the item attributes by > hand. This used to work as things were broken in conjunction. > For the time being, I plan to revert Bug#45261 as it also caused other > regressions for things that are not exactly right either. Better to > work on a extended patch for a later milestone. Ok. Thanks, - Kristian.