[Tarantool-patches] [PATCH 12/14] WIP: module api: expose box_key_def_merge()
Alexander Turenko
alexander.turenko at tarantool.org
Wed Sep 23 04:14:17 MSK 2020
Part of #5273
---
src/box/key_def_api.c | 6 ++++++
src/box/key_def_api.h | 14 ++++++++++++++
src/exports.h | 1 +
3 files changed, 21 insertions(+)
diff --git a/src/box/key_def_api.c b/src/box/key_def_api.c
index b8a0d5807..740fb4339 100644
--- a/src/box/key_def_api.c
+++ b/src/box/key_def_api.c
@@ -292,4 +292,10 @@ box_tuple_compare_with_key(box_tuple_t *tuple_a, const char *key_b,
}
+box_key_def_t *
+box_key_def_merge(const box_key_def_t *first, const box_key_def_t *second)
+{
+ return key_def_merge(first, second);
+}
+
/* }}} API functions implementations */
diff --git a/src/box/key_def_api.h b/src/box/key_def_api.h
index 16934eeb4..0cef7d1ea 100644
--- a/src/box/key_def_api.h
+++ b/src/box/key_def_api.h
@@ -229,6 +229,20 @@ API_EXPORT int
box_tuple_compare_with_key(box_tuple_t *tuple_a, const char *key_b,
box_key_def_t *key_def);
+/**
+ * Allocate a new key_def with a set union of key parts from
+ * first and second key defs.
+ *
+ * Parts of the new key_def consist of the first key_def's parts
+ * and those parts of the second key_def that were not among the
+ * first parts.
+ *
+ * @retval not NULL Ok.
+ * @retval NULL Memory error.
+ */
+API_EXPORT box_key_def_t *
+box_key_def_merge(const box_key_def_t *first, const box_key_def_t *second);
+
/** \endcond public */
/*
diff --git a/src/exports.h b/src/exports.h
index 45a62421e..be8144036 100644
--- a/src/exports.h
+++ b/src/exports.h
@@ -31,6 +31,7 @@ EXPORT(box_iterator_free)
EXPORT(box_iterator_next)
EXPORT(box_key_def_delete)
EXPORT(box_key_def_dump_parts)
+EXPORT(box_key_def_merge)
EXPORT(box_key_def_new)
EXPORT(box_key_def_new_ex)
EXPORT(box_key_part_def_create)
--
2.25.0
More information about the Tarantool-patches
mailing list