ID: 28089 User updated by: tony at gigaday dot com Reported By: tony at gigaday dot com Status: Bogus Bug Type: PostgreSQL related Operating System: Gentoo Linux PHP Version: 4.3.4 New Comment:
Thanks for getting back. Maybe I am doing something wrong, in which case I am sorry to waste your time, but I still think that this is a bug. I am aware that a return of -1 indicates a variable length field, but none of the fields is variable length and I just gave the field ccy_code (fixed length) as an example. None of the fields is variable length but they all return -1. Previous Comments: ------------------------------------------------------------------------ [2004-04-22 01:52:39] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php PQfsize returns the size in bytes of the field associated with the given field index. If the size returned is -1, the field is a variable length field. The PQfsize() is the underlying function behind pg_field_size(). ------------------------------------------------------------------------ [2004-04-21 12:23:43] tony at gigaday dot com Sorry, I got the actual and expect results in the wrong boxes in the bug report. :( The incorrect value of -1 is the actual returned value. ------------------------------------------------------------------------ [2004-04-21 12:17:37] tony at gigaday dot com Description: ------------ I am unable to get pg_field_size to return the correct storage size of a field; I have pg_field_num and pg_field_type working but not pg_field_size. Reproduce code: --------------- <?php // get fields sizes for currency file $dbconn_str = "host=localhost port=5432 dbname=pacs user=YYY password=XXXX"; if ( $dbconn = pg_connect($dbconn_str) ) { if ( !$db_status = pg_connection_status($dbconn) ) { $res = pg_query($dbconn, "select * from ccy limit 1"); $ccy_code_fnr = pg_field_num($res, "ccy_code"); $ccy_code_type = pg_field_type($res, $ccy_code_fnr); $ccy_code_size = pg_field_size($res, $ccy_code_fnr); echo "res:", $res, " code:", $ccy_code_fnr, " type:", $ccy_code_type, " size:", $ccy_code_size; ?> Expected result: ---------------- res:Resource id #3 code:0 type:bpchar size:-1 Actual result: -------------- res:Resource id #3 code:0 type:bpchar size:6 since psql gives:- pacs=# \d ccy Table "public.ccy" Column | Type | Modifiers ---------------+---------------+----------- ccy_code | character(6) | not null ccy_desc | character(20) | ccy_curr_rate | numeric(12,4) | ccy_std_rate | numeric(12,4) | ccy_alt_rate | numeric(12,4) | Indexes: ccy_pkey primary key btree (ccy_code) pacs=# ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=28089&edit=1