diff options
Diffstat (limited to 'src/schema/schema_rename.c')
-rw-r--r-- | src/schema/schema_rename.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/schema/schema_rename.c b/src/schema/schema_rename.c index bc92c882117..f512482c162 100644 --- a/src/schema/schema_rename.c +++ b/src/schema/schema_rename.c @@ -24,11 +24,14 @@ __rename_file( newvalue = oldvalue = NULL; filename = uri; + if (!WT_PREFIX_SKIP(filename, "file:")) + return (__wt_unexpected_object_type(session, uri, "file:")); newfile = newuri; - if (!WT_PREFIX_SKIP(filename, "file:") || - !WT_PREFIX_SKIP(newfile, "file:")) - return (EINVAL); + if (!WT_PREFIX_SKIP(newfile, "file:")) + return (__wt_unexpected_object_type(session, newuri, "file:")); + WT_RET(__wt_schema_backup_check(session, filename)); + WT_RET(__wt_schema_backup_check(session, newfile)); /* Close any btree handles in the file. */ WT_WITH_HANDLE_LIST_LOCK(session, ret = __wt_conn_dhandle_close_all(session, uri, false)); |