From 3b1e9e7f02e29f139bb760e8ed292bb7b027742a Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Thu, 27 May 2010 11:53:40 +0200 Subject: [PATCH] Oracle views support --- adminer/drivers/oracle.inc.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/adminer/drivers/oracle.inc.php b/adminer/drivers/oracle.inc.php index df6e6ec9..6fbf49ae 100644 --- a/adminer/drivers/oracle.inc.php +++ b/adminer/drivers/oracle.inc.php @@ -177,7 +177,9 @@ if (isset($_GET["oracle"])) { function tables_list() { global $connection; - return get_key_vals("SELECT table_name FROM all_tables WHERE tablespace_name = " . $connection->quote(DB)); //! views + return get_key_vals("SELECT table_name, 'table' FROM all_tables WHERE tablespace_name = " . $connection->quote(DB) . " +UNION SELECT view_name, 'view' FROM user_views" + ); //! views don't have schema } function count_tables($databases) { @@ -187,7 +189,10 @@ if (isset($_GET["oracle"])) { function table_status($name = "") { global $connection; $return = array(); - $result = $connection->query('SELECT table_name "Name" FROM all_tables' . ($name != "" ? ' WHERE table_name = ' . $connection->quote($name) : '')); + $search = $connection->quote($name); + $result = $connection->query('SELECT table_name "Name", \'table\' "Engine" FROM all_tables WHERE tablespace_name = ' . $connection->quote(DB) . ($name != "" ? " AND table_name = $search" : "") . " +UNION SELECT view_name, 'view' FROM user_views" . ($name != "" ? " WHERE view_name = $search" : "") + ); while ($row = $result->fetch_assoc()) { if ($name != "") { return $row; @@ -234,6 +239,12 @@ if (isset($_GET["oracle"])) { return array(); //! } + function view($name) { + global $connection; + $result = $connection->query('SELECT text "select" FROM user_views WHERE view_name = ' . $connection->quote($name)); + return $result->fetch_assoc(); + } + function collations() { return array(); //! } @@ -319,7 +330,7 @@ if (isset($_GET["oracle"])) { } function support($feature) { - return ereg("drop_col", $feature); //! + return ereg("view|drop_col", $feature); //! } $jush = "oracle";