Req #41241 [Opn]: Realization array type. SQL 2003, S091
| From: | yohgaki@php.net | Date: | Sat, 31 Mar 2012 05:35:36 +0000 |
| Subject: | Req #41241 [Opn]: Realization array type. SQL 2003, S091 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-169071@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=41241&edit=1
ID: 41241
Updated by: yohgaki@php.net
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] tony2001@php.net
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