Commit graph

54638 commits

Author SHA1 Message Date
Joerg Bruehe
3033955068 OS X 10.5 is now a supported platform,
so Apple's internal name ("darwin9") must be translated to ours ("osx10.5").
2008-06-27 19:12:42 +02:00
Gleb Shchepa
46c7c7244c merge 5.0-bugteam --> 5.1-bugteam 2008-06-27 22:11:52 +05:00
Jonathan Perkin
3ba4523085 Revert NDB version bump completely. 2008-06-27 18:43:45 +02:00
Jonathan Perkin
2be5c627fc Try different sp1 suffix for NDB. 2008-06-27 18:13:50 +02:00
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
Gleb Shchepa
dc0e959a30 buckport to 5.1.26 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 18:22:23 +05:00
Jonathan Perkin
04eef88140 Version number bump for 5.0.60sp1 2008-06-27 12:58:07 +02:00
Gleb Shchepa
cb72f09cfa backport to 5.1 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 15:23:40 +05:00
Joerg Bruehe
f42d68a2fe Merge the first part of the 5.1.26 changes to 5.1-build 2008-06-26 18:46:45 +02:00
Joerg Bruehe
5b5cd035e7 Merge an empty merge changeset == no change, just bookkeeping. 2008-06-26 18:30:57 +02:00
Joerg Bruehe
3d91c78b78 Merge from main 5.1 to 5.1-build 2008-06-26 18:11:01 +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
e72132a5b0 Upmerge 5.0 -> 5.1 2008-06-25 19:01:17 +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
Gleb Shchepa
696c03e47c auto merge 5.1-main --> 5.1-bugteam 2008-06-25 14:44:55 +05: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
e948f6a9b7 auto merge 5.0-bugteam --> 5.1-bugteam 2008-06-24 21:15:00 +05: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
Joerg Bruehe
5b7dd62b82 Merge from 5.1 main tree. 2008-06-24 16:07:59 +02:00
Tatiana A. Nurnberg
32089863c0 auto merge
configure.in:
  auto-merge
mysql-test/suite/bugs/r/rpl_bug33029.result:
  auto-merge
mysql-test/suite/bugs/t/rpl_bug33029.test:
  auto-merge
sql/slave.cc:
  auto-merge
sql/sql_class.cc:
  auto-merge
sql/structs.h:
  auto-merge
2008-06-21 11:12:41 +02:00
Joerg Bruehe
8152b54291 Correct the version number, after cloning 5.1.26 the next one is 27 2008-06-20 19:06:03 +02:00
Tatiana A. Nurnberg
574c57ccec Bug#33812: mysql client incorrectly parsing DELIMITER
Remove unnecessary and incorrect code that tried
to pull delimiter commands out of the middle of
statements.

client/mysql.cc:
  Remove unnecessary and incorrect code that tried
  to pull delimiter commands out of the middle of
  statements.
mysql-test/r/mysql.result:
  show we no longer parse DELIMITER when
  we shouldn't.
mysql-test/t/mysql_delimiter.sql:
  show we no longer parse DELIMITER when
  we shouldn't.
2008-06-20 18:58:14 +02:00
Georgi Kodinov
98cf483064 Bug#33812: mysql client incorrectly parsing DELIMITER
Remove unnecessary and incorrect code that tried to pull delimiter commands out of the
middle of statements

client/mysql.cc:
  Bug#33812: remove incorrect code
mysql-test/r/mysql.result:
  Bug#33812: test case
mysql-test/t/mysql_delimiter.sql:
  Bug#33812: test case
2008-06-20 18:08:24 +03:00
Joerg Bruehe
924d549067 No 'rc' status any more 2008-06-20 15:00:11 +02:00
Matthias Leich mleich@mysql.com
0969405012 Automatic merge 2008-06-20 14:55:17 +02:00
Joerg Bruehe
69860e7e35 Raise version number after cloning 5.1.26 2008-06-20 14:54:48 +02:00
Joerg Bruehe
ca0c0425aa Pull some bug fixes from the main tree. 2008-06-20 13:32:08 +02:00
Andrei Elkin
edc787333f merging prior to push Bug #36443 2008-06-20 13:57:25 +03:00
Andrei Elkin
e66ba2a74b Bug#36443 Server crashes when executing insert when insert trigger on table
The crash appeared to be a result of allocating an instance of Discrete_interval 
      automatically that that was referred in out-of-declaration scope.
                        
      Fixed with correcting backing up and restoring scheme of
      auto_inc_intervals_forced, introduced by bug#33029, by means of shallow copying;
      added simulation code that forces executing those fixes of the former bug that
      targeted at master-and-slave having incompatible bug#33029-prone versions.

