diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index 06beae8a..6d468169 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -264,7 +264,7 @@ ORDER BY 1"; function table_status($name = "") { $return = array(); - foreach (get_rows("SELECT c.relname AS \"Name\", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'm' THEN 'materialized view' ELSE 'view' END AS \"Engine\", pg_relation_size(c.oid) AS \"Data_length\", pg_total_relation_size(c.oid) - pg_relation_size(c.oid) AS \"Index_length\", obj_description(c.oid, 'pg_class') AS \"Comment\", c.relhasoids::int AS \"Oid\", c.reltuples as \"Rows\", n.nspname + foreach (get_rows("SELECT c.relname AS \"Name\", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'm' THEN 'materialized view' ELSE 'view' END AS \"Engine\", pg_relation_size(c.oid) AS \"Data_length\", pg_total_relation_size(c.oid) - pg_relation_size(c.oid) AS \"Index_length\", obj_description(c.oid, 'pg_class') AS \"Comment\", CASE WHEN c.relhasoids THEN 'oid' ELSE 'ctid' END AS \"Oid\", c.reltuples as \"Rows\", n.nspname FROM pg_class c JOIN pg_namespace n ON(n.nspname = current_schema() AND n.oid = c.relnamespace) WHERE relkind IN ('r', 'm', 'v', 'f') @@ -690,7 +690,7 @@ AND typelem = 0" $return_parts[] = "CONSTRAINT " . idf_escape($fkey_name) . " $fkey[definition] " . ($fkey['deferrable'] ? 'DEFERRABLE' : 'NOT DEFERRABLE'); } - $return .= implode(",\n ", $return_parts) . "\n) WITH (oids = " . ($status['Oid'] ? 'true' : 'false') . ");"; + $return .= implode(",\n ", $return_parts) . "\n) WITH (oids = " . ($status['Oid'] == 'oid' ? 'true' : 'false') . ");"; // "basic" indexes after table definition foreach ($indexes as $index_name => $index) { diff --git a/adminer/drivers/sqlite.inc.php b/adminer/drivers/sqlite.inc.php index 62b6979a..58e0f103 100644 --- a/adminer/drivers/sqlite.inc.php +++ b/adminer/drivers/sqlite.inc.php @@ -271,7 +271,7 @@ 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, 1 AS Oid, '' AS Auto_increment FROM sqlite_master WHERE type IN ('table', 'view') " . ($name != "" ? "AND name = " . q($name) : "ORDER BY name")) as $row) { + foreach (get_rows("SELECT name AS Name, type AS Engine, 'rowid' AS Oid, '' AS Auto_increment FROM sqlite_master WHERE type IN ('table', 'view') " . ($name != "" ? "AND name = " . q($name) : "ORDER BY name")) as $row) { $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 78d2294b..d65a66bb 100644 --- a/adminer/select.inc.php +++ b/adminer/select.inc.php @@ -4,9 +4,8 @@ $table_status = table_status1($TABLE); $indexes = indexes($TABLE); $fields = fields($TABLE); $foreign_keys = column_foreign_keys($TABLE); -$oid = ""; -if ($table_status["Oid"]) { - $oid = ($jush == "sqlite" ? "rowid" : "oid"); +$oid = $table_status["Oid"]; +if ($oid) { $indexes[] = array("type" => "PRIMARY", "columns" => array($oid)); } parse_str($_COOKIE["adminer_import"], $adminer_import);