$GLOBALS['dbi']->selectDb($db); $result = $GLOBALS['dbi']->query('SHOW KEYS FROM ' . PMA_Util::backquote($table) . ';'); $primary = ''; while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { // Backups the list of primary keys if ($row['Key_name'] == 'PRIMARY') { $primary .= $row['Column_name'] . ', '; } } // end while $GLOBALS['dbi']->freeResult($result); } if ($query_type == 'drop_tbl' || $query_type == 'empty_tbl' || $query_type == 'row_delete') { $default_fk_check_value = PMA_Util::handleDisableFKCheckInit(); } list($result, $rebuild_database_list, $reload_ret, $run_parts, $use_sql, $sql_query, $sql_query_views) = PMA_getQueryStrFromSelected($query_type, $selected, $db, $table, $views, isset($primary) ? $primary : null, isset($from_prefix) ? $from_prefix : null, isset($to_prefix) ? $to_prefix : null); //update the existed variable if (isset($reload_ret)) { $reload = $reload_ret; } if ($query_type == 'drop_tbl') { if (!empty($sql_query)) { $sql_query .= ';'; } elseif (!empty($sql_query_views)) { $sql_query = $sql_query_views . ';'; unset($sql_query_views); } } if ($use_sql) { /** * Parse and analyze the query
/** * Test for PMA_getQueryStrFromSelected * * @return void */ public function testPMAGetQueryStrFromSelected() { $query_type = 'row_delete'; $db = "PMA_db"; $table = "PMA_table"; $selected = array("table1", "table2"); $views = null; $primary = null; $from_prefix = "from_prefix"; $to_prefix = "to_prefix"; $_REQUEST['pos'] = 1000; $_SESSION['tmpval']['pos'] = 1000; $_SESSION['tmpval']['max_rows'] = 25; list($result, $rebuild_database_list, $reload_ret, $run_parts, $use_sql, , ) = PMA_getQueryStrFromSelected($query_type, $selected, $db, $table, $views, $primary, $from_prefix, $to_prefix); //validate 1: $run_parts $this->assertEquals(true, $run_parts); //validate 2: $result $this->assertEquals(true, $result); //validate 3: $rebuild_database_list $this->assertEquals(false, $rebuild_database_list); //validate 4: $reload_ret $this->assertEquals(null, $reload_ret); $query_type = 'analyze_tbl'; list(, , , , $use_sql, , ) = PMA_getQueryStrFromSelected($query_type, $selected, $db, $table, $views, $primary, $from_prefix, $to_prefix); //validate 5: $use_sql $this->assertEquals(true, $use_sql); //validate 6: $use_sql $this->assertEquals(true, $use_sql); }