[tarantool-patches] [PATCH v1 3/4] box: introduce box_space_id_by_name
Kirill Shcherbatov
kshcherbatov at tarantool.org
Thu May 31 14:22:52 MSK 2018
Part of #3273.
---
src/box/box.cc | 10 ++++++++--
src/box/box.h | 14 ++++++++++++++
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/src/box/box.cc b/src/box/box.cc
index 02722d6..9540d85 100644
--- a/src/box/box.cc
+++ b/src/box/box.cc
@@ -877,7 +877,7 @@ box_return_tuple(box_function_ctx_t *ctx, box_tuple_t *tuple)
/* schema_find_id()-like method using only public API */
uint32_t
-box_space_id_by_name(const char *name, uint32_t len)
+space_id_by_name(uint32_t system_space_id, const char *name, uint32_t len)
{
if (len > BOX_NAME_MAX)
return BOX_ID_NIL;
@@ -892,7 +892,7 @@ box_space_id_by_name(const char *name, uint32_t len)
/* NOTE: error and missing key cases are indistinguishable */
box_tuple_t *tuple;
- if (box_index_get(BOX_VSPACE_ID, 2, begin, end, &tuple) != 0)
+ if (box_index_get(system_space_id, 2, begin, end, &tuple) != 0)
return BOX_ID_NIL;
if (tuple == NULL)
return BOX_ID_NIL;
@@ -902,6 +902,12 @@ box_space_id_by_name(const char *name, uint32_t len)
}
uint32_t
+box_space_id_by_name(const char *name, uint32_t len)
+{
+ return space_id_by_name(BOX_VSPACE_ID, name, len);
+}
+
+uint32_t
box_index_id_by_name(uint32_t space_id, const char *name, uint32_t len)
{
if (len > BOX_NAME_MAX)
diff --git a/src/box/box.h b/src/box/box.h
index bdd5d5c..ba33113 100644
--- a/src/box/box.h
+++ b/src/box/box.h
@@ -220,6 +220,20 @@ API_EXPORT int
box_return_tuple(box_function_ctx_t *ctx, box_tuple_t *tuple);
/**
+ * Find space id by name in specified system space.
+ *
+ * This function performs SELECT request to _vspace system space.
+ * \param system_space_id space to lookup name.
+ * \param name space name
+ * \param len length of \a name
+ * \retval BOX_ID_NIL on error or if not found (check box_error_last())
+ * \retval space_id otherwise
+ * \sa box_index_id_by_name
+ */
+uint32_t
+space_id_by_name(uint32_t system_space_id, const char *name, uint32_t len);
+
+/**
* Find space id by name.
*
* This function performs SELECT request to _vspace system space.
--
2.7.4
More information about the Tarantool-patches
mailing list