BerkeleyDB:在python BTREE中接收截断键到bt_compare函数

时间:2013-09-11 21:36:47

标签: python berkeley-db bsddb

我正在使用带有BerkeleyDB 6.0 python驱动程序的bsddb3。我有一个BTREE访问方法的数据集,其键作为表示浮点数的字符串。我设置了一个比较函数,用于set_bt_compare()

当我尝试使用db.set_range(key)函数时,compare函数接收的键有时会被截断。例如,

--------------------------------------------------
'left :1378934633890000.0'
--------------------------------------------------
'right:13789346362'

此处,右键应为'1378934636286548.8'

有没有人见过这个问题?有任何关于如何解决它的建议吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

其实这是我的错。添加数据时我没有设置bt_compare方法。我做到了,现在没有截断的数据。为了防止其他人遇到同样的问题,请确保每次读/写数据时都正确设置比较方法。