Создание отсортированной карты в Lua UDF
В клиенте Aerospike Java можно создать отсортированную карту с помощью MapOrder
собственность, такая как MapOrder.KEY_ORDERED
или же MapOrder.KEY_VALUE_ORDERED
,
В UDF Lua документы указывают несколько способов создания карты CDT, но ни один из них не позволяет указать порядок карты:
local m1 = map() -- create map
local m2 = map.create(100) -- create with initial size
local m3 = map { a = 1, b = 2, c = 3 } -- create with initial state
Можно ли сделать это исключительно в UDF Lua? Если так, то как?
1 ответ
Решение
В Lua не представляется возможным создать карту с порядком сортировки не по умолчанию (например, KEY_ORDER). Тем не мение:
Если запись создается клиентом Java с определенной политикой карты, политика будет сохраняться, даже если запись редактируется с помощью Lua; а также
Если карта создана в Lua, клиент Java может впоследствии установить политику карты отдельно.