We import "github.com/pkg/errors" in the code, and actually put
the "github.com/pingcap/errors" there in the vendor path.
That's a dirty hack, and prevent the introduce of Go module.
Truncate error make be treated as warning, we should handle it in `BinaryLiteral.ToInt`.
And compare BinaryLiteral directly instead of converting to uint64 because that the compare function doesn't have statement context.