Re: [PATCH] Add function to_oct
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Nathan Bossart <nathandbossart@gmail.com>,
Dean Rasheed <dean.a.rasheed@gmail.com>
Cc: John Naylor <john.naylor@enterprisedb.com>, Kirk Wolak
<wolakk@gmail.com>, Eric Radman <ericshane@eradman.com>,
pgsql-hackers@postgresql.org
Date: 2023-08-22T14:20:02Z
Lists: pgsql-hackers
On 20.08.23 17:25, Nathan Bossart wrote: >> Doing a quick test, shows that this changes the current behaviour, >> because all inputs are now treated as 64-bit: >> >> HEAD: >> >> select to_hex((-1234)::int); >> to_hex >> ---------- >> fffffb2e >> >> With patch: >> >> select to_hex((-1234)::int); >> to_hex >> ------------------ >> fffffffffffffb2e > Good catch. In v8, I fixed this by first casting the input to uint32 for > the 32-bit versions of the functions. This prevents the conversion to > uint64 from setting the rest of the bits. AFAICT this behavior is pretty > well defined in the standard. What standard? I don't understand the reason for this handling of negative values. I would expect that, say, to_hex(-1234) would return '-' || to_hex(1234).
Commits
-
Add to_bin() and to_oct().
- 260a1f18dae8 17.0 landed