Commit graph

39552 commits

Author SHA1 Message Date
Gleb Shchepa
b83b4697d2 backport from 6.0
Bug#35658 (An empty binary value leads to mysqld crash)
        
Before this fix, the following token
  b''
caused the parser to crash when reading the binary value from the empty string.
The crash was caused by:
  ptr+= max_length - 1;
because max_length is unsigned and was 0, causing an overflow.
        
With this fix, an empty binary literal b'' is parsed as a binary value 0,
in Item_bin_string.

mysql-test/r/varbinary.result:
  Bug#35658 (An empty binary value leads to mysqld crash)
mysql-test/t/varbinary.test:
  Bug#35658 (An empty binary value leads to mysqld crash)
sql/item.cc:
  Bug#35658 (An empty binary value leads to mysqld crash)
2008-06-27 20:56:41 +05:00
Jonathan Perkin
04eef88140 Version number bump for 5.0.60sp1 2008-06-27 12:58:07 +02:00
Joerg Bruehe
983a0d4070 Merge the main 5.0 tree into 5.0-build. 2008-06-26 18:01:28 +02:00
Matthias Leich
49417ad7c8 Fix for
Bug#37492 timing bug in subselect.test
+ similar weaknesses found during testing
+ replace error numbers by error names
2008-06-25 16:59:38 +02:00
Timothy Smith
d5977e4c44 Bug #20748: Configuration files should not be read more than once
Normalize directory names before adding them to default_directories.


mysys/default.c:
  Normalize directory names with unpack_dirname() before adding them
  to default_directories.  This way, /etc/ and /etc will not count as
  duplicates.
  
  Because this entails allocating memory to store the normalized names,
  add error handling and ensure that it doesn't leak memory in case
  both my_print_defaults() and load_defaults() are called.
  
  Clean up the Windows code that finds the exe's parent directory, and
  pull it out into a separate function.
  
  Reorganize the code into a single init_default_directories() function,
  with internal #ifdefs, instead of init_default_directories_<system>()
  functions which were accessed via a function pointer.  This is more in
  line with normal MySQL coding style, and easier to read for some.
2008-06-24 19:25:23 -06:00
Gleb Shchepa
c6f67c6fd9 back-port from 5.1.
Bug#35480: BOM detection code crashes mysql CLI with zero-sized input
      
MySQL client crashed if no input was passed to it.
2008-06-24 21:05:56 +05:00
Gleb Shchepa
2c77798c74 back-port from 5.1.
Bug#33812: mysql client incorrectly parsing DELIMITER
      
Remove unnecessary and incorrect code that tried
to pull delimiter commands out of the middle of
statements.
2008-06-24 21:03:17 +05:00
Gleb Shchepa
6eb2e76abd Bug #36244: MySQL CLI doesn't recognize standalone --
as a commentary

mysql client has been modified to interpret EOL after
standalone -- commentary strings like whitespace
character (according to
http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-comments.html)


mysql-test/t/mysql_delimiter.sql:
  Added test case for bug #36244.
2008-06-24 19:32:06 +05:00
Kristofer Pettersson
681236e100 Bug#30087 Set query_cache_size, if the value is too small, get a unclear warning
This bugs clarifies a warning message issued when the query cache data
size becomes smaller than the minium allowed size.



mysql-test/r/query_cache.result:
  New warning message when a too small value has been set for query cache
  size.
sql/set_var.cc:
  To avoid poluting the QC API the warning messages are moved into the 
  QC module.
sql/share/errmsg.txt:
  Changed error message so that minimal cache size always is hinted.
sql/sql_cache.cc:
  Modified the warning message so that the minimal cache size always is
  hinted.
      
  Added interface method Query_cache::get_minimal_size_limit().
sql/sql_cache.h:
  Modified the warning message so that the minimal cache size always is
  hinted.
      
  Added interface method Query_cache::get_minimal_size_limit().
2008-06-19 02:40:35 +02:00
Kristofer Pettersson
12db5ab0d6 Bug#21226 FLUSH PRIVILEGES does not provided feedback when it fails.
If during a FLUSH PRIVILEGES the server fails to load the new privilege
tables, the error message is lost. This patch is a back port from 5.1 which
adresses this issue by setting the server in an error state if a failure
occurrs.
  
This patch also corrects an incorrect variable assignment which might
cause an error state to be reverted by coincidence.

