Commit graph

116 commits

Author SHA1 Message Date
Anurag Shekhar
7c670fc3e1 Bug#37740 Server crashes on execute statement with full text search and
match against.


Server crashes when executing prepared statement with duplicating
MATCH() function calls in SELECT and ORDER BY expressions, e.g.:
SELECT MATCH(a) AGAINST('test') FROM t1 ORDER BY MATCH(a) AGAINST('test')

This query gets optimized by the server, so the value returned
by MATCH() from the SELECT list is reused for ORDER BY purposes.
To make this optimization server is comparing items from
SELECT and ORDER BY lists. We were getting server crash because
comparision function for MATCH() item is not intended to be called
at this point of execution.

In 5.0 and 5.1 this problem is workarounded by resetting MATCH()
item to the state as it was during PREPARE.

In 6.0 correct comparision function will be implemented and
duplicating MATCH() items from the ORDER BY list will be
optimized.
2009-07-15 15:00:58 +05:30
Sergey Vojtovich
659a2183dd BUG#36737 - having + full text operator crashes mysql
MATCH() function accepts column list as an argument. It was possible to override
this requirement with aliased non-column select expression. Which results in
server crash.

With this fix aliased non-column select expressions are not accepted by MATCH()
function, returning an error.
2009-02-12 13:49:44 +04:00
Sergey Vojtovich
85d4cbae24 BUG#37245 - Full text search problem
Certain boolean mode queries with truncation operator did
not return matching records and calculate relevancy
incorrectly.
2008-11-28 18:17:13 +04:00
Sergey Vojtovich
83f96dcf47 BUG#38842 - Fix for 25951 seems incorrect
With fix for bug 25951 index hints are ignored for fulltext
searches, as handling of fulltext indexes is different from
handling regular indexes. Meaning it is not possible to
implement true index hints support for fulltext indexes within
the scope of current fulltext architecture.

The problem is that prior to fix for bug 25951, some useful
index hints still could be given for boolean mode searches.

This patch implements special index hints support for fulltext
indexes with the following characteristics:
- all index hints are still ignored for NLQ mode searches -
  it cannot work without an index;
- for 5.1 and up index hints FOR ORDER BY and FOR GROUP BY are
  still ignored for fulltext indexes;
- boolean mode searches honor USE/FORCE/IGNORE INDEX hints;
- as opposed to index hints for regular indexes, index hints
  for fulltext BOOLEAN mode searches affect the usage of the
  index for the whole query.
2008-11-11 13:10:51 +04:00
svoj@june.mysql.com
0ea269caac Merge mysql.com:/home/svoj/devel/mysql/BUG11392/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG11392/mysql-5.0-engines
2007-11-02 12:58:20 +04:00
svoj@mysql.com/june.mysql.com
cbd3dfbbcb BUG#11392 - fulltext search bug
Fulltext boolean mode phrase search may crash server on platforms
where size of pointer is not equal to size of unsigned integer
(in other words some 64-bit platforms).

The problem was integer overflow.

Affects 4.1 only.
2007-10-30 14:46:43 +04:00
svoj@mysql.com/june.mysql.com
c7ac1e1c6a Merge mysql.com:/home/svoj/devel/mysql/BUG25951/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25951/mysql-5.0-engines
2007-04-18 12:39:04 +05:00
svoj@mysql.com/april.(none)
005d8c5284 BUG#25951 - ignore/use index does not work with fulltext
IGNORE/USE/FORCE INDEX hints were honored when choosing FULLTEXT
index.

With this fix these hints are ignored. For regular indexes we may
perform table scan instead of index lookup when IGNORE INDEX was
specified. We cannot do this for FULLTEXT in NLQ mode.
2007-04-13 02:31:34 +05:00
msvensson@neptunus.(none)
451a7129bb Bug#18071 Result from MATCH() uses too many decimals
- Use FORMAT as a workaround to only output the first 6 decimals of the value returned
from MATCH
 - This has been done before
2006-03-22 14:57:24 +01:00
svoj@april.(none)
328b59a5ed Merge april.(none):/home/svoj/devel/mysql/merge/mysql-4.1
into  april.(none):/home/svoj/devel/mysql/merge/mysql-5.0
2006-02-07 15:30:32 +04:00
svoj@april.(none)
332be5bdd9 BUG#14496: Crash or strange results with prepared statement,
MATCH and FULLTEXT
Fixed that fulltext query using PS results in unexpected behaviour
when executed 2 or more times.
2006-02-01 20:40:12 +04:00
svoj@april.(none)
5581ef960a BUG#13835: max key length is 1000 bytes when trying to create a fulltext index
Allow fulltext index on VARCHAR columns longer than max key length.
2006-01-13 21:25:12 +04:00
serg@serg.mylan
6a83b75764 Merge serg.mylan:/usr/home/serg/Abk/mysql-4.1
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-11-26 20:23:20 +01:00
serg@serg.mylan
701de9be0a followup for for the bug#5686 2005-11-26 19:36:11 +01:00
bell@sanja.is.com.ua
a2b8128398 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug6-5.0
2005-11-15 19:22:00 +02:00
svoj@mysql.com
5d8cefe0b4 Fix for BUG#5686 - #1034 - Incorrect key file for table - only utf8 2005-11-12 11:25:14 +04:00
timour@mysql.com
354ce1d024 Merge mysql.com:/home/timka/mysql/src/5.0-virgin
into  mysql.com:/home/timka/mysql/src/5.0-2486-merge
2005-08-12 19:27:54 +03:00
timour@mysql.com
a247282aa6 Implementation of WL#2486 -
"Process NATURAL and USING joins according to SQL:2003".

