[tarantool-patches] Re: [PATCH v7 6/7] sql: export funcs defined on Expr, ExprList to sql.h
Kirill Shcherbatov
kshcherbatov at tarantool.org
Fri May 25 14:53:53 MSK 2018
> 1. Please, do not put extra white space after *.
> 2. Invalid indentation.
> 3. No pParse.
> 4. Wrong indentation.
> 5. Same.
> 6. Please, consider this diff:
diff --git a/src/box/sql.h b/src/box/sql.h
index ec4f298..2a87d14 100644
--- a/src/box/sql.h
+++ b/src/box/sql.h
@@ -190,7 +190,7 @@ sql_table_def_rebuild(struct sqlite3 *db, struct Table *table);
* @retval not NULL on success.
*/
struct ExprList *
-sql_expr_list_dup(struct sqlite3 * db, struct ExprList * p, int flags);
+sql_expr_list_dup(struct sqlite3 *db, struct ExprList * p, int flags);
/**
* Free AST pointed by expr list.
@@ -214,8 +214,8 @@ sql_expr_list_delete(struct sqlite3 *db, struct ExprList *expr_list);
* @retval not NULL on success.
*/
struct ExprList *
-sql_expr_list_append(struct sqlite3 * db, struct ExprList *expr_list,
- struct Expr *expr);
+sql_expr_list_append(struct sqlite3 *db, struct ExprList *expr_list,
+ struct Expr *expr);
/**
* Resolve names in expressions that can only reference a single table:
@@ -223,7 +223,7 @@ sql_expr_list_append(struct sqlite3 * db, struct ExprList *expr_list,
* * WHERE clauses on partial indices
* The Expr.iTable value for Expr.op==TK_COLUMN nodes of the expression
* is set to -1 and the Expr.iColumn value is set to the column number.
- * Any errors cause an error message to be set in pParse.
+ * Any errors cause an error message to be set in parser.
* @param parser Parsing context.
* @param table The table being referenced.
* @param type NC_IsCheck or NC_PartIdx or NC_IdxExpr.
diff --git a/src/box/sql/build.c b/src/box/sql/build.c
index 674f980..a30923c 100644
--- a/src/box/sql/build.c
+++ b/src/box/sql/build.c
@@ -2949,11 +2949,13 @@ sql_create_index(struct Parse *parse, struct Token *token,
*/
if (col_list == NULL) {
Token prevCol;
- sqlite3TokenInit(&prevCol, pTab->def->fields[
- pTab->def->field_count - 1].name);
- col_list = sql_expr_list_append(parse->db, NULL,
- sqlite3ExprAlloc(db, TK_ID,
- &prevCol, 0));
+ sqlite3TokenInit(&prevCol,
+ pTab->def->fields[
+ pTab->def->field_count - 1].name);
+ col_list =
+ sql_expr_list_append(parse->db, NULL,
+ sqlite3ExprAlloc(db, TK_ID,
+ &prevCol, 0));
if (col_list == NULL)
goto exit_create_index;
assert(col_list->nExpr == 1);
@@ -3023,7 +3025,7 @@ sql_create_index(struct Parse *parse, struct Token *token,
i++, col_listItem++) {
Expr *pCExpr; /* The i-th index expression */
sql_resolve_self_reference(parse, pTab, NC_IdxExpr,
- col_listItem->pExpr, NULL);
+ col_listItem->pExpr, NULL);
if (parse->nErr > 0)
goto exit_create_index;
pCExpr = sqlite3ExprSkipCollate(col_listItem->pExpr);
diff --git a/src/box/sql/expr.c b/src/box/sql/expr.c
index 4771b69..f11e84a 100644
--- a/src/box/sql/expr.c
+++ b/src/box/sql/expr.c
@@ -1446,38 +1446,37 @@ sqlite3ExprDup(sqlite3 * db, Expr * p, int flags)
struct ExprList *
sql_expr_list_dup(struct sqlite3 * db, struct ExprList *p, int flags)
{
- ExprList *pNew;
struct ExprList_item *pItem, *pOldItem;
int i;
- Expr *pPriorSelectCol = 0;
- assert(db != 0);
- if (p == 0)
- return 0;
- pNew = sqlite3DbMallocRawNN(db, sizeof(*pNew));
- if (pNew == 0)
- return 0;
+ Expr *pPriorSelectCol = NULL;
+ assert(db != NULL);
+ if (p == NULL)
+ return NULL;
+ ExprList *pNew = sqlite3DbMallocRawNN(db, sizeof(*pNew));
+ if (pNew == NULL)
+ return NULL;
pNew->nExpr = i = p->nExpr;
- if ((flags & EXPRDUP_REDUCE) == 0)
+ if ((flags & EXPRDUP_REDUCE) == 0) {
for (i = 1; i < p->nExpr; i += i) {
}
+ }
pNew->a = pItem = sqlite3DbMallocRawNN(db, i * sizeof(p->a[0]));
- if (pItem == 0) {
+ if (pItem == NULL) {
sqlite3DbFree(db, pNew);
- return 0;
+ return NULL;
}
pOldItem = p->a;
for (i = 0; i < p->nExpr; i++, pItem++, pOldItem++) {
Expr *pOldExpr = pOldItem->pExpr;
Expr *pNewExpr;
pItem->pExpr = sqlite3ExprDup(db, pOldExpr, flags);
- if (pOldExpr
- && pOldExpr->op == TK_SELECT_COLUMN
- && (pNewExpr = pItem->pExpr) != 0) {
+ if (pOldExpr != NULL && pOldExpr->op == TK_SELECT_COLUMN &&
+ (pNewExpr = pItem->pExpr) != NULL) {
assert(pNewExpr->iColumn == 0 || i > 0);
if (pNewExpr->iColumn == 0) {
assert(pOldExpr->pLeft == pOldExpr->pRight);
pPriorSelectCol = pNewExpr->pLeft =
- pNewExpr->pRight;
+ pNewExpr->pRight;
} else {
assert(i > 0);
assert(pItem[-1].pExpr != 0);
@@ -1619,7 +1618,7 @@ sqlite3SelectDup(sqlite3 * db, Select * p, int flags)
struct ExprList *
sql_expr_list_append(struct sqlite3 * db, struct ExprList *expr_list,
- struct Expr *expr)
+ struct Expr *expr)
{
assert(db != NULL);
if (expr_list == NULL) {
@@ -1650,7 +1649,7 @@ sql_expr_list_append(struct sqlite3 * db, struct ExprList *expr_list,
/* Avoid leaking memory if malloc has failed. */
sql_expr_delete(db, expr, false);
sql_expr_list_delete(db, expr_list);
- return 0;
+ return NULL;
}
/*
@@ -1836,7 +1835,7 @@ exprListDeleteNN(sqlite3 * db, ExprList * pList)
void
sql_expr_list_delete(sqlite3 *db, ExprList *expr_list)
{
- if (expr_list)
+ if (expr_list != NULL)
exprListDeleteNN(db, expr_list);
}
diff --git a/src/box/sql/fkey.c b/src/box/sql/fkey.c
index 3e30a44..ae3cc12 100644
--- a/src/box/sql/fkey.c
+++ b/src/box/sql/fkey.c
@@ -1378,8 +1378,8 @@ fkActionTrigger(Parse * pParse, /* Parse context */
}
pSelect = sqlite3SelectNew(pParse,
sql_expr_list_append(pParse->db,
- 0,
- pRaise),
+ NULL,
+ pRaise),
sqlite3SrcListAppend(db, 0,
&tFrom),
pWhere, 0, 0, 0, 0, 0, 0);
diff --git a/src/box/sql/resolve.c b/src/box/sql/resolve.c
index fd82119..53b6c66 100644
--- a/src/box/sql/resolve.c
+++ b/src/box/sql/resolve.c
@@ -1582,9 +1582,9 @@ void
sql_resolve_self_reference(struct Parse *parser, struct Table *table, int type,
struct Expr *expr, struct ExprList *expr_list)
{
- /* Fake SrcList for pParse->pNewTable */
+ /* Fake SrcList for parser->pNewTable */
SrcList sSrc;
- /* Name context for pParse->pNewTable */
+ /* Name context for parser->pNewTable */
NameContext sNC;
assert(type == NC_IsCheck || type == NC_PartIdx || type == NC_IdxExpr);
@@ -1597,7 +1597,7 @@ sql_resolve_self_reference(struct Parse *parser, struct Table *table, int type,
sNC.pParse = parser;
sNC.pSrcList = &sSrc;
sNC.ncFlags = type;
- if (sqlite3ResolveExprNames(&sNC, expr))
+ if (sqlite3ResolveExprNames(&sNC, expr) != 0)
return;
if (expr_list != NULL)
sqlite3ResolveExprListNames(&sNC, expr_list);
diff --git a/src/box/sql/select.c b/src/box/sql/select.c
index 41f0bf4..c8b37c6 100644
--- a/src/box/sql/select.c
+++ b/src/box/sql/select.c
@@ -150,9 +150,8 @@ sqlite3SelectNew(Parse * pParse, /* Parsing context */
pNew = &standin;
}
if (pEList == 0) {
- pEList =
- sql_expr_list_append(pParse->db, NULL,
- sqlite3Expr(db, TK_ASTERISK, 0));
+ pEList = sql_expr_list_append(pParse->db, NULL,
+ sqlite3Expr(db, TK_ASTERISK, 0));
}
struct session MAYBE_UNUSED *user_session;
user_session = current_session();
@@ -3190,9 +3189,8 @@ multiSelectOrderBy(Parse * pParse, /* Parsing context */
return SQLITE_NOMEM_BKPT;
pNew->flags |= EP_IntValue;
pNew->u.iValue = i;
- pOrderBy =
- sql_expr_list_append(pParse->db, pOrderBy,
- pNew);
+ pOrderBy = sql_expr_list_append(pParse->db,
+ pOrderBy, pNew);
if (pOrderBy)
pOrderBy->a[nOrderBy++].u.x.
iOrderByCol = (u16) i;
@@ -4375,9 +4373,8 @@ convertCompoundSelectToSubquery(Walker * pWalker, Select * p)
return WRC_Abort;
*pNew = *p;
p->pSrc = pNewSrc;
- p->pEList =
- sql_expr_list_append(pParse->db, NULL,
- sqlite3Expr(db, TK_ASTERISK, 0));
+ p->pEList = sql_expr_list_append(pParse->db, NULL,
+ sqlite3Expr(db, TK_ASTERISK, 0));
p->op = TK_SELECT;
p->pWhere = 0;
pNew->pGroupBy = 0;
@@ -4817,10 +4814,9 @@ selectExpander(Walker * pWalker, Select * p)
) {
/* This particular expression does not need to be expanded.
*/
- pNew =
- sql_expr_list_append(pParse->db, pNew,
- a[k].pExpr);
- if (pNew) {
+ pNew = sql_expr_list_append(pParse->db, pNew,
+ a[k].pExpr);
+ if (pNew != NULL) {
pNew->a[pNew->nExpr - 1].zName =
a[k].zName;
pNew->a[pNew->nExpr - 1].zSpan =
@@ -4923,16 +4919,14 @@ selectExpander(Walker * pWalker, Select * p)
} else {
pExpr = pRight;
}
- pNew =
- sql_expr_list_append(
- pParse->db,
- pNew, pExpr);
+ pNew = sql_expr_list_append(
+ pParse->db, pNew, pExpr);
sqlite3TokenInit(&sColname, zColname);
sqlite3ExprListSetName(pParse,
pNew,
&sColname,
0);
- if (pNew
+ if (pNew != NULL
&& (p->
selFlags &
SF_NestedFrom) != 0) {
diff --git a/src/box/sql/trigger.c b/src/box/sql/trigger.c
index 27902fd..ea35211 100644
--- a/src/box/sql/trigger.c
+++ b/src/box/sql/trigger.c
@@ -724,8 +724,8 @@ codeTriggerProgram(Parse * pParse, /* The parser context */
sqlite3Update(pParse,
targetSrcList(pParse, pStep),
sql_expr_list_dup(db,
- pStep->
- pExprList, 0),
+ pStep->pExprList,
+ 0),
sqlite3ExprDup(db, pStep->pWhere,
0),
pParse->eOrconf);
diff --git a/src/box/sql/whereexpr.c b/src/box/sql/whereexpr.c
index d5a5b07..d1eca43 100644
--- a/src/box/sql/whereexpr.c
+++ b/src/box/sql/whereexpr.c
@@ -783,9 +783,8 @@ exprAnalyzeOrTerm(SrcList * pSrc, /* the FROM clause */
pDup =
sqlite3ExprDup(db, pOrTerm->pExpr->pRight,
0);
- pList =
- sql_expr_list_append(pWInfo->pParse->db,
- pList, pDup);
+ pList = sql_expr_list_append(pWInfo->pParse->db,
+ pList, pDup);
pLeft = pOrTerm->pExpr->pLeft;
}
assert(pLeft != 0);
More information about the Tarantool-patches
mailing list