Commit graph

99 commits

Author SHA1 Message Date
gkodinov@dl145s.mysql.com
aaed398254 Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
2006-10-19 16:43:46 +02:00
gkodinov@dl145s.mysql.com
892495acaf Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-5.0
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
2006-10-19 14:37:49 +02:00
gkodinov/kgeorge@macbook.gmz
a1310d84be Bug #22367: Optimizer uses ref join type instead of eq_ref for simple join on
strings
MySQL is setting the flag HA_END_SPACE_KEYS for all the keys that reference
text or varchar columns with collation different than binary.
This was done to handle correctly the situation where a lookup on such a key
may return more than 1 row because of the presence of many rows that differ
only by the amount of trailing space in the table's string column.
Inserting such values however appears to violate the unique checks on 
INSERT/UPDATE. Thus that flag must not be set as it will prevent the optimizer
from choosing a faster access method.
This fix removes the setting of the HA_END_SPACE_KEYS flag.
2006-10-16 18:09:58 +03:00
svoj@april.(none)
ad85dccae4 Merge mysql.com:/home/svoj/devel/mysql/BUG10974/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG10974/mysql-5.1-engines
2006-10-06 11:09:58 +05:00
svoj@mysql.com/april.(none)
94040c54b3 Merge mysql.com:/home/svoj/devel/mysql/BUG10974/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG10974/mysql-5.0-engines
2006-10-06 11:01:39 +05:00
svoj@mysql.com/april.(none)
c67aa031d6 Addition to fix for bug#10974. Fixed spelling. 2006-10-06 10:54:47 +05:00
svoj@mysql.com/april.(none)
15d330ebce After merge fix. 2006-09-29 01:36:17 +05:00
svoj@april.(none)
7ed413d17b Merge mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-5.1-engines
2006-09-29 00:23:43 +05:00
svoj@mysql.com/april.(none)
ad7da7f1de Merge mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-5.0-engines
2006-09-29 00:00:27 +05:00
svoj@mysql.com/april.(none)
2de51adffa Merge mysql.com:/home/svoj/devel/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-4.1-engines
2006-09-28 22:14:31 +05:00
svoj@mysql.com/april.(none)
b271d7653b BUG#21617 - crash when selecting from merge table with inconsistent indexes
Crash may happen when selecting from a merge table that has underlying
tables with less indexes than in a merge table itself.

If number of keys in merge table is not bigger than requested key number,
return error.
2006-09-28 22:10:06 +05:00
svoj@april.(none)
9353e3cf73 Merge mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines
2006-09-27 18:58:23 +05:00
svoj@mysql.com/april.(none)
b724a03e08 After merge fix. 2006-09-27 18:33:31 +05:00
svoj@mysql.com/april.(none)
bfb6ff6bdd Merge mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
2006-09-27 15:42:00 +05:00
svoj@mysql.com/april.(none)
c0ebc0fb2a BUG#10974 - No error message if merge table based on union of innodb, memory
Fixed confusing error message from the storage engine when
it fails to open underlying table. The error message is issued
when a table is _opened_ (not when it is created).
2006-09-20 01:40:59 +05:00
patg@govinda.patg.net
8d1e5a5bb1 Merge govinda.patg.net:/home/patg/mysql-build/mysql-5.0-holyfoot
into  govinda.patg.net:/home/patg/mysql-build/mysql-5.1-5.0-merge2

Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:

bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
2006-08-08 09:01:32 -07:00
ingo/mydev@chilla.local
8bb8069653 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.1-amerge
2006-07-24 10:05:17 +02:00
jimw@rama.(none)
8b91a02728 Merge bk-internal:/home/bk/mysql-5.0-engines
into  rama.(none):/home/jimw/my/mysql-5.0-17608
2006-07-18 10:25:04 -07:00
jimw@rama.(none)
005c2a05d4 Bug #17766: The server accepts to create MERGE tables which cannot work
Changed the error reporting (and a crash) when inserting data into a
 MERGE table that has no underlying tables or no INSERT_METHOD specified
 by reporting that it is read-only.
