static void
do_util_elog(int level, SV *msg)
{
- MemoryContext oldcontext = CurrentMemoryContext;
- char *cmsg = NULL;
+ MemoryContext oldcontext = CurrentMemoryContext;
+ char * volatile cmsg = NULL;
- PG_TRY();
- {
+ PG_TRY();
+ {
cmsg = sv2cstr(msg);
- elog(level, "%s", cmsg);
+ elog(level, "%s", cmsg);
pfree(cmsg);
- }
- PG_CATCH();
- {
- ErrorData *edata;
+ }
+ PG_CATCH();
+ {
+ ErrorData *edata;
- /* Must reset elog.c's state */
- MemoryContextSwitchTo(oldcontext);
- edata = CopyErrorData();
- FlushErrorState();
+ /* Must reset elog.c's state */
+ MemoryContextSwitchTo(oldcontext);
+ edata = CopyErrorData();
+ FlushErrorState();
if (cmsg)
pfree(cmsg);
- /* Punt the error to Perl */
- croak("%s", edata->message);
- }
- PG_END_TRY();
+ /* Punt the error to Perl */
+ croak("%s", edata->message);
+ }
+ PG_END_TRY();
}
static text *
sv2text(SV *sv)
{
- char *str = sv2cstr(sv);
+ char *str = sv2cstr(sv);
+
return cstring_to_text(str);
}
PLy_procedure_get(Oid fn_oid, bool is_trigger)
{
HeapTuple procTup;
- PLyProcedureEntry *entry;
+ PLyProcedureEntry * volatile entry;
bool found;
procTup = SearchSysCache1(PROCOID, ObjectIdGetDatum(fn_oid));
void *tmpplan;
volatile MemoryContext oldcontext;
volatile ResourceOwner oldowner;
- int nargs;
+ volatile int nargs;
if (!PyArg_ParseTuple(args, "s|O", &query, &list))
return NULL;
PG_TRY();
{
- char *nulls;
+ char * volatile nulls;
volatile int j;
if (nargs > 0)