Non-decimal integer literals
authorPeter Eisentraut <[email protected]>
Wed, 14 Dec 2022 04:40:38 +0000 (05:40 +0100)
committerPeter Eisentraut <[email protected]>
Wed, 14 Dec 2022 05:17:07 +0000 (06:17 +0100)
commit6fcda9aba83449082124825b6d375c0a61e21c42
treed2e23f5322bf6879e0ee328593fbc7b3f6f71702
parent60684dd834a222fefedd49b19d1f0a6189c1632e
Non-decimal integer literals

Add support for hexadecimal, octal, and binary integer literals:

    0x42F
    0o273
    0b100101

per SQL:202x draft.

This adds support in the lexer as well as in the integer type input
functions.

Reviewed-by: John Naylor <[email protected]>
Reviewed-by: Zhihong Yu <[email protected]>
Reviewed-by: David Rowley <[email protected]>
Reviewed-by: Dean Rasheed <[email protected]>
Discussion: https://www.postgresql.org/message-id/flat/b239564c-cad0-b23e-c57e-166d883cb97d@enterprisedb.com
16 files changed:
doc/src/sgml/syntax.sgml
src/backend/catalog/information_schema.sql
src/backend/catalog/sql_features.txt
src/backend/parser/parse_node.c
src/backend/parser/scan.l
src/backend/utils/adt/numutils.c
src/fe_utils/psqlscan.l
src/interfaces/ecpg/preproc/pgc.l
src/test/regress/expected/int2.out
src/test/regress/expected/int4.out
src/test/regress/expected/int8.out
src/test/regress/expected/numerology.out
src/test/regress/sql/int2.sql
src/test/regress/sql/int4.sql
src/test/regress/sql/int8.sql
src/test/regress/sql/numerology.sql