From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id A8DF56F852; Tue, 16 Nov 2021 00:39:42 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org A8DF56F852 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1637012382; bh=Vhs4rdhym0vVJtERV55VyqRwJfPZa1U3qhhHIMBPibg=; h=Date:To:Cc:References:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=T5YHz4GrwDOQgzE1fSVGaH2JyFCGqiJ67pvztJ1jrVs6+xJ2Em8Rrxa1rJSSdcnxz yXAmevzQDLSOwAlhLBhnYNxdO9gazE02+2AEll+a5h1z6OSo92lYjPOju8nuJSbvUi ebgOXORo3rv3vJENv/ee3RmDnWnYLdPrAIQ4p1/k= Received: from smtp40.i.mail.ru (smtp40.i.mail.ru [94.100.177.100]) (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 15D936F852 for ; Tue, 16 Nov 2021 00:39:41 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 15D936F852 Received: by smtp40.i.mail.ru with esmtpa (envelope-from ) id 1mmjhU-0005XF-BM; Tue, 16 Nov 2021 00:39:40 +0300 Message-ID: <330552df-201e-82ac-a841-4dbb55c2a9d6@tarantool.org> Date: Mon, 15 Nov 2021 22:39:38 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Content-Language: en-US To: imeevma@tarantool.org Cc: tarantool-patches@dev.tarantool.org References: <351cadea401fc74c843e3e414d0da5242336563f.1636717171.git.imeevma@gmail.com> In-Reply-To: <351cadea401fc74c843e3e414d0da5242336563f.1636717171.git.imeevma@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD9731B3922EC063979B1F6335FDD7DA46529643274CFE4D7E800894C459B0CD1B9F5954B5E1802E51225590C40A1524E9CCE2439CA821501961F641D77257F6382 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE75C385DEB91CEC222EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637995C329E4A8C93938638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8D34C6312078FAA3EF66C97657B77E6A1117882F4460429724CE54428C33FAD305F5C1EE8F4F765FCF1175FABE1C0F9B6A471835C12D1D9774AD6D5ED66289B52BA9C0B312567BB23117882F446042972877693876707352033AC447995A7AD182CC0D3CB04F14752D2E47CDBA5A96583BA9C0B312567BB2376E601842F6C81A19E625A9149C048EE1B544F03EFBC4D574DB3626BA78294CCD8FC6C240DEA7642DBF02ECDB25306B2B78CF848AE20165D0A6AB1C7CE11FEE3D72B8CFDDF92C9822D242C3BD2E3F4C6C4224003CC836476EA7A3FFF5B025636E2021AF6380DFAD1A18204E546F3947CB11811A4A51E3B096D1867E19FE1407959CC434672EE6371089D37D7C0E48F6C8AA50765F7900637AD0424077D726551EFF80C71ABB335746BA297DBC24807EABDAD6C7F3747799A X-B7AD71C0: AC4F5C86D027EB782CDD5689AFBDA7A213B5FB47DCBC3458834459D11680B505FF26B56D1EFBAB8DE469006DEA42ADD7 X-C1DE0DAB: 0D63561A33F958A52C2CEDB5843B22803C0829457FE75B964C4BEC18186B4378D59269BC5F550898D99A6476B3ADF6B47008B74DF8BB9EF7333BD3B22AA88B938A852937E12ACA754E2A133C74F7AB4F410CA545F18667F91A7EA1CDA0B5A7A0 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34EE6683D9E546CC62E13B03E0EBA9540330D78F0562BD1D54736788A6690722A7DDF1FA0961E1E5A41D7E09C32AA3244CC92F502C5F20DD97D5DC492C9E2D1299853296C06374E602729B2BEF169E0186 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojTPuBkNIN61Hy1+tjH7sETw== X-Mailru-Sender: A897EC63681333B63B4725CD42BE27D2FF0AE3FFDA826B196720616E21C6E4ADA34552F20D3515977B4F2DF44667E230E66B5C1DBFD5D09D245155DCEF7B7CF8F7F907C8983C07697402F9BA4338D657ED14614B50AE0675 X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH v1 1/1] sql: introduce DECIMAL to SQL built-in functions X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Vladislav Shpilevoy via Tarantool-patches Reply-To: Vladislav Shpilevoy Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Hi! Thanks for the patch! > diff --git a/src/box/sql/func.c b/src/box/sql/func.c > index 5abaf490d..684fcc275 100644 > --- a/src/box/sql/func.c > +++ b/src/box/sql/func.c > @@ -258,6 +258,20 @@ func_abs_double(struct sql_context *ctx, int argc, const struct Mem *argv) > mem_set_double(ctx->pOut, arg->u.r < 0 ? -arg->u.r : arg->u.r); > } > > +static void > +func_abs_dec(struct sql_context *ctx, int argc, const struct Mem *argv) > +{ > + assert(argc == 1); > + (void)argc; > + const struct Mem *arg = &argv[0]; > + if (mem_is_null(arg)) > + return; > + assert(mem_is_dec(arg)); > + decimal_t dec; > + decimal_abs(&dec, &arg->u.d); > + mem_set_dec(ctx->pOut, &dec); You should be able to use the same argument both for in and out values: decimal_abs(&arg->u.d, &arg->u.d); In the 'documentation' of decNumber it is said to be allowed. See the comment on the function 'decNumberAbs()'.