MCPcopy
hub / github.com/pingcap/tidb / TestTempIndexKey

Function TestTempIndexKey

pkg/tablecodec/tablecodec_test.go:605–630  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

603}
604
605func TestTempIndexKey(t *testing.T) {
606 values := []types.Datum{types.NewIntDatum(1), types.NewBytesDatum([]byte("abc")), types.NewFloat64Datum(5.5)}
607 encodedValue, err := codec.EncodeKey(stmtctx.NewStmtCtxWithTimeZone(time.UTC).TimeZone(), nil, values...)
608 require.NoError(t, err)
609 tableID := int64(4)
610 indexID := int64(5)
611 indexKey := EncodeIndexSeekKey(tableID, indexID, encodedValue)
612 IndexKey2TempIndexKey(indexKey)
613 tid, iid, _, err := DecodeKeyHead(indexKey)
614 require.NoError(t, err)
615 require.Equal(t, tid, tableID)
616 require.NotEqual(t, indexID, iid)
617 require.Equal(t, indexID, iid&IndexIDMask)
618 iid2, err := DecodeIndexID(indexKey)
619 require.NoError(t, err)
620 require.Equal(t, iid, iid2)
621
622 TempIndexKey2IndexKey(indexKey)
623 tid, iid, _, err = DecodeKeyHead(indexKey)
624 require.NoError(t, err)
625 require.Equal(t, tid, tableID)
626 require.Equal(t, indexID, iid)
627 iid2, err = DecodeIndexID(indexKey)
628 require.NoError(t, err)
629 require.Equal(t, iid, iid2)
630}
631
632func TestTempIndexValueCodec(t *testing.T) {
633 // Test encode temp index value.

Callers

nothing calls this directly

Calls 12

NewIntDatumFunction · 0.92
NewBytesDatumFunction · 0.92
NewFloat64DatumFunction · 0.92
EncodeKeyFunction · 0.92
NewStmtCtxWithTimeZoneFunction · 0.92
EncodeIndexSeekKeyFunction · 0.85
IndexKey2TempIndexKeyFunction · 0.85
DecodeKeyHeadFunction · 0.85
DecodeIndexIDFunction · 0.85
TempIndexKey2IndexKeyFunction · 0.85
TimeZoneMethod · 0.80
EqualMethod · 0.65

Tested by

no test coverage detected