Commit graph

3509 commits

Author SHA1 Message Date
V Narayanan
336c810618 Bug#43572 Handle failures from hash_init
Failure to allocate memory for the hash->array element,
caused hash_init to return without initializing the other
members of the hash. Thus although the dynamic array
buffer may be allocated at a later point in the code, the
incompletely initialized hash caused fatal failures.

This patch moves the initialization of the other members
of the hash above the array allocation, so that the usage
of this hash will not result in fatal failures.

include/hash.h:
  Bug#43572 Handle failures from hash_init
  
  hash_inited is used to verify that the hash is
  valid. After the change induced by the current
  patch hash->array.buffer !=0 is not a valid check
  for this condition, since, the dynamic array can
  be allocated even at a later time. Bootstrap SQL
  script is setting some variables, which are
  actually not set due to this hash_inited issue.
  Thus we get empty grant tables.
  
  A better way to check if the hash is valid is
  to verify that hash->blength is greater than 0.
mysys/hash.c:
  Bug#43572 Handle failures from hash_init
  
  Move the initialization of the other members
  of the hash above the array allocation, so that
  the usage of this hash will not result in fatal
  failures.
2009-06-19 17:29:21 +05:30
Mikael Ronstrom
a22c8c5be5 Merge MySQL 5.1.35 into MySQL 5.4 2009-06-11 12:07:59 +02:00
Mikael Ronstrom
510835a072 Fix for BUG#45131 2009-06-10 12:23:02 +02:00
Vladislav Vaintroub
768bbae90e Backport WL#3653 to 5.1 to enable bundled innodb plugin.
Remove custom DLL loader code from innodb plugin code, use 
symbols exported from mysqld.


storage/innodb_plugin/handler/ha_innodb.cc:
  Remove a Win32 workaround for current_thd.
  The original  problem that innodb plugin used
  value of TLS variable across DLL boundaries is 
  solved in MySQL server (current_thd is a function
  not TLS variable now)
storage/innodb_plugin/handler/handler0alter.cc:
  Remove custom delay loader
storage/innodb_plugin/handler/handler0vars.h:
  Remove custom delay loader
storage/innodb_plugin/handler/i_s.cc:
  Remove custom delay loader
storage/innodb_plugin/handler/win_delay_loader.cc:
  Remove custom delay loader
storage/innodb_plugin/plug.in:
  Remove commented out MYSQL_PLUGIN_STATIC, 
  CMake would not parse that correctly
2009-06-10 10:59:49 +02:00
Georgi Kodinov
898443572f Bug #45286: compilation warnings on mysql-5.0-bugteam on MacOSX
Merged the 5.0 fix to 5.1 and fixed the 5.1 specific warnings.
2009-06-05 16:44:38 +03:00
MySQL Build Team
76bcf79c6b Apply fix for bug#45131, "Problems building on 32-bit linux".
As described in the bug, the problem is not new in 5.4, but newly tickled.
We need a register whose lower 8 bits can be accessed, and must request
such from the assembler.  Using a "q" constraint instead of "r" constraint
accomplishes this.
2009-06-05 00:29:41 +02:00
MySQL Build Team
782b8f0550 Some portability fixes.
include/Makefile.am: use @PERL@ to call scripts/dheadgen.pl - don't rely on #! /usr/bin/perl
scripts/dheadgen.pl: use 2-arg open() for compatibility with older Perl versions
storage/innobase/srv/srv0srv.c: Don't use C++-style comments in C code
2009-06-04 18:47:38 +02:00
Davi Arnaut
92e2fa7f17 MySQL 5.0 backport of Chad Miller's patch for Bug#34309:
Bug#34309: '_PC' macro redefinition

