func (b *baseBuiltinFunc) metadata() proto.Message {
	return nil
}
metadata returns the metadata of a function.
metadata means some functions contain extra inner fields which will not
contain in `tipb.Expr.children` but must be pushed down to coprocessor
package expression
import (
	"sort"
	"strings"
	"sync"
	"github.com/gogo/protobuf/proto"
	"github.com/pingcap/errors"
	"github.com/pingcap/parser/ast"
	"github.com/pingcap/parser/charset"
	"github.com/pingcap/parser/mysql"
	"github.com/pingcap/parser/opcode"
	"github.com/pingcap/tidb/sessionctx"
	"github.com/pingcap/tidb/sessionctx/stmtctx"
	"github.com/pingcap/tidb/types"
	"github.com/pingcap/tidb/types/json"
	"github.com/pingcap/tidb/util/chunk"
	"github.com/pingcap/tidb/util/collate"
	"github.com/pingcap/tipb/go-tipb"
)
type baseBuiltinFunc struct {
	bufAllocator columnBufferAllocator
	args         []Expression
	ctx          sessionctx.Context
	tp           *types.FieldType
	pbCode       tipb.ScalarFuncSig
	ctor         collate.Collator
	childrenVectorized bool
	childrenReversed   bool
	childrenVectorizedOnce *sync.Once
	childrenReversedOnce   *sync.Once
	collationInfo
}
func (b *baseBuiltinFunc) PbCode() tipb.ScalarFuncSig {
	return b.pbCode
}