Commit graph

89 commits

Author SHA1 Message Date
svoj@june.mysql.com
05a8c545df Merge mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-5.1-engines
2007-04-18 16:35:22 +05:00
svoj@mysql.com/june.mysql.com
2d64de7d7e Merge mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-5.0-engines
2007-04-18 16:22:23 +05:00
svoj@mysql.com/april.(none)
bcbcacb8da BUG#24342 - Incorrect results with query over MERGE table
MERGE engine may return incorrect values when several representations
of equal keys are present in the index. For example "groß" and "gross"
or "gross" and "gross " (trailing space), which are considered equal,
but have different lengths.

The problem was that key length was not recalculated after key lookup.

Only MERGE engine is affected.
2007-04-11 01:40:35 +05:00
kent@kent-amd64.(none)
a149769b2d Merge mysql.com:/home/kent/bk/tmp/mysql-5.0-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.1-build
2007-03-20 17:58:30 +01:00
holyfoot/hf@mysql.com/hfmain.(none)
0233b13572 tests fixed to work in embedded server 2007-03-20 17:53:55 +04:00
svoj@april.(none)
31329c83c0 Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.1-engines
2007-03-13 19:05:35 +04:00
svoj@mysql.com/april.(none)
de21b9b8ef Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
2007-03-13 18:11:47 +04:00
svoj@mysql.com/april.(none)
cb132bea8f BUG#26881 - Large MERGE tables report incorrect specification when no
differences in tables
Certain merge tables were wrongly reported as having incorrect definition:
- Some fields that are 1 byte long (e.g. TINYINT, CHAR(1)), might
  be internally casted (in certain cases) to a different type on a
  storage engine layer. (affects 4.1 and up)
- If tables in a merge (and a MERGE table itself) had short VARCHAR column (less
  than 4 bytes) and at least one (but not all) tables were ALTER'ed (even to an
  identical table: ALTER TABLE xxx ENGINE=yyy), table definitions went ouf of
  sync. (affects 4.1 only)

This is fixed by relaxing a check for underlying conformance and setting
field type to FIELD_TYPE_STRING in case varchar is shorter than 4
when a table is created.
2007-03-13 18:02:06 +04:00
istruewing@chilla.local
c72914329c Merge chilla.local:/home/mydev/mysql-5.0-bug26464
into  chilla.local:/home/mydev/mysql-5.1-bug26464
2007-03-06 12:35:58 +01:00
istruewing@chilla.local
7cb031a010 Merge chilla.local:/home/mydev/mysql-4.1-bug26464
into  chilla.local:/home/mydev/mysql-5.0-bug26464
2007-03-06 10:34:14 +01:00
istruewing@chilla.local
629fed6c4d Bug#26464 - insert delayed + update + merge = corruption
Using INSERT DELAYED on MERGE tables could lead to table
corruptions.

The manual lists a couple of storage engines, which can be
used with INSERT DELAYED. MERGE is not in this list.

The attempt to try it anyway has not been rejected yet.
This bug was not detected earlier as it can work under
special circumstances. Most notable is low concurrency.

To be safe, this patch rejects any attempt to use INSERT
DELAYED on MERGE tables.
2007-03-05 11:52:28 +01:00
istruewing@chilla.local
54bf789a6d Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-02-01 15:15:40 +01:00
svoj@june.mysql.com
b6f39522de Merge mysql.com:/home/svoj/devel/mysql/WL3567/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/WL3567/mysql-5.1-engines
2007-01-31 18:57:54 +04:00
svoj@mysql.com/june.mysql.com
a28b2ca1eb Merge mysql.com:/home/svoj/devel/mysql/WL3567/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/WL3567/mysql-5.0-engines
2007-01-31 17:09:58 +04:00
svoj@mysql.com/june.mysql.com
a51aae601d WL#3567 - MERGE engine: a check for underlying table conformance
When a merge table is opened compare column and key definition of
underlying tables against column and key definition of merge table.

If any of underlying tables have different column/key definition
refuse to open merge table.
2007-01-31 16:15:20 +04: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
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)
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
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
23cc6fe896 Bug#9112 - Merge table with composite index producing invalid results with some queries
After merge fix
2005-09-23 17:22:36 +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
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
jimw@mysql.com
b7079ed027 Resolve merge from 4.1 2005-05-18 13:54:36 -07:00