Re: [PATCH] Add crc32(text) & crc32(bytea)
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Aleksander Alekseev <aleksander@timescale.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-08-08T14:35:33Z
Lists: pgsql-hackers
On Thu, Aug 08, 2024 at 04:27:20PM +0200, Peter Eisentraut wrote: > On 05.08.24 17:28, Nathan Bossart wrote: >> This looks pretty good to me. The only point that I think deserves more >> discussion is the return type. Does bytea make the most sense here? Or >> should we consider int/bigint? > > The correct return type of a CRC operation in general is some kind of exact > numerical type. Just pick the best one that fits the result. I don't think > bytea is appropriate. That would leave us either "integer" or "bigint". "integer" is more correct from a size perspective, but will result in negative values because it is signed. "bigint" uses twice as many bytes but won't display any CRC values as negative. I guess we could also choose "numeric", which would set a more sustainable precedent if we added functions for CRC-64... -- nathan
Commits
-
Add user-callable CRC functions.
- 760162fedb4f 18.0 landed
-
Add user-callable SHA-2 functions
- 10cfce34c0fe 11.0 cited