diff options
author | Matt Kangas <matt.kangas@mongodb.com> | 2014-12-23 08:36:30 -0500 |
---|---|---|
committer | Matt Kangas <matt.kangas@mongodb.com> | 2014-12-23 12:03:28 -0500 |
commit | 55ae19200c7e17249420b4b34799e25b7d1ec92d (patch) | |
tree | 14b03241366fc2d0d53209b4f33371eb64a97d28 /src/third_party/wiredtiger/src/schema | |
parent | e50c1c5e1e75f2da16f2b8c216b16afe93d83d8d (diff) | |
download | mongo-55ae19200c7e17249420b4b34799e25b7d1ec92d.tar.gz |
Import wiredtiger-wiredtiger-2.8-rc2-311-gbc7ed41.tar.gz from wiredtiger branch mongodb-2.8
Diffstat (limited to 'src/third_party/wiredtiger/src/schema')
-rw-r--r-- | src/third_party/wiredtiger/src/schema/schema_drop.c | 4 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/schema/schema_list.c | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/third_party/wiredtiger/src/schema/schema_drop.c b/src/third_party/wiredtiger/src/schema/schema_drop.c index ca09d25a495..9a74b26ffec 100644 --- a/src/third_party/wiredtiger/src/schema/schema_drop.c +++ b/src/third_party/wiredtiger/src/schema/schema_drop.c @@ -165,8 +165,8 @@ __wt_schema_drop(WT_SESSION_IMPL *session, const char *uri, const char *cfg[]) WT_RET(__wt_meta_track_on(session)); - /* Be careful to ignore any btree handle in our caller. */ - WT_CLEAR_BTREE_IN_SESSION(session); + /* Paranoia: clear any handle from our caller. */ + session->dhandle = NULL; if (WT_PREFIX_MATCH(uri, "colgroup:")) ret = __drop_colgroup(session, uri, force, cfg); diff --git a/src/third_party/wiredtiger/src/schema/schema_list.c b/src/third_party/wiredtiger/src/schema/schema_list.c index 02556eb942c..1fbc52821a6 100644 --- a/src/third_party/wiredtiger/src/schema/schema_list.c +++ b/src/third_party/wiredtiger/src/schema/schema_list.c @@ -139,9 +139,13 @@ __wt_schema_destroy_index(WT_SESSION_IMPL *session, WT_INDEX *idx) WT_DECL_RET; /* If there is a custom extractor configured, terminate it. */ - if (idx->extractor != NULL && idx->extractor->terminate != NULL) + if (idx->extractor != NULL && + idx->extractor_owned && idx->extractor->terminate != NULL) { WT_TRET(idx->extractor->terminate( idx->extractor, &session->iface)); + idx->extractor = NULL; + idx->extractor_owned = 0; + } __wt_free(session, idx->name); __wt_free(session, idx->source); |