Views are now rollbacked if an error occurs, and unfinished views and
columns are deleted when an OBIDMS is opened.
This commit is contained in:
24
src/obidms.c
24
src/obidms.c
@ -587,6 +587,30 @@ OBIDMS_p obi_open_dms(const char* dms_path)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// Clean unfinished views
|
||||
if (obi_clean_unfinished_views(dms) < 0)
|
||||
{
|
||||
obidebug(1, "\nError cleaning unfinished views when opening an OBIDMS");
|
||||
closedir(dms->indexer_directory);
|
||||
closedir(dms->tax_directory);
|
||||
closedir(dms->view_directory);
|
||||
closedir(dms->directory);
|
||||
free(dms);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// Clean unfinished columns
|
||||
if (obi_clean_unfinished_columns(dms) < 0)
|
||||
{
|
||||
obidebug(1, "\nError cleaning unfinished columns when opening an OBIDMS");
|
||||
closedir(dms->indexer_directory);
|
||||
closedir(dms->tax_directory);
|
||||
closedir(dms->view_directory);
|
||||
closedir(dms->directory);
|
||||
free(dms);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// Initialize the list of opened columns
|
||||
dms->opened_columns = (Opened_columns_list_p) malloc(sizeof(Opened_columns_list_t));
|
||||
(dms->opened_columns)->nb_opened_columns = 0;
|
||||
|
Reference in New Issue
Block a user