Commit graph

70 commits

Author SHA1 Message Date
svoj@mysql.com/june.mysql.com
ddb8131207 BUG#26080 - Memory Storage engine not working properly
Extending varchar column length with ALTER TABLE may result in unusable
memory table.

The problem is that we use fast ALTER TABLE in this case, which is not
supported by now.

This is fixed by refusing fast ALTER TABLE when extending varchar column.
In other words force copy of a table during ALTER TABLE.

Affects MEMORY tables in 5.1 only.
2007-02-28 14:27:19 +04:00
sergefp@mysql.com
699291a8e6 BUG#14940 "MySQL choose wrong index", v.2
- Make the range-et-al optimizer produce E(#table records after table 
                                           condition is applied),
- Make the join optimizer use this value,
- Add "filtered" column to EXPLAIN EXTENDED to show 
  fraction of records left after table condition is applied
- Adjust test results, add comments
2006-07-28 21:27:01 +04:00
svoj@april.(none)
9836600b70 Merge april.(none):/home/svoj/devel/mysql/BUG18233/mysql-5.0
into  april.(none):/home/svoj/devel/mysql/BUG18233/mysql-5.1
2006-05-18 18:49:52 +05:00
svoj@april.(none)
ae67994fe6 BUG#18233 - Memory tables INDEX USING HASH (a,b) returns 1 row on
SELECT WHERE a= AND b=

Selecting data from memory table with varchar column and hash index over it
returns only first row matched.

Problem was that key length calculation for varchar columns didn't include
number of bytes to store length.

