summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/schema
diff options
context:
space:
mode:
authorRamon Fernandez <ramon.fernandez@mongodb.com>2015-03-09 11:02:22 -0400
committerRamon Fernandez <ramon.fernandez@mongodb.com>2015-03-09 11:02:22 -0400
commitc5b0ff8c1d063ced62da89446f675a05d1181816 (patch)
treeba56e7d9470453c83561df59435babab3a42f722 /src/third_party/wiredtiger/src/schema
parentaf56dea51db8d96773ed541927522ee18ff96f31 (diff)
downloadmongo-c5b0ff8c1d063ced62da89446f675a05d1181816.tar.gz
Import wiredtiger-wiredtiger-2.5.1-144-g3a3bda5.tar.gz from wiredtiger branch mongodb-3.0
Diffstat (limited to 'src/third_party/wiredtiger/src/schema')
-rw-r--r--src/third_party/wiredtiger/src/schema/schema_worker.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/third_party/wiredtiger/src/schema/schema_worker.c b/src/third_party/wiredtiger/src/schema/schema_worker.c
index 3dfd068cf9c..e913fcfe69d 100644
--- a/src/third_party/wiredtiger/src/schema/schema_worker.c
+++ b/src/third_party/wiredtiger/src/schema/schema_worker.c
@@ -55,11 +55,17 @@ __wt_schema_worker(WT_SESSION_IMPL *session,
WT_ERR(ret);
}
- WT_ERR(__wt_session_get_btree_ckpt(
- session, uri, cfg, open_flags));
- WT_SAVE_DHANDLE(session,
- ret = file_func(session, cfg));
- WT_TRET(__wt_session_release_btree(session));
+ if ((ret = __wt_session_get_btree_ckpt(
+ session, uri, cfg, open_flags)) == 0) {
+ WT_SAVE_DHANDLE(session,
+ ret = file_func(session, cfg));
+ WT_TRET(__wt_session_release_btree(session));
+ } else if (ret == EBUSY)
+ /* TODO: Decode checkpoint from cfg. */
+ WT_WITH_DHANDLE_LOCK(session,
+ ret = __wt_conn_btree_apply_single_ckpt(
+ session, uri, file_func, cfg));
+ WT_ERR(ret);
}
} else if (WT_PREFIX_MATCH(uri, "colgroup:")) {
WT_ERR(__wt_schema_get_colgroup(