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 B77182E6AA for ; Mon, 10 Jun 2019 09:57:14 -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 YXSfLeZ26XJX for ; Mon, 10 Jun 2019 09:57:14 -0400 (EDT) Received: from smtp14.mail.ru (smtp14.mail.ru [94.100.181.95]) (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 74FFD2E684 for ; Mon, 10 Jun 2019 09:57:14 -0400 (EDT) From: imeevma@tarantool.org Subject: [tarantool-patches] [PATCH v1 28/28] sql: remove function sqlApiExit() Date: Mon, 10 Jun 2019 16:57:12 +0300 Message-Id: In-Reply-To: References: 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: v.shpilevoy@tarantool.org Cc: tarantool-patches@freelists.org This function is useless in Tarantool and should be removed. --- src/box/sql/main.c | 8 ++------ src/box/sql/malloc.c | 19 ------------------- src/box/sql/sqlInt.h | 1 - src/box/sql/vdbeapi.c | 34 +++++++++++----------------------- 4 files changed, 13 insertions(+), 49 deletions(-) diff --git a/src/box/sql/main.c b/src/box/sql/main.c index 145964f..d280d8d 100644 --- a/src/box/sql/main.c +++ b/src/box/sql/main.c @@ -320,7 +320,6 @@ sql_create_function_v2(sql * db, void (*xFinal) (sql_context *), void (*xDestroy) (void *)) { - int rc = -1; FuncDestructor *pArg = 0; if (xDestroy) { @@ -330,21 +329,18 @@ sql_create_function_v2(sql * db, (FuncDestructor)); if (!pArg) { xDestroy(p); - goto out; + return -1; } pArg->xDestroy = xDestroy; pArg->pUserData = p; } - rc = sqlCreateFunc(db, zFunc, type, nArg, flags, p, xSFunc, xStep, + int rc = sqlCreateFunc(db, zFunc, type, nArg, flags, p, xSFunc, xStep, xFinal, pArg); if (pArg && pArg->nRef == 0) { assert(rc != 0); xDestroy(p); sqlDbFree(db, pArg); } - - out: - rc = sqlApiExit(db, rc); return rc; } diff --git a/src/box/sql/malloc.c b/src/box/sql/malloc.c index c3fc50b..a31f915 100644 --- a/src/box/sql/malloc.c +++ b/src/box/sql/malloc.c @@ -526,22 +526,3 @@ sqlOomClear(sql * db) db->lookaside.bDisable--; } } - -/* - * This function must be called before exiting any API function (i.e. - * returning control to the user) that has called sql_malloc or - * sql_realloc. - * - * The returned value is normally a copy of the second argument to this - * function. - */ -int -sqlApiExit(sql * db, int rc) -{ - assert(db != 0); - if (db->mallocFailed) { - sqlOomClear(db); - return -1; - } - return rc; -} diff --git a/src/box/sql/sqlInt.h b/src/box/sql/sqlInt.h index 27e57cc..a309290 100644 --- a/src/box/sql/sqlInt.h +++ b/src/box/sql/sqlInt.h @@ -4595,7 +4595,6 @@ int sqlCreateFunc(sql *, const char *, enum field_type, FuncDestructor * pDestructor); void sqlOomFault(sql *); void sqlOomClear(sql *); -int sqlApiExit(sql * db, int); void sqlStrAccumInit(StrAccum *, sql *, char *, int, int); void sqlStrAccumAppend(StrAccum *, const char *, int); diff --git a/src/box/sql/vdbeapi.c b/src/box/sql/vdbeapi.c index 03f5069..03f9e84 100644 --- a/src/box/sql/vdbeapi.c +++ b/src/box/sql/vdbeapi.c @@ -82,21 +82,13 @@ invokeProfileCallback(sql * db, Vdbe * p) int sql_finalize(sql_stmt * pStmt) { - int rc; - if (pStmt == 0) { - /* IMPLEMENTATION-OF: R-57228-12904 Invoking sql_finalize() on a NULL - * pointer is a harmless no-op. - */ - rc = 0; - } else { - Vdbe *v = (Vdbe *) pStmt; - sql *db = v->db; - assert(db != NULL); - checkProfileCallback(db, v); - rc = sqlVdbeFinalize(v); - rc = sqlApiExit(db, rc); - } - return rc; + if (pStmt == NULL) + return 0; + Vdbe *v = (Vdbe *) pStmt; + sql *db = v->db; + assert(db != NULL); + checkProfileCallback(db, v); + return sqlVdbeFinalize(v); } int @@ -108,7 +100,7 @@ sql_reset(sql_stmt * pStmt) checkProfileCallback(db, v); int rc = sqlVdbeReset(v); sqlVdbeRewind(v); - return sqlApiExit(db, rc); + return rc; } /* @@ -1128,18 +1120,14 @@ sql_bind_zeroblob(sql_stmt * pStmt, int i, int n) int sql_bind_zeroblob64(sql_stmt * pStmt, int i, sql_uint64 n) { - int rc; Vdbe *p = (Vdbe *) pStmt; if (n > (u64) p->db->aLimit[SQL_LIMIT_LENGTH]) { diag_set(ClientError, ER_SQL_EXECUTE, "string or blob is too "\ "big"); - rc = -1; - } else { - assert((n & 0x7FFFFFFF) == n); - rc = sql_bind_zeroblob(pStmt, i, n); + return -1; } - rc = sqlApiExit(p->db, rc); - return rc; + assert((n & 0x7FFFFFFF) == n); + return sql_bind_zeroblob(pStmt, i, n); } /* -- 2.7.4