Commit ba9da684 authored by Tom Lane's avatar Tom Lane

Suppress compiler warnings in recent plperl patch. Avoid uselessly expensive

lookup of the well-known OID of textout().
parent b8f28759
/********************************************************************** /**********************************************************************
* plperl.c - perl as a procedural language for PostgreSQL * plperl.c - perl as a procedural language for PostgreSQL
* *
* $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.133 2007/12/01 15:20:34 adunstan Exp $ * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.134 2007/12/01 17:58:42 tgl Exp $
* *
**********************************************************************/ **********************************************************************/
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include "miscadmin.h" #include "miscadmin.h"
#include "nodes/makefuncs.h" #include "nodes/makefuncs.h"
#include "parser/parse_type.h" #include "parser/parse_type.h"
#include "utils/fmgroids.h"
#include "utils/guc.h" #include "utils/guc.h"
#include "utils/lsyscache.h" #include "utils/lsyscache.h"
#include "utils/memutils.h" #include "utils/memutils.h"
...@@ -508,7 +509,6 @@ plperl_safe_init(void) ...@@ -508,7 +509,6 @@ plperl_safe_init(void)
eval_pv(SAFE_OK, FALSE); eval_pv(SAFE_OK, FALSE);
if (GetDatabaseEncoding() == PG_UTF8) if (GetDatabaseEncoding() == PG_UTF8)
{ {
/* /*
* Fill in just enough information to set up this perl * Fill in just enough information to set up this perl
* function in the safe container and call it. * function in the safe container and call it.
...@@ -516,12 +516,8 @@ plperl_safe_init(void) ...@@ -516,12 +516,8 @@ plperl_safe_init(void)
* can arise from the regex code later trying to load * can arise from the regex code later trying to load
* utf8 modules. * utf8 modules.
*/ */
plperl_proc_desc desc; plperl_proc_desc desc;
FunctionCallInfoData fcinfo; FunctionCallInfoData fcinfo;
FmgrInfo outfunc;
HeapTuple typeTup;
Form_pg_type typeStruct;
SV *ret; SV *ret;
SV *func; SV *func;
...@@ -529,29 +525,21 @@ plperl_safe_init(void) ...@@ -529,29 +525,21 @@ plperl_safe_init(void)
plperl_safe_init_done = true; plperl_safe_init_done = true;
/* compile the function */ /* compile the function */
func = plperl_create_sub( func = plperl_create_sub("utf8fix",
"utf8fix", "return shift =~ /\\xa9/i ? 'true' : 'false' ;",
"return shift =~ /\\xa9/i ? 'true' : 'false' ;", true);
true);
/* set up to call the function with a single text argument 'a' */ /* set up to call the function with a single text argument 'a' */
desc.reference = func; desc.reference = func;
desc.nargs = 1; desc.nargs = 1;
desc.arg_is_rowtype[0] = false; desc.arg_is_rowtype[0] = false;
fmgr_info(F_TEXTOUT, &(desc.arg_out_func[0]));
fcinfo.arg[0] = DirectFunctionCall1(textin, CStringGetDatum("a"));
fcinfo.argnull[0] = false; fcinfo.argnull[0] = false;
fcinfo.arg[0] =
DatumGetTextP(DirectFunctionCall1(textin,
CStringGetDatum("a")));
typeTup = SearchSysCache(TYPEOID,
TEXTOID,
0, 0, 0);
typeStruct = (Form_pg_type) GETSTRUCT(typeTup);
fmgr_info(typeStruct->typoutput,&(desc.arg_out_func[0]));
ReleaseSysCache(typeTup);
/* and make the call */ /* and make the call */
ret = plperl_call_perl_func(&desc,&fcinfo); ret = plperl_call_perl_func(&desc, &fcinfo);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment