From 839b3000a8fb81e62f8ec14cb8366f0f9a0091a0 Mon Sep 17 00:00:00 2001 From: Celine Mercier Date: Fri, 22 Apr 2016 17:08:23 +0200 Subject: [PATCH] Added a function to build indexer names --- src/obiblob_indexer.c | 21 +++++++++++++++++++++ src/obiblob_indexer.h | 15 +++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/src/obiblob_indexer.c b/src/obiblob_indexer.c index 9669dfe..c6e69c6 100644 --- a/src/obiblob_indexer.c +++ b/src/obiblob_indexer.c @@ -15,6 +15,8 @@ #include "obiblob_indexer.h" #include "obidms.h" +#include "obierrno.h" +#include "obidebug.h" inline int obi_indexer_exists(OBIDMS_p dms, const char* name); @@ -31,3 +33,22 @@ inline index_t obi_indexer_add(Obi_indexer_p indexer, Obi_blob_p value); inline Obi_blob_p obi_indexer_get(Obi_indexer_p indexer, index_t idx); + +char* obi_build_indexer_name(const char* column_name, obiversion_t column_version) +{ + char* indexer_name; + + indexer_name = (char*) malloc(INDEXER_MAX_NAME * sizeof(char)); + if (indexer_name == NULL) + { + obi_set_errno(OBI_MALLOC_ERROR); + obidebug(1, "\nError allocating the memory for an indexer name"); + return NULL; + } + + strcpy(indexer_name, column_name); + sprintf(indexer_name+strlen(column_name), "_%d_indexer", column_version); + + return indexer_name; +} + diff --git a/src/obiblob_indexer.h b/src/obiblob_indexer.h index 5d7335e..8f411ae 100644 --- a/src/obiblob_indexer.h +++ b/src/obiblob_indexer.h @@ -159,5 +159,20 @@ inline Obi_blob_p obi_indexer_get(Obi_indexer_p indexer, index_t idx) } +/** + * @brief Builds an indexer name in the form columnname_columnversion_indexer. + * + * @param column_name The name of the column associated with the indexer. + * @param column_version The version of the column associated with the indexer. + * + * @returns A pointer on the indexer name built. + * @retval NULL if an error occurred. + * + * @since April 2016 + * @author Celine Mercier (celine.mercier@metabarcoding.org) + */ +char* obi_build_indexer_name(const char* column_name, obiversion_t column_version) + + #endif /* OBIBLOB_INDEXER_H_ */