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