2006-07-11 17:28:50 -07:00
ingo/mydev@chilla.local
dfaa3c78f6 Revoking patch for Bug#10952 on behalf of Brian. 2006-07-10 20:46:05 +02:00
ingo@mysql.com
2b6b5b6360 Merge mysql.com:/home/mydev/mysql-5.0-amerge
into  mysql.com:/home/mydev/mysql-5.1-amerge
2006-06-15 10:58:02 +02:00
acurtis@xiphis.org
0cd7ac833a Bug#19648
"Merge table does not work with bit types"
   MERGE should have HA_CAN_BIT_FIELD feature bit set or else table row is
   formatted incorrectly.
2006-05-30 17:10:53 -07:00
acurtis@xiphis.org
9ba0ac9579 manual merge bug#10952 2006-05-12 08:50:31 -07:00
acurtis@xiphis.org
47e89f208a bug#10952
"alter table from MyISAM to MERGE lost data without errors and warnings"
  Add new handlerton flag which prevent user from altering table storage
  engine to storage engines which would lose data. Both 'blackhole' and 
  'merge' are marked with the new flag.
  Tests included.
2006-05-09 13:31:46 -07:00
msvensson@neptunus.(none)
40b3222b74 Merge neptunus.(none):/home/msvensson/mysql/bug10460/my51-bug10460
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1
2006-03-06 11:39:36 +01:00
dlenev@mysql.com
8dbdf5237e Merge mysql.com:/home/dlenev/src/mysql-5.0-bg13525
into  mysql.com:/home/dlenev/src/mysql-5.1-merges2
2006-02-27 20:00:07 +03:00
msvensson@neptunus.(none)
c4b1fb68b4 Bug#10460 SHOW CREATE TABLE uses inconsistent upper/lower case 2006-02-22 10:09:59 +01:00
jimw@mysql.com
cdad081fbe Merge mysql.com:/home/jimw/my/mysql-5.1-13883
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-02-17 11:06:05 -08:00
sergefp@mysql.com
f95b5b0a5d BUG#17314: Can't use index_merge/intersection for MERGE tables
1. Fix index access costs for MERGE tables, set block_size=myisam_block_size/#underlying_tables 
   instead of 0 which it was before.
2. Make index scans on MERGE table to return records in (key_tuple, merge_table_rowid) order, 
   instead of just (key_tuple) order. This makes an index scan on MERGE table to be truly a ROR-scan
   which is a requirement for index_merge union/intersection.
