VoltProcedure.call()--TypeError: an interger is required for Python2.7 Decimal datatype

VoltProcedure.call()--TypeError: an interger is required for Python2.7 Decimal datatype

这是我的代码:

from voltdbclient import *
from decimal import *

client = FastSerializer("s7biapp26", 21212)
proc = VoltProcedure(client, "test2_insert", [FastSerializer.VOLTTYPE_DECIMAL])
proc.call([Decimal(129)])
client.close()

此代码可以 运行 使用 Python3.X 成功,但报告

TypeError: an integer is required

和Python2.7,仅用于十进制数据类型。我怎样才能避免这个错误?

enter image description here

我能够重现这个问题,并且 logged a bug。我不确定是否有一个简单的修复方法,但如果您需要使用 python 2.7,一个选项是您可以使用主 VoltDB/voltdb 中提供的旧版本的 python 驱动程序] 项目 Github。该版本实际上适用于 python 2.6 或更高版本,但不支持 python 3。您可以在这里找到它:

https://github.com/VoltDB/voltdb/blob/master/lib/python/voltdbclient.py

此版本的驱动程序由一些 VoltDB command-line 实用程序使用,并与数据库一起进行版本控制和测试。

免责声明:我在 VoltDB 工作