MCPcopy Create free account
hub / github.com/pingcap/tidb / TestEncodeDecodeRowWithChecksum

Function TestEncodeDecodeRowWithChecksum

pkg/util/rowcodec/rowcodec_test.go:1197–1230  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1195}
1196
1197func TestEncodeDecodeRowWithChecksum(t *testing.T) {
1198 enc := rowcodec.Encoder{}
1199
1200 raw, err := enc.Encode(time.UTC, nil, nil, nil, nil)
1201 require.NoError(t, err)
1202
1203 dec := rowcodec.NewDatumMapDecoder([]rowcodec.ColInfo{}, time.UTC)
1204 _, err = dec.DecodeToDatumMap(raw, nil)
1205 require.NoError(t, err)
1206
1207 checksum, ok := dec.GetChecksum()
1208 require.False(t, ok)
1209 require.Zero(t, checksum)
1210
1211 rawChecksum := rowcodec.RawChecksum{
1212 Handle: kv.IntHandle(1),
1213 }
1214 raw, err = enc.Encode(time.UTC, nil, nil, rawChecksum, nil)
1215 require.NoError(t, err)
1216
1217 expected, ok := enc.GetChecksum()
1218 require.True(t, ok)
1219 require.NotZero(t, expected)
1220
1221 _, err = dec.DecodeToDatumMap(raw, nil)
1222 require.NoError(t, err)
1223
1224 checksum, ok = dec.GetChecksum()
1225 require.True(t, ok)
1226 require.Equal(t, expected, checksum)
1227
1228 version := dec.ChecksumVersion()
1229 require.Equal(t, 2, version)
1230}
1231
1232var (
1233 withUnsigned = func(ft *types.FieldType) *types.FieldType {

Callers

nothing calls this directly

Calls 7

EncodeMethod · 0.95
DecodeToDatumMapMethod · 0.95
NewDatumMapDecoderFunction · 0.92
IntHandleTypeAlias · 0.92
GetChecksumMethod · 0.80
ChecksumVersionMethod · 0.80
EqualMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…