Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3b04893

Browse files
committed
Error message editing in src/pl. The plpython module could use another
look ... I'm not real certain which errors are strictly internal and whichare likely to be provoked by users.
1 parent400fedc commit3b04893

File tree

11 files changed

+543
-429
lines changed

11 files changed

+543
-429
lines changed

‎src/pl/plperl/eloglvl.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#include"postgres.h"
22

3-
#include"utils/elog.h"
4-
53
/*
64
* This kludge is necessary because of the conflicting
75
* definitions of 'DEBUG' between postgres and perl.

‎src/pl/plperl/plperl.c

Lines changed: 35 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
* ENHANCEMENTS, OR MODIFICATIONS.
3434
*
3535
* IDENTIFICATION
36-
* $Header: /cvsroot/pgsql/src/pl/plperl/plperl.c,v 1.36 2003/04/20 21:15:34 tgl Exp $
36+
* $Header: /cvsroot/pgsql/src/pl/plperl/plperl.c,v 1.37 2003/07/25 23:37:28 tgl Exp $
3737
*
3838
**********************************************************************/
3939

@@ -47,7 +47,6 @@
4747
/* postgreSQL stuff */
4848
#include"executor/spi.h"
4949
#include"commands/trigger.h"
50-
#include"utils/elog.h"
5150
#include"fmgr.h"
5251
#include"access/heapam.h"
5352
#include"tcop/tcopprot.h"
@@ -193,7 +192,7 @@ plperl_init_interp(void)
193192

194193
plperl_interp=perl_alloc();
195194
if (!plperl_interp)
196-
elog(ERROR,"plperl_init_interp():could not allocate perl interpreter");
195+
elog(ERROR,"could not allocate perl interpreter");
197196

198197
perl_construct(plperl_interp);
199198
perl_parse(plperl_interp,plperl_init_shared_libs,3,embedding,NULL);
@@ -232,15 +231,17 @@ plperl_call_handler(PG_FUNCTION_ARGS)
232231
* Connect to SPI manager
233232
************************************************************/
234233
if (SPI_connect()!=SPI_OK_CONNECT)
235-
elog(ERROR,"plperl: cannot connect to SPI manager");
234+
elog(ERROR,"could not connect to SPI manager");
236235

237236
/************************************************************
238237
* Determine if called as function or trigger and
239238
* call appropriate subhandler
240239
************************************************************/
241240
if (CALLED_AS_TRIGGER(fcinfo))
242241
{
243-
elog(ERROR,"plperl: can't use perl in triggers yet.");
242+
ereport(ERROR,
243+
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
244+
errmsg("cannot use perl in triggers yet")));
244245

245246
/*
246247
* retval = PointerGetDatum(plperl_trigger_handler(fcinfo));
@@ -286,7 +287,7 @@ plperl_create_sub(char *s, bool trusted)
286287
PUTBACK;
287288
FREETMPS;
288289
LEAVE;
289-
elog(ERROR,"plperl:didn't get a return item from mksafefunc");
290+
elog(ERROR,"didn't get a return item from mksafefunc");
290291
}
291292

292293
if (SvTRUE(ERRSV))
@@ -314,7 +315,7 @@ plperl_create_sub(char *s, bool trusted)
314315
* subref is our responsibility because it is not mortal
315316
*/
316317
SvREFCNT_dec(subref);
317-
elog(ERROR,"plperl_create_sub:didn't get a code ref");
318+
elog(ERROR,"didn't get a code ref");
318319
}
319320

320321
PUTBACK;
@@ -406,7 +407,7 @@ plperl_call_perl_func(plperl_proc_desc * desc, FunctionCallInfo fcinfo)
406407
PUTBACK;
407408
FREETMPS;
408409
LEAVE;
409-
elog(ERROR,"plperl:didn't get a return item from function");
410+
elog(ERROR,"didn't get a return item from function");
410411
}
411412

412413
if (SvTRUE(ERRSV))
@@ -415,7 +416,7 @@ plperl_call_perl_func(plperl_proc_desc * desc, FunctionCallInfo fcinfo)
415416
PUTBACK;
416417
FREETMPS;
417418
LEAVE;
418-
elog(ERROR,"plperl:error from function: %s",SvPV(ERRSV,PL_na));
419+
elog(ERROR,"error from function: %s",SvPV(ERRSV,PL_na));
419420
}
420421

421422
retval=newSVsv(POPs);
@@ -453,7 +454,7 @@ plperl_func_handler(PG_FUNCTION_ARGS)
453454
* because SPI_finish would free it).
454455
************************************************************/
455456
if (SPI_finish()!=SPI_OK_FINISH)
456-
elog(ERROR,"plperl:SPI_finish() failed");
457+
elog(ERROR,"SPI_finish() failed");
457458

458459
if (!(perlret&&SvOK(perlret)))
459460
{
@@ -493,7 +494,7 @@ compile_plperl_function(Oid fn_oid, bool is_trigger)
493494
ObjectIdGetDatum(fn_oid),
494495
0,0,0);
495496
if (!HeapTupleIsValid(procTup))
496-
elog(ERROR,"plperl:cache lookup forproc %u failed",fn_oid);
497+
elog(ERROR,"cache lookupfailedforfunction %u",fn_oid);
497498
procStruct= (Form_pg_proc)GETSTRUCT(procTup);
498499

