Bug #60052 [Opn->Asn]: Integer returned as a 64bit integer on X64_86
| From: | felipe@php.net | Date: | Wed, 16 Nov 2011 00:36:13 +0000 |
| Subject: | Bug #60052 [Opn->Asn]: Integer returned as a 64bit integer on X64_86 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-165205@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=60052&edit=1
ID: 60052
Updated by: felipe@php.net
Reported by: m dot vanduren at jonker dot nl
Summary: Integer returned as a 64bit integer on X64_86
-Status: Open
+Status: Assigned
Type: Bug
Package: InterBase related
Operating System: All (linux tested)
PHP Version: 5.3.8
-Assigned To:
+Assigned To: felipe
Block user comment: N
Private report: N
Previous Comments:
------------------------------------------------------------------------
[2011-10-13 13:01:36] m dot vanduren at jonker dot nl
Description:
------------
Integer on firebird is treated as a 32 bit int and int64 is used as a 64 bit integer.
In the pdo_firebird driver INT64 is not implemented and LONG (int32) is treated as a long integer.
On an x86_64 machine this means that a SQL_LONG doesn't honor the bit-sign in a value and INT64
doesn't return anything.
This patch should fix this value for x86_64 systems while leaving x86 systems unchanged.
Test script:
---------------
any firebirdSQL database with a integer field containing a negative value.
retrieve the value with the pdo_firebird driver on a 64 bit machine and echo it to the screen.
Expected result:
----------------
negative values with integer and should be returned as a negative number.
Actual result:
--------------
negative values are returned as their unsigned counterpart.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=60052&edit=1