diff options
Diffstat (limited to 'src/database/Postgres93.php')
-rw-r--r-- | src/database/Postgres93.php | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/src/database/Postgres93.php b/src/database/Postgres93.php index 5e2b0b74..215a477d 100644 --- a/src/database/Postgres93.php +++ b/src/database/Postgres93.php @@ -6,6 +6,9 @@ namespace PHPPgAdmin\Database; +use PHPPgAdmin\ADORecordSet; +use PHPPgAdmin\Help\PostgresDoc93; + /** * @file * PostgreSQL 9.3 support @@ -20,7 +23,7 @@ class Postgres93 extends Postgres94 /** * @var class-string */ - public $help_classname = \PHPPgAdmin\Help\PostgresDoc93::class; + public $help_classname = PostgresDoc93::class; /** * Returns a list of all functions in the database. @@ -28,7 +31,7 @@ class Postgres93 extends Postgres94 * @param bool $all If true, will find all available functions, if false just those in search path * @param mixed $type If not null, will find all trigger functions * - * @return int|\PHPPgAdmin\ADORecordSet All functions + * @return ADORecordSet|int All functions */ public function getFunctions($all = false, $type = null) { @@ -42,22 +45,26 @@ class Postgres93 extends Postgres94 } else { $c_schema = $this->_schema; $this->clean($c_schema); - $where = "n.nspname = '{$c_schema}'"; + $where = \sprintf( + 'n.nspname = \'%s\'', + $c_schema + ); $distinct = ''; } - $sql = " + $sql = \sprintf( + ' SELECT - {$distinct} + %s p.oid AS prooid, p.proname, p.proretset, pg_catalog.format_type(p.prorettype, NULL) AS proresult, pg_catalog.oidvectortypes(p.proargtypes) AS proarguments, pl.lanname AS prolanguage, - pg_catalog.obj_description(p.oid, 'pg_proc') AS procomment, - p.proname || ' (' || pg_catalog.oidvectortypes(p.proargtypes) || ')' AS proproto, - CASE WHEN p.proretset THEN 'setof ' ELSE '' END || pg_catalog.format_type(p.prorettype, NULL) AS proreturns, + pg_catalog.obj_description(p.oid, \'pg_proc\') AS procomment, + p.proname || \' (\' || pg_catalog.oidvectortypes(p.proargtypes) || \')\' AS proproto, + CASE WHEN p.proretset THEN \'setof \' ELSE \'\' END || pg_catalog.format_type(p.prorettype, NULL) AS proreturns, coalesce(u.rolname::text,p.proowner::text) AS proowner FROM pg_catalog.pg_proc p @@ -65,9 +72,12 @@ class Postgres93 extends Postgres94 INNER JOIN pg_catalog.pg_language pl ON pl.oid = p.prolang LEFT JOIN pg_catalog.pg_roles u ON u.oid = p.proowner WHERE NOT p.proisagg - AND {$where} + AND %s ORDER BY p.proname, proresult - "; + ', + $distinct, + $where + ); return $this->selectSet($sql); } |