summaryrefslogtreecommitdiff
path: root/db-4.8.30/dbinc/partition.h
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2016-12-17 21:28:53 -0800
committerJesse Morgan <jesse@jesterpm.net>2016-12-17 21:28:53 -0800
commit54df2afaa61c6a03cbb4a33c9b90fa572b6d07b8 (patch)
tree18147b92b969d25ffbe61935fb63035cac820dd0 /db-4.8.30/dbinc/partition.h
Berkeley DB 4.8 with rust build script for linux.
Diffstat (limited to 'db-4.8.30/dbinc/partition.h')
-rw-r--r--db-4.8.30/dbinc/partition.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/db-4.8.30/dbinc/partition.h b/db-4.8.30/dbinc/partition.h
new file mode 100644
index 0000000..ed2888a
--- /dev/null
+++ b/db-4.8.30/dbinc/partition.h
@@ -0,0 +1,54 @@
+/*-
+ * See the file LICENSE for redistribution information.
+ *
+ * Copyright (c) 1996-2009 Oracle. All rights reserved.
+ */
+/*
+ * $Id$
+ */
+#ifndef _DB_PART_H_
+#define _DB_PART_H_
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+typedef struct __db_partition {
+ u_int32_t nparts; /* number of partitions. */
+ DBT *keys; /* array of range keys. */
+ void *data; /* the partion info. */
+ const char **dirs; /* locations for partitions. */
+ DB **handles; /* array of partition handles. */
+ u_int32_t (*callback) (DB *, DBT *);
+#define PART_CALLBACK 0x01
+#define PART_RANGE 0x02
+ u_int32_t flags;
+} DB_PARTITION;
+
+/*
+ * Internal part of a partitoned cursor.
+ */
+typedef struct __part_internal {
+ __DBC_INTERNAL
+ u_int32_t part_id;
+ DBC *sub_cursor;
+} PART_CURSOR;
+
+#ifdef HAVE_PARTITION
+#define PART_NAME "__dbp.%s.%03d"
+#define PART_LEN (strlen("__dbp..")+3)
+
+#define DB_IS_PARTITIONED(dbp) \
+ (dbp->p_internal != NULL && \
+ ((DB_PARTITION *)dbp->p_internal)->handles != NULL)
+
+#define DBC_PART_REFRESH(dbc) (F_SET(dbc, DBC_PARTITIONED))
+#else
+#define DBC_PART_REFRESH(dbc)
+#define DB_IS_PARTITIONED(dbp) (0)
+#endif
+
+#if defined(__cplusplus)
+}
+#endif
+#endif