sql/sql_parse.cc:
  * Set error state if acl_reload or grant_reload fails.
  * Fix bad variable assignment which cancels previous error status.
2008-06-18 21:09:30 +02:00
Matthias Leich mleich@mysql.com
2356d4f54a Fix for
Bug#37167 funcs_1: Many tests fail if the embedded server is used.
     Bug#37164 funcs_1: Some tests fail if an optional character set is missing.
+ some cleanup within the testsuite related to the fixes above
+ some adjustments to open bugs on Mac OS X
2008-06-18 17:02:19 +02:00
Georgi Kodinov
07350a6c93 auto merge 2008-06-17 11:42:17 +03:00
Tatiana A. Nurnberg
8342336f3d merge
configure.in:
  Raise version number after cloning 5.0.64
mysql-test/r/federated_disabled.result:
  Bug#37069 (5.0): implement --skip-federated
mysql-test/t/federated_disabled-master.opt:
  Bug#37069 (5.0): implement --skip-federated
mysql-test/t/federated_disabled.test:
  Bug#37069 (5.0): implement --skip-federated
mysys/errors.c:
  Fix for Bug#16902.
sql/mysqld.cc:
  Bug#37069 (5.0): implement --skip-federated
2008-06-17 10:09:25 +02:00
Tatiana A. Nurnberg
b1132821af Bug#36492: make dist and make install fails
Ignore BitKeeper SCCS folders in make-dist

mysql-test/Makefile.am:
  Ignore BitKeeper SCCS folders in make-dist
  (copy only .txt files).
2008-06-17 09:31:29 +02:00
Matthias Leich mleich@mysql.com
28f9704737 Fix for
Bug#37167 funcs_1: Many tests fail if the embedded server is used.
   Bug#37164 funcs_1: Some tests fail if an optional character set is missing.
+ some cleanup within the testsuite related to the fixes above
+ some adjustments to open bugs on Mac OS X

Details:
- Remove the initial loading of data from tests if these data
  are not somewhere retrieved
- Remove any use of columns with attribute unicode
  (-> UCS2 is no more needed) from tests where unicode
  properties are not checked or somehow required
- Create a separate branch of the Character maximum length test
  (CML). If UCS2 is available than this test gets applied to
  every available type of string column with attribute unicode
  This prevents any loss of coverage by the points above.
- Disable the execution of is_tables_ndb which gives wrong
  results because of a bug. Correct the exepected results of
  this test.
- In case of tests failing when applied to the embedded server
    1) Create a variant of this test for the embedded server
  or
    2) Skip the test in case of embedded server
  depending on purpose and complexity of test.
- Skip the tests which could suffer from
  Bug 28309 First insert violates unique constraint - was "memory" table empty ?
  Bug 37380 Test funcs_1.is_columns_myisam_embedded fails on OS X
  (both bugs Mac OS X, embedded server, MySQL 5.0 only)
- Minor improvements like remove typos
2008-06-16 20:39:58 +02:00
Hakan Kuecuekyilmaz
f3a81ef408 Fix for Bug#16902.
mysys/errors.c:
  Fixed typo, Bug#16902.
2008-06-16 10:05:00 +02:00
Joerg Bruehe
3b5c3df201 Merging bug fixes for 34995 and 35543 into the main tree,
and the build tag for 5.0.62.
2008-06-13 15:22:58 +02:00
unknown
3c2cb27162 No change - hack to force BZR conversion 2008-06-13 14:47:24 +02:00
Georgi Kodinov
1e17f242f3 atuomatically merged 5.0 main to 5.0-bugteam 2008-06-12 17:32:31 +03:00
Jonathan Perkin
b32fce091f Use skip-federated by default in all example configs. 2008-06-10 21:10:56 +02:00
mysqldev
dd64a86af4 Raise version number after cloning 5.0.64 2008-06-10 14:25:21 +02:00
Georgi Kodinov
da4cfa6d1e Bug#37069 (5.0): implement --skip-federated
mysql-test/r/federated_disabled.result:
  Bug#37069 (5.0): test case
mysql-test/t/federated_disabled-master.opt:
  Bug#37069 (5.0): test case
mysql-test/t/federated_disabled.test:
  Bug#37069 (5.0): test case
2008-06-03 13:12:37 +03:00
Matthias Leich mleich@mysql.com
1544026443 Bug#36788 Multiple funcs_1 'trig' tests are failing on vanilla builds
Fix for this bug and additional improvements/fixes
In detail:
- Remove unicode attribute from several columns
  (unicode properties were nowhere needed/tested)
  of the table tb3
  -> The runnability of these tests depends no more on
     the availibility of some optional collations.
