Commit graph

49 commits

Author SHA1 Message Date
Anurag Shekhar
6a3d8ad727 merging with local fix. 2009-05-06 15:00:14 +05:30
Anurag Shekhar
81de724743 Bug #39918 memory (heap) engine crashing with b-tree index and DELETE
with seg fault

Multiple-table DELETE from a table joined to itself may cause
server crash. This was originally discovered with MEMORY engine,
but may affect other engines with different symptoms.

The problem was that the server violated SE API by performing
parallel table scan in one handler and removing records in
another (delete on the fly optimization).
2009-05-06 13:37:10 +05:30
antony@pcg5ppc.xiphis.org
3b95727600 Merge anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines.merge
2007-10-19 13:06:37 -07:00
antony@pcg5ppc.xiphis.org
fb27ce61bc Merge anubis.xiphis.org:/usr/home/antony/work/mysql-5.0-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-5.0-engines.merge
2007-10-19 13:04:30 -07:00
ramil/ram@ramil.myoffice.izhnet.ru
981ebebf4e Merge mysql.com:/home/ram/work/b30885/b30885.5.0
into  mysql.com:/home/ram/work/b30885/b30885.5.1
2007-10-15 09:41:30 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
b4b7cf2a95 Fix for bug #30885: MEMORY returns incorrect data if BTREE index is used for NULL lookup
Problem: creating an rb-tree key we store length (2 bytes) before the actual data for 
varchar key parts. The fact was missed for NULL key parts, when we set NULL byte and 
skip the rest.

Fix: take into account the length of the varchar key parts for NULLs.
2007-10-05 16:33:15 +05:00
svoj@june.mysql.com
ac29e21e0b Merge mysql.com:/home/svoj/devel/mysql/BUG30590/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG30590/mysql-5.1-engines
2007-09-13 17:12:46 +05:00
svoj@june.mysql.com
6a04238e41 Merge mysql.com:/home/svoj/devel/mysql/BUG30590/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG30590/mysql-5.0-engines
2007-09-13 16:42:23 +05:00
svoj@mysql.com/june.mysql.com
84a9e656e0 BUG#30590 - delete from memory table with composite btree primary key
DELETE query against memory table with btree index may remove
not all matching rows. This happens only when DELETE uses
index read method to find matching rows. E.g. for queries
like DELETE FROM t1 WHERE a=1.

Fixed by reverting fix for BUG9719 and applying proper solution.
2007-09-13 15:39:16 +05:00
jimw@rama.(none)
3c93323d28 Bug #28842 Different 'duplicate key' error code between 5.0 and 5.1
The patch for WL 1563 added a new duplicate key error message so that the
  key name could be provided instead of the key number. But the error code
  for the new message was used even though that did not need to change.

  This could cause unnecessary problems for applications that used the old
  ER_DUP_ENTRY error code to detect duplicate key errors.
2007-06-06 10:57:07 -07:00
istruewing@chilla.local
3f0bfd831a Merge chilla.local:/home/mydev/mysql-5.0-axmrg
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-03-28 17:06:09 +02:00
istruewing@chilla.local
9470f149b6 After merge fix 2007-03-28 12:11:44 +02:00
istruewing@chilla.local
a2d7a05f88 Merge chilla.local:/home/mydev/mysql-4.1-axmrg
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-03-28 10:25:51 +02:00
istruewing@chilla.local
bba96f35c8 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug24985
2007-03-28 08:51:12 +02:00
istruewing@chilla.local
e5f50abcd9 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0-bug24985
2007-03-27 21:19:25 +02:00
istruewing@chilla.local
f90c056b5c Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug24985
2007-03-27 17:59:49 +02:00
istruewing@chilla.local
49884979b4 Merge chilla.local:/home/mydev/mysql-5.0-bug24985
into  chilla.local:/home/mydev/mysql-5.1-bug24985
2007-03-27 12:46:54 +02:00
istruewing@chilla.local
01be61e307 Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
causes incorrect duplicate entries
After merge fix
2007-03-27 12:39:31 +02:00
istruewing@chilla.local
ef1dec00c4 Merge chilla.local:/home/mydev/mysql-4.1-bug24985
into  chilla.local:/home/mydev/mysql-5.0-bug24985
2007-03-27 10:54:37 +02:00
istruewing@chilla.local
8934e4f3cc Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
causes incorrect duplicate entries

Keys for BTREE indexes on ENUM and SET columns of MEMORY tables
with character set UTF8 were computed incorrectly. Many
different column values got the same key value.

Apart of possible performance problems, it made unique indexes
of this type unusable because it rejected many different
values as duplicates.

The problem was that multibyte character detection was tried
on the internal numeric column value. Many values were not
identified as characters. Their key value became blank filled.

Thanks to Alexander Barkov and Ramil Kalimullin for the patch,
which sets the character set of ENUM and SET key segments to
the pseudo binary character set.
2007-03-27 10:49:48 +02:00
istruewing@chilla.local
c0f03fed94 Merge chilla.local:/home/mydev/mysql-5.0-bug26996
into  chilla.local:/home/mydev/mysql-5.1-bug26996
2007-03-21 17:38:42 +01:00
istruewing@chilla.local
4fdafc545d Merge chilla.local:/home/mydev/mysql-4.1-bug26996
into  chilla.local:/home/mydev/mysql-5.0-bug26996
2007-03-21 15:55:14 +01:00
istruewing@chilla.local
344f33bb89 Bug#26996 - Update of a Field in a Memory Table ends with wrong result
Using a MEMORY table BTREE index for scanning for updatable rows
could lead to an infinite loop.

