Merge pull request #878 from sampathLiyanage/bugfix4245

Bug fix (#4245) - initial "Browse" query does not match sorting order
This commit is contained in:
Marc Delisle 2014-01-27 09:41:27 -08:00
commit c357b1b4aa
6 changed files with 27 additions and 5 deletions

View File

@ -1012,7 +1012,17 @@ class PMA_Util
$sql_query = '';
}
}
if (isset($GLOBALS['db']) && isset($GLOBALS['table'])){
// Parse and analyze the query
$analyzed_sql_results = PMA_SQP_getParserAnalyzeMap(
$sql_query, $GLOBALS['db']);
// Synchronize message(query) with table
PMA_handleSortOrder($GLOBALS['db'], $GLOBALS['table'],
$analyzed_sql_results, $sql_query);
}
if (isset($GLOBALS['using_bookmark_message'])) {
$retval .= $GLOBALS['using_bookmark_message']->getDisplay();
unset($GLOBALS['using_bookmark_message']);

View File

@ -227,7 +227,8 @@ function PMA_getTableHtmlForMultipleQueries(
function PMA_handleSortOrder($db, $table, &$analyzed_sql_results, &$full_sql_query)
{
$pmatable = new PMA_Table($table, $db);
if (empty($analyzed_sql_results['analyzed_sql'][0]['order_by_clause'])) {
if (empty($analyzed_sql_results['analyzed_sql'][0]['order_by_clause'])
&& isset($GLOBALS['default_query']) && $GLOBALS['default_query']) {
$sorted_col = $pmatable->getUiProp(PMA_Table::PROP_SORTED_COLUMN);
if ($sorted_col) {
//remove the tablename from retrieved preference
@ -1170,6 +1171,7 @@ function PMA_appendLimitClause($full_sql_query, $analyzed_sql, $display_query)
*/
function PMA_getDefaultSqlQueryForBrowse($db, $table)
{
$GLOBALS['default_query'] = true;
include_once 'libraries/bookmark.lib.php';
$book_sql_query = PMA_Bookmark_get(
$db,

View File

@ -55,6 +55,7 @@ class PMA_Header_Test extends PHPUnit_Framework_TestCase
$GLOBALS['PMA_Config']->enableBc();
$GLOBALS['cfg']['Server']['verbose'] = 'verbose host';
$GLOBALS['cfg']['Server']['pmadb'] = '';
$GLOBALS['default_query'] = true;
}
/**

View File

@ -50,6 +50,9 @@ class PMA_InsertEditTest extends PHPUnit_Framework_TestCase
$GLOBALS['text_dir'] = 'ltr';
$GLOBALS['db'] = 'db';
$GLOBALS['table'] = 'table';
$GLOBALS['cfg']['Server']['pmadb'] = 'pmadb';
$GLOBALS['cfg']['Server']['table_uiprefs'] = 'table_uiprefs';
$GLOBALS['cfg']['Server']['user'] = 'user';
}
/**

View File

@ -51,10 +51,13 @@ class PMA_ServerBinlog_Test extends PHPUnit_Framework_TestCase
$GLOBALS['cfg']['ShowSQL'] = true;
$GLOBALS['cfg']['TableNavigationLinksMode'] = 'icons';
$GLOBALS['cfg']['LimitChars'] = 100;
$GLOBALS['cfg']['Server']['pmadb'] = 'pmadb';
$GLOBALS['cfg']['Server']['table_uiprefs'] = 'table_uiprefs';
$GLOBALS['cfg']['Server']['user'] = 'user';
$GLOBALS['table'] = "table";
$GLOBALS['pmaThemeImage'] = 'image';
//$_SESSION
$_SESSION['PMA_Theme'] = PMA_Theme::load('./themes/pmahomme');
$_SESSION['PMA_Theme'] = new PMA_Theme();
@ -138,7 +141,7 @@ class PMA_ServerBinlog_Test extends PHPUnit_Framework_TestCase
$count = 3;
//expects functions
$dbi->expects($this->once())->method('query')
$dbi->expects($this->exactly(2))->method('query')
->will($this->returnValue($result));
$dbi->expects($this->once())->method('numRows')

View File

@ -65,6 +65,8 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$GLOBALS['cfg']['NavigationTreeDefaultTabTable'] = "db_structure.php";
$GLOBALS['cfg']['Confirm'] = "Confirm";
$GLOBALS['cfg']['ShowHint'] = true;
$GLOBALS['cfg']['Server']['table_uiprefs'] = 'table_uiprefs';
$GLOBALS['cfg']['Server']['user'] = 'user';
$GLOBALS['cfgRelation'] = array();
$GLOBALS['cfgRelation']['menuswork'] = false;
@ -76,6 +78,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$GLOBALS['username'] = "username";
$GLOBALS['collation_connection'] = "collation_connection";
$GLOBALS['text_dir'] = "text_dir";
$GLOBALS['default_query'] = true;
//$_POST
$_POST['pred_password'] = 'none';