From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 6F57124095 for ; Wed, 16 May 2018 09:10:29 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qqRrq-L_eTBi for ; Wed, 16 May 2018 09:10:29 -0400 (EDT) Received: from smtpng2.m.smailru.net (smtpng2.m.smailru.net [94.100.179.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 239C822522 for ; Wed, 16 May 2018 09:10:29 -0400 (EDT) Subject: [tarantool-patches] Re: [PATCH v6 3/4] sql: space_def* instead of Table* in Expr References: <6702e8ecd47238730a4ba27e87fe7bf082a874c6.1526403792.git.kshcherbatov@tarantool.org> <3d8ffe27-4d38-3d8d-eb08-d40adfc27783@tarantool.org> From: Kirill Shcherbatov Message-ID: <90d29ce6-24ef-36c7-0004-075bf026bea3@tarantool.org> Date: Wed, 16 May 2018 16:10:26 +0300 MIME-Version: 1.0 In-Reply-To: <3d8ffe27-4d38-3d8d-eb08-d40adfc27783@tarantool.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: tarantool-patches@freelists.org Cc: "v.shpilevoy@tarantool.org" > 1. Lets move this comment to the heade> 2. Same. > 3. Same. diff --git a/src/box/sql/expr.c b/src/box/sql/expr.c index 9a8f045..544fe3d 100644 --- a/src/box/sql/expr.c +++ b/src/box/sql/expr.c @@ -3531,14 +3531,6 @@ sqlite3ExprCodeLoadIndexColumn(Parse * pParse, /* The parsing context */ } } -/** - * Generate code to extract the value of the iCol-th column of a table. - * @param v The VDBE under construction. - * @param space_def Space definition. - * @param iTabCur The PK cursor. - * @param iCol Index of the column to extract. - * @param regOut Extract the value into this register. - */ void sqlite3ExprCodeGetColumnOfTable(Vdbe *v, struct space_def *space_def, int iTabCur, int iCol, int regOut) @@ -3549,22 +3541,6 @@ sqlite3ExprCodeGetColumnOfTable(Vdbe *v, struct space_def *space_def, } } -/** - * Generate code that will extract the iColumn-th column from - * table pTab and store the column value in a register. - * - * An effort is made to store the column value in register iReg. - * This is not garanteeed for GetColumn() - the result can be - * stored in any register. But the result is guaranteed to land - * in register iReg for GetColumnToReg(). - * @param pParse Parsing and code generating context. - * @param space_def Space definition. - * @param iColumn Index of the table column. - * @param iTable The cursor pointing to the table. - * @param iReg Store results here. - * @param p5 P5 value for OP_Column + FLAGS. - * @return iReg value. - */ int sqlite3ExprCodeGetColumn(Parse *pParse, struct space_def *space_def, int iColumn, int iTable, int iReg, u8 p5) @@ -3591,16 +3567,6 @@ sqlite3ExprCodeGetColumn(Parse *pParse, struct space_def *space_def, return iReg; } -/** - * Generate code that will extract the iColumn-th column from - * table pTab and store the column value in a register, copy the - * result. - * @param pParse Parsing and code generating context. - * @param space_def Space definition. - * @param iColumn Index of the table column. - * @param iTable The cursor pointing to the table. - * @param iReg Store results here. - */ void sqlite3ExprCodeGetColumnToReg(Parse * pParse, struct space_def * space_def, int iColumn, int iTable, int iReg) diff --git a/src/box/sql/sqliteInt.h b/src/box/sql/sqliteInt.h index 75699ae..04f5197 100644 --- a/src/box/sql/sqliteInt.h +++ b/src/box/sql/sqliteInt.h @@ -3585,9 +3585,47 @@ int sqlite3WhereOkOnePass(WhereInfo *, int *); #define ONEPASS_SINGLE 1 /* ONEPASS valid for a single row update */ #define ONEPASS_MULTI 2 /* ONEPASS is valid for multiple rows */ void sqlite3ExprCodeLoadIndexColumn(Parse *, Index *, int, int, int); + +/** + * Generate code that will extract the iColumn-th column from + * table pTab and store the column value in a register. + * + * An effort is made to store the column value in register iReg. + * This is not garanteeed for GetColumn() - the result can be + * stored in any register. But the result is guaranteed to land + * in register iReg for GetColumnToReg(). + * @param pParse Parsing and code generating context. + * @param space_def Space definition. + * @param iColumn Index of the table column. + * @param iTable The cursor pointing to the table. + * @param iReg Store results here. + * @param p5 P5 value for OP_Column + FLAGS. + * @return iReg value. + */ int sqlite3ExprCodeGetColumn(Parse *, struct space_def *, int, int, int, u8); + +/** + * Generate code that will extract the iColumn-th column from + * table pTab and store the column value in a register, copy the + * result. + * @param pParse Parsing and code generating context. + * @param space_def Space definition. + * @param iColumn Index of the table column. + * @param iTable The cursor pointing to the table. + * @param iReg Store results here. + */ void sqlite3ExprCodeGetColumnToReg(Parse *, struct space_def *, int, int, int); + +/** + * Generate code to extract the value of the iCol-th column of a table. + * @param v The VDBE under construction. + * @param space_def Space definition. + * @param iTabCur The PK cursor. + * @param iCol Index of the column to extract. + * @param regOut Extract the value into this register. + */ void sqlite3ExprCodeGetColumnOfTable(Vdbe *, struct space_def *, int, int, int); + void sqlite3ExprCodeMove(Parse *, int, int, int); void sqlite3ExprCacheStore(Parse *, int, int, int); void sqlite3ExprCachePush(Parse *);