Everytime a key was inserted into a btree index, the position
in the index scan was cleared. The search started from the
beginning and found the same key again.

Now we do not clear the position on key insert an more.
2007-03-19 15:56:53 +01:00
monty@mysql.com/narttu.mysql.fi
2dcc7110c9 Give warnings for unused objects
Changed error message to be compatible with old error file
Added new error message for new DUP_ENTRY syntax
2007-01-22 18:42:52 +02:00
cmiller@zippy.cornsilk.net
8fdffd1b75 Fix merge problems; work around disparate "ls" behaviors. 2006-09-06 14:23:39 -04:00
cmiller@zippy.cornsilk.net
ba3829dc36 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2006-09-05 17:46:36 -04:00
cmiller@zippy.cornsilk.net
b023f5d3f5 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2006-09-05 16:45:25 -04:00
tsmith@maint2.mysql.com
81708c66a8 Merge maint2.mysql.com:/data/localhome/tsmith/bk/41
into  maint2.mysql.com:/data/localhome/tsmith/bk/50
2006-09-01 03:44:03 +02:00
ramil/ram@mysql.com/myoffice.izhnet.ru
dc4b2a4f1d Make the heap_btree test repeatable. 2006-08-14 12:59:54 +05:00
cmiller@zippy.cornsilk.net
f6f7eb851e Merge updates. 2006-08-10 12:39:18 -04:00
cmiller@zippy.cornsilk.net
543fcde9b9 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0
2006-08-09 22:23:41 -04:00
cmiller@zippy.cornsilk.net
c9f64f71c8 Bug#9719: DELETE with WHERE on HEAP table just deletes first row of matched
set.

(Ramil's patch, recreated.)
2006-08-02 13:06:59 -04:00
svoj@april.(none)
32a07617bc BUG#12873 - BTREE index on MEMORY table with multiple NULL values
doesn't work properly

Unique BTREE index on MEMORY table refuse multiple NULL values.

Fixed search_flag to allow multiple null values inside unique key.
2006-05-11 21:15:37 +05:00
svoj@april.(none)
dee1baaefd Fixed heap_btree test failure on 64-bit boxes. 2006-05-04 15:52:09 +05:00
svoj@april.(none)
06ce215f10 BUG#18160 - Memory-/HEAP Table endless growing indexes
Updating data in HEAP table with BTREE index results in wrong index_length
counter value, which keeps growing after each update.

When inserting new record into tree counter is incremented by:
sizeof(TREE_ELEMENT) + key_size + tree->size_of_element
But when deleting element from tree it doesn't decrement counter by key_size:
sizeof(TREE_ELEMENT) + tree->size_of_element

This fix makes accurate allocated memory counter for tree. That is
decrease counter by key_size when deleting tree element.
2006-04-19 15:13:50 +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
msvensson@neptunus.(none)
7387030e67 BUG#8924 'Explain' shows different strategy
- If number of records in table is 4, the calculated cost for using "index" and "range" become so close so that any rounding errors becomes visible.
 - Added one more record to the tables for heap test and expoect "range" to be selected
 - Decrease number of records in t1 for range and expect "index" to be choosen.
2005-04-12 12:04:43 +02:00
monty@mysql.com
ddafa2cc16 simple optimzation
Portability fixes
2004-03-31 03:32:38 +03:00
monty@mysql.com
ebc3b3afac BTREE-indexes in HEAP tables can now be used to optimize ORDER BY
Don't read character set files if we are using only the default charset. In most cases the user will not anymore get a warning about missing character set files
Compare strings with space extend instead of space strip. Now the following comparisons holds:  "a" == "a " and "a\t" < "a". (Bug #3152).
Note: Because of the above fix, one has to do a REPAIR on any table that has an ascii character < 32 last in a CHAR/VARCHAR/TEXT columns.
2004-03-25 15:05:01 +02:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
fcf96dbb18 WorkLog#1323
Deprecate the use of TYPE=... Preferred syntax is ENGINE=
2003-12-10 04:31:42 +00:00
monty@mashka.mysql.fi
4f7512160b After merge fixes
Use server character set if --default-character-set is not used
Added convert_string() for more efficient alloc+character-set convert of strings
2003-08-19 00:08:08 +03:00
ram@mysql.r18.ru
bf45493175 Bugfix for HEAP table rb-index scan. 2003-06-10 12:19:28 +05:00
monty@mashka.mysql.fi
1f6ecc0cd3 Changed mysql-test to print warnings for not existing table to DROP TABLE
Cleaned up test; Removed wrong DROP TABLE commands and use standard table and database names.
changed store_warning() -> push_warning_print()
2003-01-06 01:48:59 +02:00
ram@mysql.r18.ru
1317dd5a63 test for NULL processing has been added 2002-11-15 17:34:10 +04:00
monty@hundin.mysql.fi
f3d3d2882d Fixed heap_btree test to make it repeatable 2002-10-18 09:51:46 +03:00
monty@hundin.mysql.fi
920a409ce9 Update results for new SHOW FULL COLUMNS
Portability fixes
2002-06-04 11:32:33 +03:00
monty@hundin.mysql.fi
ee6bd84880 Changes for new binary .frm format
Fixes after last merge from 4.0.
(Code not yet complete, need anoter merge from 4.0)
2002-06-04 08:23:57 +03:00
bar@gw.udmsearch.izhnet.ru
eab2893dac RB-Tree indexes support in HEAP tables
Renamed _hp_func  ->  hp_func
mi_key_cmp moved to /mysys/my_handler.c
New tests for HEAP tables
2002-04-25 13:36:55 +05:00