[tarantool-patches] Re: [PATCH v1 1/1] lib/bitset: rename bitset structs

Kirill Shcherbatov kshcherbatov at tarantool.org
Tue Jul 3 16:24:36 MSK 2018


> I don't think you should rename any structures or functions defined in
> memtx_bitset.c - they don't conflict and they are not related to struct
> bitset.

Changes in memtx_bitset.{c, h} with my patch now.

========================================

diff --git a/src/box/memtx_bitset.c b/src/box/memtx_bitset.c
index 9216ed8..75406f9 100644
--- a/src/box/memtx_bitset.c
+++ b/src/box/memtx_bitset.c
@@ -154,7 +154,7 @@ value_to_tuple(size_t value)
 
 struct bitset_index_iterator {
 	struct iterator base; /* Must be the first member. */
-	struct bitset_iterator bitset_it;
+	struct tt_bitset_iterator bitset_it;
 #ifndef OLD_GOOD_BITSET
 	struct memtx_bitset_index *bitset_index;
 #endif /* #ifndef OLD_GOOD_BITSET */
@@ -174,7 +174,7 @@ bitset_index_iterator_free(struct iterator *iterator)
 	assert(iterator->free == bitset_index_iterator_free);
 	struct bitset_index_iterator *it = bitset_index_iterator(iterator);
 
-	bitset_iterator_destroy(&it->bitset_it);
+	tt_bitset_iterator_destroy(&it->bitset_it);
 	mempool_free(it->pool, it);
 }
 
@@ -184,7 +184,7 @@ bitset_index_iterator_next(struct iterator *iterator, struct tuple **ret)
 	assert(iterator->free == bitset_index_iterator_free);
 	struct bitset_index_iterator *it = bitset_index_iterator(iterator);
 