mysql-test/suite/bugs/r/rpl_bug33029.result:
  new results file
mysql-test/suite/bugs/t/rpl_bug33029.test:
  test merely checks no crash happens on slave.
sql/slave.cc:
  forcing to execute special logics implemented for bug#33029 if
  simulate_bug33029 the debug option is set.
sql/sql_class.cc:
  swaps of backed and the actual auto_inc_intervals_forced basing on shallow coping.
sql/structs.h:
  Removing the deep _copy() and methods associated with it;
  adding methods to Discrete_intervals_list:
      
  private `=', copy constructor to prevent using;
  private set_members();
  public  copy_shallow(), swap(), get_{head, tail, current}();
          empty_no_free() through set_members().
2008-06-19 21:47:59 +03:00
Davi Arnaut
1d00bbe01b Silence unused variable warning by printing the variables value.
mysys/stacktrace.c:
  Print stack bottom and thread stack values as they might be useful.
2008-06-19 13:00:53 -03:00
Joerg Bruehe
01ae49b16c Pull main tree into build team tree. 2008-06-19 17:33:00 +02:00
Gleb Shchepa
666cc6914b auto merge 2008-06-19 19:26:00 +05:00
Davi Arnaut
fcaaee6317 Bug#37003 Tests sporadically crashes with embedded server
Another problem is that the backtrace facility wasn't being
enabled for non-Linux targets even if the target OS has the
backtrace functions. Also, the stacktrace functions inside
mysqltest were being used without proper checks for their
presence in the build.


client/mysqltest.c:
  Only use stacktrace functions if they are available.
configure.in:
  Check if the compiler defines __bss_start
include/my_stacktrace.h:
  Enable stacktrace if system has backtrace functions.
mysys/stacktrace.c:
  Use backtrace functions if the system supports it.
sql/mysqld.cc:
  Only use stacktrace functions if they are available.
2008-06-19 11:02:32 -03:00
Gleb Shchepa
b870be7be3 auto merge with local tree (bug #37076) 2008-06-19 18:32:14 +05:00
Gleb Shchepa
c8bc6a5d1b Fixed bug #37076: TIMESTAMP/DATETIME/DATE values are not
replicated correctly between machines with
                  mixed endiannes


mysql-test/extra/rpl_tests/rpl_row_basic.test:
  Added regression test for bug#37076.
mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result:
  Added regression test for bug#37076.
mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result:
  Added regression test for bug#37076.
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
  Added regression test for bug#37076.
sql/field.h:
  Fixed bug #37076: TIMESTAMP/DATETIME/DATE values are not
                    replicated correctly between machines with
                    mixed endiannes
  
  pack and unpack virtual methods have been overloaded for
  Field_timestamp (TIMESTAMP domain), Field_datetime (DATETIME
  domain) and Field_date (DATE domain) classes to replicate data
  between platforms with different endiannes in a correct way
  like in Field_long and Field_longlong classes.
  
  Common code have been moved to private handle_int32 and 
  handle_int64 private methods.
2008-06-19 18:02:04 +05:00
Tatiana A. Nurnberg
b4a45a7121 re 36818: rpl_server_id1 fails expecting slave has stopped
On a slow environment like valgrind the test is vulnerable
because it does not check if slave has stopped at time
of the new session is requested `start slave;' -- disabling
test till it is fixed.

mysql-test/suite/rpl/t/disabled.def:
  disable rpl_server_id1 until test is fixed.
2008-06-19 12:39:48 +02:00
Tatiana A. Nurnberg
b564002d2b Bug#36434: ha_innodb.so is installed in the wrong directory
ha_innodb.so was incorrectly installed in the lib/mysql
directory rather than in lib/mysql/plugin.

Amending CS for 31736.

storage/innobase/Makefile.am:
  Install innobase to plugin-dir, not lib-dir.
2008-06-19 06:44:22 +02:00
Tatiana A. Nurnberg
7887a52d5c Bug#35480: BOM detection code crashes mysql CLI with zero-sized input
MySQL client crashed if no input was passed to it.

client/mysql.cc:
  Check if there's any data before reading it!
