aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/ri_triggers.c
diff options
context:
space:
mode:
authorJan Wieck <JanWieck@Yahoo.com>1999-09-30 14:54:24 +0000
committerJan Wieck <JanWieck@Yahoo.com>1999-09-30 14:54:24 +0000
commitccecf1fa460a934bf5d4ebaa4ef8568735cc82e0 (patch)
tree1d75be688460a1e0e0b92015f2421a8df4d144bb /src/backend/utils/adt/ri_triggers.c
parentdaaeafd9e1d85973695572425036dbb8c6175242 (diff)
downloadpostgresql-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.c184
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;
+}
+
+