aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2019-04-30 11:54:36 +0000
committerdrh <drh@noemail.net>2019-04-30 11:54:36 +0000
commitcf83323936dccae4ccafa8c6d17d4a9d7c439e5a (patch)
treed55440703c21d565ca1e22966ea1af9760a28afb /src
parentb70b0df8eb8cea79074289826079699a00a0aef4 (diff)
downloadsqlite-cf83323936dccae4ccafa8c6d17d4a9d7c439e5a.tar.gz
sqlite-cf83323936dccae4ccafa8c6d17d4a9d7c439e5a.zip
Small performance increase and size reduction in the implementation of the
LIKE and GLOB operators. FossilOrigin-Name: f97626f921dafe596b615a168ef31987f4a1c0b52956443e1a5c1148b49cab74
Diffstat (limited to 'src')
-rw-r--r--src/func.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/func.c b/src/func.c
index 03595b70d..dae85d60a 100644
--- a/src/func.c
+++ b/src/func.c
@@ -843,8 +843,6 @@ static void likeFunc(
return;
}
#endif
- zB = sqlite3_value_text(argv[0]);
- zA = sqlite3_value_text(argv[1]);
/* Limit the length of the LIKE or GLOB pattern to avoid problems
** of deep recursion and N*N behavior in patternCompare().
@@ -856,8 +854,6 @@ static void likeFunc(
sqlite3_result_error(context, "LIKE or GLOB pattern too complex", -1);
return;
}
- assert( zB==sqlite3_value_text(argv[0]) ); /* Encoding did not change */
-
if( argc==3 ){
/* The escape character string must consist of a single UTF-8 character.
** Otherwise, return an error.
@@ -873,6 +869,8 @@ static void likeFunc(
}else{
escape = pInfo->matchSet;
}
+ zB = sqlite3_value_text(argv[0]);
+ zA = sqlite3_value_text(argv[1]);
if( zA && zB ){
#ifdef SQLITE_TEST
sqlite3_like_count++;