Thread
-
coredump of language internal function
myzhen <zhenmingyang@yeah.net> — 2025-09-22T04:56:10Z
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.
-
Re: coredump of language internal function
Tom Lane <tgl@sss.pgh.pa.us> — 2025-09-22T05:05:39Z
myzhen <zhenmingyang@yeah.net> writes: > 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. 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 better to 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