summaryrefslogtreecommitdiff
path: root/src/include/session.h
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@mongodb.com>2016-03-25 08:19:12 +1100
committerMichael Cahill <michael.cahill@mongodb.com>2016-03-25 08:19:12 +1100
commit43e885a0f9a3ad046eae1726b005ca1280624be3 (patch)
treef03d31a7b36c476484f26ea5259777aeb7b13201 /src/include/session.h
parent5cdd3e320cb19cd54111c2572a3d6e33d3009ad4 (diff)
parent9cf8eb2f15c6df7da90c19c86ccf7516ed126183 (diff)
downloadmongodb-3.2.5.tar.gz
Merge branch 'mongodb-3.4' into mongodb-3.2mongodb-3.2.5
Diffstat (limited to 'src/include/session.h')
-rw-r--r--src/include/session.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/include/session.h b/src/include/session.h
index 5c3291230b4..7fdb7fc2548 100644
--- a/src/include/session.h
+++ b/src/include/session.h
@@ -126,14 +126,24 @@ struct WT_COMPILER_TYPE_ALIGN(WT_CACHE_LINE_ALIGNMENT) __wt_session_impl {
void *block_manager; /* Block-manager support */
int (*block_manager_cleanup)(WT_SESSION_IMPL *);
- /* Checkpoint support */
- struct {
- WT_DATA_HANDLE *dhandle;
- const char *name;
- } *ckpt_handle; /* Handle list */
+ /* Checkpoint handles */
+ WT_DATA_HANDLE **ckpt_handle; /* Handle list */
u_int ckpt_handle_next; /* Next empty slot */
size_t ckpt_handle_allocated; /* Bytes allocated */
+ /*
+ * Operations acting on handles.
+ *
+ * The preferred pattern is to gather all of the required handles at
+ * the beginning of an operation, then drop any other locks, perform
+ * the operation, then release the handles. This cannot be easily
+ * merged with the list of checkpoint handles because some operations
+ * (such as compact) do checkpoints internally.
+ */
+ WT_DATA_HANDLE **op_handle; /* Handle list */
+ u_int op_handle_next; /* Next empty slot */
+ size_t op_handle_allocated; /* Bytes allocated */
+
void *reconcile; /* Reconciliation support */
int (*reconcile_cleanup)(WT_SESSION_IMPL *);