]> git.joonet.de Git - adminer.git/commitdiff
SQLite: Display number of rows in database overview
authorJakub Vrana <jakub@vrana.cz>
Sun, 29 Jul 2012 17:45:38 +0000 (10:45 -0700)
committerJakub Vrana <jakub@vrana.cz>
Sun, 29 Jul 2012 17:45:38 +0000 (10:45 -0700)
adminer/drivers/sqlite.inc.php
adminer/script.inc.php
changes.txt

index 9693e3242ae4f5b4bf6e356afc65f23f06e38fc1..994d220b9cdb2ba0fca5925c805d678ab306cf61 100644 (file)
@@ -250,10 +250,12 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) {
        }
 
        function table_status($name = "") {
+               global $connection;
                $return = array();
                foreach (get_rows("SELECT name AS Name, type AS Engine FROM sqlite_master WHERE type IN ('table', 'view')" . ($name != "" ? " AND name = " . q($name) : "")) as $row) {
                        $row["Oid"] = "t";
                        $row["Auto_increment"] = "";
+                       $row["Rows"] = $connection->result("SELECT COUNT(*) FROM " . idf_escape($row["Name"]));
                        $return[$row["Name"]] = $row;
                }
                foreach (get_rows("SELECT * FROM sqlite_sequence", null, "") as $row) {
index 7a20ba07d51af9de6504700dbec206eb08c6e692..39ede5bf2842d1611143728790bdf66a05dc5b4b 100644 (file)
@@ -13,10 +13,10 @@ if ($_GET["script"] == "db") {
                        foreach ($sums + array("Auto_increment" => 0, "Rows" => 0) as $key => $val) {
                                if ($table_status[$key] != "") {
                                        $val = number_format($table_status[$key], 0, '.', lang(','));
-                                       json_row("$key-$id", ($key == "Rows" && $val && (
-                                               $table_status["Engine"] == "InnoDB" ||  // MySQL InnoDB
-                                               $table_status["Engine"] == "table"      // PostgreSQL table reltype
-                                       ) ? "~ $val" : $val));
+                                       json_row("$key-$id", ($key == "Rows" && $val && $table_status["Engine"] == ($sql == "pgsql" ? "table" : "InnoDB")
+                                               ? "~ $val"
+                                               : $val
+                                       ));
                                        if (isset($sums[$key])) {
                                                // ignore innodb_file_per_table because it is not active for tables created before it was enabled
                                                $sums[$key] += ($table_status["Engine"] != "InnoDB" || $key != "Data_free" ? $table_status[$key] : 0);
index 94265583a1536abca0b35777f9db741a8b530be6..88618c8c778453b00a4d63757aaf4c25cbf10796 100644 (file)
@@ -1,7 +1,8 @@
 Adminer 3.4.1-dev:
 Display assigned auto_increment after clone
 SQLite: Full alter table
-SQLite: Better editing in tables without a primary key
+SQLite: Better editing in tables without primary key
+SQLite: Display number of rows in database overview
 
 Adminer 3.4.0 (released 2012-06-30):
 Link to descending order