Commit graph

36 commits

Author SHA1 Message Date
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@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
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
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
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
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
tsmith@maint2.mysql.com
39a139193f post-merge fix 2006-09-01 05:00:32 +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)
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
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
f2829d0386 After merge fixes of merge with 4.1 that included the new arena code.
Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
Prefix addresses with 0x for easier comparisons of debug logs
Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
This fix changed some 'index' queries to 'range' queries in the test suite
Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
This fix removed of a lot of 'Using where' notes in the test suite.
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
Give NOTE instead of WARNING for safe field-type conversions
2004-09-09 06:59:26 +03:00
sergefp@mysql.com
f874071a26 Range optimizer fix:
If cost(full_scan_on_shortest_covering_index) < cost(best_range_scan) <  cost(full_table_scan)
  use full_scan_on_shortest_covering_index
(before this fix best_range_scan was used)
2004-06-22 04:47:28 +04: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@narttu.mysql.fi
23145cfed7 Added SQLSTATE to client/server protocol
bmove_allign -> bmove_align
Added OLAP function ROLLUP
Split mysql_fix_privilege_tables to a script and a .sql data file
Added new (MEMROOT*) functions to avoid calling current_thd() when creating some common objects.
Added table_alias_charset, for easier --lower-case-table-name handling
Better SQL_MODE handling (Setting complex options also sets sub options)
New (faster) assembler string functions for x86
2003-06-04 18:28:51 +03:00
venu@myvenu.com
72196c9b16 Updated warning test
Updated all tests to catchup warnings for all field conversions
2003-04-30 00:07:37 -07:00
monty@mashka.mysql.fi
806294c573 Fixes after merge with 4.0 2002-11-21 22:25:53 +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
Sinisa@sinisa.nasamreza.org
0a242026a8 fix of the small bug in UNION's 2002-10-16 22:27:47 +03:00
bell@sanja.is.com.ua
2883c3a8cc fixing EXPLAIN select types 2002-10-03 18:47:04 +03:00
bell@sanja.is.com.ua
46a22a5be7 new EXPLAIN
fixed bug in mysql-test/create-test-result
fixed bug in union-subselect engine
2002-09-26 23:08:22 +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
ram@gw.udmsearch.izhnet.ru
06ed215c37 Index number argument
Fix in test results
2002-04-29 13:53:29 +05: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