]> git.joonet.de Git - adminer.git/commitdiff
Add schema support to the Oracle driver
authorIvan Masár <helix84@centrum.sk>
Thu, 10 May 2012 14:13:20 +0000 (16:13 +0200)
committerJakub Vrana <jakub@vrana.cz>
Sun, 13 May 2012 21:46:46 +0000 (14:46 -0700)
adminer/drivers/oracle.inc.php

index 300f3bdf24d82c03be8d8666bf88f9b3fb53383b..91c58652d36d0e8ba99f02b77396ad1dbb028527 100644 (file)
@@ -329,15 +329,17 @@ ORDER BY uc.constraint_type, uic.column_position", $connection2) as $row) {
        }
        
        function schemas() {
-               return array();
+               return get_vals("SELECT DISTINCT owner FROM dba_segments WHERE owner IN (SELECT username FROM dba_users WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX'))");
        }
        
        function get_schema() {
-               return "";
+               global $connection;
+               return $connection->result("SELECT sys_context('USERENV', 'SESSION_USER') FROM dual");
        }
        
        function set_schema($scheme) {
-               return true;
+               global $connection;
+               return $connection->query("ALTER SESSION SET CURRENT_SCHEMA = " . idf_escape($scheme));
        }
        
        function show_variables() {
@@ -350,7 +352,7 @@ ORDER BY uc.constraint_type, uic.column_position", $connection2) as $row) {
        }
        
        function support($feature) {
-               return ereg("view|drop_col|variables|status", $feature); //!
+               return ereg("view|scheme|drop_col|variables|status", $feature); //!
        }
        
        $jush = "oracle";