Expand description
Code for interfacing with the layout in memory (and on disk?) of various data types within Postgres. This is not a mature module yet so prefer to avoid exposing the contents to public callers of pgrx, as this is error-prone stuff to tamper with. It is easy to corrupt the database if an error is made. Yes, even though its main block of code duplicates htup::DatumWithTypeInfo.
Technically, they can always use CFFI to corrupt the database if they know how to use the C API,
but that’s why we should keep the conversation between the programmer and their own unsafe.
We don’t want programmers trusting our implementation farther than we have solidly evaluated it.
Some may be better off extending the pgrx bindings themselves, doing their own layout checks, etc.
When PGRX is a bit more mature in its soundness, and we better understand what our callers expect,
then we may want to offer more help.