diff options
author | Ramon Fernandez <ramon.fernandez@mongodb.com> | 2015-03-09 11:02:22 -0400 |
---|---|---|
committer | Ramon Fernandez <ramon.fernandez@mongodb.com> | 2015-03-09 11:02:22 -0400 |
commit | c5b0ff8c1d063ced62da89446f675a05d1181816 (patch) | |
tree | ba56e7d9470453c83561df59435babab3a42f722 /src/third_party/wiredtiger/src/schema | |
parent | af56dea51db8d96773ed541927522ee18ff96f31 (diff) | |
download | mongo-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.c | 16 |
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( |