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