Mombu the Php Forum sponsored links

Go Back   Mombu the Php Forum > Php > #35536 : mysql_field_type returns 'unknown' for DECIMAL columns in MySQL 5.0+
User Name
Password
REGISTER NOW! Mark Forums Read

sponsored links


Reply
 
1 12th June 12:30
tony2001
External User
 
Posts: 1
Default #35536 : mysql_field_type returns 'unknown' for DECIMAL columns in MySQL 5.0+



ID: 35536
Updated by: tony2001@php.net
Reported By: nevis2us at infoline dot su
-Status: Assigned
+Status: Closed
Bug Type: MySQL related
Operating System: Linux Gentoo
PHP Version: 4.4.1
Assigned To: tony2001
New Comment:

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.

Thank you for the report, and for helping us make PHP better.


Previous Comments:
------------------------------------------------------------------------

[2005-12-05 14:12:12] nevis2us at infoline dot su

The clear reproduce case would take too much php programming
and wasn't worth the effort. Thanks for your help Tony.

------------------------------------------------------------------------

[2005-12-05 13:43:45] tony2001@php.net

Next time please give the clear reproduce case instead of just saying
"do so and so".

There is also SET, ENUM and NEWDATE that aren't handled in this
switch.
Btw, PDO_MYSQL also needs these types.

------------------------------------------------------------------------

[2005-12-05 13:35:19] nevis2us at infoline dot su

The following patch fixes NEWDECIMAL bug in PHP 4.4.1

--- ext/mysql/libmysql/mysql_com.h 2003-07-28 11:28:55.000000000 +0400
+++ ext/mysql/libmysql/mysql_com.h 2005-12-05 14:12:08.000000000 +0300
@@ -125,6 +125,7 @@
FIELD_TYPE_DATE, FIELD_TYPE_TIME,
FIELD_TYPE_DATETIME, FIELD_TYPE_YEAR,
FIELD_TYPE_NEWDATE,
+ FIELD_TYPE_NEWDECIMAL=246,
FIELD_TYPE_ENUM=247,
FIELD_TYPE_SET=248,
FIELD_TYPE_TINY_BLOB=249,

--- ext/mysql/php_mysql.c 2005-04-08 02:23:01.000000000 +0400
+++ ext/mysql/php_mysql.c 2005-12-05 14:12:56.000000000 +0300
@@ -2088,6 +2088,7 @@
case FIELD_TYPE_FLOAT:
case FIELD_TYPE_DOUBLE:
case FIELD_TYPE_DECIMAL:
+ case FIELD_TYPE_NEWDECIMAL:
return "real";
break;
case FIELD_TYPE_TIMESTAMP:

------------------------------------------------------------------------

[2005-12-05 10:03:22] tony2001@php.net

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.

------------------------------------------------------------------------

[2005-12-05 00:53:49] nevis2us at infoline dot su

MySQL 5.0 Reference Manual ->
2.10.2. Upgrading from Version 4.1 to 5.0 ->
C API Changes:
Incompatible change:
....
This error occurs because the 4.1 client libraries do not support the
new MYSQL_TYPE_NEWDECIMAL type value added in 5.0
....

I do not see you handle either MYSQL_TYPE_NEWDECIMAL or
FIELD_TYPE_NEWDECIMAL anywhere in php-4.1.1 source.
mysqli extension in php-5.0.5 seems to be aware of this new type. But
wasn't it obvious the problem reported is about mysql extension? Did
you even bother to try?

------------------------------------------------------------------------

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/35536

--
Edit this bug report at http://bugs.php.net/?id=35536&edit=1
  Reply With Quote


  sponsored links


Reply


Thread Tools
Display Modes




Copyright © 2006 SmartyDevil.com - Dies Mies Jeschet Boenedoesef Douvema Enitemaus -
666