(columns []rowcodec.ColInfo, restoredVal []byte)
| 845 | } |
| 846 | |
| 847 | func decodeRestoredValues(columns []rowcodec.ColInfo, restoredVal []byte) ([][]byte, error) { |
| 848 | colIDs := make(map[int64]int, len(columns)) |
| 849 | for i, col := range columns { |
| 850 | colIDs[col.ID] = i |
| 851 | } |
| 852 | // We don't need to decode handle here, and colIDs >= 0 always. |
| 853 | rd := rowcodec.NewByteDecoder(columns, []int64{-1}, nil, nil) |
| 854 | resultValues, err := rd.DecodeToBytesNoHandle(colIDs, restoredVal) |
| 855 | if err != nil { |
| 856 | return nil, errors.Trace(err) |
| 857 | } |
| 858 | return resultValues, nil |
| 859 | } |
| 860 | |
| 861 | // decodeRestoredValuesV5 decodes index values whose format is introduced in TiDB 5.0. |
| 862 | // Unlike the format in TiDB 4.0, the new format is optimized for storage space: |
no test coverage detected
searching dependent graphs…