ID: 46508 User updated by: marques at displague dot com Reported By: marques at displague dot com Status: Assigned Bug Type: PDO related Operating System: * PHP Version: 5.2.9 Assigned To: mysql New Comment:
I stated in the bug report that the return values do not match up with the documentation. The docs state (pretty clearly): http://php.net/manual/en/pdostatement.getcolumnmeta.php: native_type The PHP native type used to represent the column value. driver:decl_type The SQL type used to represent the column value in the database. If the column in the result set is the result of a function, this value is not returned by PDOStatement::getColumnMeta(). pdo_type The type of this column as represented by the PDO::PARAM_* constants. The problems are that (per the docs) native_type is missed for some types (TINYINT) and that the native_type values currently returned should be in driver:decl_type, and PHP native types should be returned for native_type instead. Previous Comments: ------------------------------------------------------------------------ [2009-06-29 09:42:27] uwendel at mysql dot com Why would I bother about a function that has no specification? Without a specification there is no definition of how things should go and there is no bug - by definition... "Warning This function is EXPERIMENTAL. The behaviour of this function, its name, and surrounding documentation may change without notice in a future release of PHP. This function should be used at your own risk. ", http://de.php.net/manual/en/pdostatement.getcolumnmeta.php There needs to be a proper PDO spec before one can decide about any bug report. IMHO the bug report should be closed as bogus. ------------------------------------------------------------------------ [2009-04-10 14:01:57] php at displague dot com This should probably be the topic of another bug, but TINYINT doesn't return a native_type (I'm guessing because TINY is used everywhere, but not TINYINT - maybe another constant is needed). mysql://u...@host/db> show columns from table like 'disable' \G; *************************** 1. row *************************** Field: disable Type: tinyint(4) Null: NO Key: Default: 0 Extra: 1 row in set (0.00 sec) getColumnMeta (php 5.2.9) returns: Array ( [flags] => Array ( [0] => not_null ) [table] => promo_item [name] => disable [len] => 4 [precision] => 0 [pdo_type] => 2 ) native_type is missing. Is there any chance this correction will make it into 5.2.x? ------------------------------------------------------------------------ [2008-11-07 16:24:52] [email protected] Hi Marques, good observation! I've updated the patch. ;) Thanks. ------------------------------------------------------------------------ [2008-11-07 16:02:59] marques at displague dot com The values that are currently being reported may belong in the getmetacolumn array member 'driver:decl_type' (per the getColumnMeta documentation example). ------------------------------------------------------------------------ [2008-11-07 15:49:25] [email protected] Patch: http://felipe.ath.cx/diff/bug46508.diff (5.3) ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/46508 -- Edit this bug report at http://bugs.php.net/?id=46508&edit=1
