Python向sqlite注册回调函数的问题
使用python向sqlite注册了一个函数,函数入参预期是一个整型值,遇到长整型时,发生了溢出,python版本是2.5的,为何会发生长整型溢出呢?
import sqlite3
def testInt(para):
print "para type is: %s"%type(para)
print "para value is: %s"%para
con = sqlite3.connect(":memory:")
con.create_function("testInt",1,testInt)
cur = con.cursor()
#执行的sql中使用了python注册给sqlite的函数testInt
cur.execute("select testInt(4294967040)")
#打印结果如下所示,入参是一个长整型,发生了溢出:
para type is: <type 'int'>
para value is: -256
python应该是能够自动转换成长整型的,难道是sqlite调用testInt函数的时候传入的参数值就已经是溢出后的值了?