code: func (e *executor) executeBitmapCallShard(ctx context.Context, index string, c *pql.Call, shard uint64) (*Row, error) {
  	if err := validateQueryContext(ctx); err != nil {
  		return nil, err
  	}
  
  	span, ctx := tracing.StartSpanFromContext(ctx, "Executor.executeBitmapCallShard")
  	defer span.Finish()
  
  	switch c.Name {
  	case "Row", "Range":
  		return e.executeRowShard(ctx, index, c, shard)
  	case "Difference":
  		return e.executeDifferenceShard(ctx, index, c, shard)
  	case "Intersect":
  		return e.executeIntersectShard(ctx, index, c, shard)
  	case "Union":
  		return e.executeUnionShard(ctx, index, c, shard)
  	case "Xor":
  		return e.executeXorShard(ctx, index, c, shard)
  	case "Not":
  		return e.executeNotShard(ctx, index, c, shard)
  	case "Shift":
  		return e.executeShiftShard(ctx, index, c, shard)
  	default:
  		return nil, fmt.Errorf("unknown call: %s", c.Name)
  	}
  }
docs: // executeBitmapCallShard executes a bitmap call for a single shard.