From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id E0A6B2880D for ; Thu, 31 May 2018 07:22:59 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YCsKfyOvhVyZ for ; Thu, 31 May 2018 07:22:59 -0400 (EDT) Received: from smtpng2.m.smailru.net (smtpng2.m.smailru.net [94.100.179.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 9B634284FB for ; Thu, 31 May 2018 07:22:59 -0400 (EDT) From: Kirill Shcherbatov Subject: [tarantool-patches] [PATCH v1 3/4] box: introduce box_space_id_by_name Date: Thu, 31 May 2018 14:22:52 +0300 Message-Id: <95c32aa69c7040aa5a63164e19de8ac8f06d9ce3.1527765756.git.kshcherbatov@tarantool.org> In-Reply-To: References: In-Reply-To: References: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: tarantool-patches@freelists.org Cc: v.shpilevoy@tarantool.org, Kirill Shcherbatov 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