Fixed key length for varchar fields to include number of bytes to store length.
2006-05-10 21:50:04 +05:00
serg@sergbook.mysql.com
c4f3410449 results fixed 2006-05-09 11:14:31 -04:00
msvensson@neptunus.(none)
c4b1fb68b4 Bug#10460 SHOW CREATE TABLE uses inconsistent upper/lower case 2006-02-22 10:09:59 +01:00
ingo@mysql.com
b9bc1e9108 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-wl1563-msg
2006-02-10 20:00:22 +01:00
ramil@mysql.com
e1dabf65e4 Merge mysql.com:/usr/home/ram/work/4.1.heap
into  mysql.com:/usr/home/ram/work/mysql-5.0
2006-02-09 18:23:37 +04:00
ramil@mysql.com
34abab41db Removed 'delayed' to make the test deterministic (as the bug itself has nothing to do with 'delayed'). 2006-02-08 16:00:39 +04:00
konstantin@mysql.com
cb7118edcd One more post-merge fix. 2006-02-03 02:01:01 +03:00
konstantin@mysql.com
303ad65fb2 Post-merge fixes. 2006-02-03 00:07:36 +03:00
ingo@mysql.com
b6e28c99d0 WL#1563 - Modify MySQL to support fast CREATE/DROP INDEX
Change "duplicate key" message to print key name
instead of key number.
2006-01-23 12:17:05 +01:00
pappa@c-5608e253.1238-1-64736c10.cust.bredbandsbolaget.se
4282ad92cb Bug #12796: Record lost in HEAP table
Two handler objects were present, one was used for an insert and the other for a select
The state of the statistics was local to the handler object and thus the other handler
object didn't notice the insert.
Fix included:
1) Add a new variable key_stat_version added to whenever statistics was considered in need
of update (previously key_stats_ok= FALSE in those places)
2) Add a new handler variable key_stat_version assigned whenever key_stats_ok= TRUE was set
previously
3) Fix records_in_range to return records if records <= 1
4) Fix records_in_range to add 2 to rec_per_key to ensure we don't specify 0 or 1 when it isn't
and thus invoking incorrect optimisations.
5) Fix unique key handling for HEAP table in records_in_range
2005-11-08 00:26:37 -05:00
sergefp@mysql.com
71d8990f8e Fix for BUG#13455: Make "ref" optimizer able to make this inference:
"t.key BETWEEN c1 AND c2" and c1 = c2 -> can access table t using "t.key = c1".
2005-09-30 01:34:19 +04:00
monty@mysql.com
c954c09a11 Fixed test that failed on 32 bit systems 2005-08-09 11:21:45 +03:00
jimw@mysql.com
47a6320657 Always report row type of 'Fixed' for MEMORY tables. (Bug #3094) 2005-08-05 13:19:48 -07:00
ingo@mysql.com
4ab4ee9c7c Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
After merge fixes of test result.
2005-06-24 19:47:19 +02:00
jimw@mysql.com
4441b59711 Update test results. type_varchar changed because the size of the
key now gets changed along with the size of the field as long
as the original key had the same length as the length of the field
(or is unspecified originally, as in the test).
2005-06-09 21:20:34 -07:00
jimw@mysql.com
153f233627 Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-06-09 19:27:45 -07:00
jimw@mysql.com
bbdfea15da Increase limit of partial key length in MEMORY storage engine
to the same as a full key. (Bug #10566)
2005-05-24 12:21:15 -07:00
msvensson@neptunus.(none)
a1c4918a6c Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
2005-04-12 14:51:03 +02: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
780202f130 Moved some old test and added a new test to only be run with mysql-test-run --big
Fixed warnings by valgrind for sum_distinct.test
Enable buffered-record-reads after filesort for InnoDB tables with short primary key
Enabled sort-with-data for MyISAM temporary files
2005-04-07 19:24:14 +03:00
monty@mysql.com
49e721677f Fixed errors descovered by valgrind 2.4
Added suppression file for some valgrind warnings that are not real errors
2005-04-06 17:22:21 +03:00
ramil@mysql.com
d5e3ba70f3 merging 2005-03-15 19:31:52 +04:00
ramil@mysql.com
46613bafbe A fix (bug #8489: Strange auto_increment behaviour with HEAP table). 2005-03-15 13:32:12 +04:00
jimw@mysql.com
3998da80e9 Output 'MEMORY' as table type for tables using the memory (nee heap) storage
engine, except when running with sql_mode & MYSQL323. (Bug #6659)
2005-01-13 17:38:13 -08:00
bar@mysql.com
691b3283d2 If VARCHAR strips only trailing spaces, then produce
a note, not a warning or error.
2005-01-11 16:49:45 +04:00
jimw@mysql.com
61f189a09b Update test as result of merge 2005-01-08 23:32:28 +01:00
monty@mysql.com
b4dc75c877 Fix test results that may change from run to run
Added comments (from code review on pull)
2004-12-12 19:54:26 +02:00
monty@mysql.com
563500994a Update results for new varchar handling
Fixed compiler warnings
String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
2004-12-07 15:47:00 +02:00
monty@mysql.com
77207d19f2 Merge with new VARCHAR code 2004-12-06 19:18:35 +02:00
monty@mysql.com
0de4777187 Merge with 4.1 2004-12-06 11:38:56 +02:00
monty@mysql.com
67ce247965 Add support for up to VARCHAR (size up to 65535)
Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
Added support for VARCHAR KEYS to heap
Removed support for ISAM
Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
2004-12-06 02:00:37 +02:00
ram@gw.mysql.r18.ru
3b111a9b42 A fix (bug #6878: Crash with engine=memory). 2004-12-02 15:06:15 +04:00
serg@serg.mylan
ee933cd198 merged 2004-11-22 21:33:15 +01:00
serg@serg.mylan
41c33c29a3 Bug #6748 heap_rfirst() doesn't work (and never did!)
range for BETWEEN typo fixed
2004-11-22 14:53:18 +01:00
serg@serg.mylan
e68bd85b77 merged 2004-11-17 18:04:36 +01:00
sergefp@mysql.com
1cc999fbd4 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-heap-bug
2004-11-16 21:36:31 +03:00
monty@mysql.com
afbe601302 merge with 4.1 2004-10-29 19:26:52 +03:00
monty@mysql.com
8b6839e644 Fixed wrong range test code for HEAP tables. This caused a crash when doing a range test with a key that didn't have lower or upper bound (Bug #6082)
More test cases
2004-10-23 03:30:27 +03:00
sergefp@mysql.com
2c9d2cf671 Fix for bug#5138: hash indexes on heap tables support statistics.
KEY::rec_per_key is updated every time 1/HEAP_STATS_UPDATE_THRESHOLD part of table records has been changed.
2004-09-08 02:07:53 +04:00
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
serg@serg.mylan
3f2210c064 after merge fixes 2004-08-19 03:02:09 +02:00
serg@serg.mylan
e1237cbc53 manually merged 2004-08-18 19:57:55 +02:00
acurtis@pcgem.rdg.cyberkinetica.com
bc78a46ac4 Bug#4411
Fix for server hang bug
2004-08-11 23:24:36 +01: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
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
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00