[tarantool-patches] Re: [PATCH v6 3/4] sql: space_def* instead of Table* in Expr

Kirill Shcherbatov kshcherbatov at tarantool.org
Wed May 16 16:10:26 MSK 2018


> 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 *);





More information about the Tarantool-patches mailing list