Definition at line 27 of file lo.c.
28{
37
39 elog(
ERROR,
"lo_manage: not fired by trigger manager");
40
43 trigdata->tg_trigger->tgname);
44
45
46
47
48 newtuple = trigdata->tg_newtuple;
50 tupdesc = trigdata->tg_relation->rd_att;
51 args = trigdata->tg_trigger->tgargs;
52
54 elog(
ERROR,
"%s: no column name provided in the trigger definition",
55 trigdata->tg_trigger->tgname);
56
57
60 else
62
63
65
66
68
70 elog(
ERROR,
"%s: column \"%s\" does not exist",
71 trigdata->tg_trigger->tgname, args[0]);
72
73
74
75
76
77
78
79 if (newtuple !=
NULL &&
81 {
84
88
93 }
94
95
96
97
98
99
101 {
103
105 {
108
110 }
111 }
112
114}
Datum be_lo_unlink(PG_FUNCTION_ARGS)
bool bms_is_member(int x, const Bitmapset *a)
#define DirectFunctionCall1(func, arg1)
void pfree(void *pointer)
static Datum PointerGetDatum(const void *X)
static Datum ObjectIdGetDatum(Oid X)
int SPI_fnumber(TupleDesc tupdesc, const char *fname)
char * SPI_getvalue(HeapTuple tuple, TupleDesc tupdesc, int fnumber)
#define FirstLowInvalidHeapAttributeNumber
#define TRIGGER_FIRED_BY_DELETE(event)
#define CALLED_AS_TRIGGER(fcinfo)
#define TRIGGER_FIRED_FOR_ROW(event)
#define TRIGGER_FIRED_BY_UPDATE(event)
References atooid, attnum, be_lo_unlink(), bms_is_member(), CALLED_AS_TRIGGER, DirectFunctionCall1, elog, ERROR, fb(), FirstLowInvalidHeapAttributeNumber, ObjectIdGetDatum(), pfree(), PointerGetDatum(), RelationData::rd_att, SPI_fnumber(), SPI_getvalue(), TriggerData::tg_event, TriggerData::tg_newtuple, TriggerData::tg_relation, TriggerData::tg_trigger, TriggerData::tg_trigtuple, TriggerData::tg_updatedcols, Trigger::tgargs, Trigger::tgname, TRIGGER_FIRED_BY_DELETE, TRIGGER_FIRED_BY_UPDATE, and TRIGGER_FIRED_FOR_ROW.