func (t *tableCommon) getPKcolIndexes(cols []*table.Column) map[int]int {
	res := make(map[int]int)
	for i, col := range cols {
		for j, pkcol := range t.pkeys {
			if pkcol.ColumnMeta.Name == col.ColumnMeta.ColumnMeta.Name {
				res[j] = i
			}
		}
	}
	return res
}
Result map: Key is the index in pkeys, value is the index in cols.
To decode primary key.
package tables
import (
	"context"
	"time"
	structpb "github.com/gogo/protobuf/types"
	"github.com/pingcap/tidb/kv"
	"github.com/pingcap/tidb/sessionctx/stmtctx"
	"github.com/pingcap/tidb/types"
	"github.com/pingcap/tidb/util/logutil"
	"go.uber.org/zap"
	"google.golang.org/grpc/codes"
	"google.golang.org/grpc/status"
	tspb "github.com/zhihu/zetta-proto/pkg/tablestore"
	"github.com/zhihu/zetta/pkg/metrics"
	"github.com/zhihu/zetta/pkg/model"
	"github.com/zhihu/zetta/pkg/tablecodec"
	"github.com/zhihu/zetta/tablestore/mysql/sctx"
	"github.com/zhihu/zetta/tablestore/sessionctx"
	"github.com/zhihu/zetta/tablestore/table"
)
var (
	fetchRowsCounterOK   = metrics.FetchRowsCounter.WithLabelValues(metrics.LblOK)
	fetchRowsCounterErr  = metrics.FetchRowsCounter.WithLabelValues(metrics.LblError)
	fetchRowsDurationOK  = metrics.FetchRowsDuration.WithLabelValues(metrics.LblOK)
	fetchRowsDurationErr = metrics.FetchRowsDuration.WithLabelValues(metrics.LblError)
)