Edit report at https://bugs.php.net/bug.php?id=60052&edit=1

 ID:                 60052
 Updated by:         fel...@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

Reply via email to