- Use a table tb3 with the same layout for all
  engines to be tested and unify the engine name
  within the protocols.
  -> <engine>_trig_<abc>.result have the same content
- Do not load data into tb3 if these rows have no
  impact on result sets
- Add tests for NDB (they exist already in 5.1)
- "--replace_result" at various places because
  NDB variants of tests failed with "random" row
  order in results
  This fixes a till now unknown weakness within the
  funcs_1 NDB tests existing in 5.1 and 6.0
- Fix the expected result of ndb_trig_1011ext
  which suffered from Bug 32656
  + disable this test
- funcs_1 could be executed with the mysql-test-run.pl
  option "--reorder", which saves some runtime by
  optimizing server restarts.
  Runtimes on tmpfs (one attempt only):
  with    reorder 132 seconds
  without reorder 183 seconds
- Adjust two "check" statements within func_misc.test
  which were incorrect (We had one run with result set
  difference though the server worked good.)
- minor fixes in comments
2008-06-02 21:57:11 +02:00
Matthias Leich mleich@mysql.com
200a93632e Bug#36345 Test 'func_misc' fails on RHAS3 x86_64
Fix for this bug and a second similar problem
found during experimenting.

This replaces the first fix (already pushed to 5.1
and merged to 6.0) which
- failed in runs with the embedded server
- cannot be ported back to 5.0
2008-05-29 18:38:10 +02:00
Georgi Kodinov
54190bc098 automatically merged 2008-05-28 17:26:26 +03:00
Alexander Barkov
c9232b936d Updating charset doc files.
Thanks to Paul for preparing the up-to-date files
reflecting 4.1 changes.
2008-05-28 15:03:47 +05:00
Georgi Kodinov
ed78639805 Bug #36887: Typo in mysql_client_test.c uses bind instead of my_bind
There was a typo in a error check causing wrong thing to be ckecked 
and a possible error not being caught.
Fixed by using the correct variable to test for malloc() errors. 

tests/mysql_client_test.c:
  Bug #36887: fixed a typo
2008-05-27 14:33:08 +03:00
unknown
02ef24f778 Merge trift-lap.fambruehe:/MySQL/M50/mysql-5.0
into  trift-lap.fambruehe:/MySQL/M50/work-5.0


mysql-test/mysql-test-run.pl:
  Auto merged
2008-05-25 15:13:30 +02:00
Chad MILLER
9198215ec1 Merge from 5.0 trunk. Adding mailer metainfo. 2008-05-23 20:56:39 +02:00
Chad Miller
e981dd6215 Merge metainfo for mailer plugin. 2008-05-22 17:57:41 +02:00
Chad MILLER
636e751f36 Add branch metainfo for mailer plugin. 2008-05-21 18:18:44 -04:00
unknown
8bc987ab5b Merge host.loc:/work/bugs/5.0-bugteam-36676
into  host.loc:/work/bk/5.0-bugteam
2008-05-18 14:27:17 +05:00
unknown
29e7fa258d Fixed bug#36676: multiupdate using LEFT JOIN updates only
first row or fails with an error:
  ERROR 1022 (23000): Can't write; duplicate key in table ''

The server uses intermediate temporary table to store updated
row data.  The first column of this table contains rowid.
Current server implementation doesn't reset NULL flag of that
column even if the server fills a column with rowid.
To keep each rowid unique, there is an unique index.
An insertion into an unique index takes into account NULL
flag of key value and ignores real data if NULL flag is set.
So, insertion of actually different rowids may lead to two
kind of problems.  Visible effect of each of these problems
depends on an initial engine type of temporary table:

1. If multiupdate initially creates temporary table as
a MyISAM table (a table contains blob columns, and the
create_tmp_table function assumes, that this table is
large), it inserts only one single row and updates
only rows with one corresponding rowid. Other rows are
silently ignored. 

2. If multiupdate initially creates MEMORY temporary
table, fills it with data and reaches size limit for
MEMORY tables (max_heap_table_size), multiupdate
converts MEMORY table into MyISAM table and fails
with an error:
  ERROR 1022 (23000): Can't write; duplicate key in table ''


Multiupdate has been fixed to update the NULL flag of
temporary table rowid columns.