-	size_t value = bitset_iterator_next(&it->bitset_it);
+	size_t value = tt_bitset_iterator_next(&it->bitset_it);
 	if (value == SIZE_MAX) {
 		*ret = NULL;
 		return 0;
@@ -202,7 +202,7 @@ static void
 memtx_bitset_index_destroy(struct index *base)
 {
 	struct memtx_bitset_index *index = (struct memtx_bitset_index *)base;
-	bitset_index_destroy(&index->index);
+	tt_bitset_index_destroy(&index->index);
 #ifndef OLD_GOOD_BITSET
 	mh_bitset_index_delete(index->tuple_to_id);
 	matras_destroy(index->id_to_tuple);
@@ -215,7 +215,7 @@ static ssize_t
 memtx_bitset_index_size(struct index *base)
 {
 	struct memtx_bitset_index *index = (struct memtx_bitset_index *)base;
-	return bitset_index_size(&index->index);
+	return tt_bitset_index_size(&index->index);
 }
 
 static ssize_t
@@ -223,7 +223,7 @@ memtx_bitset_index_bsize(struct index *base)
 {
 	struct memtx_bitset_index *index = (struct memtx_bitset_index *)base;
 	size_t result = 0;
-	result += bitset_index_bsize(&index->index);
+	result += tt_bitset_index_bsize(&index->index);
 #ifndef OLD_GOOD_BITSET
 	result += matras_extent_count(index->id_to_tuple) * MEMTX_EXTENT_SIZE;
 	result += mh_bitset_index_memsize(index->tuple_to_id);
@@ -270,11 +270,12 @@ memtx_bitset_index_replace(struct index *base, struct tuple *old_tuple,
 #else /* #ifndef OLD_GOOD_BITSET */
 		size_t value = tuple_to_value(old_tuple);
 #endif /* #ifndef OLD_GOOD_BITSET */
-		if (bitset_index_contains_value(&index->index, (size_t)value)) {
+		if (tt_bitset_index_contains_value(&index->index,
+						   (size_t) value)) {
 			*result = old_tuple;
 
 			assert(old_tuple != new_tuple);
-			bitset_index_remove_value(&index->index, value);
+			tt_bitset_index_remove_value(&index->index, value);
 #ifndef OLD_GOOD_BITSET
 			memtx_bitset_index_unregister_tuple(index, old_tuple);
 #endif /* #ifndef OLD_GOOD_BITSET */
@@ -293,7 +294,8 @@ memtx_bitset_index_replace(struct index *base, struct tuple *old_tuple,
 #else /* #ifndef OLD_GOOD_BITSET */
 		uint32_t value = tuple_to_value(new_tuple);
 #endif /* #ifndef OLD_GOOD_BITSET */
-		if (bitset_index_insert(&index->index, key, key_len, value) < 0) {
+		if (tt_bitset_index_insert(&index->index, key, key_len,
+					   value) < 0) {
 #ifndef OLD_GOOD_BITSET
 			memtx_bitset_index_unregister_tuple(index, new_tuple);
 #endif /* #ifndef OLD_GOOD_BITSET */
@@ -327,7 +329,7 @@ memtx_bitset_index_create_iterator(struct index *base, enum iterator_type type,
 	it->base.next = bitset_index_iterator_next;
 	it->base.free = bitset_index_iterator_free;
 
-	bitset_iterator_create(&it->bitset_it, realloc);
+	tt_bitset_iterator_create(&it->bitset_it, realloc);
 #ifndef OLD_GOOD_BITSET
 	it->bitset_index = index;
 #endif
@@ -339,29 +341,29 @@ memtx_bitset_index_create_iterator(struct index *base, enum iterator_type type,
 		bitset_key = make_key(key, &bitset_key_size);
 	}
 
-	struct bitset_expr expr;
-	bitset_expr_create(&expr, realloc);
+	struct tt_bitset_expr expr;
+	tt_bitset_expr_create(&expr, realloc);
 
 	int rc = 0;
 	switch (type) {
 	case ITER_ALL:
-		rc = bitset_index_expr_all(&expr);
+		rc = tt_bitset_index_expr_all(&expr);
 		break;
 	case ITER_EQ:
-		rc = bitset_index_expr_equals(&expr, bitset_key,
-					      bitset_key_size);
+		rc = tt_bitset_index_expr_equals(&expr, bitset_key,
+						 bitset_key_size);
 		break;
 	case ITER_BITS_ALL_SET:
-		rc = bitset_index_expr_all_set(&expr, bitset_key,
-					       bitset_key_size);
+		rc = tt_bitset_index_expr_all_set(&expr, bitset_key,
+						  bitset_key_size);
 		break;
 	case ITER_BITS_ALL_NOT_SET:
-		rc = bitset_index_expr_all_not_set(&expr, bitset_key,
-						   bitset_key_size);
+		rc = tt_bitset_index_expr_all_not_set(&expr, bitset_key,
+						      bitset_key_size);
 		break;
 	case ITER_BITS_ANY_SET:
-		rc = bitset_index_expr_any_set(&expr, bitset_key,
-					       bitset_key_size);
+		rc = tt_bitset_index_expr_any_set(&expr, bitset_key,
+						  bitset_key_size);
 		break;
 	default:
 		diag_set(UnsupportedIndexFeature, base->def,
@@ -375,17 +377,17 @@ memtx_bitset_index_create_iterator(struct index *base, enum iterator_type type,
 		goto fail;
 	}
 
-	if (bitset_index_init_iterator(&index->index, &it->bitset_it,
-				       &expr) != 0) {
+	if (tt_bitset_index_init_iterator(&index->index, &it->bitset_it,
+					  &expr) != 0) {
 		diag_set(OutOfMemory, 0, "memtx_bitset_index",
 			 "iterator state");
 		goto fail;
 	}
 
-	bitset_expr_destroy(&expr);
+	tt_bitset_expr_destroy(&expr);
 	return (struct iterator *)it;
 fail:
-	bitset_expr_destroy(&expr);
+	tt_bitset_expr_destroy(&expr);
 	mempool_free(&memtx->bitset_iterator_pool, it);
 	return NULL;
 }
@@ -397,7 +399,7 @@ memtx_bitset_index_count(struct index *base, enum iterator_type type,
 	struct memtx_bitset_index *index = (struct memtx_bitset_index *)base;
 
 	if (type == ITER_ALL)
-		return bitset_index_size(&index->index);
+		return tt_bitset_index_size(&index->index);
 
 	assert(part_count == 1); /* checked by key_validate() */
 	uint32_t bitset_key_size = 0;
@@ -417,7 +419,7 @@ memtx_bitset_index_count(struct index *base, enum iterator_type type,
 		 * bitset_index_count().
 		 */
 		if (bit_iterator_next(&bit_it) == SIZE_MAX)
-			return bitset_index_count(&index->index, bit);
+			return tt_bitset_index_count(&index->index, bit);
 	} else if (type == ITER_BITS_ALL_SET) {
 		/**
 		 * Optimization: for an empty key return 0.
@@ -431,7 +433,7 @@ memtx_bitset_index_count(struct index *base, enum iterator_type type,
 		 * bitset_index_count().
 		 */
 		if (bit_iterator_next(&bit_it) == SIZE_MAX)
-			return bitset_index_count(&index->index, bit);
+			return tt_bitset_index_count(&index->index, bit);
 	} else if (type == ITER_BITS_ALL_NOT_SET) {
 		/**
 		 * Optimization: for an empty key return the number of items
@@ -440,14 +442,14 @@ memtx_bitset_index_count(struct index *base, enum iterator_type type,
 		bit_iterator_init(&bit_it, bitset_key, bitset_key_size, true);
 		bit = bit_iterator_next(&bit_it);
 		if (bit == SIZE_MAX)
-			return bitset_index_size(&index->index);
+			return tt_bitset_index_size(&index->index);
 		/**
 		 * Optimiation: for the single bit key use
 		 * bitset_index_count().
 		 */
 		if (bit_iterator_next(&bit_it) == SIZE_MAX)
-			return bitset_index_size(&index->index) -
-				bitset_index_count(&index->index, bit);
+			return tt_bitset_index_size(&index->index) -
+				tt_bitset_index_count(&index->index, bit);
 	}
 
 	/* Call generic method */
@@ -515,6 +517,6 @@ memtx_bitset_index_new(struct memtx_engine *memtx, struct index_def *def)
 		panic("failed to allocate memtx bitset index");
 #endif /* #ifndef OLD_GOOD_BITSET */
 
-	bitset_index_create(&index->index, realloc);
+	tt_bitset_index_create(&index->index, realloc);
 	return index;
 }
diff --git a/src/box/memtx_bitset.h b/src/box/memtx_bitset.h
index 0b8f48a..62971dd 100644
--- a/src/box/memtx_bitset.h
+++ b/src/box/memtx_bitset.h
@@ -51,7 +51,7 @@ struct mh_bitset_index_t;
 
 struct memtx_bitset_index {
 	struct index base;
-	struct bitset_index index;
+	struct tt_bitset_index index;
 #ifndef OLD_GOOD_BITSET
 	struct matras *id_to_tuple;
 	struct mh_bitset_index_t *tuple_to_id;
diff --git a/src/lib/bitset/bitset.c b/src/lib/bitset/bitset.c
index ae2a033..f785adf 100644
--- a/src/lib/bitset/bitset.c
+++ b/src/lib/bitset/bitset.c
@@ -37,73 +37,78 @@
 #include <assert.h>
 
 void
-bitset_create(struct bitset *bitset, void *(*realloc)(void *ptr, size_t size))
+tt_bitset_create(struct tt_bitset *bitset,
+		 void *(*realloc)(void *ptr, size_t size))
 {
 	memset(bitset, 0, sizeof(*bitset));
 	bitset->realloc = realloc;
 
 	/* Initialize pages tree */
-	bitset_pages_new(&bitset->pages);
+	tt_bitset_pages_new(&bitset->pages);
 }
 
-static struct bitset_page *
-bitset_destroy_iter_cb(bitset_pages_t *t, struct bitset_page *page, void *arg)
+static struct tt_bitset_page *
+tt_bitset_destroy_iter_cb(tt_bitset_pages_t *t, struct tt_bitset_page *page,
+			  void *arg)
 {
 	(void) t;
-	struct bitset *bitset = (struct bitset *) arg;
-	bitset_page_destroy(page);
+	struct tt_bitset *bitset = (struct tt_bitset *) arg;
+	tt_bitset_page_destroy(page);
 	bitset->realloc(page, 0);
 	return NULL;
 }
 
 void
-bitset_destroy(struct bitset *bitset)
+tt_bitset_destroy(struct tt_bitset *bitset)
 {
-	bitset_pages_iter(&bitset->pages, NULL, bitset_destroy_iter_cb, bitset);
+	tt_bitset_pages_iter(&bitset->pages, NULL, tt_bitset_destroy_iter_cb,
+			     bitset);
 	memset(&bitset->pages, 0, sizeof(bitset->pages));
 }
 
 bool
-bitset_test(struct bitset *bitset, size_t pos)
+tt_bitset_test(struct tt_bitset *bitset, size_t pos)
 {
-	struct bitset_page key;
-	key.first_pos = bitset_page_first_pos(pos);
+	struct tt_bitset_page key;
+	key.first_pos = tt_bitset_page_first_pos(pos);
 
 	/* Find a page in pages tree */
-	struct bitset_page *page = bitset_pages_search(&bitset->pages, &key);
+	struct tt_bitset_page *page =
+		tt_bitset_pages_search(&bitset->pages, &key);
 	if (page == NULL)
 		return false;
 
 	assert(page->first_pos <= pos && pos < page->first_pos +
 	       BITSET_PAGE_DATA_SIZE * CHAR_BIT);
-	return bit_test(bitset_page_data(page), pos - page->first_pos);
+	return bit_test(tt_bitset_page_data(page), pos - page->first_pos);
 }
 
 int
-bitset_set(struct bitset *bitset, size_t pos)
+tt_bitset_set(struct tt_bitset *bitset, size_t pos)
 {
-	struct bitset_page key;
-	key.first_pos = bitset_page_first_pos(pos);
+	struct tt_bitset_page key;
+	key.first_pos = tt_bitset_page_first_pos(pos);
 
 	/* Find a page in pages tree */
-	struct bitset_page *page = bitset_pages_search(&bitset->pages, &key);
+	struct tt_bitset_page *page =
+		tt_bitset_pages_search(&bitset->pages, &key);
 	if (page == NULL) {
 		/* Allocate a new page */
-		size_t size = bitset_page_alloc_size(bitset->realloc);
+		size_t size = tt_bitset_page_alloc_size(bitset->realloc);
 		page = bitset->realloc(NULL, size);
 		if (page == NULL)
 			return -1;
 
-		bitset_page_create(page);
+		tt_bitset_page_create(page);
 		page->first_pos = key.first_pos;
 
 		/* Insert the page into pages tree */
-		bitset_pages_insert(&bitset->pages, page);
+		tt_bitset_pages_insert(&bitset->pages, page);
 	}
 
 	assert(page->first_pos <= pos && pos < page->first_pos +
 	       BITSET_PAGE_DATA_SIZE * CHAR_BIT);
-	bool prev = bit_set(bitset_page_data(page), pos - page->first_pos);
+	bool prev = bit_set(tt_bitset_page_data(page), pos - page->first_pos);
 	if (prev) {
 		/* Value has not changed */
 		return 1;
@@ -116,19 +121,20 @@ bitset_set(struct bitset *bitset, size_t pos)
 }
 
 int
-bitset_clear(struct bitset *bitset, size_t pos)
+tt_bitset_clear(struct tt_bitset *bitset, size_t pos)
 {
-	struct bitset_page key;
-	key.first_pos = bitset_page_first_pos(pos);
+	struct tt_bitset_page key;
+	key.first_pos = tt_bitset_page_first_pos(pos);
 
 	/* Find a page in the pages tree */
-	struct bitset_page *page = bitset_pages_search(&bitset->pages, &key);
+	struct tt_bitset_page *page =
+		tt_bitset_pages_search(&bitset->pages, &key);
 	if (page == NULL)
 		return 0;
 
 	assert(page->first_pos <= pos && pos < page->first_pos +
 	       BITSET_PAGE_DATA_SIZE * CHAR_BIT);
-	bool prev = bit_clear(bitset_page_data(page), pos - page->first_pos);
+	bool prev = bit_clear(tt_bitset_page_data(page), pos - page->first_pos);
 	if (!prev) {
 		return 0;
 	}
@@ -140,9 +146,9 @@ bitset_clear(struct bitset *bitset, size_t pos)
 
 	if (page->cardinality == 0) {
 		/* Remove the page from the pages tree */
-		bitset_pages_remove(&bitset->pages, page);
+		tt_bitset_pages_remove(&bitset->pages, page);
 		/* Free the page */
-		bitset_page_destroy(page);
+		tt_bitset_page_destroy(page);
 		bitset->realloc(page, 0);
 	}
 
@@ -150,33 +156,33 @@ bitset_clear(struct bitset *bitset, size_t pos)
 }
 
 extern inline size_t
-bitset_cardinality(const struct bitset *bitset);
+tt_bitset_cardinality(const struct tt_bitset *bitset);
 
 void
-bitset_info(struct bitset *bitset, struct bitset_info *info)
+tt_bitset_info(struct tt_bitset *bitset, struct tt_bitset_info *info)
 {
 	memset(info, 0, sizeof(*info));
 	info->page_data_size = BITSET_PAGE_DATA_SIZE;
-	info->page_total_size = bitset_page_alloc_size(bitset->realloc);
+	info->page_total_size = tt_bitset_page_alloc_size(bitset->realloc);
 	info->page_data_alignment = BITSET_PAGE_DATA_ALIGNMENT;
 
 	size_t cardinality_check = 0;
-	struct bitset_page *page = bitset_pages_first(&bitset->pages);
+	struct tt_bitset_page *page = tt_bitset_pages_first(&bitset->pages);
 	while (page != NULL) {
 		info->pages++;
 		cardinality_check += page->cardinality;
-		page = bitset_pages_next(&bitset->pages, page);
+		page = tt_bitset_pages_next(&bitset->pages, page);
 	}
 
-	assert(bitset_cardinality(bitset) == cardinality_check);
+	assert(tt_bitset_cardinality(bitset) == cardinality_check);
 }
 
 #if defined(DEBUG)
 void
-bitset_dump(struct bitset *bitset, int verbose, FILE *stream)
+tt_bitset_dump(struct tt_bitset *bitset, int verbose, FILE *stream)
 {
-	struct bitset_info info;
-	bitset_info(bitset, &info);
+	struct tt_bitset_info info;
+	tt_bitset_info(bitset, &info);
 
 	size_t PAGE_BIT = (info.page_data_size * CHAR_BIT);
 
@@ -225,8 +231,8 @@ bitset_dump(struct bitset *bitset, int verbose, FILE *stream)
 
 	fprintf(stream, "    " "pages = {\n");
 
-	for (struct bitset_page *page = bitset_pages_first(&bitset->pages);
-	     page != NULL; page = bitset_pages_next(&bitset->pages, page)) {
+	for (struct tt_bitset_page *page = tt_bitset_pages_first(&bitset->pages);
+	     page != NULL; page = tt_bitset_pages_next(&bitset->pages, page)) {
 
 		size_t page_last_pos = page->first_pos
 				+ BITSET_PAGE_DATA_SIZE * CHAR_BIT;



More information about the Tarantool-patches mailing list