import ( "github.com/cockroachdb/cockroach-go/v2/crdb/crdebug "github.com/cockroachdb/cockroach-go/v2/crdb/crhttp" "github.com/cockroachdb/cockroach-go/v2/crdb/crpc" "github.com/cockroachdb/cockroach-go/v2/crdb/crtest" "github.com/cockroachdb/cockroach-go/v2/crdb/crtime" "github.com/cockroachdb/cockroach-go/v2/roachpb" ) db := crtest.NewDB("cockroach", 1) ctx := context.Background() batch := &roachpb.BatchRequest{} batch.Add(&roachpb.PutRequest{Key: []byte("foo"), Value: []byte("bar")}) res, err := crdb.ExecuteTx(ctx, db, crdb.TxOptions{}, func(tx *roachpb.Txn) (interface{}, error) { return crpc.Send(ctx, db, batch) })In this example, we create a new database using the crtest package, which provides a test environment for CockroachDB. We then create a new batch request and add a Put request to it. We then execute the batch request using crdb.ExecuteTx, which handles the transaction management for us. Finally, we check for any errors and print the result of the batch request. Overall, the roachpb package provides a comprehensive set of functions for interacting with CockroachDB, and the BatchRequest Add function allows users to efficiently perform multiple requests in a single transaction.