<div dir="ltr">Hey Guys,<div><br></div><div>I found the mistake I made, basically I'm using a tool called Sentry to capture the exceptions.</div><div>The value returned from the Python is 2^64-1, which is -1 from <span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">mysql_affected_rows. </span></div><div><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">Sentry is using JSON format as the a kind of storage, apparently the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">MAX SAFE INTEGER</a> is 2^53 -1.</span></div><div><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">Sorry for the in</span><font face="Arial, Helvetica, sans-serif">deliberated report of this issue and thanks for all of you helps.</font></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 23, 2016 at 12:06 AM, Tian JiaLin <span dir="ltr"><<a href="mailto:himurakenshin54@gmail.com" target="_blank">himurakenshin54@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Yes, you are right.  Definitely "long" in Python can represent a number much bigger than the native.<div><br></div><div>But the range of returned value from <span style="font-size:13px;font-family:Arial,Helvetica,sans-serif">mysql_affected_rows </span><span style="font-size:12.8px">within 0 ~ </span><span style="font-size:12.8px">2^64-1. No matter how it's converted, the converted value in Python also should in the range of 0 ~ 2^64 - 1.</span></div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Fri, Jul 22, 2016 at 11:50 PM, Eric Snow <span dir="ltr"><<a href="mailto:ericsnowcurrently@gmail.com" target="_blank">ericsnowcurrently@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Fri, Jul 22, 2016 at 3:02 AM, Stefan Ring <<a href="mailto:stefanrin@gmail.com" target="_blank">stefanrin@gmail.com</a>> wrote:<br>
> So to sum this up, you claim that PyLong_FromUnsignedLongLong can<br>
> somehow produce a number larger than the value range of a 64 bit<br>
> number (0x10000000000000180). I have a hard time believing this.<br>
<br>
</span>Perhaps I misunderstood your meaning, but Python's integers (AKA<br>
"PyLong") can be bigger that a machine-native integer (e.g. 64 bits):<br>
<br>
"All integers are implemented as “long” integer objects of *arbitrary<br>
size*." (emphasis mine)<br>
<br>
(<a href="https://docs.python.org/3.5//c-api/long.html" rel="noreferrer" target="_blank">https://docs.python.org/3.5//c-api/long.html</a>)<br>
<span><font color="#888888"><br>
-eric<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div></div></div><span class="">-- <br><div data-smartmail="gmail_signature"><div>kenshin</div><div><br></div><a href="http://kenbeit.com" target="_blank">http://kenbeit.com</a><div>Just Follow Your Heart</div></div>
</span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div>kenshin</div><div><br></div><a href="http://kenbeit.com" target="_blank">http://kenbeit.com</a><div>Just Follow Your Heart</div></div>
</div>