Java客户端来源
功能选择有索引:
public java.util.List select(int space, int index, java.lang.Object key, int offset, int limit, int iterator)
但是只给予空格和替换,更新和删除键:
public java.util.List delete(int space, java.lang.Object key)
答案 0 :(得分:1)
删除是在主键上执行的,因此它是一个原子操作,因为主键强制执行唯一性。辅助索引可能是唯一的,但可能不是很好,因此您需要启动事务以确保非唯一辅助索引键中的原子性。这就是为什么Java的二级索引上没有删除/更新/插入的原因。如果tarantool允许远程启动交易,这是一个很好的问题,但我怀疑它是否有用。
因此,您需要执行以下操作才能使其正常运行:
public List call(String var1, Object... var2);
E.g。
-- Lua function
function deleteFromSpaceByUniqueSecondaryIndex(secondaryId)
box.space.YourSpace.index.yourSecondaryIdx:delete(secondaryId)
end
.....
//call it from Java like that
tarantoolConn.call("deleteFromSpaceByUniqueSecondaryIndex", secondaryId);