code: func (c *Constant) HashCode(sc *stmtctx.StatementContext) []byte {
  	if len(c.hashcode) > 0 {
  		return c.hashcode
  	}
  	_, err := c.Eval(chunk.Row{})
  	if err != nil {
  		terror.Log(err)
  	}
  	c.hashcode = append(c.hashcode, constantFlag)
  	c.hashcode, err = codec.EncodeValue(sc, c.hashcode, c.Value)
  	if err != nil {
  		terror.Log(err)
  	}
  	return c.hashcode
  }
docs: // HashCode implements Expression interface.