qinghao huang <wfnuser@hotmail.com> writes:
> When I was reading postgres code, I found there is a wierd type cast. I'm pondering if it is necessary.
> ```
> /* Allocate a new typmod number. This will be wasted if we error out. */
> typmod = (int)
> pg_atomic_fetch_add_u32(&CurrentSession->shared_typmod_registry->next_typmod,
> 1);
> ```
> typmod has u32 type, but we cast it to int first.
typmods really ought to be int32, not uint32, so IMO none of this is
exactly right. But it's also true that it makes no real difference.
Postgres pretty much assumes that "int" is 32 bits.
regards, tom lane