[Python-Dev] Convert from unsigned long long to PyLong

Tian JiaLin himurakenshin54 at gmail.com
Sat Jul 23 00:23:31 EDT 2016


Hey Guys,

I found the mistake I made, basically I'm using a tool called Sentry to
capture the exceptions.
The value returned from the Python is 2^64-1, which is -1 from
mysql_affected_rows.
Sentry is using JSON format as the a kind of storage, apparently the MAX
SAFE INTEGER
<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number>
is
2^53 -1.

Sorry for the indeliberated report of this issue and thanks for all of you
helps.

On Sat, Jul 23, 2016 at 12:06 AM, Tian JiaLin <himurakenshin54 at gmail.com>
wrote:

> Yes, you are right.  Definitely "long" in Python can represent a number
> much bigger than the native.
>
> But the range of returned value from mysql_affected_rows within 0 ~ 2^64-1.
> No matter how it's converted, the converted value in Python also should in
> the range of 0 ~ 2^64 - 1.
>
> On Fri, Jul 22, 2016 at 11:50 PM, Eric Snow <ericsnowcurrently at gmail.com>
> wrote:
>
>> On Fri, Jul 22, 2016 at 3:02 AM, Stefan Ring <stefanrin at gmail.com> wrote:
>> > So to sum this up, you claim that PyLong_FromUnsignedLongLong can
>> > somehow produce a number larger than the value range of a 64 bit
>> > number (0x10000000000000180). I have a hard time believing this.
>>
>> Perhaps I misunderstood your meaning, but Python's integers (AKA
>> "PyLong") can be bigger that a machine-native integer (e.g. 64 bits):
>>
>> "All integers are implemented as “long” integer objects of *arbitrary
>> size*." (emphasis mine)
>>
>> (https://docs.python.org/3.5//c-api/long.html)
>>
>> -eric
>>
>
>
>
> --
> kenshin
>
> http://kenbeit.com
> Just Follow Your Heart
>



-- 
kenshin

http://kenbeit.com
Just Follow Your Heart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20160723/4f57d286/attachment.html>


More information about the Python-Dev mailing list