mirror of
https://github.com/postgres/postgres.git
synced 2026-05-27 03:42:28 -04:00
plsample: Use TextDatumGetCString() for text-to-CString conversion
Replace the outdated DatumGetCString(DirectFunctionCall1(textout, ...)) pattern with TextDatumGetCString(). The macro is the modern, more efficient way to convert a text Datum to a C string as it avoids unnecessary function call machinery and handles detoasting internally. Since plsample serves as reference code for extension authors, it should follow current idiomatic practices. Author: Amul Sul <sulamul@gmail.com> Discussion: https://postgr.es/m/CAAJ_b95-xMvUN1PEqxv8y6g-A-8k+fSgyv20kSZc9eF1wZAUPg@mail.gmail.com
This commit is contained in:
parent
f0ac6d494b
commit
f1cfb48efb
1 changed files with 3 additions and 2 deletions
|
|
@ -21,6 +21,7 @@
|
|||
#include "commands/trigger.h"
|
||||
#include "executor/spi.h"
|
||||
#include "funcapi.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/fmgrprotos.h"
|
||||
#include "utils/lsyscache.h"
|
||||
#include "utils/syscache.h"
|
||||
|
|
@ -128,7 +129,7 @@ plsample_func_handler(PG_FUNCTION_ARGS)
|
|||
if (isnull)
|
||||
elog(ERROR, "could not find source text of function \"%s\"",
|
||||
proname);
|
||||
source = DatumGetCString(DirectFunctionCall1(textout, ret));
|
||||
source = TextDatumGetCString(ret);
|
||||
ereport(NOTICE,
|
||||
(errmsg("source text of function \"%s\": %s",
|
||||
proname, source)));
|
||||
|
|
@ -244,7 +245,7 @@ plsample_trigger_handler(PG_FUNCTION_ARGS)
|
|||
if (isnull)
|
||||
elog(ERROR, "could not find source text of function \"%s\"",
|
||||
proname);
|
||||
source = DatumGetCString(DirectFunctionCall1(textout, ret));
|
||||
source = TextDatumGetCString(ret);
|
||||
ereport(NOTICE,
|
||||
(errmsg("source text of function \"%s\": %s",
|
||||
proname, source)));
|
||||
|
|
|
|||
Loading…
Reference in a new issue