// // convert IndexDefn to protobuf format // func convertIndexDefnToProtoMsg(indexDefn *common.IndexDefn) *protobuf.IndexDefn { using := protobuf.StorageType( protobuf.StorageType_value[string(indexDefn.Using)]).Enum() exprType := protobuf.ExprType( protobuf.ExprType_value[string(indexDefn.ExprType)]).Enum() partnScheme := protobuf.PartitionScheme( protobuf.PartitionScheme_value[string(indexDefn.PartitionScheme)]).Enum() // // message IndexDefn { // required uint64 defnID = 1; // unique index id across the secondary index cluster // required string bucket = 2; // bucket on which index is defined // required bool isPrimary = 3; // whether index secondary-key == docid // required string name = 4; // Name of the index // required StorageType using = 5; // indexing algorithm // required PartitionScheme partitionScheme = 6; // required string partnExpression = 7; // use expressions to evaluate doc // required ExprType exprType = 8; // how to interpret `expressions` strings // repeated string secExpressions = 9; // use expressions to evaluate doc // defn := &protobuf.IndexDefn{ DefnID: proto.Uint64(uint64(indexDefn.DefnId)), Bucket: proto.String(indexDefn.Bucket), IsPrimary: proto.Bool(indexDefn.IsPrimary), Name: proto.String(indexDefn.Name), Using: using, ExprType: exprType, SecExpressions: indexDefn.SecExprs, PartitionScheme: partnScheme, PartnExpression: proto.String(indexDefn.PartitionKey), } return defn }
func convertIndexDefnToProtobuf(indexDefn c.IndexDefn) *protobuf.IndexDefn { using := protobuf.StorageType( protobuf.StorageType_value[string(indexDefn.Using)]).Enum() exprType := protobuf.ExprType( protobuf.ExprType_value[string(indexDefn.ExprType)]).Enum() partnScheme := protobuf.PartitionScheme( protobuf.PartitionScheme_value[string(indexDefn.PartitionScheme)]).Enum() defn := &protobuf.IndexDefn{ DefnID: proto.Uint64(uint64(indexDefn.DefnId)), Bucket: proto.String(indexDefn.Bucket), IsPrimary: proto.Bool(indexDefn.IsPrimary), Name: proto.String(indexDefn.Name), Using: using, ExprType: exprType, SecExpressions: indexDefn.SecExprs, PartitionScheme: partnScheme, PartnExpression: proto.String(indexDefn.PartitionKey), WhereExpression: proto.String(indexDefn.WhereExpr), } return defn }