Revert an ill-considered portion of my patch of 12-Mar, which tried to save a
few lines in sql_exec_error_callback() by using the function source string field that the patch added to SQL function cache entries. This doesn't work because the fn_extra field isn't filled in yet during init_sql_fcache(). Probably it could be made to work, but it doesn't seem appropriate to contort the main code paths to make an error-reporting path a tad faster. Per report from Pavel Stehule.
This commit is contained in:
parent
23347231a5
commit
6775c01080
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/executor/functions.c,v 1.117 2007/06/06 23:00:37 tgl Exp $
|
* $PostgreSQL: pgsql/src/backend/executor/functions.c,v 1.118 2007/06/17 18:57:29 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -765,11 +765,21 @@ sql_exec_error_callback(void *arg)
|
|||||||
* If there is a syntax error position, convert to internal syntax error
|
* If there is a syntax error position, convert to internal syntax error
|
||||||
*/
|
*/
|
||||||
syntaxerrposition = geterrposition();
|
syntaxerrposition = geterrposition();
|
||||||
if (syntaxerrposition > 0 && fcache->src)
|
if (syntaxerrposition > 0)
|
||||||
{
|
{
|
||||||
|
bool isnull;
|
||||||
|
Datum tmp;
|
||||||
|
char *prosrc;
|
||||||
|
|
||||||
|
tmp = SysCacheGetAttr(PROCOID, func_tuple, Anum_pg_proc_prosrc,
|
||||||
|
&isnull);
|
||||||
|
if (isnull)
|
||||||
|
elog(ERROR, "null prosrc");
|
||||||
|
prosrc = DatumGetCString(DirectFunctionCall1(textout, tmp));
|
||||||
errposition(0);
|
errposition(0);
|
||||||
internalerrposition(syntaxerrposition);
|
internalerrposition(syntaxerrposition);
|
||||||
internalerrquery(fcache->src);
|
internalerrquery(prosrc);
|
||||||
|
pfree(prosrc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user