Namespace (schema name) in DB (ERROR)

From: Date: Tue, 09 Dec 2003 17:35:26 +0000
Subject: Namespace (schema name) in DB (ERROR)
Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-24312@lists.php.net to get a copy of this message
Hello, When I use schema name in DB, occurrs various errors. Then, see the modifications bellow: DB/common.php : (Original version replace dot with '_' this is an error, because postgres uses schema.sequence_name) function getSequenceName($sqn) { /*************************************************************************** *********************************/ return sprintf($this->getOption("seqname_format"), preg_replace('/[^a-z0-9._]/i', '_', $sqn)); /*************************************************************************** *********************************/ } DB/pgsql.php : /** * Returns the query needed to get some backend info * @param string $type What kind of info you want to retrieve * @return string The SQL query string */ function getSpecialQuery($type) { switch ($type) { /*************************************************************************** *********************************/ /*START BUG : TOGO MODIFICATION!!! */ case 'tables': { $sql = "SELECT n.nspname || '.' || c.relname as \"Name\" FROM pg_class c, pg_user u, pg_namespace n WHERE c.relnamespace = n.oid AND c.relowner = u.usesysid AND c.relkind = 'r' AND not exists (select 1 from pg_views where viewname = c.relname) AND c.relname !~ '^pg_' UNION SELECT c.relname as \"Name\" FROM pg_class c WHERE c.relkind = 'r' AND not exists (select 1 from pg_views where viewname = c.relname) AND not exists (select 1 from pg_user where usesysid = c.relowner) AND c.relname !~ '^pg_'"; break; } /*END BUG : TOGO MODIFICATION!!! */ /*************************************************************************** *********************************/ case 'views': { // Table cols: viewname | viewowner | definition $sql = "SELECT viewname FROM pg_views"; break; } case 'users': { // cols: usename |usesysid|usecreatedb|usetrace|usesuper|usecatupd|passwd |valuntil $sql = 'SELECT usename FROM pg_user'; break; } case 'databases': { $sql = 'SELECT datname FROM pg_database'; break; } case 'functions': { $sql = 'SELECT proname FROM pg_proc'; break; } default: return null; } return $sql; } // }}} } Thanks, Rodrigo Carvalho Rezende http://www.togoworks.com/

« previous php.pear.dev (#24312) next »