diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/pgsql/mysql_users.php | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/pgsql/mysql_users.php')
-rw-r--r-- | ext/pgsql/mysql_users.php | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/ext/pgsql/mysql_users.php b/ext/pgsql/mysql_users.php new file mode 100644 index 0000000..65a2c33 --- /dev/null +++ b/ext/pgsql/mysql_users.php @@ -0,0 +1,82 @@ +<?php +/* + * File: mysql_users.php + * Author: Yasuo Ohgaki <yohgaki@php.net> + * + * This file contains example user defined functions that does + * similar to MySQL functions. They can be implemented as module + * functions, but there won't be many users need them. + * + * Requires: PostgreSQL 7.2.x + */ + +/* + * mysql_list_dbs() + * + * This function should be needed, since PostgreSQL connection + * binds database. + */ +function pg_list_dbs($db) +{ + assert(is_resource($db)); + $query = ' +SELECT + d.datname as "Name", + u.usename as "Owner", + pg_encoding_to_char(d.encoding) as "Encoding" +FROM + pg_database d LEFT JOIN pg_user u ON d.datdba = u.usesysid +ORDER BY 1; +'; + return pg_query($db, $query); +} + + +/* + * mysql_list_tables() + */ +function pg_list_tables($db) +{ + assert(is_resource($db)); + $query = " +SELECT + c.relname as \"Name\", + CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as \"Type\", + u.usename as \"Owner\" +FROM + pg_class c LEFT JOIN pg_user u ON c.relowner = u.usesysid +WHERE + c.relkind IN ('r','v','S','') + AND c.relname !~ '^pg_' +ORDER BY 1; +"; + return pg_query($db, $query); +} + +/* + * mysql_list_fields() + * + * See also pg_meta_data(). It returns field defintion as array. + */ +function pg_list_fields($db, $table) +{ + assert(is_resource($db)); + $query = " +SELECT + a.attname, + format_type(a.atttypid, a.atttypmod), + a.attnotnull, + a.atthasdef, + a.attnum +FROM + pg_class c, + pg_attribute a +WHERE + c.relname = '".$table."' + AND a.attnum > 0 AND a.attrelid = c.oid +ORDER BY a.attnum; +"; + return pg_query($db, $query); +} + +?> |