From d6c5f85a243ff3e6b71e9f2ca4e64a8a6c959906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Mas=C3=A1r?= Date: Thu, 10 May 2012 23:07:34 +0200 Subject: [PATCH] Add Oracle processlist support --- adminer/drivers/oracle.inc.php | 11 ++++++++++- adminer/processlist.inc.php | 8 +++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/adminer/drivers/oracle.inc.php b/adminer/drivers/oracle.inc.php index 1f3142b1..2727428c 100644 --- a/adminer/drivers/oracle.inc.php +++ b/adminer/drivers/oracle.inc.php @@ -346,13 +346,22 @@ ORDER BY uc.constraint_type, uic.column_position", $connection2) as $row) { return get_key_vals('SELECT name, display_value FROM v$parameter'); } + function process_list() { + return get_rows('SELECT sess.process AS "process", sess.username AS "user", sess.schemaname AS "schema", sess.status AS "status", sess.wait_class AS "wait_class", sess.seconds_in_wait AS "seconds_in_wait", sql.sql_text AS "sql_text", sess.machine AS "machine", sess.port AS "port" +FROM v$session sess LEFT OUTER JOIN v$sql sql +ON sql.sql_id = sess.sql_id +WHERE sess.type = \'USER\' +ORDER BY PROCESS +'); + } + function show_status() { $rows = get_rows('SELECT * FROM v$instance'); return reset($rows); } function support($feature) { - return ereg("view|scheme|drop_col|variables|status", $feature); //! + return ereg("view|scheme|processlist|drop_col|variables|status", $feature); //! } $jush = "oracle"; diff --git a/adminer/processlist.inc.php b/adminer/processlist.inc.php index fd39cb5e..7753b36b 100644 --- a/adminer/processlist.inc.php +++ b/adminer/processlist.inc.php @@ -23,7 +23,13 @@ foreach (process_list() as $i => $row) { } echo "" . (support("kill") ? "" . checkbox("kill[]", $row["Id"], 0) : ""); foreach ($row as $key => $val) { - echo "" . (($jush == "sql" ? $key == "Info" && $val != "" : $key == "current_query" && $val != "") ? "" . shorten_utf8($val, 100, "") . ' ' . lang('Edit') . '' : nbsp($val)); + echo "" . ( + ($jush == "sql" && $key == "Info" && $val != "") || + ($jush == "pgsql" && $key == "current_query" && $val != "") || + ($jush == "oracle" && $key == "sql_text" && $val != "") + ? "" . shorten_utf8($val, 100, "") . ' ' . lang('Edit') . '' + : nbsp($val) + ); } echo "\n"; }