Edit report at https://bugs.php.net/bug.php?id=41241&edit=1
ID: 41241 Updated by: [email protected] Reported by: develar at gmail dot com Summary: Realization array type. SQL 2003, S091 Status: Open Type: Feature/Change Request Package: PostgreSQL related Operating System: Windows XP SP2 PHP Version: 5.2.1 -Assigned To: +Assigned To: yohgaki Block user comment: N Private report: N New Comment: Changing return value may break applications. I may implement pg_array(mixed $var); when $var is string, convert to array. when $var is array, convert to string for query. Previous Comments: ------------------------------------------------------------------------ [2007-04-30 16:03:10] [email protected] Reclassified as feature request. ------------------------------------------------------------------------ [2007-04-30 14:31:05] develar at gmail dot com <?php $Pdo = new PDO('pgsql:host=localhost port=5432 dbname=postgres user=postgres password=password'); var_export($Pdo->query('select proargnames from pg_catalog.pg_proc order by proargnames limit 1')->fetchAll(PDO::FETCH_ASSOC)); ?> actual: array ( 0 => array ( 'proargnames' => '{"",x,n}', ), ) expected: proargnames is array, but not string array ( 0 => array ( 'proargnames' => array ( 0 => '', 1 => 'x', 2 => 'n', ), ), ) ------------------------------------------------------------------------ [2007-04-30 13:20:08] develar at gmail dot com Pdo (pdo_pgsql) supports SQL 2003 T031 - BOOLEAN data type. If I select value of a field, it will be returned with type BOOL. I ask, that also was supported SQL 2003 S091 - ARRAY data type. If I select proargnames with type text[], I expect, that PDO will return to me array, instead of string. ------------------------------------------------------------------------ [2007-04-30 13:06:53] develar at gmail dot com "Actual result" and "Expected result" reverse, excuse me :). ------------------------------------------------------------------------ [2007-04-30 13:01:28] develar at gmail dot com Description: ------------ SQL 2003, S091. Reproduce code: --------------- PostgreSQL 8.2 select proargnames from pg_catalog.pg_proc order by proargnames limit 1 Expected result: ---------------- array ( 0 => array ( 'proargnames' => '{"","","",id,uri,time_create,priority_base_time_create,title,time_modify,status,priority_base_title,type_name,leaf,version,author_name,author_surname,author_patronymic,privilege_edit,privilege_delete,privilege_grant}', ), ) Actual result: -------------- array ( 0 => array ( 'proargnames' => '{"","","",id,uri,time_create,priority_base_time_create,title,time_modify,array ( 0 => array ( 'proargnames' => array ( 0 => '', 1 => '', 2 => '', 3 => 'id', 4 => 'uri', 5 => 'time_create', 6 => 'priority_base_time_create', 7 => 'title', 8 => 'time_modify', 9 => 'status', 10 => 'priority_base_title', 11 => 'type_name', 12 => 'leaf', 13 => 'version', 14 => 'author_name', 15 => 'author_surname', 16 => 'author_patronymic', 17 => 'privilege_edit', 18 => 'privilege_delete', 19 => 'privilege_grant', ), ), )}', ), ) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=41241&edit=1
