diff --git a/ChangeLog b/ChangeLog index dfdf92f62..3adda532e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -97,8 +97,9 @@ $Id$ - [interface] Better formatting for SQL validator results. 3.3.6.0 (not yet released) -- bug #3031705 [core] Do not use CONCAT for DECIMAL fields. - bug #3033063 [core] Navi gets wrong db name +- bug #3031705 [core] Fix generating condition for real numbers by comparing + them to string. 3.3.5.0 (not yet released) - patch #2932113 [information_schema] Slow export when having lots of diff --git a/libraries/common.lib.php b/libraries/common.lib.php index 1010b2c8c..86e49a901 100644 --- a/libraries/common.lib.php +++ b/libraries/common.lib.php @@ -2105,7 +2105,8 @@ function PMA_getUniqueCondition($handle, $fields_cnt, $fields_meta, $row, $force $condition .= 'IS NULL AND'; } else { // timestamp is numeric on some MySQL 4.1 - if ($meta->numeric && $meta->type != 'timestamp') { + // for real we use CONCAT above and it should compare to string + if ($meta->numeric && $meta->type != 'timestamp' && $meta->type != 'real') { $condition .= '= ' . $row[$i] . ' AND'; } elseif (($meta->type == 'blob' || $meta->type == 'string') // hexify only if this is a true not empty BLOB or a BINARY diff --git a/libraries/dbi/mysqli.dbi.lib.php b/libraries/dbi/mysqli.dbi.lib.php index de90cac08..ad6d545ab 100644 --- a/libraries/dbi/mysqli.dbi.lib.php +++ b/libraries/dbi/mysqli.dbi.lib.php @@ -488,8 +488,8 @@ function PMA_DBI_get_fields_meta($result) { // Build an associative array for a type look up $typeAr = array(); - $typeAr[MYSQLI_TYPE_DECIMAL] = 'decimal'; - $typeAr[MYSQLI_TYPE_NEWDECIMAL] = 'decimal'; + $typeAr[MYSQLI_TYPE_DECIMAL] = 'real'; + $typeAr[MYSQLI_TYPE_NEWDECIMAL] = 'real'; $typeAr[MYSQLI_TYPE_BIT] = 'int'; $typeAr[MYSQLI_TYPE_TINY] = 'int'; $typeAr[MYSQLI_TYPE_SHORT] = 'int';