2006-02-11 21:51:43 +03:00
jimw@mysql.com
95f1b04929 Remove extra space in SHOW CREATE TABLE output. (Bug #13883) 2006-02-02 11:39:28 -08: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
ingo@mysql.com
a04c5adb0b BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.1.
Extended the unique table check by a check of lock data.
Merge sub-tables cannot be detected by doing name checks only.
2005-12-22 13:48:00 +01:00
ingo@mysql.com
b0e84cb999 BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.0.
Extended the unique table check by a check of lock data.
Merge sub-tables cannot be detected by doing name checks only.
2005-12-20 16:35:05 +01:00
ingo@mysql.com
5aa315e23a BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 4.1.
INSERT ... SELECT with the same table on both sides (hidden
below a MERGE table) does now work by buffering the select result.
The duplicate detection works now after open_and_lock_tables() 
on the locks.
I did not find a test case that failed without the change in
sql_update.cc. I made the change anyway as it should in theory
fix a possible MERGE table problem with multi-table update.
2005-12-07 19:52:26 +01:00
monty@mysql.com
e42c980967 Table definition cache, part 2
The table opening process now works the following way:
- Create common TABLE_SHARE object
- Read the .frm file and unpack it into the TABLE_SHARE object
- Create a TABLE object based on the information in the TABLE_SHARE
  object and open a handler to the table object

Other noteworthy changes:
- In TABLE_SHARE the most common strings are now LEX_STRING's
- Better error message when table is not found
- Variable table_cache is now renamed 'table_open_cache'
- New variable 'table_definition_cache' that is the number of table defintions that will be cached
- strxnmov() calls are now fixed to avoid overflows
- strxnmov() will now always add one end \0 to result
- engine objects are now created with a TABLE_SHARE object instead of a TABLE object.
- After creating a field object one must call field->init(table) before using it

- For a busy system this change will give you:
 - Less memory usage for table object
 - Faster opening of tables (if it's has been in use or is in table definition cache)
 - Allow you to cache many table definitions objects
 - Faster drop of table
2005-11-23 22:45:02 +02:00
ingo@mysql.com
0af6e68acf Merge mysql.com:/home/mydev/mysql-4.1-4100
into  mysql.com:/home/mydev/mysql-5.0-5000
2005-09-29 14:07:32 +02:00
ingo@mysql.com
5c93e799d8 Merge mysql.com:/home/mydev/mysql-4.0-4000
into  mysql.com:/home/mydev/mysql-4.1-4100
2005-09-29 13:44:17 +02:00
ingo@mysql.com
1af69fca94 Bug#9112 - Merge table with composite index producing invalid results with some queries
Second platform fix for floating point rounding.
2005-09-29 13:37:30 +02:00
ingo@mysql.com
b3c3db08f0 Merge mysql.com:/home/mydev/mysql-4.1-4100
into  mysql.com:/home/mydev/mysql-5.0-5000
2005-09-28 14:10:02 +02:00
ingo@mysql.com
a3618b128b Merge mysql.com:/home/mydev/mysql-4.0-4000
into  mysql.com:/home/mydev/mysql-4.1-4100
2005-09-27 15:42:14 +02:00
ingo@mysql.com
d005299a57 Bug#9112 - Merge table with composite index producing invalid results with some queries
Reduced the precision of the test numbers.
Not all platforms could reproduce the exact numbers.
2005-09-27 15:26:16 +02:00
ingo@mysql.com
b9630b50d2 Merge mysql.com:/home/mydev/mysql-4.1-4100
into  mysql.com:/home/mydev/mysql-5.0-5000
2005-09-23 17:27:07 +02:00
ingo@mysql.com
bf89c139a4 Merge mysql.com:/home/mydev/mysql-4.0-4000
into  mysql.com:/home/mydev/mysql-4.1-4100
2005-09-23 10:49:08 +02:00
ingo@mysql.com
4025d2965b Bug#9112 - Merge table with composite index producing invalid results with some queries
The problem was an ab-use of last_rkey_length.
Formerly we saved the packed key length (of the search key)
in this element. But in certain cases it got replaced by 
the (packed) result key length.
Now we use a new element of MI_INFO to save the packed key 
length of the search key.
2005-09-23 10:15:11 +02:00
jimw@mysql.com
b7079ed027 Resolve merge from 4.1 2005-05-18 13:54:36 -07:00
ingo@mysql.com
26f2e57ecb Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
After review version.
Added a condition for MERGE tables. These do not have unique
indexes. But every key could be a unique key on the underlying
MyISAM table. So get the maximum key length for MERGE tables
instead of the maximum unique key length. This is used for
buffer allocation in write_record().
2005-05-18 19:40:39 +02:00
monty@mishka.local
2d25da2a4b concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file
myisam_max_extra_sort_file_size is depricated
Ensure that myisam_data_pointer_size is honoured when creating new MyISAM files
Changed default value of myisam_data_pointer_size from 4 to 6 to get rid of 'table-is-full' errors
2005-05-13 12:08:08 +03:00
serg@sergbook.mysql.com
a04fc26c54 manually merged 2004-12-31 15:26:24 +01:00
monty@mysql.com
34d5331cee Merge with global tree 2004-12-31 00:50:30 +02:00
timour@mysql.com
5eab756a63 Fix for BUG#7377. This fix adds the same implementation for ha_myisammgr::index_type as in version 5.0. 2004-12-27 14:05:35 +02:00