[Phpmyadmin-devel] MySQL data truncation without warning effect to inline edit

Chanaka Dharmarathna pe.chanaka.ck at gmail.com
Wed Jan 9 06:27:34 CET 2013


> > I recently involved in fixing bug [0]. While fixing it, I was bit
> > confused that, PMA renders user input as it is while inline editing,
> > without getting real value saved in database. Yes, PMA do this after
> > checking the result of query execution function. But though result is
> > not an error, it doesn't mean that data is saved as it was. Mainly this
> > happens with numeric fields. Just type decimal value for column with
> > integer type and see what happens after refresh. As mentioned bug
> > description, MySQL truncate numeric data (not sure about other data
> > types) without noticing.
> >
> > Of course checking again the saved value is cost. But it's really odd to
> > see a less precise data, represent the real data. I think it's better to
> > clearly identify the data types, with or without having this behaviour.
> > So that, we can only recheck needed columns.
> >
> > When introducing inline edit functionality, this may have been
> > discussed. But I think better to discuss again. What do you think ?
> It sounds quite simple to me, so not sure if I'm missing something here.
> Anyway, we could just check if any warnings were generated by the query
> (mysql_warning_count or similar function). If yes, then select the value
> and send it to the client along with the response. Right?

Yeah, there are functions to detect warnings. But unfortunately this kind
of queries doesn't throw warnings. As I mentioned MySQL doesn't notice
about the data truncation.

I'll do this (re checking and return saved value) only for numeric since
identified only those.
Any objections ?

Regards !
Chanaka Dharmarathna
*Virtusa (Pvt) Ltd. | **Sri Lanka*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phpmyadmin.net/pipermail/developers/attachments/20130109/76a529d3/attachment.html>

More information about the Developers mailing list