[tarantool-patches] [PATCH v3 1/9] sql: remove SQL_PreferBuiltin flag
Kirill Shcherbatov
kshcherbatov at tarantool.org
Fri Aug 16 16:26:47 MSK 2019
The SQL_PreferBuiltin flag is redundant (because builtin names
are forbidden for UDFs) so we may to remove it.
Needed for #4113, #2200, #2233
---
src/box/sql/sqlInt.h | 1 -
src/box/sql/callback.c | 9 +--------
2 files changed, 1 insertion(+), 9 deletions(-)
diff --git a/src/box/sql/sqlInt.h b/src/box/sql/sqlInt.h
index 87e5d22ee..4adb30c5c 100644
--- a/src/box/sql/sqlInt.h
+++ b/src/box/sql/sqlInt.h
@@ -1196,7 +1196,6 @@ struct sql {
#define SQL_ReverseOrder 0x00020000 /* Reverse unordered SELECTs */
#define SQL_RecTriggers 0x00040000 /* Enable recursive triggers */
#define SQL_AutoIndex 0x00100000 /* Enable automatic indexes */
-#define SQL_PreferBuiltin 0x00200000 /* Preference to built-in funcs */
#define SQL_EnableTrigger 0x01000000 /* True to enable triggers */
#define SQL_DeferFKs 0x02000000 /* Defer all FK constraints */
#define SQL_VdbeEQP 0x08000000 /* Debug EXPLAIN QUERY PLAN */
diff --git a/src/box/sql/callback.c b/src/box/sql/callback.c
index 49197532e..6c272de71 100644
--- a/src/box/sql/callback.c
+++ b/src/box/sql/callback.c
@@ -191,7 +191,6 @@ sqlFindFunction(sql * db, /* An open database */
int bestScore = 0; /* Score of best match */
int h; /* Hash value */
int nName; /* Length of the name */
- struct session *user_session = current_session();
assert(nArg >= (-2));
assert(nArg >= (-1) || createFlag == 0);
@@ -210,10 +209,6 @@ sqlFindFunction(sql * db, /* An open database */
}
/* If no match is found, search the built-in functions.
- *
- * If the SQL_PreferBuiltin flag is set, then search the built-in
- * functions even if a prior app-defined function was found. And give
- * priority to built-in functions.
*
* Except, if createFlag is true, that means that we are trying to
* install a new function. Whatever FuncDef structure is returned it will
@@ -221,9 +216,7 @@ sqlFindFunction(sql * db, /* An open database */
* new function. But the FuncDefs for built-in functions are read-only.
* So we must not search for built-ins when creating a new function.
*/
- if (!createFlag &&
- (pBest == 0
- || (user_session->sql_flags & SQL_PreferBuiltin) != 0)) {
+ if (!createFlag && (pBest == NULL)) {
bestScore = 0;
h = (sqlUpperToLower[(u8) zName[0]] +
nName) % SQL_FUNC_HASH_SZ;
--
2.22.1
More information about the Tarantool-patches
mailing list