Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Here are my open 7.1 items. Thanks for shrinking the list so far.
> SELECT cash_out(1) crashes all backends
This isn't a "must fix for 7.1", any more than it was for 7.0, 6.5,
or any other release back to the beginning of time. It's always been
possible to crash the backend by passing an incompatible argument to
a type input or output function. The type-checking system cannot
detect the error because these functions are (mostly) declared to
take "any" input type (zero entry in proargtypes[]).
The only clean way to fix this is to declare I/O functions honestly.
That will require (a) a type-system representation for "C string"
and (b) a solution to the circularity issue for user-defined types.
If the I/O functions have to be declared first, how can they refer
to the type?
Quite aside from the time involved, this will require an initdb.
It's a bit late in the cycle for that.
regards, tom lane