Commit graph

67 commits

Author SHA1 Message Date
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
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
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
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
ingo@mysql.com
c39be2d0e7 WL#1895 - Print message to error log in case of detected MyISAM corruption
Changed my_error() to print error messages, which come from
arbitrary registered ranges of error messages. Messages can
be unregistered (and should be at end of the program).
Added registration of handler error messages.
Added a new mi_print_error() macro and a new 
mi_report_error() function, which supply error
messages with a table name.
Added calls to mi_print_error() or mi_report_error()
at all places in MyISAM, where table corruption is detected.
2004-12-23 20:11:38 +01:00
monty@mishka.local
4f4bbfc279 Merge with 4.1 2004-12-22 13:54:39 +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
sergefp@mysql.com
0bf584d9a5 Fix and testcase for BUG#6699 2004-11-29 06:51:30 +03:00
monty@mishka.local
be4ca46fbe More fixes for strict mode:
More tests.
Better error messages.
Fixed bug when checking if we updated all needed columns for INSERT.
Give an error if we encounter a wrong float value during parsing.
Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
Fixed UPDATE IGNORE when using STRICT mode.
2004-10-02 22:20:08 +03:00
bell@sanja.is.com.ua
a7de21c3e0 thd pointer fixed 2004-09-10 13:09:27 +03:00
monty@mysql.com
5d71817c70 After merge fixes 2004-09-05 02:31:11 +03:00
monty@mysql.com
9d8555c0f0 Merge with 4.0 to get latest bug fixes 2004-09-04 15:59:49 +03:00
ram@gw.mysql.r18.ru
3acccb988a A fix (Bug #5232: CREATE TABLE ... SELECT can deadlock itself). 2004-08-27 16:43:01 +05:00
serg@serg.mylan
3b59dd1bd0 bug#4008 - merge table cannot determine what key caused "dupl. key" error 2004-06-25 15:12:13 +02:00
serg@serg.mylan
c4b55a2aea drop tables in windows-compatible order 2004-03-04 14:47:33 +01: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
cab1dc628c CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
New multi-key-cache handling. This was needed becasue the old one didn't work reliable with MERGE tables.
ALTER TABLE table_name ... CHARACTER SET  ... now changes all char/varchar/text columns to the given character set
(One must use ALTER TABLE ... DEFAULT CHARACTER SET ... to change the default character set)
Fixed that have_compress is detected properly (fixes problems with func_compress.test on platforms without zlib)
New syntax for CACHE INDEX ('keys' is optional if no index name is given and one mentions the key cache name only ones)
Removed compiler warnings
Added mysql_set_server_option() to allow clients like PHP to easaily set/reset the multi-statement flag.
2003-11-18 13:47:27 +02:00
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
paul@ice.snake.net
b0cea06b2e Modifications to error messages, and affected test results. 2003-07-15 11:33:01 -05:00
serg@serg.mylan
6a40b8e889 merge + order by (bug #515) temporary fix
properly fixed in 4.1
2003-07-04 14:42:57 +02:00
monty@narttu.mysql.fi
c21728f8c8 Cleaner implementation if INSERT ... SELECT with same tables
Tests cleanup (put drop database first in tests)
2003-07-03 11:55:36 +03:00
monty@mashka.mysql.fi
a6755acb4e Fix needed to support MERGE tables in different databases 2003-07-01 15:49:32 +03:00
monty@mashka.mysql.fi
dfac0fc90a Allow one to use MERGE tables with tables from different databases
Added command 'replace_column' to mysqltest
2003-06-27 16:29:10 +03: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
monty@mashka.mysql.fi
76f146a175 Merge with 4.0.9 2003-01-18 03:13:37 +02:00
serg@serg.mysql.com
390982aaa3 bugfix for MERGE tables and MAX(key) 2003-01-17 12:48:23 +01:00
serg@serg.mysql.com
c16e908a2b bugfix for 'ANALYZE for MERGE' and table-less MERGE table 2003-01-16 13:23:33 +01:00
monty@mashka.mysql.fi
7e9b27eaf5 Updates for multi-byte character sets
(Note: test 'union' fails, but Sanja promised to fix this)
2003-01-14 14:28:36 +02: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
monty@mashka.mysql.fi
d49167bae5 Fixes for binary protocol (complement to last push)
Changed timestamp to return string in YYYY-MM-DD HH:MM:SS format.
DATE_ADD() and related functions now returns correct DATE/DATETIME type depending on argument types.
Now all tests passes, still some work left to remove warnings in log files from mysql-test-run
2002-12-14 17:43:01 +02:00
monty@mashka.mysql.fi
806294c573 Fixes after merge with 4.0 2002-11-21 22:25:53 +02:00
monty@mashka.mysql.fi
dac6498f9b Merge with 4.0 2002-11-21 15:56:48 +02:00
serg@serg.mysql.com
0a75fe85d1 merge::records_in_range and optimizer 2002-11-17 18:58:03 +01:00
serg@sergbook.mysql.com
2e1a324a85 updated test results 2002-11-05 18:38:27 +01:00
monty@mashka.mysql.fi
5343d4c969 Added --skip-safemalloc to mysqltest
Added bug fix from 3.23 for AIX 4.3.3 and gcc 3.x
Small change in EXCHANGE output
Propagate open-files-limit from mysqld_safe -> mysqld
Fixed speed bug in GROUP BY
Added quotes around database name in CREATE DATABASE db_name (for binary log)
2002-10-29 22:56:30 +02:00
bell@sanja.is.com.ua
199f667c19 merging 2002-10-04 14:15:59 +03:00