mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-regexp-4.1 sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged
This commit is contained in:
commit
d82af3ae76
4 changed files with 36 additions and 2 deletions
|
@ -81,3 +81,20 @@ _latin1'a' regexp _latin1'A' collate latin1_general_ci
|
|||
select _latin1'a' regexp _latin1'A' collate latin1_bin;
|
||||
_latin1'a' regexp _latin1'A' collate latin1_bin
|
||||
0
|
||||
create table t1 (a varchar(40));
|
||||
insert into t1 values ('C1'),('C2'),('R1'),('C3'),('R2'),('R3');
|
||||
prepare stmt1 from 'select a from t1 where a rlike ? order by a';
|
||||
set @a="^C.*";
|
||||
execute stmt1 using @a;
|
||||
a
|
||||
C1
|
||||
C2
|
||||
C3
|
||||
set @a="^R.*";
|
||||
execute stmt1 using @a;
|
||||
a
|
||||
R1
|
||||
R2
|
||||
R3
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
|
|
|
@ -60,3 +60,16 @@ select _koi8r 0xF7 regexp _koi8r '[[:alpha:]]';
|
|||
|
||||
select _latin1'a' regexp _latin1'A' collate latin1_general_ci;
|
||||
select _latin1'a' regexp _latin1'A' collate latin1_bin;
|
||||
|
||||
#
|
||||
# regexp cleanup()
|
||||
#
|
||||
create table t1 (a varchar(40));
|
||||
insert into t1 values ('C1'),('C2'),('R1'),('C3'),('R2'),('R3');
|
||||
prepare stmt1 from 'select a from t1 where a rlike ? order by a';
|
||||
set @a="^C.*";
|
||||
execute stmt1 using @a;
|
||||
set @a="^R.*";
|
||||
execute stmt1 using @a;
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
|
|
|
@ -2298,15 +2298,19 @@ longlong Item_func_regex::val_int()
|
|||
}
|
||||
|
||||
|
||||
Item_func_regex::~Item_func_regex()
|
||||
void Item_func_regex::cleanup()
|
||||
{
|
||||
DBUG_ENTER("Item_func_regex::cleanup");
|
||||
Item_bool_func::cleanup();
|
||||
if (regex_compiled)
|
||||
{
|
||||
regfree(&preg);
|
||||
regex_compiled=0;
|
||||
}
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
||||
#endif /* USE_REGEX */
|
||||
|
||||
|
||||
|
|
|
@ -869,7 +869,7 @@ class Item_func_regex :public Item_bool_func
|
|||
public:
|
||||
Item_func_regex(Item *a,Item *b) :Item_bool_func(a,b),
|
||||
regex_compiled(0),regex_is_const(0) {}
|
||||
~Item_func_regex();
|
||||
void cleanup();
|
||||
longlong val_int();
|
||||
bool fix_fields(THD *thd, struct st_table_list *tlist, Item **ref);
|
||||
const char *func_name() const { return "regexp"; }
|
||||
|
|
Loading…
Reference in a new issue