return $return;
}
+ function found_rows($table_status, $where) {
+ return false;
+ }
+
function foreign_keys($table) {
$return = array();
foreach (get_rows("EXEC sp_fkeys @fktable_name = " . q($table)) as $row) {
return $connection->query("EXPLAIN $query");
}
+ /** Get approximate number of rows
+ * @param array
+ * @param array
+ * @return int or null if approximate number can't be retrieved
+ */
+ function found_rows($table_status, $where) {
+ return ($where || $table_status["Engine"] != "InnoDB" ? null : $table_status["Rows"]);
+ }
+
/** Get user defined types
* @return array
*/
return $connection->query("SELECT * FROM plan_table");
}
+ function found_rows($table_status, $where) {
+ return false;
+ }
+
function alter_table($table, $name, $fields, $foreign, $comment, $engine, $collation, $auto_increment, $partitioning) {
$alter = $drop = array();
foreach ($fields as $field) {
return $connection->query("EXPLAIN $query");
}
+ function found_rows($table_status, $where) {
+ global $connection;
+ if (ereg(
+ " rows=([0-9]+)",
+ $connection->result("EXPLAIN SELECT * FROM " . idf_escape($table_status["Name"]) . ($where ? " WHERE " . implode(" AND ", $where) : "")),
+ $regs
+ )) {
+ return $regs[1];
+ }
+ return false;
+ }
+
function types() {
return get_vals("SELECT typname
FROM pg_type
return $connection->query("EXPLAIN $query");
}
+ function found_rows($table_status, $where) {
+ return false;
+ }
+
function types() {
return array();
}
if ($rows || $page) {
$exact_count = true;
if ($_GET["page"] != "last" && +$limit && count($group) >= count($select) && ($found_rows >= $limit || $page)) {
- $found_rows = $table_status["Rows"];
- if (!isset($found_rows) || $where || ($table_status["Engine"] == "InnoDB" && $found_rows < max(1e4, 2 * ($page + 1) * $limit))) {
+ $found_rows = found_rows($table_status, $where);
+ if ($found_rows < max(1e4, 2 * ($page + 1) * $limit)) {
// slow with big tables
ob_flush(); //! doesn't work with AJAX
flush();
Adminer 3.3.2-dev:
Don't scroll with AJAX select order and alter move column
+Fast number of rows with big tables (PostgreSQL)
Adminer 3.3.1 (released 2011-07-27):
Fix XSS introduced in Adminer 3.2.0