From 8776ce22e684a371fbc2a7c39d229efe9ab6b33b Mon Sep 17 00:00:00 2001 From: Celine Mercier Date: Tue, 9 Jun 2020 14:34:43 +0200 Subject: [PATCH] C: fixed a bug where indexers referring to tuples of certain types were not properly closed and imported --- src/obidms.c | 2 +- src/obidmscolumn.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/obidms.c b/src/obidms.c index ab7c61a..de555a2 100755 --- a/src/obidms.c +++ b/src/obidms.c @@ -1496,7 +1496,7 @@ obiversion_t obi_import_column(const char* dms_path_1, const char* dms_path_2, c memcpy(column_2->data, column_1->data, header_1->data_size); // Copy the AVL files if there are some (overwriting the automatically created files) - if ((header_1->returned_data_type == OBI_STR) || (header_1->returned_data_type == OBI_SEQ) || (header_1->returned_data_type == OBI_QUAL)) + if ((header_1->tuples) || ((header_1->returned_data_type == OBI_STR) || (header_1->returned_data_type == OBI_SEQ) || (header_1->returned_data_type == OBI_QUAL))) { avl_name_1 = (char*) malloc((strlen(header_1->indexer_name) + 1) * sizeof(char)); if (avl_name_1 == NULL) diff --git a/src/obidmscolumn.c b/src/obidmscolumn.c index ff1fc73..ac6d1ba 100644 --- a/src/obidmscolumn.c +++ b/src/obidmscolumn.c @@ -1693,8 +1693,8 @@ int obi_close_column(OBIDMS_column_p column) if (obi_dms_unlist_column(column->dms, column) < 0) ret_val = -1; - // If the data type is OBI_STR, OBI_SEQ or OBI_QUAL, the associated indexer is closed - if (((column->header)->returned_data_type == OBI_STR) || ((column->header)->returned_data_type == OBI_SEQ) || ((column->header)->returned_data_type == OBI_QUAL)) + // If it's a tuple column or the data type is OBI_STR, OBI_SEQ or OBI_QUAL, the associated indexer is closed + if (((column->header)->tuples) || (((column->header)->returned_data_type == OBI_STR) || ((column->header)->returned_data_type == OBI_SEQ) || ((column->header)->returned_data_type == OBI_QUAL))) if (obi_close_indexer(column->indexer) < 0) ret_val = -1;