Re: Patch for PLPYTHONU - adding TD["relname"]
От | Bruce Momjian |
---|---|
Тема | Re: Patch for PLPYTHONU - adding TD["relname"] |
Дата | |
Msg-id | 200609020234.k822YtC15877@momjian.us обсуждение исходный текст |
Ответ на | Patch for PLPYTHONU - adding TD["relname"] (Sokolov Yura <falcon@intercable.ru>) |
Список | pgsql-patches |
This will appear in 8.2, but with the name 'table_name': revision 1.80 date: 2006/05/26 19:23:09; author: adunstan; state: Exp; lines: +17 -2 Add table_name and table_schema to plpython trigger data, plus docs and regression test. --------------------------------------------------------------------------- Sokolov Yura wrote: > Excuse my English. > Patch allows to get triggers table name in the trigger TD['relname']. > Usefull when same trigger function applied to different tables. > patch for plpython.c in Postgres 8.1 beta (diff was applied to) > works also in Postgres 8.0.3 when placed in the same function (may be > different line numbers) > > --- plpython-old.c 2005-07-10 08:56:55.000000000 +0400 > +++ plpython.c 2005-10-04 12:03:36.000000000 +0400 > @@ -582,7 +582,8 @@ PLy_trigger_build_args(FunctionCallInfo > *pltevent, > *pltwhen, > *pltlevel, > - *pltrelid; > + *pltrelid, > + *pltrelname; > PyObject *pltargs, > *pytnew, > *pytold; > @@ -606,6 +607,12 @@ PLy_trigger_build_args(FunctionCallInfo > Py_DECREF(pltrelid); > pfree(stroid); > > + stroid = SPI_getrelname(tdata->tg_relation); > + pltrelname = PyString_FromString(stroid); > + PyDict_SetItemString(pltdata, "relname", pltrelname); > + Py_DECREF(pltrelname); > + pfree(stroid); > + > if (TRIGGER_FIRED_BEFORE(tdata->tg_event)) > pltwhen = PyString_FromString("BEFORE"); > else if (TRIGGER_FIRED_AFTER(tdata->tg_event)) > > > > ---------------------------(end of broadcast)--------------------------- > TIP 2: Don't 'kill -9' the postmaster -- Bruce Momjian bruce@momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
В списке pgsql-patches по дате отправления: