A bug with covering indexes

In a simple case, changing the order doesn’t make a different as long as you’re using both keys in your predicate.
What query are you issuing after you create the second index?

cbq> create index ipm on beer-sample(name,meta().id);

cbq> explain select name, meta().id from beer-sample where name = ‘a’ and meta().id = “a1”;
{
“requestID”: “dc528609-db9e-43be-8532-fbed77bdc8aa”,
“signature”: “json”,
“results”: [
{
"#operator": “Sequence”,
"~children": [
{
"#operator": “IndexScan”,
“covers”: [
“cover((meta(beer-sample).id))”,
“cover((beer-sample.name))”,
“cover((meta(beer-sample).id))”
],

drop index beer-sample.ipm;
create index ipm on beer-sample(meta().id,name);

cbq> explain select name, meta().id from beer-sample where name = ‘a’ and meta().id = “a1”;
{
“requestID”: “768817fd-8f80-43f9-bc6e-1650fd6906e4”,
“signature”: “json”,
“results”: [
{
"#operator": “Sequence”,
"~children": [
{
"#operator": “IndexScan”,
“covers”: [
“cover((meta(beer-sample).id))”,
“cover((meta(beer-sample).id))”,
“cover((beer-sample.name))”
],

1 Like