Function from script:
function test_delete(val)
local result = box.space.upbx_test_redirections.index.name_index:delete(val)
return result
end
I get: "message":"Get() doesn't support partial keys and non-unique indexes"
.
If I call from the interpreter, everything is OK, i get tuple. Options my index
name_index: 3: &3
unique: true
parts:
- type: string
is_nullable: false
fieldno: 4
id: 3
type: TREE
space_id: 517
name: name_index
bucket_id: *1
index_name: *3
ID: *0
secondary: *2
value for test:1234567890abcdefghijkl0987654321_uuid
Code for create space:
local upbx_test_redirections = box.schema.space.create(
"upbx_test_redirections",
{
format = {
{"ID", "integer"},
{"bucket_id", "unsigned"},
{"test1", "string"},
{"test2", "string"},
{"test3", "string"},
{"test4", "string"},
{"test5", "string"},
{"test6", "string"},
{"test7", "string"},
{"test8", "string"},
{"test9", "integer"},
{"test10", "integer"},
},
if_not_exists = true,
}
)
and index:
upbx_test_redirections:create_index(
"name_index",
{
parts = {"test2"},
unique = true,
if_not_exists = true,
}
)
Solution: need changed in all instances.
I'd recommend you revise your schema again. My hypothesis - previously you created non-unique index and then just modify
unique=false
tounique=true
.See my example with errors that you could face.
If problem still exists feel free to report a bug