Обсуждение: coredump of language internal function
When creating a function using language internal, if the parameters or function attributes of the alias function are different from those of the internal function, they are not checked during creation and may cause a cordump when called.
a example:
CREATE FUNCTION ftest(integer)
RETURNS numeric
AS 'numeric_in'
LANGUAGE internal
PARALLEL SAFE
STRICT
IMMUTABLE;
I didn't find this mentioned in the manual, so I'm not sure if this is a problem, but it seems like it might be better to do a check when creating the function.
myzhen <zhenmingyang@yeah.net> writes: > When creating a function using language internal, if the parameters or function attributes of the alias function are differentfrom those of the internal function, they are not checked during creation and may cause a cordump when called. We have always considered that this is programmer error. > I didn't find this mentioned in the manual, so I'm not sure if this is a problem, but it seems like it might be betterto do a check when creating the function. If you have an idea about how such a check could be done, it would be worth discussing that. But it seems pretty unlikely to me that there is any portable way to identify externally what data types a compiled function is expecting to receive. regards, tom lane