Martijn van Oosterhout <kleptog@svana.org> writes: > The input functions get it, the output functions (bpcharout, > bpcharsend, etc) don't. Which makes it kind of hard to print a raw > value if you don't know how long it's going to be. They used to, but > that was removed some time back.
Even back then you couldn't rely on the typmod value to be supplied; it was quite likely to be passed as -1. The issue is not actually with on-disk storage, it is with function/operator arguments and results. Those have never been identified any more closely than by giving a type OID. So for any value that came from a function, you won't have a typmod, and you'd better be able to find out all you need to know just by inspecting the value itself. Hence, length words. This is all pretty off-topic for pgsql-general, isn't it? regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings