From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp33.i.mail.ru (smtp33.i.mail.ru [94.100.177.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 72A45469719 for ; Thu, 1 Oct 2020 06:05:25 +0300 (MSK) Date: Thu, 1 Oct 2020 06:05:38 +0300 From: Alexander Turenko Message-ID: <20201001030538.iar7bimdtm63j7rc@tkn_work_nb> References: <578d97ed-92a0-0154-a244-f94c36f32873@tarantool.org> <20200929050340.hwglcb2s4yyadcjr@tkn_work_nb> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Subject: Re: [Tarantool-patches] [PATCH 2.X 2/7] module api: export box_key_def_dup List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vladislav Shpilevoy Cc: tarantool-patches@dev.tarantool.org On Wed, Sep 30, 2020 at 01:19:19AM +0200, Vladislav Shpilevoy wrote: > On 29.09.2020 07:03, Alexander Turenko wrote: > > On Tue, Sep 29, 2020 at 12:21:02AM +0200, Vladislav Shpilevoy wrote: > >> Thanks for the patch! > >> > >> See 2 comments below. > >> > >> On 24.09.2020 19:00, Timur Safin wrote: > >>> Exporting `box_key_def_dup` as accessor to the internal `key_def_dup` > >> > >> 1. Do you really need this method? It looks like it can be done by > >> > >> old_parts = box_key_def_dump_parts(old_key_def); > >> new_key_def = box_key_def_new_ex(old_parts); > >> > >> So the method seems redundant. > > > > It is not strictly necessary, however using of box_key_def_dup() would > > be less error-prone (no extra allocations) and the resulting code would > > be more readable. My vote is for this method if you have no strict > > objections. > > Regarding this one I am not strictly against, but I don't like overloading > module API with too many methods, especially with the trivial ones, which > can be easily implemented via the others in a few lines. I'll not strictly against if Timur will decide to going this way, but personally I would not be very comfortable with copying over serialization-deserialization if I would be author of the external module.