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 0E02E6EC58; Sat, 20 Feb 2021 19:59:23 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 0E02E6EC58 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1613840363; bh=+aaTc1Tr79LvWRU9iRUX7MdaobwuiOxYzX3jdV/lBmI=; h=To:Cc:Date:Subject:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=jf4xJjOHczm1bZXqoPaa95Y3I5aiLY88S0AX08lWlt1x0juaXCRBQJdjV96sL2T3w r7AdX92mcjblHias6rSWLeuhHXqL/uol5qyl3sQt4V5mxR0EFYXnZtQGvUT/Il6L+2 dQJl3rEfwuFrIRaSWDeyT0I9Qrr8iQsgX2PETq8o= Received: from smtpng1.m.smailru.net (smtpng1.m.smailru.net [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 A601B6EC58 for ; Sat, 20 Feb 2021 19:59:21 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org A601B6EC58 Received: by smtpng1.m.smailru.net with esmtpa (envelope-from ) id 1lDVbE-0003Rf-AV; Sat, 20 Feb 2021 19:59:20 +0300 To: v.shpilevoy@tarantool.org, sergos@tarantool.org, tsafin@tarantool.org Cc: tarantool-patches@dev.tarantool.org Date: Sat, 20 Feb 2021 19:59:19 +0300 Message-Id: X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD975C3EC174F56692243410BA6471F0166336C1783AA96243D182A05F5380850401B77746287EDD71D8FB56A63C3CD4A9C9FE7FDF4C5FCF01586924DB1AF41E193 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE72AC9FB60380F23AEEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637670E1B164B70895C8638F802B75D45FF5571747095F342E8C7A0BC55FA0FE5FCF026C3B37F3540995E37297454DF702FBA64B90C537266F7389733CBF5DBD5E913377AFFFEAFD269176DF2183F8FC7C078FCF50C7EAF9C588941B15DA834481FCF19DD082D7633A0EF3E4896CB9E6436389733CBF5DBD5E9D5E8D9A59859A8B6BAA8CD687FCDB2EBCC7F00164DA146DA6F5DAA56C3B73B23C77107234E2CFBA567F23339F89546C55F5C1EE8F4F765FC08F9A42B2210255C75ECD9A6C639B01BBD4B6F7A4D31EC0BC0CAF46E325F83A522CA9DD8327EE4930A3850AC1BE2E735156CCFE7AF13BCA4B5C8C57E37DE458B4C7702A67D5C3316FA3894348FB808DBCF17F1EDFBC1FB573B503F486389A921A5CC5B56E945C8DA X-C1DE0DAB: C20DE7B7AB408E4181F030C43753B8186998911F362727C414F749A5E30D975C1A49BB5F61DD2787ABDC29692506B95EF4A1FCE0958240749C2B6934AE262D3EE7EAB7254005DCEDBAEE21E69E3F105C1E0A4E2319210D9B64D260DF9561598F01A9E91200F654B06CE7B4E551862B828E8E86DC7131B365E7726E8460B7C23C X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34C5CF6F4B28551E3F694F54DB46DEE23E5BEF036FA25298B9B65D342E454585D80C99746AC13699D71D7E09C32AA3244C252221602D11CABF978714245FCF5BF0F2F5F14F68F1805B927AC6DF5659F194 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojbL9S8ysBdXgdYUUcmovigwyqWrHnSJ1e X-Mailru-Sender: 689FA8AB762F73936BC43F508A063822655E9FB32C8F97466D2C4FB8B778A87483D72C36FC87018B9F80AB2734326CD2FB559BB5D741EB96352A0ABBE4FDA4210A04DAD6CC59E33667EA787935ED9F1B X-Mras: Ok Subject: [Tarantool-patches] [PATCH v3 0/2] Encapsulate MEM type changing and checking 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-set is part of issue #5818. It changes the way to check and change MEM from outside. However, there is almost no changes in functions that work with internal structure of MEM, most of which located in vdbemem.c. This will be done in another patch-set. https://github.com/tarantool/tarantool/issues/5818 https://github.com/tarantool/tarantool/tree/imeevma/gh-5818-encapsulate-mem-type-checking-and-changing Changes in v3: - Inlined most of the introduced functions to improve performance. - Some other fixes in code to improve performance. Changes in v2: - Squashed almost all patches. - Review fixes. Mergen Imeev (2): sql: Initialize MEM in sqlVdbeAllocUnpackedRecord() sql: Encapsulate MEM type changing and checking src/box/sql/func.c | 14 +- src/box/sql/sqlInt.h | 1 - src/box/sql/vdbe.c | 513 ++++++++++++++++++---------------------- src/box/sql/vdbeInt.h | 465 +++++++++++++++++++++++++++++++++--- src/box/sql/vdbeapi.c | 57 ++--- src/box/sql/vdbeaux.c | 360 ++++++++++++++-------------- src/box/sql/vdbemem.c | 146 +----------- src/box/sql/vdbesort.c | 9 +- src/box/sql/vdbetrace.c | 12 +- 9 files changed, 874 insertions(+), 703 deletions(-) -- 2.25.1