如何使用berkeley db检索密钥小于指定密钥的数据?

时间:2012-11-05 02:50:52

标签: database cursor rdbms berkeley-db

正如您在标题中看到的,我想要检索其键小于指定键的数据,然后我需要连接多个游标,其中一个游标可能超过指定的字符串,而另一个游标可能小于指定的字符串整数。默认情况下,DB_SET_RANGE将返回大于或等于指定键的键。

我应该使用重写比较函数来实现它,并将其设置为数据库的比较函数,就像set_bt_compare()?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你会发现你仍然需要你自己的循环DB_NEXT或DB_PREV,你自己的逻辑用于比较键和在更复杂的条件下退出循环。

您可以使用DB_SET_RANGE找到键较大的点,然后转向并使用DB_PREV向后转。或者,您可以使用DB_FIRST从数据库的开头开始,然后使用DB_NEXT进行扫描,直到达到它们更大的程度。