aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/func.c11
-rw-r--r--src/test_config.c12
2 files changed, 16 insertions, 7 deletions
diff --git a/src/func.c b/src/func.c
index c9a035a42..a8fbe104e 100644
--- a/src/func.c
+++ b/src/func.c
@@ -16,7 +16,7 @@
** sqliteRegisterBuildinFunctions() found at the bottom of the file.
** All other code has file scope.
**
-** $Id: func.c,v 1.152 2007/05/08 20:37:39 drh Exp $
+** $Id: func.c,v 1.153 2007/05/09 08:24:44 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -540,14 +540,13 @@ static void likeFunc(
/* Limit the length of the LIKE or GLOB pattern to avoid problems
** of deep recursion and N*N behavior in patternCompare().
*/
- if( sqlite3_value_bytes(argv[1])>SQLITE_MAX_LIKE_PATTERN_LENGTH ){
+ if( sqlite3_value_bytes(argv[0])>SQLITE_MAX_LIKE_PATTERN_LENGTH ){
sqlite3_result_error(context, "LIKE or GLOB pattern too complex", -1);
return;
}
-
- zA = sqlite3_value_text(argv[0]);
- zB = sqlite3_value_text(argv[1]);
+ zB = sqlite3_value_text(argv[0]);
+ zA = sqlite3_value_text(argv[1]);
int escape = 0;
if( argc==3 ){
/* The escape character string must consist of a single UTF-8 character.
@@ -568,7 +567,7 @@ static void likeFunc(
sqlite3_like_count++;
#endif
- sqlite3_result_int(context, patternCompare(zA, zB, pInfo, escape));
+ sqlite3_result_int(context, patternCompare(zB, zA, pInfo, escape));
}
}
diff --git a/src/test_config.c b/src/test_config.c
index ff500e302..f7373ee19 100644
--- a/src/test_config.c
+++ b/src/test_config.c
@@ -16,7 +16,7 @@
** The focus of this file is providing the TCL testing layer
** access to compile-time constants.
**
-** $Id: test_config.c,v 1.1 2007/05/08 01:08:49 drh Exp $
+** $Id: test_config.c,v 1.2 2007/05/09 08:24:44 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include "tcl.h"
@@ -377,6 +377,11 @@ static void set_options(Tcl_Interp *interp){
(char*)&sqlite_max_column, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
+ static int sqlite_max_sql_length = SQLITE_MAX_SQL_LENGTH;
+ Tcl_LinkVar(interp, "SQLITE_MAX_SQL_LENGTH",
+ (char*)&sqlite_max_sql_length, TCL_LINK_INT|TCL_LINK_READ_ONLY);
+ }
+ {
static int sqlite_max_expr_length = SQLITE_MAX_EXPR_LENGTH;
Tcl_LinkVar(interp, "SQLITE_MAX_EXPR_LENGTH",
(char*)&sqlite_max_expr_length, TCL_LINK_INT|TCL_LINK_READ_ONLY);
@@ -432,6 +437,11 @@ static void set_options(Tcl_Interp *interp){
Tcl_LinkVar(interp, "SQLITE_DEFAULT_FILE_FORMAT",
(char*)&sqlite_default_file_format, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
+ {
+ static int sqlite_max_like_pattern = SQLITE_MAX_LIKE_PATTERN_LENGTH;
+ Tcl_LinkVar(interp, "SQLITE_MAX_LIKE_PATTERN_LENGTH",
+ (char*)&sqlite_max_like_pattern, TCL_LINK_INT|TCL_LINK_READ_ONLY);
+ }
}