Description
create array index:
CREATE INDEX `idxVM2` ON `default`((all (array (`x`.`RAM`) for `x` within `VMs` end)),`VMs`) WITH(
)
select query:
explain SELECT x FROM default emp1 USE INDEX(idxVM2) UNNEST emp1.VMs as x JOIN default task ON KEYS meta(`emp1`).id where x.RAM =3 ;
Result:
[
{
"plan": {
"#operator": "Sequence",
"~children": [
{
"#operator": "UnionScan",
"scans": [
{
"#operator": "IndexScan",
"covers": [
"cover ((all (array (`x`.`RAM`) for `x` within (`emp1`.`VMs`) end)))",
"cover ((`emp1`.`VMs`))",
"cover ((meta(`emp1`).`id`))"
],
"index": "idxVM2",
"keyspace": "default",
"namespace": "default",
"spans": [
{
"Range":
}
],
"using": "gsi"
}
]
},
{
"#operator": "Parallel",
"~child": {
"#operator": "Sequence",
"~children": [
,
,
,
{
"#operator": "InitialProject",
"result_terms": [
]
},
]
}
}
]
},
"text": "SELECT x FROM default emp1 USE INDEX(idxVM2) UNNEST emp1.VMs as x JOIN default task ON KEYS meta(`emp1`).id where x.RAM =3"
}
]
Shouldnt x be covered?