diff options
Diffstat (limited to 'sql/item_cmpfunc.cc')
-rw-r--r-- | sql/item_cmpfunc.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 4e25fae56b2..8433ae5bfba 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -1308,13 +1308,14 @@ bool Item_func_like::fix_fields(THD *thd,struct st_table_list *tlist) { pattern = first + 1; pattern_len = len - 2; - DBUG_PRINT("TurboBM", ("Initializing pattern: '%s'...", first)); - int* suff = (int*)thd->alloc(sizeof(int[pattern_len + 1])); - bmGs = (int*)thd->alloc(sizeof(int[pattern_len + 1])); - bmBc = (int*)thd->alloc(sizeof(int[alphabet_size])); + DBUG_PRINT("info", ("Initializing pattern: '%s'", first)); + int *suff = (int*) thd->alloc(sizeof(int)*((pattern_len + 1)*2+ + alphabet_size)); + bmGs = suff + pattern_len + 1; + bmBc = bmGs + pattern_len + 1; turboBM_compute_good_suffix_shifts(suff); turboBM_compute_bad_character_shifts(); - DBUG_PRINT("turboBM",("done")); + DBUG_PRINT("info",("done")); } } return 0; |