mysql-test/r/multi_update_tiny_hash.result:
  Added test case for bug#36676.
mysql-test/t/multi_update_tiny_hash-master.opt:
  Added test case for bug#36676.
mysql-test/t/multi_update_tiny_hash.test:
  Added test case for bug#36676.
sql/sql_update.cc:
  Fixed bug#36676: multiupdate using LEFT JOIN updates only
                   first row or fails with an error:
    ERROR 1022 (23000): Can't write; duplicate key in table ''
  
  The multi_update::send_data method has been modified to reset null bits of
  fields containing rowids.
2008-05-18 14:21:25 +05:00
unknown
f197f3abb4 Bug #36705 key_buffer_size of >= 2G allocates all availabel virtual memory on 64-bit wondo.
temporary variables of 'long' types were used to store ulong values,
that causes init_key_cache to receive distorted parameters


sql/handler.cc:
  Bug #36705 key_buffer_size of >= 2G allocates all availabel virtual memory on 64-bit wondo.
  
  types of temporary variables changed to match init_key_cache() parameters
2008-05-17 12:53:47 +05:00
unknown
eee5b97258 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-bugteam
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-bugteam
2008-05-16 17:48:07 -04:00
unknown
290b6c00c9 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my50-bug36570
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-bugteam
2008-05-16 17:40:01 -04:00
unknown
97354b1907 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-bugteam
into  magare.gmz:/home/kgeorge/mysql/autopush/B36011-take2-5.0-bugteam
2008-05-16 18:56:43 +03:00
unknown
1f904b7f11 Add a test at Andrei's behest. Show the SHOW CREATE on the
master also, so that we can visually see the slave is the same.


mysql-test/r/rpl_sp.result:
  SHOW CREATE on master also.
mysql-test/t/rpl_sp.test:
  SHOW CREATE on master also.
2008-05-16 11:26:29 -04:00
unknown
0fb1527e95 Bug #36011: server crash with explain extended on query
with dependent subqueries
An IN subquery is executed on EXPLAIN when it's not correlated.
If the subquery required a temporary table for its execution
not all the internal structures were restored from pointing to
the items of the temporary table to point back to the items of
the subquery.
Fixed by restoring the ref array when a temp tables were used in
executing the IN subquery during EXPLAIN EXTENDED.


mysql-test/r/subselect.result:
  Bug #36011: test case
mysql-test/t/subselect.test:
  Bug #36011: test case
sql/sql_select.cc:
  Bug #36011: restore the ref array after execution 
  when there were temp tables.
2008-05-16 17:05:55 +03:00
unknown
21b8d8b5b3 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/Users/davi/mysql/mysql-5.0-bugteam
2008-05-16 10:55:48 -03:00
unknown
e10957274a Updated to address Davi's complaint about missing binlog.
mysql-test/r/rpl_sp.result:
  Add binlog results to show that they're written correctly.
mysql-test/t/rpl_sp.test:
  Add binlog results to show that they're written correctly.
2008-05-16 09:15:56 -04:00
unknown
b2fe762e02 Raise version number after cloning 5.0.62 2008-05-16 11:01:59 +02:00
unknown
7ca1538b90 Merge host.loc:/work/bugs/5.0-bugteam-36488
into  host.loc:/work/bk/5.0-bugteam
2008-05-16 13:00:12 +05:00
unknown
55012e427b Bug#36570: Parse error of CREATE PROCEDURE stmt with comments on \
slave

The stored-routine code took the contents of the (lowest) parser
and copied it directly to the binlog, which causes problems if there
is a special case of interpretation at the parser level -- which 
there is, in the "/*!VER */" comments.  The trailing "*/" caused
errors on the slave, naturally.

Now, since by that point we have /properly/ created parse-tree (as 
the rest of the server should do!) for the stored-routine CREATE, we
can construct a perfect statement from that information, instead of
writing uncertain information from an unknown parser state.  
Fortunately, there's already a function nearby that does exactly 
that.
---
Update for Bug#36570.  Qualify routine names with db name when
writing to the binlog ONLY if the source text is qualified.


mysql-test/r/binlog_innodb.result:
  Offsets changed due to quoting.
  ---
  New offset to account for db-qualified names.
mysql-test/r/ctype_cp932_binlog.result:
  Offsets changed due to quoting.
  ---
  Qualify routine names with DB.  Offsets change also.
mysql-test/r/mysqlbinlog.result:
  Case changed in result due to interpretation of data instead of 
  literal recitation.
  ---
  Qualify procedure name with db.
