summaryrefslogtreecommitdiff
path: root/db2/lock/lock_conflict.c
diff options
context:
space:
mode:
Diffstat (limited to 'db2/lock/lock_conflict.c')
-rw-r--r--db2/lock/lock_conflict.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/db2/lock/lock_conflict.c b/db2/lock/lock_conflict.c
new file mode 100644
index 0000000000..ff0287f07e
--- /dev/null
+++ b/db2/lock/lock_conflict.c
@@ -0,0 +1,39 @@
+/*-
+ * See the file LICENSE for redistribution information.
+ *
+ * Copyright (c) 1996, 1997
+ * Sleepycat Software. All rights reserved.
+ */
+
+#include "config.h"
+
+#ifndef lint
+static const char sccsid[] = "@(#)lock_conflict.c 10.2 (Sleepycat) 6/21/97";
+#endif /* not lint */
+
+#ifndef NO_SYSTEM_INCLUDES
+#include <sys/types.h>
+#endif
+
+#include "db_int.h"
+
+/*
+ * The conflict arrays are set up such that the row is the lock you
+ * are holding and the column is the lock that is desired.
+ */
+const u_int8_t db_rw_conflicts[] = {
+ /* N R W */
+ /* N */ 0, 0, 0,
+ /* R */ 0, 0, 1,
+ /* W */ 0, 1, 1
+};
+
+const u_int8_t db_riw_conflicts[] = {
+ /* N S X IS IX SIX */
+ /* N */ 0, 0, 0, 0, 0, 0,
+ /* S */ 0, 0, 1, 0, 1, 1,
+ /* X */ 1, 1, 1, 1, 1, 1,
+ /* IS */ 0, 0, 1, 0, 0, 0,
+ /* IX */ 0, 1, 1, 0, 0, 0,
+ /* SIX */ 0, 1, 1, 0, 0, 0
+};