Allow casting between bytea and integer types.
This allows smallint, integer, and bigint values to be cast to and
from bytea. The bytea value is the two's complement representation of
the integer, with the most significant byte first. For example:
1234::bytea -> \x000004d2
(-1234)::bytea -> \xfffffb2e
Author: Aleksander Alekseev <aleksander@timescale.com>
Reviewed-by: Joel Jacobson <joel@compiler.org>
Reviewed-by: Yugo Nagata <nagata@sraoss.co.jp>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Dean Rasheed <dean.a.rasheed@gmail.com>
Discussion: https://postgr.es/m/CAJ7c6TPtOp6%2BkFX5QX3fH1SVr7v65uHr-7yEJ%3DGMGQi5uhGtcA%40mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/6da469badaffec32f8a804181cca279561467378
Modified Files
--------------
doc/src/sgml/func.sgml | 17 ++++++
src/backend/utils/adt/varlena.c | 96 +++++++++++++++++++++++++++++
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_cast.dat | 14 +++++
src/include/catalog/pg_proc.dat | 19 ++++++
src/test/regress/expected/opr_sanity.out | 3 +
src/test/regress/expected/strings.out | 102 +++++++++++++++++++++++++++++++
src/test/regress/sql/strings.sql | 29 +++++++++
8 files changed, 281 insertions(+), 1 deletion(-)