mysql-test/r/rpl_sp.result:
  Offsets changed due to quoting.  Added tests.
  ---
  Qualify routine names with DB if qualified in query.  Offsets change also.
mysql-test/t/rpl_sp.test:
  Add version-limiting quotes to exercise bug#36570.  Test that 
  backtick-quoted identifiers and labels work also.
  ---
  Use different db to show qualification works.  Qualify routine names
  with DB if qualified in query.
sql/sp.cc:
  In create_string, we may not have a sp_name parameter yet, so
  instead pass the char* and length of the only member we'd get out
  of it.
  
  Having done that, we can use the same function to write the 
  CREATE (FUNC|TRIG|PROC) statement to the binlog as we always used
  to display the statement to the user.
  ---
  Make the db name part of the CREATE string if it is specified.
  
  Specify it in part of writing to the binlog when creating a new
  routine.
sql/sp_head.cc:
  Set the sp_head m_explicit_name member as the sp_name member is set.  
  We can not peek at this later, as the sp_name is gone by then.
sql/sp_head.h:
  Add a member to track whether the name is qualified with the 
  database.
2008-05-15 19:13:24 -04:00
unknown
21c07eb7b5 Merge bk-internal:/home/bk/mysql-5.0
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.0-bugteam
2008-05-14 13:32:09 +03:00
unknown
66367aeea8 Fixed bug #36488: regexp returns false matches, concatenating
with previous rows.

The WHERE clause containing expression:
  CONCAT(empty_field1, empty_field2, ..., 'literal constant', ...)
    REGEXP 'regular expression'
may return wrong matches.

Optimization of the CONCAT function has been fixed.



mysql-test/r/func_concat.result:
  Added test case for bug #36488.
mysql-test/t/func_concat.test:
  Added test case for bug #36488.
sql/item_strfunc.cc:
  Fixed bug #36488.
  The Item_func_concat::val_str method is optimized to
  use first non-empty argument of the CONCAT function for in-place
  result accumulation. This optimization is acceptable if that
  first argument is not a constant.
  However, current implementation checks this condition only for
  the first actual argument of the CONCAT function.
  So, the Item_func_concat::val_str method can corrupt values
  of, for example, literal strings by appending random data.
  
  The Item_func_concat::val_str method has been modified to take
  into account the ability to be modified in-place for the first
  non-empty argument.
2008-05-13 20:27:46 +05:00
unknown
54998d6125 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kent/bk/mysql-5.0-release-merge


BUILD/Makefile.am:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/std_data/funcs_1/innodb_tb1.txt:
  Auto merged
mysql-test/std_data/funcs_1/innodb_tb2.txt:
  Auto merged
mysql-test/std_data/funcs_1/innodb_tb3.txt:
  Auto merged
mysql-test/std_data/funcs_1/innodb_tb4.txt:
  Auto merged
mysql-test/std_data/funcs_1/memory_tb1.txt:
  Auto merged
mysql-test/std_data/funcs_1/memory_tb2.txt:
  Auto merged
mysql-test/std_data/funcs_1/memory_tb3.txt:
  Auto merged
mysql-test/std_data/funcs_1/memory_tb4.txt:
  Auto merged
mysql-test/std_data/funcs_1/myisam_tb1.txt:
  Auto merged
mysql-test/std_data/funcs_1/myisam_tb2.txt:
  Auto merged
mysql-test/std_data/funcs_1/myisam_tb3.txt:
  Auto merged
mysql-test/std_data/funcs_1/myisam_tb4.txt:
  Auto merged
mysql-test/std_data/funcs_1/t3.txt:
  Auto merged
mysql-test/std_data/funcs_1/t4.txt:
  Auto merged
mysql-test/std_data/funcs_1/t7.txt:
  Auto merged
mysql-test/std_data/funcs_1/t9.txt:
  Auto merged
mysql-test/suite/funcs_1/README.txt:
  Auto merged
mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc:
  Auto merged
mysql-test/suite/funcs_1/datadict/datadict_load.inc:
  Auto merged
mysql-test/suite/funcs_1/include/innodb_tb1.inc:
  Auto merged
mysql-test/suite/funcs_1/include/innodb_tb2.inc:
  Auto merged
mysql-test/suite/funcs_1/include/innodb_tb3.inc:
  Auto merged
mysql-test/suite/funcs_1/include/innodb_tb4.inc:
  Auto merged
