bug [export] Exporting results of a query which contains a LIMIT clause inside a subquery

This commit is contained in:
Marc Delisle
2009-08-29 11:41:26 +00:00
parent 3d519b86f9
commit b4f776e34c
17 changed files with 602 additions and 507 deletions

View File

@@ -24,10 +24,6 @@ function PMA_pow($base, $exp, $use_function = false)
{
static $pow_function = null;
if ($exp < 0) {
return false;
}
if (null == $pow_function) {
if (function_exists('bcpow')) {
// BCMath Arbitrary Precision Mathematics Function
@@ -44,6 +40,9 @@ function PMA_pow($base, $exp, $use_function = false)
if (! $use_function) {
$use_function = $pow_function;
}
if ($exp < 0 && 'pow' != $use_function) {
return false;
}
switch ($use_function) {
case 'bcpow' :
@@ -1449,8 +1448,9 @@ function PMA_formatNumber($value, $length = 3, $comma = 0, $only_down = false)
} // end for
} elseif (!$only_down && (float) $value !== 0.0) {
for ($d = -8; $d <= 8; $d++) {
if (isset($units[$d]) && $value <= $li * PMA_pow(1000, $d-1)) {
$value = round($value / (PMA_pow(1000, $d) / $dh)) /$dh;
// force using pow() because of the negative exponent
if (isset($units[$d]) && $value <= $li * PMA_pow(1000, $d-1, 'pow')) {
$value = round($value / (PMA_pow(1000, $d, 'pow') / $dh)) /$dh;
$unit = $units[$d];
break 1;
} // end if
@@ -1899,6 +1899,7 @@ function PMA_checkParameters($params, $die = true, $request = true)
* @uses PMA_DBI_field_flags()
* @uses PMA_backquote()
* @uses PMA_sqlAddslashes()
* @uses PMA_printable_bit_value()
* @uses stristr()
* @uses bin2hex()
* @uses preg_replace()
@@ -1990,6 +1991,8 @@ function PMA_getUniqueCondition($handle, $fields_cnt, $fields_meta, $row, $force
// this blob won't be part of the final condition
$condition = '';
}
} elseif ($meta->type == 'bit') {
$condition .= "= b'" . PMA_printable_bit_value($row[$i], $meta->length) . "' AND";
} else {
$condition .= '= \''
. PMA_sqlAddslashes($row[$i], false, true) . '\' AND';
@@ -2419,7 +2422,7 @@ window.addEvent('domready', function(){
var anchor<?php echo $id; ?> = new Element('a', {
'id': 'toggle_<?php echo $id; ?>',
'href': '#',
'href': 'javascript:void(0)',
'events': {
'click': function(){
mySlide<?php echo $id; ?>.toggle();
@@ -2546,6 +2549,18 @@ function PMA_printable_bit_value($value, $length) {
return $printable;
}
/**
* Converts a BIT type default value
* for example, b'010' becomes 010
*
* @uses strtr()
* @param string $bit_default_value
* @return string the converted value
*/
function PMA_convert_bit_default_value($bit_default_value) {
return strtr($bit_default_value, array("b" => "", "'" => ""));
}
/**
* Extracts the various parts from a field type spec
*