Hi hackers,
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.
And I also have some confusion about why `NextRecordTypmod` and `TupleDescData.tdtypmod` has type of int32, but `SharedTypmodTableEntry.typmod` has type of uint32.
Best regard,
Qinghao Huang