499500
/************************************************************
@@ -551,7 +552,9 @@ compile_plperl_function(Oid fn_oid, bool is_trigger)
551552
************************************************************/
552553
prodesc= (plperl_proc_desc*)malloc(sizeof(plperl_proc_desc));
553554
if (prodesc==NULL)
554-
elog(ERROR,"plperl: out of memory");
555+
ereport(ERROR,
556+
(errcode(ERRCODE_OUT_OF_MEMORY),
557+
errmsg("out of memory")));
555558
MemSet(prodesc,0,sizeof(plperl_proc_desc));
556559
prodesc->proname=strdup(internal_proname);
557560
prodesc->fn_xmin=HeapTupleHeaderGetXmin(procTup->t_data);
@@ -567,7 +570,7 @@ compile_plperl_function(Oid fn_oid, bool is_trigger)
567570
{
568571
free(prodesc->proname);
569572
free(prodesc);
570-
elog(ERROR,"plperl:cache lookup for language %u failed",
573+
elog(ERROR,"cache lookupfailedfor language %u",
571574
procStruct->prolang);
572575
}
573576
langStruct= (Form_pg_language)GETSTRUCT(langTup);
@@ -587,7 +590,7 @@ compile_plperl_function(Oid fn_oid, bool is_trigger)
587590
{
588591
free(prodesc->proname);
589592
free(prodesc);
590-
elog(ERROR,"plperl:cache lookup forreturntype %u failed",
593+
elog(ERROR,"cache lookupfailedfor type %u",
591594
procStruct->prorettype);
592595
}
593596
typeStruct= (Form_pg_type)GETSTRUCT(typeTup);
@@ -601,24 +604,28 @@ compile_plperl_function(Oid fn_oid, bool is_trigger)
601604
{
602605
free(prodesc->proname);
603606
free(prodesc);
604-
elog(ERROR,"plperl functions cannot return type %s"
605-
"\n\texcept when used as triggers",
606-
format_type_be(procStruct->prorettype));
607+
ereport(ERROR,
608+
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
609+
errmsg("trigger functions may only be called as triggers")));
607610
}
608611
else
609612
{
610613
free(prodesc->proname);
611614
free(prodesc);
612-
elog(ERROR,"plperl functions cannot return type %s",
613-
format_type_be(procStruct->prorettype));
615+
ereport(ERROR,
616+
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
617+
errmsg("plperl functions cannot return type %s",
618+
format_type_be(procStruct->prorettype))));
614619
}
615620
}
616621

617622
if (typeStruct->typrelid!=InvalidOid)
618623
{
619624
free(prodesc->proname);
620625
free(prodesc);
621-
elog(ERROR,"plperl: return types of tuples not supported yet");
626+
ereport(ERROR,
627+
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
628+
errmsg("plperl functions cannot return tuples yet")));
622629
}
623630

624631
perm_fmgr_info(typeStruct->typinput,&(prodesc->result_in_func));
@@ -643,7 +650,7 @@ compile_plperl_function(Oid fn_oid, bool is_trigger)
643650
{
644651
free(prodesc->proname);
645652
free(prodesc);
646-
elog(ERROR,"plperl:cache lookup forargumenttype %u failed",
653+
elog(ERROR,"cache lookupfailedfor type %u",
647654
procStruct->proargtypes[i]);
648655
}
649656
typeStruct= (Form_pg_type)GETSTRUCT(typeTup);
@@ -653,8 +660,10 @@ compile_plperl_function(Oid fn_oid, bool is_trigger)
653660
{
654661
free(prodesc->proname);
655662
free(prodesc);
656-
elog(ERROR,"plperl functions cannot take type %s",
657-
format_type_be(procStruct->proargtypes[i]));
663+
ereport(ERROR,
664+
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
665+
errmsg("plperl functions cannot take type %s",
666+
format_type_be(procStruct->proargtypes[i]))));
658667
}
659668

660669
if (typeStruct->typrelid!=InvalidOid)
@@ -686,7 +695,7 @@ compile_plperl_function(Oid fn_oid, bool is_trigger)
686695
{
687696
free(prodesc->proname);
688697
free(prodesc);
689-
elog(ERROR,"plperl: cannot create internal procedure%s",
698+
elog(ERROR,"could not create internal procedure\"%s\"",
690699
internal_proname);
691700
}
692701

@@ -751,8 +760,8 @@ plperl_build_tuple_argument(HeapTuple tuple, TupleDesc tupdesc)
751760
ObjectIdGetDatum(tupdesc->attrs[i]->atttypid),
752761
0,0,0);
753762
if (!HeapTupleIsValid(typeTup))
754-
elog(ERROR,"plperl: Cachelookup forattribute '%s'type %u failed",
755-
attname,tupdesc->attrs[i]->atttypid);
763+
elog(ERROR,"cachelookupfailedfor type %u",
764+
tupdesc->attrs[i]->atttypid);
756765

757766
typoutput= ((Form_pg_type)GETSTRUCT(typeTup))->typoutput;
758767
typelem= ((Form_pg_type)GETSTRUCT(typeTup))->typelem;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp