// splitRangeAtVal splits the range for a table with schema // `CREATE TABLE test (k INT PRIMARY KEY)` at row with value pk (the row will be // the first on the right of the split). func splitRangeAtVal( ts *server.TestServer, tableDesc *sqlbase.TableDescriptor, pk int, ) (roachpb.RangeDescriptor, roachpb.RangeDescriptor, error) { if len(tableDesc.Indexes) != 0 { return roachpb.RangeDescriptor{}, roachpb.RangeDescriptor{}, errors.Errorf("expected table with just a PK, got: %+v", tableDesc) } pik, err := sqlbase.MakePrimaryIndexKey(tableDesc, pk) if err != nil { return roachpb.RangeDescriptor{}, roachpb.RangeDescriptor{}, err } startKey := keys.MakeRowSentinelKey(pik) leftRange, rightRange, err := ts.SplitRange(startKey) if err != nil { return roachpb.RangeDescriptor{}, roachpb.RangeDescriptor{}, errors.Wrapf(err, "failed to split at row: %d", pk) } return leftRange, rightRange, nil }