diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/func.c | 11 | ||||
-rw-r--r-- | src/test_config.c | 12 |
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); + } } |