For reasons that are now a mystery, we had defined a CPP symbol to
help ancient compilers work better (in some way that's lost to history).
This interferes with at least one modern compiler.

Now, don't define the _PC symbol.  Those other underscore-leading
symbols are suspect also, but at least the names aren't inscrutable.
Let's leave them for now.
2009-05-30 12:38:36 -03:00
Sergey Glukhov
d31b6e4784 Bug#43940 64-bit windows myisamchk doesn't support key_buffer_size > 4G
The fix is to allow myisamchk to use >4G key_buffer_size on win64


include/myisam.h:
  use ulonglong instead of ulong for use_buffers
storage/myisam/myisamchk.c:
  use ulonglong instead of ulong for use_buffers
2009-05-27 13:11:28 +05:00
MySQL Build Team
b243283e69 Updates to build with community features enabled for community builds. 2009-05-20 23:04:34 +02:00
Chad MILLER
767501a9b1 Merge community up to enterprise, thus ending the community-server
adventure.
2009-05-06 09:06:32 -04:00
Davi Arnaut
6bee08c61d Merge from 5.0-pe-stage into main. 2009-05-05 20:41:58 +02:00
MySQL Build Team
d64c0e1675 A few portability tweaks for Netware, SCO and QNX 2009-05-01 19:35:04 +02:00
Chad MILLER
14f923c028 Merge 5.0.80 release and 5.0 community. Version left at 5.0.80. 2009-04-14 13:20:13 -04:00
Davi Arnaut
b27261a6f7 Bug#44164: TL_WRITE has no description in lock_descriptions[]
The problem was that new lock types were being added without a
corresponding description. Since the lock types (enum values)
are used as indices to the description array, the descriptions
could be shifted depending on the lock type. The solution is to
ensure that every lock type has a correspondent description.

include/thr_lock.h:
  Add warning.
sql/sql_test.cc:
  Update lock descriptions.
2009-04-14 14:05:32 +02:00
MySQL Build Team
e4c94f0f2c Ensure that all dtrace files are properly removed during make clean 2009-04-05 22:18:21 +02:00
MC Brown
27de99928a Ensuring the the right files are deleted during a cleanup 2009-04-03 14:52:59 +01:00
Timothy Smith
8e0dca5be8 merge -5.0 into -5.1 (minor conflicts resolved) 2009-04-01 23:19:04 -06:00
Timothy Smith
ccbd4c0451 auto-merge -build into -bugteam 2009-04-01 22:02:04 -06:00
Joerg Bruehe
7bb4fe0959 Merge the main tree into 5.0-build 2009-03-30 15:42:04 +02:00
Ignacio Galarza
e5ca171e2e Correct failing archive test. 2009-03-25 14:59:48 -04:00
Alexey Kopytov
4ee0f6a64c Automerge. 2009-03-25 16:19:53 +03:00
Alexey Kopytov
c4eba1edc1 Manual merge. 2009-03-25 15:48:29 +03:00
Alexey Kopytov
bbe24f03f2 Fix for bug #42965: isinf() on 32bit x86 with gcc 4.3 can
produce incorrect results for ROUND() 

Added a workaround and a configure check to test whether 
isinf() is affected by the GCC bug #39228. 
       
Since no code in MySQL server is currently affected by that 
bug, the patch is actually a safeguard for possible future 
code modifications. No test cases or changelog entries are 
needed. 


configure.in:
  Added a configure check to test whether isinf() is safe to use
  in C code.
include/my_global.h:
  Added a workaround for GCC bug #39228.
2009-03-24 11:26:22 +03:00
Georgi Kodinov
07d3da54fc reverting a bogus fix into 5.1-bugteam 2009-03-20 13:18:29 +02:00
Chad MILLER
738d964e67 Merge contributed automake changes, and 5.1 upstream. 2009-03-19 16:18:10 -04:00
unknown
150b0850b3 cmd-line-utils/libedit/readline/readline.h
- Header <sys/ttydefaults.h> missing or not usable on QNX and OpenServer 6

include/my_global.h
 - Moved down definition of function rint(), as for some platforms (in
   this case Netware) 'longlong' is not defined until later in
   "my_global.h"
2009-03-19 16:40:54 +01:00
Ignacio Galarza
675c3ce2bb auto-merge 2009-03-19 09:44:58 -04:00
Ignacio Galarza
1aefa8029f auto-merge 2009-03-19 09:42:36 -04:00
Chad MILLER
9bdcb6ba6e Copy include/config.h to include/my_config.h at configure-time. Also,
continue to update it at make-time.

One shouldn't need to run "make" on server source to get the stuff we say
plugins should use.
2009-03-19 09:37:30 -04:00
MC Brown
54850da8a0 Adding Probe definition file to distribution files 2009-03-18 11:08:24 +00:00
MC Brown
eb07819704 Fixing some issues in the build when using DTrace probes
Probe definition file is now a separate file that is copied during
build to the correct location, this enforces dependency requirements
correctly and allows builds to work when using the current or separate
build directories
2009-03-18 10:04:15 +00:00
Ignacio Galarza
0d588edf61 auto-merge 2009-03-17 16:29:24 -04:00
Alexey Kopytov
15baa13f84 Manual merge of patch for bug #40552 into the team tree.
Replaced a call to load_defaults() in sql_plugin.cc with 
its thread-safe version.
2009-03-16 13:37:13 +03:00
Georgi Kodinov
f79cb0de91 merge of bug 42434 to 5.1-bugteam 2009-03-11 18:13:42 +02:00
Georgi Kodinov
3033ea85a2 Bug #42434: license of mysys MD5 implementation is not GPL-compatible
Took the Xfree implementation (based on the same rewrite as the NDB one)
and added it instead of the current implementation.
Added a macro to make the calls to MD5 more streamlined. 

client/mysqlmanager-pwgen.c:
  Bug #42434: changed to call the macro
include/my_md5.h:
  Bug #42434: use the Xfree implementation
mysys/md5.c:
  Bug #42434: use the Xfree implementation
sql/item_strfunc.cc:
  Bug #42434: changed to call the macro
sql/table.cc:
  Bug #42434: changed to call the macro
tools/mysqlmanager.c:
  Bug #42434: changed to call the macro
2009-03-09 20:57:03 +02:00
He Zhenxing
5229ef4ac8 Merge BUG#22082 from 5.0-bugteam to 5.1-bugteam 2009-03-06 17:38:14 +08:00
He Zhenxing
82fc35475c BUG#22082 Slave hangs(holds mutex) on "disk full"
When disk is full, server may waiting for free space while
writing binlog, relay-log or MyISAM tables. The server will 
continue after user have freed some space. But the error
message printed was not quite clear about the how often the
error message is printed, and there will be a delay before
the server continue and user freeing space. And caused users
thinking that the server was hanging forever.

This patch fixed the problem by making the error messages
printed more clear. The error message is split into two part,
the first part will only be printed once, and the second part
will be printed very 10 times.

Message first part:
Disk is full writing '<filename>' (Errcode: <errorno>). Waiting
for someone to free space... (Expect up to 60 secs delay for 
server to continue after freeing disk space)

Message second part:
Retry in 60 secs, Message reprinted in 600 secs
2009-03-06 17:32:00 +08:00
Mikael Ronstrom
9cf08c21aa Fix for make distcheck failure
Removed fake rule and replaced it by real rule instead
2009-03-05 20:22:13 +01:00
Alexey Kopytov
f7cf8e57c1 Fix for bug #40552: Race condition around default_directories
in load_defaults() 

load_defaults(), my_search_option_files() and 
my_print_default_files()  utilized a global variable 
containing  a pointer to thread local memory. This could lead 
to race conditions when those functions were called with high 
concurrency. 

Fixed by changing the interface of the said functions to avoid 
the necessity for using a global variable.

Since we cannot change load_defaults() prototype for API
compatibility reasons, it was renamed my_load_defaults().
Now load_defaults() is a thread-unsafe wrapper around
a thread-safe version, my_load_defaults().


mysys/default.c:
  1. Added a thread-safe version of load_defaults(), changed
  load_defaults() with the old interface to be a thread-unsafe
  wrapper around the thread-safe version.
  2. Always use a private MEM_ROOT in my_print_default_files, 
  don't use a global variable.
sql-common/client.c:
  Use a thread-safe version of load_defaults().
2009-02-27 11:26:06 +02:00
Alexey Kopytov
cfa529fc3f Automerge. 2009-02-25 10:49:02 +02:00
Alexey Kopytov
318f23c712 Automerge. 2009-02-25 10:39:28 +02:00
Alexey Kopytov
0f6e7f1176 Fixed a build failure on Ubuntu 8.10 introduced by the patch
for bug #15936.

On some platforms fenv.h may #undef the min/max macros
defined in my_global.h.

Fixed by moving the #include directive for fenv.h from
mysqld.cc to my_global.h before definitions for min/max.

include/my_global.h:
  Moved #include <fenv.h> from mysqld.cc.
sql/mysqld.cc:
  Moved #include <fenv.h> to my_global.h.
2009-02-25 10:36:11 +02:00
Alexey Kopytov
315748a41d Automerge. 2009-02-25 10:48:05 +02:00
Alexey Botchkov
a34bb2b8d8 merging. 2009-02-24 15:29:49 +04:00
Chad MILLER
e2eed1c5ce Merge bug 39370 fix from bug tree. 2009-02-24 12:31:42 +02:00
Chad MILLER
00aa5ad58a Bug#39370: wrong output for error code 153
Add all HA error numbers and descriptions to perror.

Add reminder to header.

This is already fixed in smarter ways in future codebases, and this 
codebase is unlikely to change, since new development is forbidden
here.
2009-02-24 12:05:37 +02:00
Mikael Ronstrom
d54775cc35 Fixed silly mistake plus extra parenthesis 2009-02-23 22:21:22 +01:00
Mikael Ronstrom
b28aba4a46 Workaround for bug with gcc on Solaris using pthread_setschedprio
Improved data typing of server variables in InnoDB to avoid bugs on
Windows.
Workaround for bug in gcc assembler on 32-bit Mac OS X as well as
on Solaris.
2009-02-23 14:05:17 +01:00
Alexey Kopytov
8ae8162403 Manual merge to 5.1. 2009-02-23 14:42:31 +02:00