* Some of the main problems fixed by the patch:
  - in "select *" queries the * expanded correctly according to
    ANSI for arbitrary natural/using joins
  - natural/using joins are correctly transformed into JOIN ... ON
    for any number/nesting of the joins.
  - column references are correctly resolved against natural joins
    of any nesting and combined with arbitrary other joins.

* This patch also contains a fix for name resolution of items
  inside the ON condition of JOIN ... ON - in this case items must
  be resolved only against the JOIN operands. To support such
  'local' name resolution, the patch introduces a stack of
  name resolution contexts used at parse time.

NOTICE:
- This patch is not complete in the sense that
  - there are 2 test cases that still do not pass -
    one in join.test, one in select.test. Both are marked
    with a comment "TODO: WL#2486".
  - it does not include a new test specific for the task
2005-08-12 17:57:19 +03:00
igor@rurik.mysql.com
b5f33d2bc4 Manual merge 2005-08-02 12:09:49 -07:00
svoj@mysql.com
0f98bf44ef Merge mysql.com:/home/svoj/devel/mysql/BUG11684/mysql-4.0
into  mysql.com:/home/svoj/devel/mysql/BUG11684/mysql-4.1
2005-08-02 12:12:37 +05:00
svoj@mysql.com
19fe33e16c BUG#11684 fix.
Repair crashes mysql when table has fulltext index.
2005-08-02 11:33:26 +05:00
monty@mysql.com
15d48525af Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0
2005-07-28 17:09:54 +03:00
monty@mysql.com
3c12d0ae54 Added end marker for tests to make future merges easier 2005-07-28 03:22:47 +03:00
jimw@mysql.com
99e35c84ac Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-06-20 15:02:45 -07:00
jimw@mysql.com
176143413e Fix hang/crash with Boolean full-text search against an unindexed field for
which the query contained more words than we allocated space. (Bug #7858)
2005-06-17 21:44:17 +02:00
serg@serg.mylan
1e09c15a8b don't close binlog in the destructor - use explictit MYSQL_LOG::cleanup for this 2005-03-09 12:29:51 +01:00
dean@mysql.com
e7f410a14a Merge 2005-02-16 04:04:34 -06:00
dean@mysql.com
87718094aa fulltext.test, fulltext.result:
Test case for bug#8522, to test for out of bounds memory access in ft_nlq_find_relevance().
2005-02-16 03:13:29 -06:00
svoj@mysql.com
643b602832 Bug#8351
Fix for crash when using a double quote in boolean fulltext query.
2005-02-14 18:54:12 +04:00
serg@serg.mylan
b4624288a7 myisam/ft_boolean_search.c
-trunc* bug - don't increase yweaks in this case
2005-01-18 11:27:38 +01:00
serg@serg.mylan
e8203e437a bug#6784
mi_flush_bulk_insert (on dup key error in mi_write)
was mangling info->dupp_key_pos
2004-11-24 23:16:16 +01:00
serg@serg.mylan
2ca5a0f2b1 merged 2004-11-22 20:15:48 +01:00
serg@serg.mylan
dca2182fdc ft_boolean_search.c:
bug#6705 - (+trunc1* +trunc2*)
fulltext.test, fulltext.result:
  bug#6705
2004-11-22 18:37:30 +01:00
serg@serg.mylan
37e872de8c merged 2004-11-17 15:28:37 +01:00
serg@serg.mylan
2d8c21f700 test for bug#5528 2004-11-17 13:38:35 +01:00
wax@mysql.com
bf2685a690 autocommit 2004-11-04 21:25:49 +05:00
serg@serg.mylan
d2bfefc3c1 proper max_records estimation for sort-repair of fulltext indexes 2004-10-29 14:24:06 +02:00
wax@kishkin.ru
eb7515366b WL#964
porting mysql_test_run on Linux and Windows
2004-09-16 00:47:45 +06:00
serg@serg.mylan
78fa465b92 bug#3964 and related issues: FTB problems with charsets where one byte can match many
correct prefix compare with my_strnncoll
2004-06-10 21:18:57 +02:00
monty@mysql.com
518019f511 Remove some code from sql_yacc.cc that doesn't do anything except produce warnings on VC++ 2004-05-28 00:03:19 +03:00
monty@mysql.com
e9b7e3baa8 merge with 4.0 to get fix to VC++ project files 2004-05-27 23:45:22 +03:00
serg@serg.mylan
1998dd786e backport bug#2708 fix from 4.1 2004-05-27 21:14:59 +02:00
monty@mysql.com
cd3dab49cc Merge with 4.0.20 2004-05-17 01:52:13 +03:00
serg@serg.mylan
2cbc4e71fc backport from 4.1:
"phrase search" should not match partial words (it should not match 'paraphrase searches')
2004-05-10 12:39:01 +02:00
monty@mysql.com
350b433569 merge with 4.0 2004-03-16 22:41:30 +02:00
serg@serg.mylan
0ea1dd850d bug#3011 - multi-byte charset in fulltext 2004-02-29 22:58:45 +01:00
serg@serg.mylan
bcd14123bc ftb +(+(many -parens)) bug fixed 2004-02-22 00:19:36 +01:00
monty@mysql.com
050af89dd8 Merge with public tree 2004-02-16 10:31:05 +02:00
monty@mysql.com
f43093ec0e After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
2004-02-16 10:03:25 +02:00
serg@serg.mylan
15249d6a72 bug#2708
test results updated
2004-02-15 20:36:12 +01:00