ID: 41146
Updated by: [EMAIL PROTECTED]
Reported By: shade at nekto dot com
-Status: Open
+Status: Assigned
-Bug Type: PostgreSQL related
+Bug Type: Feature/Change Request
Operating System: Windows, FreeBSD
PHP Version: 5.2.1
-Assigned To:
+Assigned To: yohgaki
Previous Comments:
------------------------------------------------------------------------
[2007-04-20 08:27:42] shade at nekto dot com
Description:
------------
I found that pg_meta_data do not returns fields descriptions in result.
I explore sources and found that table's meta fteched by query, citated
below. I do not have free FreeBSD host for programming experiments, but
i upgrade a query little bit, adding ability to fetch description from
fields.
Can you use my query to add to pg_meta_data() ability to return field
descriptions?
Reproduce code:
---------------
Original code:
smart_str_appends(&querystr,
"SELECT a.attname, a.attnum, t.typname,
a.attlen, a.attnotNULL, a.atthasdef, a.attndims "
"FROM pg_class as c, pg_attribute a, pg_type t
"
"WHERE a.attnum > 0 AND a.attrelid = c.oid AND
c.relname = '");
tmp_name = php_addslashes((char *)table_name,
strlen(table_name), &new_len, 0 TSRMLS_CC);
smart_str_appendl(&querystr, tmp_name, new_len);
efree(tmp_name);
smart_str_appends(&querystr, "' AND a.atttypid = t.oid ORDER BY
a.attnum;");
smart_str_0(&querystr);
Changed code, that i proposes:
smart_str_appends(&querystr,
"SELECT a.attname, a.attnum, t.typname,
a.attlen, a.attnotNULL, a.atthasdef, a.attndims, d.description "
"FROM pg_class as c JOIN pg_attribute a on
(a.attrelid = c.oid) JOIN pg_type t on (a.atttypid = t.oid) "
"LEFT JOIN pg_description d on
(d.objoid=a.attrelid and d.objsubid=a.attnum and c.oid=d.objoid) "
"WHERE a.attnum > 0 AND c.relname = '");
tmp_name = php_addslashes((char *)table_name,
strlen(table_name), &new_len, 0 TSRMLS_CC);
smart_str_appendl(&querystr, tmp_name, new_len);
efree(tmp_name);
smart_str_appends(&querystr, "' ORDER BY a.attnum;");
smart_str_0(&querystr);
Expected result:
----------------
Information about table, including fields description (aka comments).
Actual result:
--------------
No any descriptions :(
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=41146&edit=1