diff --git a/VC++Files/libmysql/libmysql.dsp b/VC++Files/libmysql/libmysql.dsp index bf6826ddc1f..356aac3563f 100644 --- a/VC++Files/libmysql/libmysql.dsp +++ b/VC++Files/libmysql/libmysql.dsp @@ -303,6 +303,10 @@ SOURCE=..\mysys\mulalloc.c # End Source File # Begin Source File +SOURCE=..\mysys\my_access.c +# End Source File +# Begin Source File + SOURCE=..\mysys\my_alloc.c # End Source File # Begin Source File diff --git a/client/mysql.cc b/client/mysql.cc index 96b523d8dc8..f98bf467588 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -1011,7 +1011,8 @@ static int read_lines(bool execute_commands) a nil, it still needs the space in the linebuffer for it. This is, naturally, undocumented. */ - } while (linebuffer[0] <= linebuffer[1] + 1); + } while ((unsigned char)linebuffer[0] <= + (unsigned char)linebuffer[1] + 1); line= buffer.c_ptr(); #endif /* __NETWARE__ */ #else diff --git a/myisam/ft_boolean_search.c b/myisam/ft_boolean_search.c index 530f0d56c4c..35c41b7d2d6 100644 --- a/myisam/ft_boolean_search.c +++ b/myisam/ft_boolean_search.c @@ -410,7 +410,7 @@ FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query, Hack: instead of init_queue, we'll use reinit queue to be able to alloc queue with alloc_root() */ - res=ftb->queue.max_elements=1+query_len/(min(ft_min_word_len,2)+1); + res=ftb->queue.max_elements=1+query_len/2; if (!(ftb->queue.root= (byte **)alloc_root(&ftb->mem_root, (res+1)*sizeof(void*)))) goto err; diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result index 34d1213d1b2..1a79f6d9736 100644 --- a/mysql-test/r/fulltext.result +++ b/mysql-test/r/fulltext.result @@ -339,7 +339,7 @@ insert into t2 values (3, 1, 'xxbuz'); select * from t1 join t2 using(`t1_id`) where match (t1.name, t2.name) against('xxfoo' in boolean mode); t1_id name t2_id t1_id name 1 data1 1 1 xxfoo -select * from t2 where match name against ('a* b* c* d* e* f*' in boolean mode); +select * from t2 where match name against ('*a*b*c*d*e*f*' in boolean mode); t2_id t1_id name drop table t1,t2; create table t1 (a text, fulltext key (a)); diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test index 2acf69dad76..3c4d5dc93da 100644 --- a/mysql-test/t/fulltext.test +++ b/mysql-test/t/fulltext.test @@ -253,9 +253,9 @@ insert into t2 values (3, 1, 'xxbuz'); select * from t1 join t2 using(`t1_id`) where match (t1.name, t2.name) against('xxfoo' in boolean mode); # -# bug with many short (< ft_min_word_len) words in boolean search +# Bug #7858: bug with many short (< ft_min_word_len) words in boolean search # -select * from t2 where match name against ('a* b* c* d* e* f*' in boolean mode); +select * from t2 where match name against ('*a*b*c*d*e*f*' in boolean mode); drop table t1,t2; # diff --git a/vio/viosocket.c b/vio/viosocket.c index ee8e85880ba..c9df242b5c4 100644 --- a/vio/viosocket.c +++ b/vio/viosocket.c @@ -425,6 +425,7 @@ int vio_close_pipe(Vio * vio) void vio_ignore_timeout(Vio *vio __attribute__((unused)), + uint which __attribute__((unused)), uint timeout __attribute__((unused))) { }