mysql-test/suite/funcs_1/include/memory_tb1.inc:
  Auto merged
mysql-test/suite/funcs_1/include/memory_tb2.inc:
  Auto merged
mysql-test/suite/funcs_1/include/memory_tb3.inc:
  Auto merged
mysql-test/suite/funcs_1/include/memory_tb4.inc:
  Auto merged
mysql-test/suite/funcs_1/include/myisam_tb1.inc:
  Auto merged
mysql-test/suite/funcs_1/include/myisam_tb2.inc:
  Auto merged
mysql-test/suite/funcs_1/include/myisam_tb3.inc:
  Auto merged
mysql-test/suite/funcs_1/include/myisam_tb4.inc:
  Auto merged
mysql-test/suite/funcs_1/include/sp_tb.inc:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_func_view.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_02.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_07.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_10.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_0102.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_0407.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_09.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_frkey.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_views.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_columns_innodb.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_columns_memory.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_columns_myisam.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_columns_ndb.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_tables_innodb.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_tables_memory.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_tables_myisam.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_tables_ndb.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_func_view.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_02.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_07.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_10.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_0102.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_0407.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_09.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_1011ext.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_views.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_func_view.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_02.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_07.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_10.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_0102.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_0407.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_09.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_views.result:
  Auto merged
mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc:
  Auto merged
mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc:
  Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_02.inc:
  Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_03.inc:
  Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
  Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_10.inc:
  Auto merged
mysql-test/suite/funcs_1/t/innodb_trig_0407.test:
  Auto merged
mysql-test/suite/funcs_1/t/is_basics_mixed.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_02.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_03.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_06.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_07.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_08.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_10.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_02.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_03.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_06.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_07.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_08.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_10.test:
  Auto merged
mysql-test/suite/funcs_1/triggers/trig_frkey2.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_0102.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_03.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_0407.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_08.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_09.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc:
  Auto merged
mysql-test/suite/funcs_1/views/func_view.inc:
  Auto merged
mysql-test/suite/funcs_1/views/views_master.inc:
  Auto merged
BitKeeper/deleted/.del-load_file.txt:
  Delete: mysql-test/std_data/funcs_1/load_file.txt
2008-05-13 15:46:38 +02:00
unknown
470aa2c077 Merge host.loc:/work/bugs/5.0-bugteam-30059
into  host.loc:/work/bk/5.0-bugteam
2008-05-13 16:59:44 +05:00
unknown
ef4b6200ac Merge host.loc:/work/bugs/5.0-bugteam-36055
into  host.loc:/work/bk/5.0-bugteam
2008-05-13 00:32:43 +05:00
unknown
e7e49eb69e Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables
The REPAIR TABLE ... USE_FRM query silently corrupts data of tables
with old .FRM file version.
The mysql_upgrade client program or the REPAIR TABLE query (without
the USE_FRM clause) can't prevent this trouble, because in the
common case they don't upgrade .FRM file to compatible structure.

1. Evaluation of the REPAIR TABLE ... USE_FRM query has been
   modified to reject such tables with the message:
   "Failed repairing incompatible .FRM file".

2. REPAIR TABLE query (without USE_FRM clause) evaluation has been
   modified to upgrade .FRM files to current version.

3. CHECK TABLE ... FOR UPGRADE query evaluation has been modified
   to return error status when .FRM file has incompatible version.

4. mysql_upgrade and mysqlcheck client programs call CHECK TABLE
   FOR UPGRADE and REPAIR TABLE queries, so their behaviors have
   been changed too to upgrade .FRM files with incompatible
   version numbers.


mysql-test/std_data/bug36055.MYD:
  Added test data for bug #36055.
mysql-test/std_data/bug36055.MYI:
  Added test data for bug #36055.
mysql-test/std_data/bug36055.frm:
  Added test data for bug #36055.
mysql-test/r/repair.result:
  Added test case for bug# 36055.
mysql-test/t/repair.test:
  Added test case for bug# 36055.
sql/handler.cc:
  Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables
  
  The handler::ha_check_for_upgrade method has been modified to
  return error if .FRM file has incompatible version number.
sql/sql_table.cc:
  Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables
  
  The prepare_for_repair function has been modified to reject
  REPAIR TABLE ... USE_FRM queries on incompatible .FRM files
  with the message: "Failed repairing incompatible .FRM file".
2008-05-12 21:01:13 +05:00