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 E5CF06EC56; Fri, 30 Jul 2021 10:11:52 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org E5CF06EC56 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1627629113; bh=nCHQQIyphZfsrKXxB94sCcDUvOfoCZAWEIgjpBkpfrI=; h=To:Cc:Date:Subject:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=NlWJ/jr9yOMonhhwUIjnMNCTWn+3hfmpj/jc3A7R5gkaNmdkuqeDmAWh3/R824Q0k EBbcoiFziN8Up7VcD/NGeZ4Gu8qNrlcnn6kwf1FDnilYI2AnyFo0juZW+RrXCqLfKD KkXunFCfF4QRTOY2w5wzbmrjiXzyawCpLtyHToj4= Received: from smtpng1.i.mail.ru (smtpng1.i.mail.ru [94.100.181.251]) (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 C88A26EC55 for ; Fri, 30 Jul 2021 10:11:50 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org C88A26EC55 Received: by smtpng1.m.smailru.net with esmtpa (envelope-from ) id 1m9MgQ-0006NM-1G; Fri, 30 Jul 2021 10:11:50 +0300 To: tsafin@tarantool.org Cc: tarantool-patches@dev.tarantool.org Date: Fri, 30 Jul 2021 10:11:49 +0300 Message-Id: X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD941C43E597735A9C366EE405EC28A2001F8302D8429E0DE58182A05F53808504064AA5F36A227CD36540F701340BD3AC241FA8994ED0E07C559D6125C1FFB9152 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE70043D879A87EF1BCEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006379F6495389D012EA98638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8DA53761FCEAC599E2C5E354ADCA43CFE117882F4460429724CE54428C33FAD305F5C1EE8F4F765FCAE9A1BBD95851C5BA471835C12D1D9774AD6D5ED66289B52BA9C0B312567BB23117882F446042972877693876707352033AC447995A7AD18618001F51B5FD3F9D2E47CDBA5A96583BA9C0B312567BB231DD303D21008E29813377AFFFEAFD269A417C69337E82CC2E827F84554CEF50127C277FBC8AE2E8BA83251EDC214901ED5E8D9A59859A8B66F6A3E018CF4DC80089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-C1DE0DAB: C20DE7B7AB408E4181F030C43753B8186998911F362727C414F749A5E30D975C82A4B7DEF7839881BF3E9F74C2F115BD7B91C04C192EE8249C2B6934AE262D3EE7EAB7254005DCEDD39702B95798B1671E0A4E2319210D9B64D260DF9561598F01A9E91200F654B0D1E3F5DE2301FFC68E8E86DC7131B365E7726E8460B7C23C X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34728AF701C68E45394208C3EAFF0A49C83A02554AB8BF674C93AB030D136016F66EBBFF1954458C111D7E09C32AA3244C92D21DE2E840D5C39D1AC88BA1EA99FD30363D8B7DA7DD44729B2BEF169E0186 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojWBddABnKmoJEg22kSwjHsQ== X-Mailru-Sender: 689FA8AB762F7393C37E3C1AEC41BA5D810D5CD84EF9422D697BE10530FACE4F83D72C36FC87018B9F80AB2734326CD2FB559BB5D741EB96352A0ABBE4FDA4210A04DAD6CC59E33667EA787935ED9F1B X-Mras: Ok Subject: [Tarantool-patches] [PATCH v2 0/3] Fix explicit casts 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: Mergen Imeev via Tarantool-patches Reply-To: imeevma@tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" This patch fixes the explicit cast to comply with the new rules. According to these rules, BOOLEAN and VARBINARY values can no longer be cast to numeric types, and numeric values can no longer be cast to BOOLEAN. https://github.com/tarantool/tarantool/issues/4470 https://github.com/tarantool/tarantool/tree/imeevma/gh-4470-fix-explicit-cast Changes in v2: - Change of str_to_bool() were moved in new patch. Mergen Imeev (3): sql: disallow explicit cast of BOOLEAN to number sql: disallow explicit cast of VARBINARY to number sql: fix STRING to BOOLEAN explicit cast .../unreleased/gh-4470-explicit-cast.md | 8 + src/box/sql/mem.c | 98 +++------ test/sql-tap/cast.test.lua | 186 +++++++++++++++--- test/sql-tap/cse.test.lua | 18 +- test/sql-tap/e_select1.test.lua | 3 +- ...-4766-wrong-cast-from-blob-to-int.test.lua | 40 ---- test/sql-tap/in1.test.lua | 17 +- test/sql-tap/misc3.test.lua | 2 +- test/sql-tap/numcast.test.lua | 18 +- test/sql/boolean.result | 71 +++---- test/sql/boolean.test.sql | 13 +- test/sql/types.result | 14 +- 12 files changed, 271 insertions(+), 217 deletions(-) create mode 100644 changelogs/unreleased/gh-4470-explicit-cast.md delete mode 100755 test/sql-tap/gh-4766-wrong-cast-from-blob-to-int.test.lua -- 2.25.1