Re: [sqlsmith] Failed assertion in joinrels.c
От | Amit Kapila |
---|---|
Тема | Re: [sqlsmith] Failed assertion in joinrels.c |
Дата | |
Msg-id | CAA4eK1+hZf=MLkbZsZFjf3OLL4JUVsDj+aSNfj4_ci5+TDEKrg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [sqlsmith] Failed assertion in joinrels.c (Dilip Kumar <dilipbalaut@gmail.com>) |
Ответы |
Re: [sqlsmith] Failed assertion in joinrels.c
|
Список | pgsql-hackers |
On Wed, Aug 10, 2016 at 11:27 AM, Dilip Kumar <dilipbalaut@gmail.com> wrote: > On Wed, Aug 10, 2016 at 10:04 AM, Dilip Kumar <dilipbalaut@gmail.com> wrote: >> This seems better, after checking at other places I found that for >> invalid type we are using ERRCODE_UNDEFINED_OBJECT and for invalid >> functions we are using ERRCODE_UNDEFINED_FUNCTION. So I have done the >> same way. >> >> Updated patch attached. > > I found some more places where we can get similar error and updated in > my v3 patch. > @@ -412,7 +412,9 @@ plpgsql_validator(PG_FUNCTION_ARGS) /* Get the new function's pg_proc entry */ tuple = SearchSysCache1(PROCOID,ObjectIdGetDatum(funcoid)); if (!HeapTupleIsValid(tuple)) - elog(ERROR, "cache lookup failed for function %u", funcoid); + ereport(ERROR, + (errcode(ERRCODE_UNDEFINED_FUNCTION), + errmsg("function with OID %u does not exist", funcoid))); If you are making changes in plpgsql_validator(), then shouldn't we make changes in plperl_validator() or plpython_validator()? I see that you have made changes to function CheckFunctionValidatorAccess() which seems to be getting called from *_validator() (* indicates plpgsql/plperl/plpython) functions. Is there a reason for changing the *_validator() function? -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: