From 4a5ee2a419e1f7c79525bc2c76b6fcd03cc4e815 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Mon, 15 Feb 2010 22:23:25 +0000 Subject: [PATCH] Move main error message text in plperl into errmsg from errdetail, and move the context information into errcontext instead of errmsg. This makes them better conform to our guidelines. Also remove a few errcode declarations that were providing the default value ERRCODE_INTERNAL_ERROR. --- src/pl/plperl/expected/plperl_init.out | 6 +-- src/pl/plperl/plperl.c | 64 ++++++++------------------ 2 files changed, 22 insertions(+), 48 deletions(-) diff --git a/src/pl/plperl/expected/plperl_init.out b/src/pl/plperl/expected/plperl_init.out index a2d4e18d2a..ef3d0ebf1d 100644 --- a/src/pl/plperl/expected/plperl_init.out +++ b/src/pl/plperl/expected/plperl_init.out @@ -9,6 +9,6 @@ SHOW plperl.on_plperl_init; (1 row) DO $$ warn 42 $$ language plperl; -ERROR: while executing plperl.on_plperl_init -DETAIL: 'eval "string"' trapped by operation mask at line 2. -CONTEXT: PL/Perl anonymous code block +ERROR: 'eval "string"' trapped by operation mask at line 2. +CONTEXT: While executing plperl.on_plperl_init. +PL/Perl anonymous code block diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index ab32fd88c5..f181c39610 100644 --- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -1,7 +1,7 @@ /********************************************************************** * plperl.c - perl as a procedural language for PostgreSQL * - * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.166 2010/02/14 18:42:18 rhaas Exp $ + * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.167 2010/02/15 22:23:25 alvherre Exp $ * **********************************************************************/ @@ -413,13 +413,9 @@ select_perl_context(bool trusted) eval_pv("PostgreSQL::InServer::SPI::bootstrap()", FALSE); if (SvTRUE(ERRSV)) - { ereport(ERROR, - (errcode(ERRCODE_INTERNAL_ERROR), - errmsg("%s", strip_trailing_ws(SvPV_nolen(ERRSV))), - errdetail("While executing PostgreSQL::InServer::SPI::bootstrap"))); - } - + (errmsg("%s", strip_trailing_ws(SvPV_nolen(ERRSV))), + errdetail("While executing PostgreSQL::InServer::SPI::bootstrap."))); } /* @@ -553,15 +549,13 @@ plperl_init_interp(void) if (perl_parse(plperl, plperl_init_shared_libs, nargs, embedding, NULL) != 0) ereport(ERROR, - (errcode(ERRCODE_INTERNAL_ERROR), - errmsg("while parsing perl initialization"), - errdetail("%s", strip_trailing_ws(SvPV_nolen(ERRSV))) )); + (errmsg("%s", strip_trailing_ws(SvPV_nolen(ERRSV))), + errcontext("While parsing perl initialization."))); if (perl_run(plperl) != 0) ereport(ERROR, - (errcode(ERRCODE_INTERNAL_ERROR), - errmsg("while running perl initialization"), - errdetail("%s", strip_trailing_ws(SvPV_nolen(ERRSV))) )); + (errmsg("%s", strip_trailing_ws(SvPV_nolen(ERRSV))), + errcontext("While running perl initialization."))); #ifdef WIN32 @@ -691,24 +685,17 @@ plperl_trusted_init(void) /* not safe, so disallow all trusted funcs */ eval_pv(PLC_SAFE_BAD, FALSE); if (SvTRUE(ERRSV)) - { ereport(ERROR, - (errcode(ERRCODE_INTERNAL_ERROR), - errmsg("while executing PLC_SAFE_BAD"), - errdetail("%s", strip_trailing_ws(SvPV_nolen(ERRSV))) )); - } - + (errmsg("%s", strip_trailing_ws(SvPV_nolen(ERRSV))), + errcontext("While executing PLC_SAFE_BAD."))); } else { eval_pv(PLC_SAFE_OK, FALSE); if (SvTRUE(ERRSV)) - { ereport(ERROR, - (errcode(ERRCODE_INTERNAL_ERROR), - errmsg("while executing PLC_SAFE_OK"), - errdetail("%s", strip_trailing_ws(SvPV_nolen(ERRSV))) )); - } + (errmsg("%s", strip_trailing_ws(SvPV_nolen(ERRSV))), + errcontext("While executing PLC_SAFE_OK."))); if (GetDatabaseEncoding() == PG_UTF8) { @@ -719,12 +706,9 @@ plperl_trusted_init(void) */ eval_pv("my $a=chr(0x100); return $a =~ /\\xa9/i", FALSE); if (SvTRUE(ERRSV)) - { ereport(ERROR, - (errcode(ERRCODE_INTERNAL_ERROR), - errmsg("while executing utf8fix"), - errdetail("%s", strip_trailing_ws(SvPV_nolen(ERRSV))) )); - } + (errmsg("%s", strip_trailing_ws(SvPV_nolen(ERRSV))), + errcontext("While executing utf8fix."))); } /* switch to the safe require opcode */ @@ -742,12 +726,9 @@ plperl_trusted_init(void) SPAGAIN; if (SvTRUE(ERRSV)) - { ereport(ERROR, - (errcode(ERRCODE_INTERNAL_ERROR), - errmsg("while executing plperl.on_plperl_init"), - errdetail("%s", strip_trailing_ws(SvPV_nolen(ERRSV))) )); - } + (errmsg("%s", strip_trailing_ws(SvPV_nolen(ERRSV))), + errcontext("While executing plperl.on_plperl_init."))); } } @@ -761,12 +742,9 @@ plperl_untrusted_init(void) { eval_pv(plperl_on_plperlu_init, FALSE); if (SvTRUE(ERRSV)) - { ereport(ERROR, - (errcode(ERRCODE_INTERNAL_ERROR), - errmsg("while executing plperl.on_plperlu_init"), - errdetail("%s", strip_trailing_ws(SvPV_nolen(ERRSV))) )); - } + (errmsg("%s", strip_trailing_ws(SvPV_nolen(ERRSV))), + errcontext("While executing plperl.on_plperlu_init."))); } } @@ -1299,18 +1277,14 @@ plperl_create_sub(plperl_proc_desc *prodesc, char *s, Oid fn_oid) LEAVE; if (SvTRUE(ERRSV)) - { ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("%s", strip_trailing_ws(SvPV_nolen(ERRSV))))); - } if (!subref) - { ereport(ERROR, - (errcode(ERRCODE_INTERNAL_ERROR), - errmsg("didn't get a GLOB from compiling %s via %s", prodesc->proname, compile_sub))); - } + (errmsg("didn't get a GLOB from compiling %s via %s", + prodesc->proname, compile_sub))); prodesc->reference = newSVsv(subref); -- 2.40.0