From 005c963e2dfcd9f1fa2c9fbeebcbcd49c2c586de Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Thu, 23 May 2013 21:05:45 -0700 Subject: [PATCH] Fix detecting oid column in PDO_PGSQL --- adminer/drivers/pgsql.inc.php | 2 +- adminer/drivers/sqlite.inc.php | 2 +- adminer/select.inc.php | 2 +- changes.txt | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index 2d9eba64..a6997e2d 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -206,7 +206,7 @@ if (isset($_GET["pgsql"])) { function table_status($name = "") { $return = array(); - foreach (get_rows("SELECT relname AS \"Name\", CASE relkind WHEN 'r' THEN 'table' ELSE 'view' END AS \"Engine\", pg_relation_size(oid) AS \"Data_length\", pg_total_relation_size(oid) - pg_relation_size(oid) AS \"Index_length\", obj_description(oid, 'pg_class') AS \"Comment\", relhasoids AS \"Oid\", reltuples as \"Rows\" + foreach (get_rows("SELECT relname AS \"Name\", CASE relkind WHEN 'r' THEN 'table' ELSE 'view' END AS \"Engine\", pg_relation_size(oid) AS \"Data_length\", pg_total_relation_size(oid) - pg_relation_size(oid) AS \"Index_length\", obj_description(oid, 'pg_class') AS \"Comment\", relhasoids::int AS \"Oid\", reltuples as \"Rows\" FROM pg_class WHERE relkind IN ('r','v') AND relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema())" diff --git a/adminer/drivers/sqlite.inc.php b/adminer/drivers/sqlite.inc.php index 03f44821..5bd43edf 100644 --- a/adminer/drivers/sqlite.inc.php +++ b/adminer/drivers/sqlite.inc.php @@ -254,7 +254,7 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) { 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["Oid"] = 1; $row["Auto_increment"] = ""; $row["Rows"] = $connection->result("SELECT COUNT(*) FROM " . idf_escape($row["Name"])); $return[$row["Name"]] = $row; diff --git a/adminer/select.inc.php b/adminer/select.inc.php index 36fbe557..c9e9e565 100644 --- a/adminer/select.inc.php +++ b/adminer/select.inc.php @@ -5,7 +5,7 @@ $indexes = indexes($TABLE); $fields = fields($TABLE); $foreign_keys = column_foreign_keys($TABLE); $oid = ""; -if ($table_status["Oid"] == "t") { +if ($table_status["Oid"]) { $oid = ($jush == "sqlite" ? "rowid" : "oid"); $indexes[] = array("type" => "PRIMARY", "columns" => array($oid)); } diff --git a/changes.txt b/changes.txt index b985e591..6f24878a 100644 --- a/changes.txt +++ b/changes.txt @@ -2,6 +2,7 @@ Adminer 3.7.1-dev: Increase click target for checkboxes Use shadow for highlighting default button PostgreSQL: Order table list by name +PostgreSQL: Fix detecting oid column in PDO Adminer 3.7.0 (released 2013-05-19): Allow more SQL files to be uploaded at the same time @@ -26,7 +27,7 @@ MySQL: Fix handling of POINT data type (bug #3582578) MySQL: Don't export binary and geometry columns twice in select MySQL: Fix EXPLAIN in MySQL < 5.1, bug since Adminer 3.6.4 SQLite: Export views -PostgreSQL: Fix swapped NULL and NOT NULL columns in weird setups +PostgreSQL: Fix swapped NULL and NOT NULL columns in PDO Adminer 3.6.4 (released 2013-04-26): Display pagination on a fixed position