diff options
author | Jan Wieck <JanWieck@Yahoo.com> | 1999-09-30 14:54:24 +0000 |
---|---|---|
committer | Jan Wieck <JanWieck@Yahoo.com> | 1999-09-30 14:54:24 +0000 |
commit | ccecf1fa460a934bf5d4ebaa4ef8568735cc82e0 (patch) | |
tree | 1d75be688460a1e0e0b92015f2421a8df4d144bb /src/backend/utils/adt/ri_triggers.c | |
parent | daaeafd9e1d85973695572425036dbb8c6175242 (diff) | |
download | postgresql-ccecf1fa460a934bf5d4ebaa4ef8568735cc82e0.tar.gz postgresql-ccecf1fa460a934bf5d4ebaa4ef8568735cc82e0.zip |
Added utils/adt/ri_triggers with empty shells for the
FOREIGN KEY triggers.
Added pg_proc entries for all the new functions.
Jan
Diffstat (limited to 'src/backend/utils/adt/ri_triggers.c')
-rw-r--r-- | src/backend/utils/adt/ri_triggers.c | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/src/backend/utils/adt/ri_triggers.c b/src/backend/utils/adt/ri_triggers.c new file mode 100644 index 00000000000..13f17076e43 --- /dev/null +++ b/src/backend/utils/adt/ri_triggers.c @@ -0,0 +1,184 @@ +/* ---------- + * ri_triggers.c + * + * Generic trigger procedures for referential integrity constraint + * checks. + * + * 1999 Jan Wieck + * + * $Header: /cvsroot/pgsql/src/backend/utils/adt/ri_triggers.c,v 1.1 1999/09/30 14:54:22 wieck Exp $ + * + * ---------- + */ + +#include "postgres.h" +#include "fmgr.h" + +#include "access/heapam.h" +#include "catalog/pg_proc.h" +#include "catalog/pg_type.h" +#include "commands/trigger.h" +#include "executor/spi.h" +#include "utils/builtins.h" +#include "utils/syscache.h" + +/* ---------- + * RI_FKey_check_ins - + * + * Check foreign key existance at insert event on FK table. + * ---------- + */ +HeapTuple +RI_FKey_check_ins (FmgrInfo *proinfo) +{ + CurrentTriggerData = NULL; + + elog(NOTICE, "RI_FKey_check_ins() called\n"); + return NULL; +} + + +/* ---------- + * RI_FKey_check_upd - + * + * Check foreign key existance at update event on FK table. + * ---------- + */ +HeapTuple +RI_FKey_check_upd (FmgrInfo *proinfo) +{ + CurrentTriggerData = NULL; + + elog(NOTICE, "RI_FKey_check_upd() called\n"); + return NULL; +} + + +/* ---------- + * RI_FKey_cascade_del - + * + * Cascaded delete foreign key references at delete event on PK table. + * ---------- + */ +HeapTuple +RI_FKey_cascade_del (FmgrInfo *proinfo) +{ + CurrentTriggerData = NULL; + + elog(NOTICE, "RI_FKey_cascade_del() called\n"); + return NULL; +} + + +/* ---------- + * RI_FKey_cascade_upd - + * + * Cascaded update/delete foreign key references at update event on PK table. + * ---------- + */ +HeapTuple +RI_FKey_cascade_upd (FmgrInfo *proinfo) +{ + CurrentTriggerData = NULL; + + elog(NOTICE, "RI_FKey_cascade_upd() called\n"); + return NULL; +} + + +/* ---------- + * RI_FKey_restrict_del - + * + * Restrict delete from PK table to rows unreferenced by foreign key. + * ---------- + */ +HeapTuple +RI_FKey_restrict_del (FmgrInfo *proinfo) +{ + CurrentTriggerData = NULL; + + elog(NOTICE, "RI_FKey_restrict_del() called\n"); + return NULL; +} + + +/* ---------- + * RI_FKey_restrict_upd - + * + * Restrict update of PK to rows unreferenced by foreign key. + * ---------- + */ +HeapTuple +RI_FKey_restrict_upd (FmgrInfo *proinfo) +{ + CurrentTriggerData = NULL; + + elog(NOTICE, "RI_FKey_restrict_upd() called\n"); + return NULL; +} + + +/* ---------- + * RI_FKey_setnull_del - + * + * Set foreign key references to NULL values at delete event on PK table. + * ---------- + */ +HeapTuple +RI_FKey_setnull_del (FmgrInfo *proinfo) +{ + CurrentTriggerData = NULL; + + elog(NOTICE, "RI_FKey_setnull_del() called\n"); + return NULL; +} + + +/* ---------- + * RI_FKey_setnull_upd - + * + * Set foreign key references to NULL at update event on PK table. + * ---------- + */ +HeapTuple +RI_FKey_setnull_upd (FmgrInfo *proinfo) +{ + CurrentTriggerData = NULL; + + elog(NOTICE, "RI_FKey_setnull_upd() called\n"); + return NULL; +} + + +/* ---------- + * RI_FKey_setdefault_del - + * + * Set foreign key references to defaults at delete event on PK table. + * ---------- + */ +HeapTuple +RI_FKey_setdefault_del (FmgrInfo *proinfo) +{ + CurrentTriggerData = NULL; + + elog(NOTICE, "RI_FKey_setdefault_del() called\n"); + return NULL; +} + + +/* ---------- + * RI_FKey_setdefault_upd - + * + * Set foreign key references to defaults at update event on PK table. + * ---------- + */ +HeapTuple +RI_FKey_setdefault_upd (FmgrInfo *proinfo) +{ + CurrentTriggerData = NULL; + + elog(NOTICE, "RI_FKey_setdefault_upd() called\n"); + return NULL; +} + + |