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 208486EC55; Mon, 26 Jul 2021 22:47:25 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 208486EC55 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1627328845; bh=xbW6lS5H8apEFEUM0htLsZRMa4SGaKLE/SMIc+rur/A=; h=To:Cc:References:Date:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=lb3UVdEmIe6PhGdM2wQBMdzHVeMyZiGHfTn2lrjzKdkN5d+9rXYxRgZTG+1ETK3cE cJO+Gb4+CpkUNJAdoEhuFQG9iN7oWASrfTwg6SRQxAlzuhCCLKA2HnPY6yCdhZHcHH 6tRmw0ekPX6qwzLE79RFYD7iRiD4Uxw2HWYFZuk0= Received: from smtpng3.i.mail.ru (smtpng3.i.mail.ru [94.100.177.149]) (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 7CC736EC55 for ; Mon, 26 Jul 2021 22:47:23 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 7CC736EC55 Received: by smtpng3.m.smailru.net with esmtpa (envelope-from ) id 1m86ZO-0001i9-Q3; Mon, 26 Jul 2021 22:47:23 +0300 To: imeevma@tarantool.org Cc: tarantool-patches@dev.tarantool.org References: <1a255e29a58457eb9046cd1cd9940f2be1acc4e6.1626879974.git.imeevma@gmail.com> Message-ID: Date: Mon, 26 Jul 2021 21:47:21 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <1a255e29a58457eb9046cd1cd9940f2be1acc4e6.1626879974.git.imeevma@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-7564579A: 78E4E2B564C1792B X-77F55803: 4F1203BC0FB41BD941C43E597735A9C34755E0A9F196FCB739C645213AB7C8E0182A05F538085040349A8BB1ACD3AB561D2CF225FB2C4276428BB034EDD12774A2B0161D72EA6794 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE77603ADE015AF816DEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637F91103FA893F53AB8638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D878369F3D68EE8A02625F9259BEFAE298117882F4460429724CE54428C33FAD305F5C1EE8F4F765FC8C7ADC89C2F0B2A5A471835C12D1D9774AD6D5ED66289B52BA9C0B312567BB23117882F446042972877693876707352033AC447995A7AD1828451B159A507268D2E47CDBA5A96583BA9C0B312567BB231DD303D21008E29813377AFFFEAFD269A417C69337E82CC2E827F84554CEF50127C277FBC8AE2E8BA83251EDC214901ED5E8D9A59859A8B613439FA09F3DCB32089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-C1DE0DAB: 0D63561A33F958A5FE8E84691E926E72714AF5839ACD02F8B87F974854BA66B8D59269BC5F550898D99A6476B3ADF6B47008B74DF8BB9EF7333BD3B22AA88B938A852937E12ACA7517A45118377F5F9E8E8E86DC7131B365E7726E8460B7C23C X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D3435B1F14A93C4073F8F5460C00340937077C2E334C7FEEDBA8588D19D9C92D62B0B0F7F77673AE68A1D7E09C32AA3244C0705325939C63B12841B7471646391846C24832127668422729B2BEF169E0186 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojMEANdStWW5/r+bnSG4S8SA== X-Mailru-Sender: 689FA8AB762F7393C37E3C1AEC41BA5DFD8CDBDC4B91CE9597D393931C896F143841015FED1DE5223CC9A89AB576DD93FB559BB5D741EB963CF37A108A312F5C27E8A8C3839CE0E267EA787935ED9F1B X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH v1 1/1] sql: fix cast of small negative DOUBLE to INTEGER 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" Thanks for the patch! > diff --git a/changelogs/unreleased/gh-6225-cast-of-small-negative-double-to-int.md b/changelogs/unreleased/gh-6225-cast-of-small-negative-double-to-int.md > new file mode 100644 > index 000000000..9f5d62231 > --- /dev/null > +++ b/changelogs/unreleased/gh-6225-cast-of-small-negative-double-to-int.md > @@ -0,0 +1,4 @@ > +## bugfix/sql > + > +* Fixed assert on cast of DOUBLE value that greater than -1.0 and less than 0.0 > + to INTEGER and UNSIGNED (gh-6255). 1. I tried to revert the patch and only got an error, not an assertion. > diff --git a/src/box/sql/mem.c b/src/box/sql/mem.c > index e4ce233e0..6b95e41d3 100644 > --- a/src/box/sql/mem.c > +++ b/src/box/sql/mem.c > @@ -1322,7 +1322,7 @@ mem_get_uint(const struct Mem *mem, uint64_t *u) > } > if (mem->type == MEM_TYPE_DOUBLE) { > double d = mem->u.r; > - if (d >= 0 && d < (double)UINT64_MAX) { > + if (d > -1.0 && d < (double)UINT64_MAX) { 2. I see there are 6 changes extending 0 to -1.0, but only 2 tests. Can you cover all the changed places?