Make the to_reg*() functions accept text not cstring.
Tom Lane <tgl@sss.pgh.pa.us>
Make the to_reg*() functions accept text not cstring.
Using cstring as the input type was a poor decision, because that's not
really a full-fledged type. In particular, it lacks implicit coercions
from text or varchar, meaning that usages like to_regproc('foo'||'bar')
wouldn't work; basically the only case that did work without explicit
casting was a simple literal constant argument.
The lack of field complaints about this suggests that hardly anyone
is using these functions, so hopefully fixing it won't cause much of
a compatibility problem. They've only been there since 9.4, anyway.
Petr Korobeinikov
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/func.sgml | modified | +1 −1 |
| src/backend/utils/adt/regproc.c | modified | +8 −8 |
| src/include/catalog/catversion.h | modified | +1 −1 |
| src/include/catalog/pg_proc.h | modified | +8 −8 |