2008-06-19 05:12:28 +02:00
Tatiana A. Nurnberg
f13393db22 Fixed bug #37004.
The value of JOIN::tables must be set to 0 when there
is no matching min/max row.

mysql-test/r/subselect.result:
  Added a test case for bug #37004.
mysql-test/t/subselect.test:
  Added a test case for bug #37004.
2008-06-19 05:08:41 +02: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
672cb2c950 1. Upmerge of fix for the bugs
37167 funcs_1: Many tests fail if the embedded
                  server is used.
   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
2. Skip tests which suffer from bug
   37456 funcs_1: Several tests crash when used
                  with embedded server
3. Minor cleanup in some tests
2008-06-18 19:23:55 +02:00
Davi Arnaut
fb8f32d077 Bug#37003 Tests sporadically crashes with embedded server
The problem was that when a embedded linked version of mysqltest
crashed there was no way to obtain a stack trace if no core file
is available. Another problem is that the embedded version of
libmysql was not behaving (crash) the same as the non-embedded with
respect to sending commands to a explicitly closed connection.

The solution is to generate a mysqltest's stack trace on crash
and to enable "reconnect" if the connection handle was explicitly
closed so the behavior matches the non-embedded one.

client/CMakeLists.txt:
  Link mysys to mysqltest.
client/Makefile.am:
  Link mysys to mysqltest.
client/mysqltest.c:
  Add fatal signal handling with backtracing for Unix and Windows.
configure.in:
  Add check for weak symbols support and remove a spurious word.
include/Makefile.am:
  Add new header with prototype for stack tracing functions.
include/my_stacktrace.h:
  Add new header with prototype for stack tracing functions.
libmysqld/CMakeLists.txt:
  stack tracing is now part of mysys.
libmysqld/Makefile.am:
  stack tracing is now part of mysys.
libmysqld/lib_sql.cc:
  Re-connect if connection was explicitly closed. This is
  done to match the behavior of the non-embeded libmysql.
mysql-test/t/sql_low_priority_updates_func.test:
  Test expects parallelism between queries that cannot be
  guaranteed under embedded.
mysys/CMakeLists.txt:
  Add stacktrace to mysys.
mysys/Makefile.am:
  Add stacktrace to mysys.
mysys/stacktrace.c:
  Move stacktrace to mysys and add weak symbol for the
  C++ name de-mangling function so that it can later be
  overridden in C++ code. Also add my_ prefix to exported
  functions.
sql/CMakeLists.txt:
  stacktrace was moved to mysys.
sql/Makefile.am:
  stacktrace was moved to mysys.
sql/mysqld.cc:
  Add my_ prefix to mysys functions.
2008-06-18 13:17:15 -03: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
Timothy Smith
c9a854ac0b Merge changes from mysql 5.1.25 release clone (BK), applied manually into bzr. 2008-06-17 19:20:09 -06:00
Timothy Smith
211e9c08ae fix typo
This change was committed to the 5.1.25 release clone, but never
made it to the mysql-5.1 BK tree.  I'm committing it to mysql-5.1
bzr now.
2008-06-17 19:05:56 -06:00
Timothy Smith
3facc8222e Bug #37024: Wrong location of messagefiles
make_binary_distribution.sh got clobbered by the 5.0 version during a merge.
This caused a few packaging problems, including message files put in the wrong
place and some missing files.  Fix is just to revert back to the 5.1 version
from before the merge.

Problem introduced in
ChangeSet 1.2606.2.1 2008/05/13 15:56:07 kent@kent-amd64.(none)

This change was made in the 5.1.25 release clone in BK, but never made it to the main mysql-5.1 BK tree.  I am adding it to mysql-5.1 bzr.
2008-06-17 19:04:10 -06:00
Davi Arnaut
5d237db6f6 Bug#33873: Fast ALTER TABLE doesn't work with multibyte character sets
The problem was that when comparing tables for a possible
fast alter table, the comparison was being performed using
the parsed information and not the final definition.
      
The solution is to use the possible final table layout to
compare if a fast alter is possible or not.

mysql-test/include/mix1.inc:
  Disable test case for Bug 21704 as it hasn't been fixed.
mysql-test/r/alter_table.result:
  Add test case result for Bug#33873
mysql-test/r/innodb_mysql.result:
  Update test case result
mysql-test/t/alter_table.test:
  Add test case for Bug#33873
sql/sql_table.cc:
  Use updated (final) information to compare fields.
2008-06-17 11:12:21 -03:00