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

Commitba9da68

Browse files
committed
Suppress compiler warnings in recent plperl patch. Avoid uselessly expensive
lookup of the well-known OID of textout().
1 parentb8f2875 commitba9da68

File tree

1 file changed

+9
-21
lines changed

1 file changed

+9
-21
lines changed

‎src/pl/plperl/plperl.c

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**********************************************************************
22
* plperl.c - perl as a procedural language for PostgreSQL
33
*
4-
* $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.133 2007/12/0115:20:34 adunstan Exp $
4+
* $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.134 2007/12/0117:58:42 tgl Exp $
55
*
66
**********************************************************************/
77

@@ -23,6 +23,7 @@
2323
#include"miscadmin.h"
2424
#include"nodes/makefuncs.h"
2525
#include"parser/parse_type.h"
26+
#include"utils/fmgroids.h"
2627
#include"utils/guc.h"
2728
#include"utils/lsyscache.h"
2829
#include"utils/memutils.h"
@@ -508,50 +509,37 @@ plperl_safe_init(void)
508509
eval_pv(SAFE_OK, FALSE);
509510
if (GetDatabaseEncoding()==PG_UTF8)
510511
{
511-
512512
/*
513513
* Fill in just enough information to set up this perl
514514
* function in the safe container and call it.
515515
* For some reason not entirely clear, it prevents errors that
516516
* can arise from the regex code later trying to load
517517
* utf8 modules.
518518
*/
519-
520519
plperl_proc_descdesc;
521520
FunctionCallInfoDatafcinfo;
522-
FmgrInfooutfunc;
523-
HeapTupletypeTup;
524-
Form_pg_typetypeStruct;
525521
SV*ret;
526522
SV*func;
527523

528524
/* make sure we don't call ourselves recursively */
529525
plperl_safe_init_done= true;
530526

531527
/* compile the function */
532-
func=plperl_create_sub(
533-
"utf8fix",
534-
"return shift =~ /\\xa9/i ? 'true' : 'false' ;",
535-
true);
536-
528+
func=plperl_create_sub("utf8fix",
529+
"return shift =~ /\\xa9/i ? 'true' : 'false' ;",
530+
true);
537531

538532
/* set up to call the function with a single text argument 'a' */
539533
desc.reference=func;
540534
desc.nargs=1;
541535
desc.arg_is_rowtype[0]= false;
536+
fmgr_info(F_TEXTOUT,&(desc.arg_out_func[0]));
537+
538+
fcinfo.arg[0]=DirectFunctionCall1(textin,CStringGetDatum("a"));
542539
fcinfo.argnull[0]= false;
543-
fcinfo.arg[0]=
544-
DatumGetTextP(DirectFunctionCall1(textin,
545-
CStringGetDatum("a")));
546-
typeTup=SearchSysCache(TYPEOID,
547-
TEXTOID,
548-
0,0,0);
549-
typeStruct= (Form_pg_type)GETSTRUCT(typeTup);
550-
fmgr_info(typeStruct->typoutput,&(desc.arg_out_func[0]));
551-
ReleaseSysCache(typeTup);
552540

553541
/* and make the call */
554-
ret=plperl_call_perl_func(&desc,&fcinfo);
542+
ret=plperl_call_perl_func(&desc,&fcinfo);
555543
}
556544
}
557545

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp