developers
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 7 participants
- 6860 discussions

[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2698)
by knielsenīŧ knielsen-hq.org 06 May '09
by knielsenīŧ knielsen-hq.org 06 May '09
06 May '09
#At lp:maria
2698 knielsen(a)knielsen-hq.org 2009-05-06
We are now using Valgrind rather than purify, and have for quite some time.
Consequently, rename HAVE_purify to HAVE_valgrind, and related changes.
Leave some comments about purify when not clear that they apply also to Valgrind.
Fix redundant IF_VALGRIND declaration.
Misc. small fixes:
- Fixes for pool-of-threads patch.
- Fixes for push of PBXT storage engine.
- mysql-test-run.pl fix.
- Fix build problem in compile-pentium64-max.
modified:
BUILD/SETUP.sh
BUILD/build_mccge.sh
BUILD/compile-dist
BUILD/compile-pentium64-max
BUILD/compile-solaris-sparc-purify
include/m_string.h
include/my_global.h
mysql-test/Makefile.am
mysql-test/lib/mtr_unique.pm
mysql-test/t/pool_of_threads.cnf
mysys/mf_qsort.c
mysys/my_alloc.c
mysys/my_init.c
mysys/my_rnd.c
mysys/safemalloc.c
scripts/mysql_config.pl.in
scripts/mysql_config.sh
sql/field_conv.cc
sql/filesort.cc
sql/ha_partition.cc
sql/hostname.cc
sql/item_timefunc.cc
sql/log_event.cc
sql/log_event_old.cc
sql/my_decimal.h
sql/mysqld.cc
sql/opt_range.cc
sql/opt_range.h
sql/records.cc
sql/rpl_rli.cc
sql/rpl_rli.h
sql/set_var.cc
sql/slave.cc
sql/sql_base.cc
sql/sql_binlog.cc
sql/sql_class.cc
sql/sql_list.h
sql/sql_load.cc
sql/sql_select.cc
sql/table.cc
storage/archive/azio.c
storage/innobase/buf/buf0buf.c
storage/innobase/include/univ.i
storage/innobase/srv/srv0start.c
storage/maria/ha_maria.cc
storage/maria/ma_blockrec.c
storage/maria/ma_check.c
storage/maria/ma_loghandler.c
storage/maria/ma_packrec.c
storage/maria/ma_page.c
storage/maria/ma_pagecrc.c
storage/maria/ma_search.c
storage/myisam/mi_check.c
storage/myisam/mi_page.c
storage/myisam/mi_search.c
storage/myisammrg/ha_myisammrg.cc
strings/bcmp.c
strings/decimal.c
strings/strmake.c
per-file messages:
BUILD/SETUP.sh
Rename purify -> valgrind.
BUILD/build_mccge.sh
Rename purify -> valgrind.
BUILD/compile-dist
Fix that PBXT was missing in source tarball after `BUILD/compile-dist && make dist`
BUILD/compile-pentium64-max
Fix a build problem with BUILD/compile-pentium64-max on CentOS/Fedora Core 10 amd64.
On these systems, there is libz.so but no libz.a. Finding libz.so, ./configure decides
to use system zlib. But since BUILD/compile-pentium64-max builds a fully static binary
with -all-static, the link of mysqld fails due to missing libz.a.
Fix by using bundled zlib in the build script.
BUILD/compile-solaris-sparc-purify
Rename purify -> valgrind.
include/m_string.h
Rename purify -> valgrind.
include/my_global.h
Rename purify -> valgrind.
mysql-test/Makefile.am
Fix that PBXT test suite was missing from `make dist` source tarball.
mysql-test/lib/mtr_unique.pm
Better fix to avoid races when chmod'ing the semaphore file.
(Though using chmod 666 shared files in /tmp/ is still not a very good solution).
mysql-test/t/pool_of_threads.cnf
Fix that test case pool_of_threads fails if run on mysqld with no --with-libevent support.
mysys/mf_qsort.c
Rename purify -> valgrind.
mysys/my_alloc.c
Rename purify -> valgrind.
mysys/my_init.c
Rename purify -> valgrind.
mysys/my_rnd.c
Rename purify -> valgrind.
mysys/safemalloc.c
Rename purify -> valgrind.
scripts/mysql_config.pl.in
Rename purify -> valgrind.
scripts/mysql_config.sh
Rename purify -> valgrind.
sql/field_conv.cc
Rename purify -> valgrind.
sql/filesort.cc
Rename purify -> valgrind.
sql/ha_partition.cc
Rename purify -> valgrind.
sql/hostname.cc
Rename purify -> valgrind.
sql/item_timefunc.cc
Rename purify -> valgrind.
sql/log_event.cc
Rename purify -> valgrind.
sql/log_event_old.cc
Rename purify -> valgrind.
sql/my_decimal.h
Rename purify -> valgrind.
sql/mysqld.cc
Rename purify -> valgrind.
Fix redundant IF_VALGRIND declaration.
sql/opt_range.cc
Rename purify -> valgrind.
sql/opt_range.h
Rename purify -> valgrind.
sql/records.cc
Rename purify -> valgrind.
sql/rpl_rli.cc
Rename purify -> valgrind.
sql/rpl_rli.h
Rename purify -> valgrind.
sql/set_var.cc
Fix missing static declaration on pool_of_threads.
sql/slave.cc
Rename purify -> valgrind.
sql/sql_base.cc
Rename purify -> valgrind.
sql/sql_binlog.cc
Rename purify -> valgrind.
sql/sql_class.cc
Rename purify -> valgrind.
sql/sql_list.h
Rename purify -> valgrind.
sql/sql_load.cc
Rename purify -> valgrind.
sql/sql_select.cc
Rename purify -> valgrind.
sql/table.cc
Rename purify -> valgrind.
storage/archive/azio.c
Rename purify -> valgrind.
storage/innobase/buf/buf0buf.c
Rename purify -> valgrind.
storage/innobase/include/univ.i
Rename purify -> valgrind.
storage/innobase/srv/srv0start.c
Rename purify -> valgrind.
storage/maria/ha_maria.cc
Rename purify -> valgrind.
storage/maria/ma_blockrec.c
Rename purify -> valgrind.
storage/maria/ma_check.c
Rename purify -> valgrind.
storage/maria/ma_loghandler.c
Rename purify -> valgrind.
storage/maria/ma_packrec.c
Rename purify -> valgrind.
storage/maria/ma_page.c
Rename purify -> valgrind.
storage/maria/ma_pagecrc.c
Rename purify -> valgrind.
storage/maria/ma_search.c
Rename purify -> valgrind.
storage/myisam/mi_check.c
Rename purify -> valgrind.
storage/myisam/mi_page.c
Rename purify -> valgrind.
storage/myisam/mi_search.c
Rename purify -> valgrind.
storage/myisammrg/ha_myisammrg.cc
Rename purify -> valgrind.
strings/bcmp.c
Rename purify -> valgrind.
strings/decimal.c
Rename purify -> valgrind.
strings/strmake.c
Rename purify -> valgrind.
=== modified file 'BUILD/SETUP.sh'
--- a/BUILD/SETUP.sh 2009-03-22 12:16:09 +0000
+++ b/BUILD/SETUP.sh 2009-05-06 12:03:24 +0000
@@ -119,7 +119,7 @@ fi
# Set flags for various build configurations.
# Used in -valgrind builds
-valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify "
+valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_valgrind "
valgrind_flags="$valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max"
#
# Used in -debug builds
=== modified file 'BUILD/build_mccge.sh'
--- a/BUILD/build_mccge.sh 2008-02-07 23:12:34 +0000
+++ b/BUILD/build_mccge.sh 2009-05-06 12:03:24 +0000
@@ -938,7 +938,7 @@ set_up_ccache()
set_valgrind_flags()
{
if test "x$valgrind_flag" = "xyes" ; then
- loc_valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify "
+ loc_valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_valgrind "
loc_valgrind_flags="$loc_valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max"
compiler_flags="$compiler_flags $loc_valgrind_flags"
fi
=== modified file 'BUILD/compile-dist'
--- a/BUILD/compile-dist 2009-02-19 09:01:25 +0000
+++ b/BUILD/compile-dist 2009-05-06 12:03:24 +0000
@@ -60,8 +60,6 @@ fi
# Make sure to enable all features that affect "make dist"
# Remember that configure restricts the man pages to the configured features !
./configure \
- --with-maria-storage-engine \
- --with-embedded-server \
- --with-ndbcluster
-$gmake
-
+ --with-plugins=max-no-ndb \
+ --with-embedded-server
+$gmake -j4
=== modified file 'BUILD/compile-pentium64-max'
--- a/BUILD/compile-pentium64-max 2007-04-11 12:12:00 +0000
+++ b/BUILD/compile-pentium64-max 2009-05-06 12:03:24 +0000
@@ -4,7 +4,10 @@ path=`dirname $0`
. "$path/SETUP.sh"
extra_flags="$pentium64_cflags $fast_cflags"
-extra_configs="$pentium_configs $max_configs $static_link"
+# On CentOS/Fedora Core 10 amd64, there is system libz.so but not
+# libz.a, so need to use bundled zlib when building static
+# binary. Hence we use --with-zlib-dir=bundled
+extra_configs="$pentium_configs $max_configs $static_link --with-zlib-dir=bundled"
CC="$CC --pipe"
strip=yes
=== modified file 'BUILD/compile-solaris-sparc-purify'
--- a/BUILD/compile-solaris-sparc-purify 2007-02-26 15:12:40 +0000
+++ b/BUILD/compile-solaris-sparc-purify 2009-05-06 12:03:24 +0000
@@ -37,7 +37,7 @@ make -k maintainer-clean || true
path=`dirname $0`
. "$path/autorun.sh"
-CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -DHAVE_purify -DEXTRA_DEBUG -O2" CXX=gcc CXXLD=g++ CXXFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DHAVE_purify -DEXTRA_DEBUG -O2" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-embedded-server --with-innodb $EXTRA_CONFIG_FLAGS
+CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -DHAVE_valgrind -DEXTRA_DEBUG -O2" CXX=gcc CXXLD=g++ CXXFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DHAVE_valgrind -DEXTRA_DEBUG -O2" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-embedded-server --with-innodb $EXTRA_CONFIG_FLAGS
make -j 4
=== modified file 'include/m_string.h'
--- a/include/m_string.h 2008-06-26 15:10:11 +0000
+++ b/include/m_string.h 2009-05-06 12:03:24 +0000
@@ -108,7 +108,7 @@ extern const double log_10[309];
#define memcpy_fixed(A,B,C) memcpy((A),(B),(C))
#endif
-#if (!defined(USE_BMOVE512) || defined(HAVE_purify)) && !defined(bmove512)
+#if (!defined(USE_BMOVE512) || defined(HAVE_valgrind)) && !defined(bmove512)
#define bmove512(A,B,C) memcpy(A,B,C)
#endif
@@ -125,14 +125,14 @@ extern void bzero(uchar * dst,size_t len
#if !defined(bcmp) && !defined(HAVE_BCMP)
extern size_t bcmp(const uchar *s1,const uchar *s2,size_t len);
#endif
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
extern size_t my_bcmp(const uchar *s1,const uchar *s2,size_t len);
#undef bcmp
#define bcmp(A,B,C) my_bcmp((A),(B),(C))
-#define bzero_if_purify(A,B) bzero(A,B)
+#define bzero_if_valgrind(A,B) bzero(A,B)
#else
-#define bzero_if_purify(A,B)
-#endif /* HAVE_purify */
+#define bzero_if_valgrind(A,B)
+#endif /* HAVE_valgrind */
#if defined(_lint) || defined(FORCE_INIT_OF_VARS)
#define LINT_INIT_STRUCT(var) bzero(&var, sizeof(var)) /* No uninitialize-warning */
=== modified file 'include/my_global.h'
--- a/include/my_global.h 2009-04-08 16:55:26 +0000
+++ b/include/my_global.h 2009-05-06 12:03:24 +0000
@@ -563,16 +563,16 @@ int __void__;
#define LINT_INIT(var)
#endif
-#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || defined(HAVE_purify)
-#define PURIFY_OR_LINT_INIT(var) var=0
+#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || defined(HAVE_valgrind)
+#define VALGRIND_OR_LINT_INIT(var) var=0
#else
-#define PURIFY_OR_LINT_INIT(var)
+#define VALGRIND_OR_LINT_INIT(var)
#endif
-#ifdef HAVE_purify
-#define IF_PURIFY(A,B) (A)
+#ifdef HAVE_valgrind
+#define IF_VALGRIND(A,B) (A)
#else
-#define IF_PURIFY(A,B) (B)
+#define IF_VALGRIND(A,B) (B)
#endif
#if !defined(HAVE_UINT)
@@ -1174,7 +1174,7 @@ typedef char bool; /* Ordinary boolean
((uint32) (uchar) (A)[0])))
#define sint4korr(A) (*((const long *) (A)))
#define uint2korr(A) (*((const uint16 *) (A)))
-#if defined(HAVE_purify) && !defined(_WIN32)
+#if defined(HAVE_valgrind) && !defined(_WIN32)
#define uint3korr(A) (uint32) (((uint32) ((uchar) (A)[0])) +\
(((uint32) ((uchar) (A)[1])) << 8) +\
(((uint32) ((uchar) (A)[2])) << 16))
@@ -1186,7 +1186,7 @@ typedef char bool; /* Ordinary boolean
It means, that you have to provide enough allocated space !
*/
#define uint3korr(A) (long) (*((const unsigned int *) (A)) & 0xFFFFFF)
-#endif /* HAVE_purify && !_WIN32 */
+#endif /* HAVE_valgrind && !_WIN32 */
#define uint4korr(A) (*((const uint32 *) (A)))
#define uint5korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\
(((uint32) ((uchar) (A)[1])) << 8) +\
=== modified file 'mysql-test/Makefile.am'
--- a/mysql-test/Makefile.am 2009-02-13 12:25:41 +0000
+++ b/mysql-test/Makefile.am 2009-05-06 12:03:24 +0000
@@ -98,7 +98,8 @@ TEST_DIRS = t r include std_data std_dat
suite/stress/include suite/stress/t suite/stress/r \
suite/ndb suite/ndb/t suite/ndb/r \
suite/rpl_ndb suite/rpl_ndb/t suite/rpl_ndb/r \
- suite/parts suite/parts/t suite/parts/r suite/parts/inc
+ suite/parts suite/parts/t suite/parts/r suite/parts/inc \
+ suite/pbxt/t suite/pbxt/r
# Used by dist-hook and install-data-local to copy all
# test files into either dist or install directory
=== modified file 'mysql-test/lib/mtr_unique.pm'
--- a/mysql-test/lib/mtr_unique.pm 2009-04-08 16:55:26 +0000
+++ b/mysql-test/lib/mtr_unique.pm 2009-05-06 12:03:24 +0000
@@ -62,14 +62,14 @@ sub mtr_get_unique_id($$) {
die 'lock file is a symbolic link';
}
+ my $save_umask= umask(0);
open SEM, ">", "$file.sem" or die "can't write to $file.sem";
- chmod 0777, "$file.sem";
flock SEM, LOCK_EX or die "can't lock $file.sem";
if(! -e $file) {
open FILE, ">", $file or die "can't create $file";
close FILE;
}
- chmod 0777, $file;
+ umask($save_umask);
msg("HAVE THE LOCK");
@@ -135,8 +135,8 @@ sub mtr_release_unique_id($) {
die 'lock file is a symbolic link';
}
+ my $save_umask= umask(0);
open SEM, ">", "$file.sem" or die "can't write to $file.sem";
- chmod 0777, "$file.sem";
flock SEM, LOCK_EX or die "can't lock $file.sem";
msg("HAVE THE LOCK");
@@ -149,7 +149,7 @@ sub mtr_release_unique_id($) {
open FILE, ">", $file or die "can't create $file";
close FILE;
}
- chmod 0777, "$file.sem";
+ umask($save_umask);
open FILE, "+<", $file or die "can't open $file";
#select undef,undef,undef,0.2;
seek FILE, 0, 0;
=== modified file 'mysql-test/t/pool_of_threads.cnf'
--- a/mysql-test/t/pool_of_threads.cnf 2009-03-18 15:46:32 +0000
+++ b/mysql-test/t/pool_of_threads.cnf 2009-05-06 12:03:24 +0000
@@ -2,8 +2,8 @@
[mysqld.1]
test-ignore-wrong-options
-thread-handling= pool-of-threads
-thread_pool_size= 2
+loose-thread-handling= pool-of-threads
+loose-thread_pool_size= 2
extra-port= @mysqld.1.#extra-port
extra-max-connections=1
=== modified file 'mysys/mf_qsort.c'
--- a/mysys/mf_qsort.c 2007-10-17 16:08:58 +0000
+++ b/mysys/mf_qsort.c 2009-05-06 12:03:24 +0000
@@ -108,7 +108,7 @@ qsort_t my_qsort(void *base_ptr, size_t
low = (char*) base_ptr;
high = low+ size * (count - 1);
stack_ptr = stack + 1;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* The first element in the stack will be accessed for the last POP */
stack[0].low=stack[0].high=0;
#endif
=== modified file 'mysys/my_alloc.c'
--- a/mysys/my_alloc.c 2009-01-15 18:11:25 +0000
+++ b/mysys/my_alloc.c 2009-05-06 12:03:24 +0000
@@ -56,7 +56,7 @@ void init_alloc_root(MEM_ROOT *mem_root,
mem_root->block_num= 4; /* We shift this with >>2 */
mem_root->first_block_usage= 0;
-#if !(defined(HAVE_purify) && defined(EXTRA_DEBUG))
+#if !(defined(HAVE_valgrind) && defined(EXTRA_DEBUG))
if (pre_alloc_size)
{
if ((mem_root->free= mem_root->pre_alloc=
@@ -96,7 +96,7 @@ void reset_root_defaults(MEM_ROOT *mem_r
DBUG_ASSERT(alloc_root_inited(mem_root));
mem_root->block_size= block_size - ALLOC_ROOT_MIN_BLOCK_SIZE;
-#if !(defined(HAVE_purify) && defined(EXTRA_DEBUG))
+#if !(defined(HAVE_valgrind) && defined(EXTRA_DEBUG))
if (pre_alloc_size)
{
size_t size= pre_alloc_size + ALIGN_SIZE(sizeof(USED_MEM));
@@ -147,7 +147,7 @@ void reset_root_defaults(MEM_ROOT *mem_r
void *alloc_root(MEM_ROOT *mem_root, size_t length)
{
-#if defined(HAVE_purify) && defined(EXTRA_DEBUG)
+#if defined(HAVE_valgrind) && defined(EXTRA_DEBUG)
reg1 USED_MEM *next;
DBUG_ENTER("alloc_root");
DBUG_PRINT("enter",("root: 0x%lx", (long) mem_root));
=== modified file 'mysys/my_init.c'
--- a/mysys/my_init.c 2009-02-19 09:01:25 +0000
+++ b/mysys/my_init.c 2009-05-06 12:03:24 +0000
@@ -170,7 +170,7 @@ void my_end(int infoflag)
{
#ifdef HAVE_GETRUSAGE
struct rusage rus;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* Purify assumes that rus is uninitialized after getrusage call */
bzero((char*) &rus, sizeof(rus));
#endif
=== modified file 'mysys/my_rnd.c'
--- a/mysys/my_rnd.c 2007-12-14 08:47:00 +0000
+++ b/mysys/my_rnd.c 2009-05-06 12:03:24 +0000
@@ -26,7 +26,7 @@
void my_rnd_init(struct my_rnd_struct *rand_st, ulong seed1, ulong seed2)
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero((char*) rand_st,sizeof(*rand_st)); /* Avoid UMC varnings */
#endif
rand_st->max_value= 0x3FFFFFFFL;
=== modified file 'mysys/safemalloc.c'
--- a/mysys/safemalloc.c 2008-10-10 15:28:41 +0000
+++ b/mysys/safemalloc.c 2009-05-06 12:03:24 +0000
@@ -304,7 +304,7 @@ void _myfree(void *ptr, const char *file
sf_malloc_count--;
pthread_mutex_unlock(&THR_LOCK_malloc);
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
/* Mark this data as free'ed */
if (!sf_malloc_quick)
bfill(ptr, irem->datasize, (pchar) FREE_VAL);
=== modified file 'scripts/mysql_config.pl.in'
--- a/scripts/mysql_config.pl.in 2008-11-10 21:12:15 +0000
+++ b/scripts/mysql_config.pl.in 2009-05-06 12:03:24 +0000
@@ -44,7 +44,7 @@ use strict;
my @exclude_cflags =
qw/DDBUG_OFF DSAFEMALLOC USAFEMALLOC DSAFE_MUTEX
DPEDANTIC_SAFEMALLOC DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS
- DEXTRA_DEBUG DHAVE_purify O O[0-9] xO[0-9] W[-A-Za-z]*
+ DEXTRA_DEBUG DHAVE_valgrind O O[0-9] xO[0-9] W[-A-Za-z]*
Xa xstrconst xc99=none
unroll2 ip mp restrict/;
=== modified file 'scripts/mysql_config.sh'
--- a/scripts/mysql_config.sh 2008-11-10 21:12:15 +0000
+++ b/scripts/mysql_config.sh 2009-05-06 12:03:24 +0000
@@ -129,7 +129,7 @@ include="-I$pkgincludedir"
# to make --cflags usable for HP C++ (aCC)
for remove in DDBUG_OFF DSAFEMALLOC USAFEMALLOC DSAFE_MUTEX \
DPEDANTIC_SAFEMALLOC DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS \
- DEXTRA_DEBUG DHAVE_purify O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \
+ DEXTRA_DEBUG DHAVE_valgrind O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \
'mtune=[-A-Za-z0-9]*' 'mcpu=[-A-Za-z0-9]*' 'march=[-A-Za-z0-9]*' \
Xa xstrconst "xc99=none" AC99 \
unroll2 ip mp restrict
=== modified file 'sql/field_conv.cc'
--- a/sql/field_conv.cc 2009-01-31 21:22:44 +0000
+++ b/sql/field_conv.cc 2009-05-06 12:03:24 +0000
@@ -773,7 +773,7 @@ int field_conv(Field *to,Field *from)
((Field_varstring*)from)->length_bytes ==
((Field_varstring*)to)->length_bytes))
{ // Identical fields
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* This may happen if one does 'UPDATE ... SET x=x' */
if (to->ptr != from->ptr)
#endif
=== modified file 'sql/filesort.cc'
--- a/sql/filesort.cc 2009-02-19 09:01:25 +0000
+++ b/sql/filesort.cc 2009-05-06 12:03:24 +0000
@@ -953,13 +953,13 @@ static void make_sortkey(register SORTPA
if (addonf->null_bit && field->is_null())
{
nulls[addonf->null_offset]|= addonf->null_bit;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(to, addonf->length);
#endif
}
else
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
uchar *end= field->pack(to, field->ptr);
uint length= (uint) ((to + addonf->length) - end);
DBUG_ASSERT((int) length >= 0);
=== modified file 'sql/ha_partition.cc'
--- a/sql/ha_partition.cc 2009-02-19 09:01:25 +0000
+++ b/sql/ha_partition.cc 2009-05-06 12:03:24 +0000
@@ -3548,10 +3548,10 @@ void ha_partition::position(const uchar
(ref_length - PARTITION_BYTES_IN_POS));
#ifdef SUPPORTING_PARTITION_OVER_DIFFERENT_ENGINES
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(ref + PARTITION_BYTES_IN_POS + ref_length,
max_ref_length-ref_length);
-#endif /* HAVE_purify */
+#endif /* HAVE_valgrind */
#endif
DBUG_VOID_RETURN;
}
=== modified file 'sql/hostname.cc'
--- a/sql/hostname.cc 2007-10-11 17:29:09 +0000
+++ b/sql/hostname.cc 2009-05-06 12:03:24 +0000
@@ -175,7 +175,7 @@ char * ip_to_hostname(struct in_addr *in
char buff[GETHOSTBYADDR_BUFF_SIZE],buff2[GETHOSTBYNAME_BUFF_SIZE];
int tmp_errno;
struct hostent tmp_hostent, tmp_hostent2;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(buff,sizeof(buff)); // Bug in purify
#endif
if (!(hp=gethostbyaddr_r((char*) in,sizeof(*in),
=== modified file 'sql/item_timefunc.cc'
--- a/sql/item_timefunc.cc 2009-02-15 10:58:34 +0000
+++ b/sql/item_timefunc.cc 2009-05-06 12:03:24 +0000
@@ -290,8 +290,8 @@ static bool extract_date_time(DATE_TIME_
LINT_INIT(strict_week_number);
/* Remove valgrind varnings when using gcc 3.3 and -O1 */
- PURIFY_OR_LINT_INIT(strict_week_number_year_type);
- PURIFY_OR_LINT_INIT(sunday_first_n_first_week_non_iso);
+ VALGRIND_OR_LINT_INIT(strict_week_number_year_type);
+ VALGRIND_OR_LINT_INIT(sunday_first_n_first_week_non_iso);
if (!sub_pattern_end)
bzero((char*) l_time, sizeof(*l_time));
=== modified file 'sql/log_event.cc'
--- a/sql/log_event.cc 2009-02-19 09:01:25 +0000
+++ b/sql/log_event.cc 2009-05-06 12:03:24 +0000
@@ -6990,7 +6990,7 @@ int Rows_log_event::do_add_row_data(ucha
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("row_data", row_data, min(length, 32));
#endif
@@ -7771,7 +7771,7 @@ Table_map_log_event::Table_map_log_event
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("event buffer", (uchar*) buf, event_len);
#endif
@@ -8674,7 +8674,7 @@ int Rows_log_event::find_row(const Relay
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("key data", m_key, table->key_info->key_length);
#endif
@@ -8704,7 +8704,7 @@ int Rows_log_event::find_row(const Relay
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_PRINT("info",("found first matching record"));
DBUG_DUMP("record[0]", table->record[0], table->s->reclength);
#endif
@@ -9067,7 +9067,7 @@ Update_rows_log_event::do_exec_row(const
Now we have the right row to update. The old row (the one we're
looking for) is in record[1] and the new row is in record[0].
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
/*
Don't print debug messages when running valgrind since they can
trigger false warnings.
=== modified file 'sql/log_event_old.cc'
--- a/sql/log_event_old.cc 2009-01-31 21:22:44 +0000
+++ b/sql/log_event_old.cc 2009-05-06 12:03:24 +0000
@@ -724,7 +724,7 @@ static int find_and_fetch_row(TABLE *tab
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength);
DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength);
#endif
@@ -750,7 +750,7 @@ static int find_and_fetch_row(TABLE *tab
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength);
DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength);
#endif
@@ -1404,7 +1404,7 @@ int Old_rows_log_event::do_add_row_data(
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("row_data", row_data, min(length, 32));
#endif
@@ -2353,7 +2353,7 @@ int Old_rows_log_event::find_row(const R
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("key data", m_key, table->key_info->key_length);
#endif
@@ -2383,7 +2383,7 @@ int Old_rows_log_event::find_row(const R
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_PRINT("info",("found first matching record"));
DBUG_DUMP("record[0]", table->record[0], table->s->reclength);
#endif
@@ -2878,7 +2878,7 @@ Update_rows_log_event_old::do_exec_row(c
Now we have the right row to update. The old row (the one we're
looking for) is in record[1] and the new row is in record[0].
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
/*
Don't print debug messages when running valgrind since they can
trigger false warnings.
=== modified file 'sql/my_decimal.h'
--- a/sql/my_decimal.h 2008-05-20 07:38:17 +0000
+++ b/sql/my_decimal.h 2009-05-06 12:03:24 +0000
@@ -99,7 +99,7 @@ public:
{
len= DECIMAL_BUFF_LENGTH;
buf= buffer;
-#if !defined (HAVE_purify) && !defined(DBUG_OFF)
+#if !defined (HAVE_valgrind) && !defined(DBUG_OFF)
/* Set buffer to 'random' value to find wrong buffer usage */
for (uint i= 0; i < DECIMAL_BUFF_LENGTH; i++)
buffer[i]= i;
=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc 2009-04-08 21:16:10 +0000
+++ b/sql/mysqld.cc 2009-05-06 12:03:24 +0000
@@ -57,12 +57,6 @@
#define mysqld_charset &my_charset_latin1
-#ifdef HAVE_purify
-#define IF_PURIFY(A,B) (A)
-#else
-#define IF_PURIFY(A,B) (B)
-#endif
-
#if SIZEOF_CHARP == 4
#define MAX_MEM_TABLE_SIZE ~(ulong) 0
#else
@@ -76,9 +70,9 @@
char pstack_file_name[80];
#endif /* __linux__ */
-/* We have HAVE_purify below as this speeds up the shutdown of MySQL */
+/* We have HAVE_valgrind below as this speeds up the shutdown of MySQL */
-#if defined(HAVE_DEC_3_2_THREADS) || defined(SIGNALS_DONT_BREAK_READ) || defined(HAVE_purify) && defined(__linux__)
+#if defined(HAVE_DEC_3_2_THREADS) || defined(SIGNALS_DONT_BREAK_READ) || defined(HAVE_valgrind) && defined(__linux__)
#define HAVE_CLOSE_SERVER_SOCK 1
#endif
@@ -6520,7 +6514,7 @@ log and this option does nothing anymore
purify. These are not suppressed: instead we disable symlinks
option if compiled with valgrind support.
*/
- IF_PURIFY(0,1), 0, 0, 0, 0, 0},
+ IF_VALGRIND(0,1), 0, 0, 0, 0, 0},
{"sysdate-is-now", OPT_SYSDATE_IS_NOW,
"Non-default option to alias SYSDATE() to NOW() to make it safe-replicable. Since 5.0, SYSDATE() returns a `dynamic' value different for different invocations, even within the same statement.",
(uchar**) &global_system_variables.sysdate_is_now,
@@ -6561,7 +6555,7 @@ log and this option does nothing anymore
0, 0, 0, 0, 0},
{"use-symbolic-links", 's', "Enable symbolic link support. Deprecated option; use --symbolic-links instead.",
(uchar**) &my_use_symdir, (uchar**) &my_use_symdir, 0, GET_BOOL, NO_ARG,
- IF_PURIFY(0,1), 0, 0, 0, 0, 0},
+ IF_VALGRIND(0,1), 0, 0, 0, 0, 0},
{"user", 'u', "Run mysqld daemon as user.", 0, 0, 0, GET_STR, REQUIRED_ARG,
0, 0, 0, 0, 0, 0},
{"verbose", 'v', "Used with --help option for detailed help",
@@ -7661,7 +7655,7 @@ static int mysql_init_variables(void)
/* Things reset to zero */
opt_skip_slave_start= opt_reckless_slave = 0;
mysql_home[0]= pidfile_name[0]= log_error_file[0]= 0;
-#if defined(HAVE_REALPATH) && !defined(HAVE_purify) && !defined(HAVE_BROKEN_REALPATH)
+#if defined(HAVE_REALPATH) && !defined(HAVE_valgrind) && !defined(HAVE_BROKEN_REALPATH)
/* We can only test for sub paths if my_symlink.c is using realpath */
myisam_test_invalid_symlink= test_if_data_home_dir;
#endif
=== modified file 'sql/opt_range.cc'
--- a/sql/opt_range.cc 2009-02-19 09:01:25 +0000
+++ b/sql/opt_range.cc 2009-05-06 12:03:24 +0000
@@ -8347,7 +8347,7 @@ int QUICK_RANGE_SELECT::reset()
multi_range_buff->buffer= mrange_buff;
multi_range_buff->buffer_end= mrange_buff + mrange_bufsiz;
multi_range_buff->end_of_used_area= mrange_buff;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/*
We need this until ndb will use the buffer efficiently
(Now ndb stores complete row in here, instead of only the used fields
=== modified file 'sql/opt_range.h'
--- a/sql/opt_range.h 2008-08-25 17:18:22 +0000
+++ b/sql/opt_range.h 2009-05-06 12:03:24 +0000
@@ -44,7 +44,7 @@ class QUICK_RANGE :public Sql_alloc {
uint16 min_length,max_length,flag;
key_part_map min_keypart_map, // bitmap of used keyparts in min_key
max_keypart_map; // bitmap of used keyparts in max_key
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
uint16 dummy; /* Avoid warnings on 'flag' */
#endif
QUICK_RANGE(); /* Full range */
@@ -61,7 +61,7 @@ class QUICK_RANGE :public Sql_alloc {
min_keypart_map(min_keypart_map_arg),
max_keypart_map(max_keypart_map_arg)
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
dummy=0;
#endif
}
=== modified file 'sql/records.cc'
--- a/sql/records.cc 2008-07-17 18:26:55 +0000
+++ b/sql/records.cc 2009-05-06 12:03:24 +0000
@@ -520,7 +520,7 @@ static int init_rr_cache(THD *thd, READ_
info->struct_length+1,
MYF(0))))
DBUG_RETURN(1);
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
// Avoid warnings in qsort
bzero(info->cache,rec_cache_size+info->cache_records* info->struct_length+1);
#endif
=== modified file 'sql/rpl_rli.cc'
--- a/sql/rpl_rli.cc 2009-02-19 09:01:25 +0000
+++ b/sql/rpl_rli.cc 2009-05-06 12:03:24 +0000
@@ -34,7 +34,7 @@ Relay_log_info::Relay_log_info()
no_storage(FALSE), replicate_same_server_id(::replicate_same_server_id),
info_fd(-1), cur_log_fd(-1), save_temporary_tables(0),
cur_log_old_open_count(0), group_relay_log_pos(0), event_relay_log_pos(0),
-#if HAVE_purify
+#if HAVE_valgrind
is_fake(FALSE),
#endif
group_master_log_pos(0), log_space_total(0), ignore_log_space_limit(0),
=== modified file 'sql/rpl_rli.h'
--- a/sql/rpl_rli.h 2008-02-27 17:46:06 +0000
+++ b/sql/rpl_rli.h 2009-05-06 12:03:24 +0000
@@ -154,7 +154,7 @@ public:
ulonglong event_relay_log_pos;
ulonglong future_event_relay_log_pos;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bool is_fake; /* Mark that this is a fake relay log info structure */
#endif
=== modified file 'sql/set_var.cc'
--- a/sql/set_var.cc 2009-04-08 16:55:26 +0000
+++ b/sql/set_var.cc 2009-05-06 12:03:24 +0000
@@ -642,8 +642,8 @@ static sys_var_long_ptr sys_table_lock_w
static sys_var_long_ptr sys_thread_cache_size(&vars, "thread_cache_size",
&thread_cache_size);
#if HAVE_POOL_OF_THREADS == 1
-sys_var_long_ptr sys_thread_pool_size(&vars, "thread_pool_size",
- &thread_pool_size);
+static sys_var_long_ptr sys_thread_pool_size(&vars, "thread_pool_size",
+ &thread_pool_size);
#endif
static sys_var_thd_enum sys_tx_isolation(&vars, "tx_isolation",
&SV::tx_isolation,
=== modified file 'sql/slave.cc'
--- a/sql/slave.cc 2009-02-19 09:01:25 +0000
+++ b/sql/slave.cc 2009-05-06 12:03:24 +0000
@@ -2014,7 +2014,7 @@ int apply_event_and_update_pos(Log_event
if (exec_res == 0)
{
int error= ev->update_pos(rli);
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (!rli->is_fake)
#endif
{
=== modified file 'sql/sql_base.cc'
--- a/sql/sql_base.cc 2009-02-19 09:01:25 +0000
+++ b/sql/sql_base.cc 2009-05-06 12:03:24 +0000
@@ -3000,7 +3000,7 @@ TABLE *open_table(THD *thd, TABLE_LIST *
table->pos_in_table_list= table_list;
table_list->updatable= 1; // It is not derived table nor non-updatable VIEW
table->clear_column_bitmaps();
-#if !defined(DBUG_OFF) && !defined(HAVE_purify)
+#if !defined(DBUG_OFF) && !defined(HAVE_valgrind)
/*
Fill record with random values to find bugs where we access fields
without first reading them.
@@ -7363,7 +7363,7 @@ int setup_wild(THD *thd, TABLE_LIST *tab
/* make * substituting permanent */
SELECT_LEX *select_lex= thd->lex->current_select;
select_lex->with_wild= 0;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (&select_lex->item_list != &fields) // Avoid warning
#endif
select_lex->item_list= fields;
=== modified file 'sql/sql_binlog.cc'
--- a/sql/sql_binlog.cc 2009-01-09 12:49:24 +0000
+++ b/sql/sql_binlog.cc 2009-05-06 12:03:24 +0000
@@ -59,7 +59,7 @@ void mysql_client_binlog_statement(THD*
if (!thd->rli_fake)
{
thd->rli_fake= new Relay_log_info;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
thd->rli_fake->is_fake= TRUE;
#endif
have_fd_event= FALSE;
@@ -95,7 +95,7 @@ void mysql_client_binlog_statement(THD*
char const *endptr= 0;
int bytes_decoded= base64_decode(strptr, coded_len, buf, &endptr);
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
/*
This debug printout should not be used for valgrind builds
since it will read from unassigned memory.
@@ -188,7 +188,7 @@ void mysql_client_binlog_statement(THD*
bufptr += event_len;
DBUG_PRINT("info",("ev->get_type_code()=%d", ev->get_type_code()));
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
/*
This debug printout should not be used for valgrind builds
since it will read from unassigned memory.
=== modified file 'sql/sql_class.cc'
--- a/sql/sql_class.cc 2009-03-12 22:27:35 +0000
+++ b/sql/sql_class.cc 2009-05-06 12:03:24 +0000
@@ -3480,7 +3480,7 @@ int THD::binlog_update_row(TABLE* table,
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("before_record", before_record, table->s->reclength);
DBUG_DUMP("after_record", after_record, table->s->reclength);
DBUG_DUMP("before_row", before_row, before_size);
=== modified file 'sql/sql_list.h'
--- a/sql/sql_list.h 2009-01-15 18:11:25 +0000
+++ b/sql/sql_list.h 2009-05-06 12:03:24 +0000
@@ -43,7 +43,7 @@ public:
static void operator delete[](void *ptr, MEM_ROOT *mem_root)
{ /* never called */ }
static void operator delete[](void *ptr, size_t size) { TRASH(ptr, size); }
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bool dummy;
inline Sql_alloc() :dummy(0) {}
inline ~Sql_alloc() {}
=== modified file 'sql/sql_load.cc'
--- a/sql/sql_load.cc 2009-01-31 21:22:44 +0000
+++ b/sql/sql_load.cc 2009-05-06 12:03:24 +0000
@@ -581,7 +581,7 @@ read_fixed_length(THD *thd, COPY_INFO &i
}
it.rewind();
uchar *pos=read_info.row_start;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
read_info.row_end[0]=0;
#endif
=== modified file 'sql/sql_select.cc'
--- a/sql/sql_select.cc 2009-04-08 16:55:26 +0000
+++ b/sql/sql_select.cc 2009-05-06 12:03:24 +0000
@@ -1818,7 +1818,7 @@ JOIN::exec()
curr_join->having= curr_join->tmp_having= 0; // Allready done
/* Change sum_fields reference to calculated fields in tmp_table */
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (curr_join != this)
#endif
curr_join->all_fields= *curr_all_fields;
@@ -1840,7 +1840,7 @@ JOIN::exec()
fields_list.elements, all_fields))
DBUG_VOID_RETURN;
}
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (curr_join != this)
#endif
{
@@ -1994,7 +1994,7 @@ JOIN::exec()
tmp_fields_list2, tmp_all_fields2,
fields_list.elements, tmp_all_fields1))
DBUG_VOID_RETURN;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/*
Some GCCs use memcpy() for struct assignment, even for x=x.
GCC bug 19410: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19410
@@ -2059,7 +2059,7 @@ JOIN::exec()
tmp_table_param.save_copy_field= curr_join->tmp_table_param.copy_field;
tmp_table_param.save_copy_field_end=
curr_join->tmp_table_param.copy_field_end;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (curr_join != this)
#endif
{
@@ -3848,7 +3848,7 @@ update_ref_and_keys(THD *thd, DYNAMIC_AR
continue;
}
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* Valgrind complains about overlapped memcpy when save_pos==use. */
if (save_pos != use)
#endif
@@ -15138,7 +15138,7 @@ setup_copy_fields(THD *thd, TMP_TABLE_PA
DBUG_ASSERT (param->field_count > (uint) (copy - copy_start));
copy->set(tmp, item->result_field);
item->result_field->move_field(copy->to_ptr,copy->to_null_ptr,1);
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
copy->to_ptr[copy->from_length]= 0;
#endif
copy++;
=== modified file 'sql/table.cc'
--- a/sql/table.cc 2009-02-19 09:01:25 +0000
+++ b/sql/table.cc 2009-05-06 12:03:24 +0000
@@ -1694,7 +1694,7 @@ int open_table_from_share(THD *thd, TABL
outparam->record[1]= outparam->record[0]; // Safety
}
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/*
We need this because when we read var-length rows, we are not updating
bytes after end of varchar
@@ -1916,7 +1916,7 @@ partititon_err:
}
}
-#if defined(HAVE_purify) && !defined(DBUG_OFF)
+#if defined(HAVE_valgrind) && !defined(DBUG_OFF)
bzero((char*) bitmaps, bitmap_size*3);
#endif
=== modified file 'storage/archive/azio.c'
--- a/storage/archive/azio.c 2009-04-08 16:55:26 +0000
+++ b/storage/archive/azio.c 2009-05-06 12:03:24 +0000
@@ -63,7 +63,7 @@ void read_header(azio_stream *s, unsigne
*/
static void *az_allocator(void *dummy, uInt items, uInt size)
{
- return my_malloc((size_t)items*(size_t)size, IF_PURIFY(MY_ZEROFILL, MYF(0)));
+ return my_malloc((size_t)items*(size_t)size, IF_VALGRIND(MY_ZEROFILL, MYF(0)));
}
static void az_free(void *dummy, void *address)
=== modified file 'storage/innobase/buf/buf0buf.c'
--- a/storage/innobase/buf/buf0buf.c 2008-08-20 00:37:41 +0000
+++ b/storage/innobase/buf/buf0buf.c 2009-05-06 12:03:24 +0000
@@ -756,7 +756,7 @@ buf_pool_init(
/* Wipe contents of frame to eliminate a Purify
warning */
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
memset(block->frame, '\0', UNIV_PAGE_SIZE);
#endif
if (srv_use_awe) {
=== modified file 'storage/innobase/include/univ.i'
--- a/storage/innobase/include/univ.i 2008-03-27 01:40:45 +0000
+++ b/storage/innobase/include/univ.i 2009-05-06 12:03:24 +0000
@@ -107,7 +107,7 @@ operations (very slow); also UNIV_DEBUG
#define UNIV_BTR_DEBUG /* check B-tree links */
#define UNIV_LIGHT_MEM_DEBUG /* light memory debugging */
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* The following sets all new allocated memory to zero before use:
this can be used to eliminate unnecessary Purify warnings, but note that
it also masks many bugs Purify could detect. For detailed Purify analysis it
=== modified file 'storage/innobase/srv/srv0start.c'
--- a/storage/innobase/srv/srv0start.c 2008-12-14 19:21:24 +0000
+++ b/storage/innobase/srv/srv0start.c 2009-05-06 12:03:24 +0000
@@ -104,7 +104,7 @@ static char* srv_monitor_file_name;
/* Avoid warnings when using purify */
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
static int inno_bcmp(register const char *s1, register const char *s2,
register uint len)
{
=== modified file 'storage/maria/ha_maria.cc'
--- a/storage/maria/ha_maria.cc 2009-02-19 09:01:25 +0000
+++ b/storage/maria/ha_maria.cc 2009-05-06 12:03:24 +0000
@@ -3166,7 +3166,7 @@ static int ha_maria_init(void *p)
ma_checkpoint_init(checkpoint_interval);
maria_multi_threaded= maria_in_ha_maria= TRUE;
-#if defined(HAVE_REALPATH) && !defined(HAVE_purify) && !defined(HAVE_BROKEN_REALPATH)
+#if defined(HAVE_REALPATH) && !defined(HAVE_valgrind) && !defined(HAVE_BROKEN_REALPATH)
/* We can only test for sub paths if my_symlink.c is using realpath */
maria_test_invalid_symlink= test_if_data_home_dir;
#endif
=== modified file 'storage/maria/ma_blockrec.c'
--- a/storage/maria/ma_blockrec.c 2009-04-08 08:47:30 +0000
+++ b/storage/maria/ma_blockrec.c 2009-05-06 12:03:24 +0000
@@ -1594,7 +1594,7 @@ static void make_empty_page(MARIA_HA *in
bzero(buff, PAGE_HEADER_SIZE);
-#if !defined(DONT_ZERO_PAGE_BLOCKS) || defined(HAVE_purify)
+#if !defined(DONT_ZERO_PAGE_BLOCKS) || defined(HAVE_valgrind)
/*
We zero the rest of the block to avoid getting old memory information
to disk and to allow the file to be compressed better if archived.
=== modified file 'storage/maria/ma_check.c'
--- a/storage/maria/ma_check.c 2009-02-19 09:01:25 +0000
+++ b/storage/maria/ma_check.c 2009-05-06 12:03:24 +0000
@@ -4522,7 +4522,7 @@ static int sort_key_read(MARIA_SORT_PARA
sort_param->current_filepos,
0);
sort_param->real_key_length= int_key.data_length + int_key.ref_length;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(key+sort_param->real_key_length,
(sort_param->key_length-sort_param->real_key_length));
#endif
@@ -4567,7 +4567,7 @@ static int sort_maria_ft_key_read(MARIA_
sort_param->current_filepos);
sort_param->real_key_length= int_key.data_length + int_key.ref_length;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (sort_param->key_length > sort_param->real_key_length)
bzero(key+sort_param->real_key_length,
(sort_param->key_length-sort_param->real_key_length));
@@ -5104,7 +5104,7 @@ static int sort_get_next_record(MARIA_SO
llstr(sort_param->pos,llbuff));
continue;
}
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(sort_param->rec_buff + block_info.rec_len,
share->base.extra_rec_buff_size);
#endif
=== modified file 'storage/maria/ma_loghandler.c'
--- a/storage/maria/ma_loghandler.c 2009-03-17 19:05:01 +0000
+++ b/storage/maria/ma_loghandler.c 2009-05-06 12:03:24 +0000
@@ -6194,12 +6194,12 @@ my_bool translog_write_record(LSN *lsn,
{
uint i;
uint len= 0;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
ha_checksum checksum= 0;
#endif
for (i= TRANSLOG_INTERNAL_PARTS; i < part_no; i++)
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* Find unitialized bytes early */
checksum+= my_checksum(checksum, parts_data[i].str,
parts_data[i].length);
=== modified file 'storage/maria/ma_packrec.c'
--- a/storage/maria/ma_packrec.c 2009-01-09 04:23:25 +0000
+++ b/storage/maria/ma_packrec.c 2009-05-06 12:03:24 +0000
@@ -256,7 +256,7 @@ static my_bool _ma_read_pack_info(MARIA_
(uint) (share->pack.header_length-sizeof(header)),
MYF(MY_NABP)))
goto err2;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* Zero bytes accessed by fill_buffer */
bzero(disk_cache + (share->pack.header_length-sizeof(header)),
share->base.extra_rec_buff_size);
=== modified file 'storage/maria/ma_page.c'
--- a/storage/maria/ma_page.c 2008-09-01 17:31:40 +0000
+++ b/storage/maria/ma_page.c 2009-05-06 12:03:24 +0000
@@ -200,7 +200,7 @@ my_bool _ma_write_keypage(MARIA_PAGE *pa
/* Verify that keynr is correct */
DBUG_ASSERT(_ma_get_keynr(share, buff) == page->keyinfo->key_nr);
-#if defined(EXTRA_DEBUG) && defined(HAVE_purify) && defined(NOT_ANYMORE)
+#if defined(EXTRA_DEBUG) && defined(HAVE_valgrind) && defined(NOT_ANYMORE)
{
/* This is here to catch uninitialized bytes */
uint length= page->size;
=== modified file 'storage/maria/ma_pagecrc.c'
--- a/storage/maria/ma_pagecrc.c 2008-03-04 11:58:21 +0000
+++ b/storage/maria/ma_pagecrc.c 2009-05-06 12:03:24 +0000
@@ -318,7 +318,7 @@ my_bool maria_page_filler_set_none(uchar
__attribute__((unused)),
uchar *data_ptr __attribute__((unused)))
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
int4store_aligned(page + ((MARIA_SHARE *)data_ptr)->block_size - CRC_SIZE,
0);
#endif
=== modified file 'storage/maria/ma_search.c'
--- a/storage/maria/ma_search.c 2009-01-12 11:12:00 +0000
+++ b/storage/maria/ma_search.c 2009-05-06 12:03:24 +0000
@@ -2172,7 +2172,7 @@ int _ma_calc_bin_pack_key_length(const M
s_temp->totlength= key_length= (int_key->data_length + int_key->ref_length+
nod_flag);
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
s_temp->n_length= s_temp->n_ref_length=0; /* For valgrind */
#endif
s_temp->key=key;
=== modified file 'storage/myisam/mi_check.c'
--- a/storage/myisam/mi_check.c 2009-02-19 09:01:25 +0000
+++ b/storage/myisam/mi_check.c 2009-05-06 12:03:24 +0000
@@ -3147,7 +3147,7 @@ static int sort_key_read(MI_SORT_PARAM *
(info->s->rec_reflength+
_mi_make_key(info, sort_param->key, (uchar*) key,
sort_param->record, sort_param->filepos));
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(key+sort_param->real_key_length,
(sort_param->key_length-sort_param->real_key_length));
#endif
@@ -3187,7 +3187,7 @@ static int sort_ft_key_read(MI_SORT_PARA
sort_param->real_key_length=(info->s->rec_reflength+
_ft_make_key(info, sort_param->key,
key, wptr++, sort_param->filepos));
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (sort_param->key_length > sort_param->real_key_length)
bzero(key+sort_param->real_key_length,
(sort_param->key_length-sort_param->real_key_length));
=== modified file 'storage/myisam/mi_page.c'
--- a/storage/myisam/mi_page.c 2008-08-28 12:43:44 +0000
+++ b/storage/myisam/mi_page.c 2009-05-06 12:03:24 +0000
@@ -86,7 +86,7 @@ int _mi_write_keypage(register MI_INFO *
if ((length=keyinfo->block_length) > IO_SIZE*2 &&
info->state->key_file_length != page+length)
length= ((mi_getint(buff)+IO_SIZE-1) & (uint) ~(IO_SIZE-1));
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
{
length=mi_getint(buff);
bzero((uchar*) buff+length,keyinfo->block_length-length);
=== modified file 'storage/myisam/mi_search.c'
--- a/storage/myisam/mi_search.c 2008-08-28 18:52:23 +0000
+++ b/storage/myisam/mi_search.c 2009-05-06 12:03:24 +0000
@@ -1749,7 +1749,7 @@ _mi_calc_bin_pack_key_length(MI_KEYDEF *
uint length,key_length,ref_length;
s_temp->totlength=key_length=_mi_keylength(keyinfo,key)+nod_flag;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
s_temp->n_length= s_temp->n_ref_length=0; /* For valgrind */
#endif
s_temp->key=key;
=== modified file 'storage/myisammrg/ha_myisammrg.cc'
--- a/storage/myisammrg/ha_myisammrg.cc 2008-12-04 00:36:55 +0000
+++ b/storage/myisammrg/ha_myisammrg.cc 2009-05-06 12:03:24 +0000
@@ -837,7 +837,7 @@ int ha_myisammrg::info(uint flag)
{
if (table->s->key_parts && mrg_info.rec_per_key)
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/*
valgrind may be unhappy about it, because optimizer may access values
between file->keys and table->key_parts, that will be uninitialized.
=== modified file 'strings/bcmp.c'
--- a/strings/bcmp.c 2007-05-10 09:59:39 +0000
+++ b/strings/bcmp.c 2009-05-06 12:03:24 +0000
@@ -24,7 +24,7 @@
#include <my_global.h>
#include "m_string.h"
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
#undef bcmp
#undef HAVE_BCMP
#endif
@@ -50,7 +50,7 @@ uint len; /* 0 <= len <= 65535 */
#else
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
size_t bcmp(register const uchar *s1,register const uchar *s2,
register size_t len)
#else
=== modified file 'strings/decimal.c'
--- a/strings/decimal.c 2008-08-15 19:49:43 +0000
+++ b/strings/decimal.c 2009-05-06 12:03:24 +0000
@@ -144,7 +144,7 @@ static double scaler1[]= {
1.0, 10.0, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9
};
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
#define sanity(d) DBUG_ASSERT((d)->len > 0)
#else
#define sanity(d) DBUG_ASSERT((d)->len >0 && ((d)->buf[0] | \
=== modified file 'strings/strmake.c'
--- a/strings/strmake.c 2008-04-28 16:24:05 +0000
+++ b/strings/strmake.c 2009-05-06 12:03:24 +0000
@@ -51,11 +51,11 @@ char *strmake(register char *dst, regist
*/
if (length)
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
dst[length-1]= 'Z';
#else
bfill(dst, length-1, (int) 'Z');
-#endif /* HAVE_purify */
+#endif /* HAVE_valgrind */
}
#endif /* EXTRA_DEBUG */
return dst-1;
1
0

[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2699)
by knielsenīŧ knielsen-hq.org 06 May '09
by knielsenīŧ knielsen-hq.org 06 May '09
06 May '09
#At lp:maria
2699 knielsen(a)knielsen-hq.org 2009-04-27
We are now using Valgrind rather than purify, and have for quite some time.
Consequently, rename HAVE_purify to HAVE_valgrind, and related changes.
Leave some comments about purify when not clear that they apply also to Valgrind.
Fix redundant IF_VALGRIND declaration.
modified:
BUILD/SETUP.sh
BUILD/build_mccge.sh
BUILD/compile-solaris-sparc-purify
include/m_string.h
include/my_global.h
mysys/mf_qsort.c
mysys/my_alloc.c
mysys/my_init.c
mysys/my_rnd.c
mysys/safemalloc.c
scripts/mysql_config.pl.in
scripts/mysql_config.sh
sql/field_conv.cc
sql/filesort.cc
sql/ha_partition.cc
sql/hostname.cc
sql/item_timefunc.cc
sql/log_event.cc
sql/log_event_old.cc
sql/my_decimal.h
sql/mysqld.cc
sql/opt_range.cc
sql/opt_range.h
sql/records.cc
sql/rpl_rli.cc
sql/rpl_rli.h
sql/slave.cc
sql/sql_base.cc
sql/sql_binlog.cc
sql/sql_class.cc
sql/sql_list.h
sql/sql_load.cc
sql/sql_select.cc
sql/table.cc
storage/archive/azio.c
storage/innobase/buf/buf0buf.c
storage/innobase/include/univ.i
storage/innobase/srv/srv0start.c
storage/maria/ha_maria.cc
storage/maria/ma_blockrec.c
storage/maria/ma_check.c
storage/maria/ma_loghandler.c
storage/maria/ma_packrec.c
storage/maria/ma_page.c
storage/maria/ma_pagecrc.c
storage/maria/ma_search.c
storage/myisam/mi_check.c
storage/myisam/mi_page.c
storage/myisam/mi_search.c
storage/myisammrg/ha_myisammrg.cc
strings/bcmp.c
strings/decimal.c
strings/strmake.c
=== modified file 'BUILD/SETUP.sh'
--- a/BUILD/SETUP.sh 2009-03-22 12:16:09 +0000
+++ b/BUILD/SETUP.sh 2009-04-27 18:01:20 +0000
@@ -119,7 +119,7 @@ fi
# Set flags for various build configurations.
# Used in -valgrind builds
-valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify "
+valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_valgrind "
valgrind_flags="$valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max"
#
# Used in -debug builds
=== modified file 'BUILD/build_mccge.sh'
--- a/BUILD/build_mccge.sh 2008-02-07 23:12:34 +0000
+++ b/BUILD/build_mccge.sh 2009-04-27 18:01:20 +0000
@@ -938,7 +938,7 @@ set_up_ccache()
set_valgrind_flags()
{
if test "x$valgrind_flag" = "xyes" ; then
- loc_valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify "
+ loc_valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_valgrind "
loc_valgrind_flags="$loc_valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max"
compiler_flags="$compiler_flags $loc_valgrind_flags"
fi
=== modified file 'BUILD/compile-solaris-sparc-purify'
--- a/BUILD/compile-solaris-sparc-purify 2007-02-26 15:12:40 +0000
+++ b/BUILD/compile-solaris-sparc-purify 2009-04-27 18:01:20 +0000
@@ -37,7 +37,7 @@ make -k maintainer-clean || true
path=`dirname $0`
. "$path/autorun.sh"
-CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -DHAVE_purify -DEXTRA_DEBUG -O2" CXX=gcc CXXLD=g++ CXXFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DHAVE_purify -DEXTRA_DEBUG -O2" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-embedded-server --with-innodb $EXTRA_CONFIG_FLAGS
+CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -DHAVE_valgrind -DEXTRA_DEBUG -O2" CXX=gcc CXXLD=g++ CXXFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DHAVE_valgrind -DEXTRA_DEBUG -O2" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-embedded-server --with-innodb $EXTRA_CONFIG_FLAGS
make -j 4
=== modified file 'include/m_string.h'
--- a/include/m_string.h 2008-06-26 15:10:11 +0000
+++ b/include/m_string.h 2009-04-27 18:01:20 +0000
@@ -108,7 +108,7 @@ extern const double log_10[309];
#define memcpy_fixed(A,B,C) memcpy((A),(B),(C))
#endif
-#if (!defined(USE_BMOVE512) || defined(HAVE_purify)) && !defined(bmove512)
+#if (!defined(USE_BMOVE512) || defined(HAVE_valgrind)) && !defined(bmove512)
#define bmove512(A,B,C) memcpy(A,B,C)
#endif
@@ -125,14 +125,14 @@ extern void bzero(uchar * dst,size_t len
#if !defined(bcmp) && !defined(HAVE_BCMP)
extern size_t bcmp(const uchar *s1,const uchar *s2,size_t len);
#endif
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
extern size_t my_bcmp(const uchar *s1,const uchar *s2,size_t len);
#undef bcmp
#define bcmp(A,B,C) my_bcmp((A),(B),(C))
-#define bzero_if_purify(A,B) bzero(A,B)
+#define bzero_if_valgrind(A,B) bzero(A,B)
#else
-#define bzero_if_purify(A,B)
-#endif /* HAVE_purify */
+#define bzero_if_valgrind(A,B)
+#endif /* HAVE_valgrind */
#if defined(_lint) || defined(FORCE_INIT_OF_VARS)
#define LINT_INIT_STRUCT(var) bzero(&var, sizeof(var)) /* No uninitialize-warning */
=== modified file 'include/my_global.h'
--- a/include/my_global.h 2009-04-08 16:55:26 +0000
+++ b/include/my_global.h 2009-04-27 18:01:20 +0000
@@ -563,16 +563,16 @@ int __void__;
#define LINT_INIT(var)
#endif
-#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || defined(HAVE_purify)
-#define PURIFY_OR_LINT_INIT(var) var=0
+#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || defined(HAVE_valgrind)
+#define VALGRIND_OR_LINT_INIT(var) var=0
#else
-#define PURIFY_OR_LINT_INIT(var)
+#define VALGRIND_OR_LINT_INIT(var)
#endif
-#ifdef HAVE_purify
-#define IF_PURIFY(A,B) (A)
+#ifdef HAVE_valgrind
+#define IF_VALGRIND(A,B) (A)
#else
-#define IF_PURIFY(A,B) (B)
+#define IF_VALGRIND(A,B) (B)
#endif
#if !defined(HAVE_UINT)
@@ -1174,7 +1174,7 @@ typedef char bool; /* Ordinary boolean
((uint32) (uchar) (A)[0])))
#define sint4korr(A) (*((const long *) (A)))
#define uint2korr(A) (*((const uint16 *) (A)))
-#if defined(HAVE_purify) && !defined(_WIN32)
+#if defined(HAVE_valgrind) && !defined(_WIN32)
#define uint3korr(A) (uint32) (((uint32) ((uchar) (A)[0])) +\
(((uint32) ((uchar) (A)[1])) << 8) +\
(((uint32) ((uchar) (A)[2])) << 16))
@@ -1186,7 +1186,7 @@ typedef char bool; /* Ordinary boolean
It means, that you have to provide enough allocated space !
*/
#define uint3korr(A) (long) (*((const unsigned int *) (A)) & 0xFFFFFF)
-#endif /* HAVE_purify && !_WIN32 */
+#endif /* HAVE_valgrind && !_WIN32 */
#define uint4korr(A) (*((const uint32 *) (A)))
#define uint5korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\
(((uint32) ((uchar) (A)[1])) << 8) +\
=== modified file 'mysys/mf_qsort.c'
--- a/mysys/mf_qsort.c 2007-10-17 16:08:58 +0000
+++ b/mysys/mf_qsort.c 2009-04-27 18:01:20 +0000
@@ -108,7 +108,7 @@ qsort_t my_qsort(void *base_ptr, size_t
low = (char*) base_ptr;
high = low+ size * (count - 1);
stack_ptr = stack + 1;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* The first element in the stack will be accessed for the last POP */
stack[0].low=stack[0].high=0;
#endif
=== modified file 'mysys/my_alloc.c'
--- a/mysys/my_alloc.c 2009-01-15 18:11:25 +0000
+++ b/mysys/my_alloc.c 2009-04-27 18:01:20 +0000
@@ -56,7 +56,7 @@ void init_alloc_root(MEM_ROOT *mem_root,
mem_root->block_num= 4; /* We shift this with >>2 */
mem_root->first_block_usage= 0;
-#if !(defined(HAVE_purify) && defined(EXTRA_DEBUG))
+#if !(defined(HAVE_valgrind) && defined(EXTRA_DEBUG))
if (pre_alloc_size)
{
if ((mem_root->free= mem_root->pre_alloc=
@@ -96,7 +96,7 @@ void reset_root_defaults(MEM_ROOT *mem_r
DBUG_ASSERT(alloc_root_inited(mem_root));
mem_root->block_size= block_size - ALLOC_ROOT_MIN_BLOCK_SIZE;
-#if !(defined(HAVE_purify) && defined(EXTRA_DEBUG))
+#if !(defined(HAVE_valgrind) && defined(EXTRA_DEBUG))
if (pre_alloc_size)
{
size_t size= pre_alloc_size + ALIGN_SIZE(sizeof(USED_MEM));
@@ -147,7 +147,7 @@ void reset_root_defaults(MEM_ROOT *mem_r
void *alloc_root(MEM_ROOT *mem_root, size_t length)
{
-#if defined(HAVE_purify) && defined(EXTRA_DEBUG)
+#if defined(HAVE_valgrind) && defined(EXTRA_DEBUG)
reg1 USED_MEM *next;
DBUG_ENTER("alloc_root");
DBUG_PRINT("enter",("root: 0x%lx", (long) mem_root));
=== modified file 'mysys/my_init.c'
--- a/mysys/my_init.c 2009-02-19 09:01:25 +0000
+++ b/mysys/my_init.c 2009-04-27 18:01:20 +0000
@@ -170,7 +170,7 @@ void my_end(int infoflag)
{
#ifdef HAVE_GETRUSAGE
struct rusage rus;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* Purify assumes that rus is uninitialized after getrusage call */
bzero((char*) &rus, sizeof(rus));
#endif
=== modified file 'mysys/my_rnd.c'
--- a/mysys/my_rnd.c 2007-12-14 08:47:00 +0000
+++ b/mysys/my_rnd.c 2009-04-27 18:01:20 +0000
@@ -26,7 +26,7 @@
void my_rnd_init(struct my_rnd_struct *rand_st, ulong seed1, ulong seed2)
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero((char*) rand_st,sizeof(*rand_st)); /* Avoid UMC varnings */
#endif
rand_st->max_value= 0x3FFFFFFFL;
=== modified file 'mysys/safemalloc.c'
--- a/mysys/safemalloc.c 2008-10-10 15:28:41 +0000
+++ b/mysys/safemalloc.c 2009-04-27 18:01:20 +0000
@@ -304,7 +304,7 @@ void _myfree(void *ptr, const char *file
sf_malloc_count--;
pthread_mutex_unlock(&THR_LOCK_malloc);
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
/* Mark this data as free'ed */
if (!sf_malloc_quick)
bfill(ptr, irem->datasize, (pchar) FREE_VAL);
=== modified file 'scripts/mysql_config.pl.in'
--- a/scripts/mysql_config.pl.in 2008-11-10 21:12:15 +0000
+++ b/scripts/mysql_config.pl.in 2009-04-27 18:01:20 +0000
@@ -44,7 +44,7 @@ use strict;
my @exclude_cflags =
qw/DDBUG_OFF DSAFEMALLOC USAFEMALLOC DSAFE_MUTEX
DPEDANTIC_SAFEMALLOC DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS
- DEXTRA_DEBUG DHAVE_purify O O[0-9] xO[0-9] W[-A-Za-z]*
+ DEXTRA_DEBUG DHAVE_valgrind O O[0-9] xO[0-9] W[-A-Za-z]*
Xa xstrconst xc99=none
unroll2 ip mp restrict/;
=== modified file 'scripts/mysql_config.sh'
--- a/scripts/mysql_config.sh 2008-11-10 21:12:15 +0000
+++ b/scripts/mysql_config.sh 2009-04-27 18:01:20 +0000
@@ -129,7 +129,7 @@ include="-I$pkgincludedir"
# to make --cflags usable for HP C++ (aCC)
for remove in DDBUG_OFF DSAFEMALLOC USAFEMALLOC DSAFE_MUTEX \
DPEDANTIC_SAFEMALLOC DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS \
- DEXTRA_DEBUG DHAVE_purify O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \
+ DEXTRA_DEBUG DHAVE_valgrind O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \
'mtune=[-A-Za-z0-9]*' 'mcpu=[-A-Za-z0-9]*' 'march=[-A-Za-z0-9]*' \
Xa xstrconst "xc99=none" AC99 \
unroll2 ip mp restrict
=== modified file 'sql/field_conv.cc'
--- a/sql/field_conv.cc 2009-01-31 21:22:44 +0000
+++ b/sql/field_conv.cc 2009-04-27 18:01:20 +0000
@@ -773,7 +773,7 @@ int field_conv(Field *to,Field *from)
((Field_varstring*)from)->length_bytes ==
((Field_varstring*)to)->length_bytes))
{ // Identical fields
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* This may happen if one does 'UPDATE ... SET x=x' */
if (to->ptr != from->ptr)
#endif
=== modified file 'sql/filesort.cc'
--- a/sql/filesort.cc 2009-02-19 09:01:25 +0000
+++ b/sql/filesort.cc 2009-04-27 18:01:20 +0000
@@ -953,13 +953,13 @@ static void make_sortkey(register SORTPA
if (addonf->null_bit && field->is_null())
{
nulls[addonf->null_offset]|= addonf->null_bit;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(to, addonf->length);
#endif
}
else
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
uchar *end= field->pack(to, field->ptr);
uint length= (uint) ((to + addonf->length) - end);
DBUG_ASSERT((int) length >= 0);
=== modified file 'sql/ha_partition.cc'
--- a/sql/ha_partition.cc 2009-02-19 09:01:25 +0000
+++ b/sql/ha_partition.cc 2009-04-27 18:01:20 +0000
@@ -3548,10 +3548,10 @@ void ha_partition::position(const uchar
(ref_length - PARTITION_BYTES_IN_POS));
#ifdef SUPPORTING_PARTITION_OVER_DIFFERENT_ENGINES
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(ref + PARTITION_BYTES_IN_POS + ref_length,
max_ref_length-ref_length);
-#endif /* HAVE_purify */
+#endif /* HAVE_valgrind */
#endif
DBUG_VOID_RETURN;
}
=== modified file 'sql/hostname.cc'
--- a/sql/hostname.cc 2007-10-11 17:29:09 +0000
+++ b/sql/hostname.cc 2009-04-27 18:01:20 +0000
@@ -175,7 +175,7 @@ char * ip_to_hostname(struct in_addr *in
char buff[GETHOSTBYADDR_BUFF_SIZE],buff2[GETHOSTBYNAME_BUFF_SIZE];
int tmp_errno;
struct hostent tmp_hostent, tmp_hostent2;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(buff,sizeof(buff)); // Bug in purify
#endif
if (!(hp=gethostbyaddr_r((char*) in,sizeof(*in),
=== modified file 'sql/item_timefunc.cc'
--- a/sql/item_timefunc.cc 2009-02-15 10:58:34 +0000
+++ b/sql/item_timefunc.cc 2009-04-27 18:01:20 +0000
@@ -290,8 +290,8 @@ static bool extract_date_time(DATE_TIME_
LINT_INIT(strict_week_number);
/* Remove valgrind varnings when using gcc 3.3 and -O1 */
- PURIFY_OR_LINT_INIT(strict_week_number_year_type);
- PURIFY_OR_LINT_INIT(sunday_first_n_first_week_non_iso);
+ VALGRIND_OR_LINT_INIT(strict_week_number_year_type);
+ VALGRIND_OR_LINT_INIT(sunday_first_n_first_week_non_iso);
if (!sub_pattern_end)
bzero((char*) l_time, sizeof(*l_time));
=== modified file 'sql/log_event.cc'
--- a/sql/log_event.cc 2009-02-19 09:01:25 +0000
+++ b/sql/log_event.cc 2009-04-27 18:01:20 +0000
@@ -6990,7 +6990,7 @@ int Rows_log_event::do_add_row_data(ucha
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("row_data", row_data, min(length, 32));
#endif
@@ -7771,7 +7771,7 @@ Table_map_log_event::Table_map_log_event
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("event buffer", (uchar*) buf, event_len);
#endif
@@ -8674,7 +8674,7 @@ int Rows_log_event::find_row(const Relay
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("key data", m_key, table->key_info->key_length);
#endif
@@ -8704,7 +8704,7 @@ int Rows_log_event::find_row(const Relay
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_PRINT("info",("found first matching record"));
DBUG_DUMP("record[0]", table->record[0], table->s->reclength);
#endif
@@ -9067,7 +9067,7 @@ Update_rows_log_event::do_exec_row(const
Now we have the right row to update. The old row (the one we're
looking for) is in record[1] and the new row is in record[0].
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
/*
Don't print debug messages when running valgrind since they can
trigger false warnings.
=== modified file 'sql/log_event_old.cc'
--- a/sql/log_event_old.cc 2009-01-31 21:22:44 +0000
+++ b/sql/log_event_old.cc 2009-04-27 18:01:20 +0000
@@ -724,7 +724,7 @@ static int find_and_fetch_row(TABLE *tab
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength);
DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength);
#endif
@@ -750,7 +750,7 @@ static int find_and_fetch_row(TABLE *tab
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength);
DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength);
#endif
@@ -1404,7 +1404,7 @@ int Old_rows_log_event::do_add_row_data(
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("row_data", row_data, min(length, 32));
#endif
@@ -2353,7 +2353,7 @@ int Old_rows_log_event::find_row(const R
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("key data", m_key, table->key_info->key_length);
#endif
@@ -2383,7 +2383,7 @@ int Old_rows_log_event::find_row(const R
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_PRINT("info",("found first matching record"));
DBUG_DUMP("record[0]", table->record[0], table->s->reclength);
#endif
@@ -2878,7 +2878,7 @@ Update_rows_log_event_old::do_exec_row(c
Now we have the right row to update. The old row (the one we're
looking for) is in record[1] and the new row is in record[0].
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
/*
Don't print debug messages when running valgrind since they can
trigger false warnings.
=== modified file 'sql/my_decimal.h'
--- a/sql/my_decimal.h 2008-05-20 07:38:17 +0000
+++ b/sql/my_decimal.h 2009-04-27 18:01:20 +0000
@@ -99,7 +99,7 @@ public:
{
len= DECIMAL_BUFF_LENGTH;
buf= buffer;
-#if !defined (HAVE_purify) && !defined(DBUG_OFF)
+#if !defined (HAVE_valgrind) && !defined(DBUG_OFF)
/* Set buffer to 'random' value to find wrong buffer usage */
for (uint i= 0; i < DECIMAL_BUFF_LENGTH; i++)
buffer[i]= i;
=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc 2009-04-08 21:16:10 +0000
+++ b/sql/mysqld.cc 2009-04-27 18:01:20 +0000
@@ -57,12 +57,6 @@
#define mysqld_charset &my_charset_latin1
-#ifdef HAVE_purify
-#define IF_PURIFY(A,B) (A)
-#else
-#define IF_PURIFY(A,B) (B)
-#endif
-
#if SIZEOF_CHARP == 4
#define MAX_MEM_TABLE_SIZE ~(ulong) 0
#else
@@ -76,9 +70,9 @@
char pstack_file_name[80];
#endif /* __linux__ */
-/* We have HAVE_purify below as this speeds up the shutdown of MySQL */
+/* We have HAVE_valgrind below as this speeds up the shutdown of MySQL */
-#if defined(HAVE_DEC_3_2_THREADS) || defined(SIGNALS_DONT_BREAK_READ) || defined(HAVE_purify) && defined(__linux__)
+#if defined(HAVE_DEC_3_2_THREADS) || defined(SIGNALS_DONT_BREAK_READ) || defined(HAVE_valgrind) && defined(__linux__)
#define HAVE_CLOSE_SERVER_SOCK 1
#endif
@@ -6520,7 +6514,7 @@ log and this option does nothing anymore
purify. These are not suppressed: instead we disable symlinks
option if compiled with valgrind support.
*/
- IF_PURIFY(0,1), 0, 0, 0, 0, 0},
+ IF_VALGRIND(0,1), 0, 0, 0, 0, 0},
{"sysdate-is-now", OPT_SYSDATE_IS_NOW,
"Non-default option to alias SYSDATE() to NOW() to make it safe-replicable. Since 5.0, SYSDATE() returns a `dynamic' value different for different invocations, even within the same statement.",
(uchar**) &global_system_variables.sysdate_is_now,
@@ -6561,7 +6555,7 @@ log and this option does nothing anymore
0, 0, 0, 0, 0},
{"use-symbolic-links", 's', "Enable symbolic link support. Deprecated option; use --symbolic-links instead.",
(uchar**) &my_use_symdir, (uchar**) &my_use_symdir, 0, GET_BOOL, NO_ARG,
- IF_PURIFY(0,1), 0, 0, 0, 0, 0},
+ IF_VALGRIND(0,1), 0, 0, 0, 0, 0},
{"user", 'u', "Run mysqld daemon as user.", 0, 0, 0, GET_STR, REQUIRED_ARG,
0, 0, 0, 0, 0, 0},
{"verbose", 'v', "Used with --help option for detailed help",
@@ -7661,7 +7655,7 @@ static int mysql_init_variables(void)
/* Things reset to zero */
opt_skip_slave_start= opt_reckless_slave = 0;
mysql_home[0]= pidfile_name[0]= log_error_file[0]= 0;
-#if defined(HAVE_REALPATH) && !defined(HAVE_purify) && !defined(HAVE_BROKEN_REALPATH)
+#if defined(HAVE_REALPATH) && !defined(HAVE_valgrind) && !defined(HAVE_BROKEN_REALPATH)
/* We can only test for sub paths if my_symlink.c is using realpath */
myisam_test_invalid_symlink= test_if_data_home_dir;
#endif
=== modified file 'sql/opt_range.cc'
--- a/sql/opt_range.cc 2009-02-19 09:01:25 +0000
+++ b/sql/opt_range.cc 2009-04-27 18:01:20 +0000
@@ -8347,7 +8347,7 @@ int QUICK_RANGE_SELECT::reset()
multi_range_buff->buffer= mrange_buff;
multi_range_buff->buffer_end= mrange_buff + mrange_bufsiz;
multi_range_buff->end_of_used_area= mrange_buff;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/*
We need this until ndb will use the buffer efficiently
(Now ndb stores complete row in here, instead of only the used fields
=== modified file 'sql/opt_range.h'
--- a/sql/opt_range.h 2008-08-25 17:18:22 +0000
+++ b/sql/opt_range.h 2009-04-27 18:01:20 +0000
@@ -44,7 +44,7 @@ class QUICK_RANGE :public Sql_alloc {
uint16 min_length,max_length,flag;
key_part_map min_keypart_map, // bitmap of used keyparts in min_key
max_keypart_map; // bitmap of used keyparts in max_key
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
uint16 dummy; /* Avoid warnings on 'flag' */
#endif
QUICK_RANGE(); /* Full range */
@@ -61,7 +61,7 @@ class QUICK_RANGE :public Sql_alloc {
min_keypart_map(min_keypart_map_arg),
max_keypart_map(max_keypart_map_arg)
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
dummy=0;
#endif
}
=== modified file 'sql/records.cc'
--- a/sql/records.cc 2008-07-17 18:26:55 +0000
+++ b/sql/records.cc 2009-04-27 18:01:20 +0000
@@ -520,7 +520,7 @@ static int init_rr_cache(THD *thd, READ_
info->struct_length+1,
MYF(0))))
DBUG_RETURN(1);
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
// Avoid warnings in qsort
bzero(info->cache,rec_cache_size+info->cache_records* info->struct_length+1);
#endif
=== modified file 'sql/rpl_rli.cc'
--- a/sql/rpl_rli.cc 2009-02-19 09:01:25 +0000
+++ b/sql/rpl_rli.cc 2009-04-27 18:01:20 +0000
@@ -34,7 +34,7 @@ Relay_log_info::Relay_log_info()
no_storage(FALSE), replicate_same_server_id(::replicate_same_server_id),
info_fd(-1), cur_log_fd(-1), save_temporary_tables(0),
cur_log_old_open_count(0), group_relay_log_pos(0), event_relay_log_pos(0),
-#if HAVE_purify
+#if HAVE_valgrind
is_fake(FALSE),
#endif
group_master_log_pos(0), log_space_total(0), ignore_log_space_limit(0),
=== modified file 'sql/rpl_rli.h'
--- a/sql/rpl_rli.h 2008-02-27 17:46:06 +0000
+++ b/sql/rpl_rli.h 2009-04-27 18:01:20 +0000
@@ -154,7 +154,7 @@ public:
ulonglong event_relay_log_pos;
ulonglong future_event_relay_log_pos;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bool is_fake; /* Mark that this is a fake relay log info structure */
#endif
=== modified file 'sql/slave.cc'
--- a/sql/slave.cc 2009-02-19 09:01:25 +0000
+++ b/sql/slave.cc 2009-04-27 18:01:20 +0000
@@ -2014,7 +2014,7 @@ int apply_event_and_update_pos(Log_event
if (exec_res == 0)
{
int error= ev->update_pos(rli);
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (!rli->is_fake)
#endif
{
=== modified file 'sql/sql_base.cc'
--- a/sql/sql_base.cc 2009-02-19 09:01:25 +0000
+++ b/sql/sql_base.cc 2009-04-27 18:01:20 +0000
@@ -3000,7 +3000,7 @@ TABLE *open_table(THD *thd, TABLE_LIST *
table->pos_in_table_list= table_list;
table_list->updatable= 1; // It is not derived table nor non-updatable VIEW
table->clear_column_bitmaps();
-#if !defined(DBUG_OFF) && !defined(HAVE_purify)
+#if !defined(DBUG_OFF) && !defined(HAVE_valgrind)
/*
Fill record with random values to find bugs where we access fields
without first reading them.
@@ -7363,7 +7363,7 @@ int setup_wild(THD *thd, TABLE_LIST *tab
/* make * substituting permanent */
SELECT_LEX *select_lex= thd->lex->current_select;
select_lex->with_wild= 0;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (&select_lex->item_list != &fields) // Avoid warning
#endif
select_lex->item_list= fields;
=== modified file 'sql/sql_binlog.cc'
--- a/sql/sql_binlog.cc 2009-01-09 12:49:24 +0000
+++ b/sql/sql_binlog.cc 2009-04-27 18:01:20 +0000
@@ -59,7 +59,7 @@ void mysql_client_binlog_statement(THD*
if (!thd->rli_fake)
{
thd->rli_fake= new Relay_log_info;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
thd->rli_fake->is_fake= TRUE;
#endif
have_fd_event= FALSE;
@@ -95,7 +95,7 @@ void mysql_client_binlog_statement(THD*
char const *endptr= 0;
int bytes_decoded= base64_decode(strptr, coded_len, buf, &endptr);
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
/*
This debug printout should not be used for valgrind builds
since it will read from unassigned memory.
@@ -188,7 +188,7 @@ void mysql_client_binlog_statement(THD*
bufptr += event_len;
DBUG_PRINT("info",("ev->get_type_code()=%d", ev->get_type_code()));
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
/*
This debug printout should not be used for valgrind builds
since it will read from unassigned memory.
=== modified file 'sql/sql_class.cc'
--- a/sql/sql_class.cc 2009-03-12 22:27:35 +0000
+++ b/sql/sql_class.cc 2009-04-27 18:01:20 +0000
@@ -3480,7 +3480,7 @@ int THD::binlog_update_row(TABLE* table,
Don't print debug messages when running valgrind since they can
trigger false warnings.
*/
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
DBUG_DUMP("before_record", before_record, table->s->reclength);
DBUG_DUMP("after_record", after_record, table->s->reclength);
DBUG_DUMP("before_row", before_row, before_size);
=== modified file 'sql/sql_list.h'
--- a/sql/sql_list.h 2009-01-15 18:11:25 +0000
+++ b/sql/sql_list.h 2009-04-27 18:01:20 +0000
@@ -43,7 +43,7 @@ public:
static void operator delete[](void *ptr, MEM_ROOT *mem_root)
{ /* never called */ }
static void operator delete[](void *ptr, size_t size) { TRASH(ptr, size); }
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bool dummy;
inline Sql_alloc() :dummy(0) {}
inline ~Sql_alloc() {}
=== modified file 'sql/sql_load.cc'
--- a/sql/sql_load.cc 2009-01-31 21:22:44 +0000
+++ b/sql/sql_load.cc 2009-04-27 18:01:20 +0000
@@ -581,7 +581,7 @@ read_fixed_length(THD *thd, COPY_INFO &i
}
it.rewind();
uchar *pos=read_info.row_start;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
read_info.row_end[0]=0;
#endif
=== modified file 'sql/sql_select.cc'
--- a/sql/sql_select.cc 2009-04-08 16:55:26 +0000
+++ b/sql/sql_select.cc 2009-04-27 18:01:20 +0000
@@ -1818,7 +1818,7 @@ JOIN::exec()
curr_join->having= curr_join->tmp_having= 0; // Allready done
/* Change sum_fields reference to calculated fields in tmp_table */
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (curr_join != this)
#endif
curr_join->all_fields= *curr_all_fields;
@@ -1840,7 +1840,7 @@ JOIN::exec()
fields_list.elements, all_fields))
DBUG_VOID_RETURN;
}
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (curr_join != this)
#endif
{
@@ -1994,7 +1994,7 @@ JOIN::exec()
tmp_fields_list2, tmp_all_fields2,
fields_list.elements, tmp_all_fields1))
DBUG_VOID_RETURN;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/*
Some GCCs use memcpy() for struct assignment, even for x=x.
GCC bug 19410: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19410
@@ -2059,7 +2059,7 @@ JOIN::exec()
tmp_table_param.save_copy_field= curr_join->tmp_table_param.copy_field;
tmp_table_param.save_copy_field_end=
curr_join->tmp_table_param.copy_field_end;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (curr_join != this)
#endif
{
@@ -3848,7 +3848,7 @@ update_ref_and_keys(THD *thd, DYNAMIC_AR
continue;
}
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* Valgrind complains about overlapped memcpy when save_pos==use. */
if (save_pos != use)
#endif
@@ -15138,7 +15138,7 @@ setup_copy_fields(THD *thd, TMP_TABLE_PA
DBUG_ASSERT (param->field_count > (uint) (copy - copy_start));
copy->set(tmp, item->result_field);
item->result_field->move_field(copy->to_ptr,copy->to_null_ptr,1);
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
copy->to_ptr[copy->from_length]= 0;
#endif
copy++;
=== modified file 'sql/table.cc'
--- a/sql/table.cc 2009-02-19 09:01:25 +0000
+++ b/sql/table.cc 2009-04-27 18:01:20 +0000
@@ -1694,7 +1694,7 @@ int open_table_from_share(THD *thd, TABL
outparam->record[1]= outparam->record[0]; // Safety
}
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/*
We need this because when we read var-length rows, we are not updating
bytes after end of varchar
@@ -1916,7 +1916,7 @@ partititon_err:
}
}
-#if defined(HAVE_purify) && !defined(DBUG_OFF)
+#if defined(HAVE_valgrind) && !defined(DBUG_OFF)
bzero((char*) bitmaps, bitmap_size*3);
#endif
=== modified file 'storage/archive/azio.c'
--- a/storage/archive/azio.c 2009-04-08 16:55:26 +0000
+++ b/storage/archive/azio.c 2009-04-27 18:01:20 +0000
@@ -63,7 +63,7 @@ void read_header(azio_stream *s, unsigne
*/
static void *az_allocator(void *dummy, uInt items, uInt size)
{
- return my_malloc((size_t)items*(size_t)size, IF_PURIFY(MY_ZEROFILL, MYF(0)));
+ return my_malloc((size_t)items*(size_t)size, IF_VALGRIND(MY_ZEROFILL, MYF(0)));
}
static void az_free(void *dummy, void *address)
=== modified file 'storage/innobase/buf/buf0buf.c'
--- a/storage/innobase/buf/buf0buf.c 2008-08-20 00:37:41 +0000
+++ b/storage/innobase/buf/buf0buf.c 2009-04-27 18:01:20 +0000
@@ -756,7 +756,7 @@ buf_pool_init(
/* Wipe contents of frame to eliminate a Purify
warning */
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
memset(block->frame, '\0', UNIV_PAGE_SIZE);
#endif
if (srv_use_awe) {
=== modified file 'storage/innobase/include/univ.i'
--- a/storage/innobase/include/univ.i 2008-03-27 01:40:45 +0000
+++ b/storage/innobase/include/univ.i 2009-04-27 18:01:20 +0000
@@ -107,7 +107,7 @@ operations (very slow); also UNIV_DEBUG
#define UNIV_BTR_DEBUG /* check B-tree links */
#define UNIV_LIGHT_MEM_DEBUG /* light memory debugging */
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* The following sets all new allocated memory to zero before use:
this can be used to eliminate unnecessary Purify warnings, but note that
it also masks many bugs Purify could detect. For detailed Purify analysis it
=== modified file 'storage/innobase/srv/srv0start.c'
--- a/storage/innobase/srv/srv0start.c 2008-12-14 19:21:24 +0000
+++ b/storage/innobase/srv/srv0start.c 2009-04-27 18:01:20 +0000
@@ -104,7 +104,7 @@ static char* srv_monitor_file_name;
/* Avoid warnings when using purify */
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
static int inno_bcmp(register const char *s1, register const char *s2,
register uint len)
{
=== modified file 'storage/maria/ha_maria.cc'
--- a/storage/maria/ha_maria.cc 2009-02-19 09:01:25 +0000
+++ b/storage/maria/ha_maria.cc 2009-04-27 18:01:20 +0000
@@ -3166,7 +3166,7 @@ static int ha_maria_init(void *p)
ma_checkpoint_init(checkpoint_interval);
maria_multi_threaded= maria_in_ha_maria= TRUE;
-#if defined(HAVE_REALPATH) && !defined(HAVE_purify) && !defined(HAVE_BROKEN_REALPATH)
+#if defined(HAVE_REALPATH) && !defined(HAVE_valgrind) && !defined(HAVE_BROKEN_REALPATH)
/* We can only test for sub paths if my_symlink.c is using realpath */
maria_test_invalid_symlink= test_if_data_home_dir;
#endif
=== modified file 'storage/maria/ma_blockrec.c'
--- a/storage/maria/ma_blockrec.c 2009-04-08 08:47:30 +0000
+++ b/storage/maria/ma_blockrec.c 2009-04-27 18:01:20 +0000
@@ -1594,7 +1594,7 @@ static void make_empty_page(MARIA_HA *in
bzero(buff, PAGE_HEADER_SIZE);
-#if !defined(DONT_ZERO_PAGE_BLOCKS) || defined(HAVE_purify)
+#if !defined(DONT_ZERO_PAGE_BLOCKS) || defined(HAVE_valgrind)
/*
We zero the rest of the block to avoid getting old memory information
to disk and to allow the file to be compressed better if archived.
=== modified file 'storage/maria/ma_check.c'
--- a/storage/maria/ma_check.c 2009-02-19 09:01:25 +0000
+++ b/storage/maria/ma_check.c 2009-04-27 18:01:20 +0000
@@ -4522,7 +4522,7 @@ static int sort_key_read(MARIA_SORT_PARA
sort_param->current_filepos,
0);
sort_param->real_key_length= int_key.data_length + int_key.ref_length;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(key+sort_param->real_key_length,
(sort_param->key_length-sort_param->real_key_length));
#endif
@@ -4567,7 +4567,7 @@ static int sort_maria_ft_key_read(MARIA_
sort_param->current_filepos);
sort_param->real_key_length= int_key.data_length + int_key.ref_length;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (sort_param->key_length > sort_param->real_key_length)
bzero(key+sort_param->real_key_length,
(sort_param->key_length-sort_param->real_key_length));
@@ -5104,7 +5104,7 @@ static int sort_get_next_record(MARIA_SO
llstr(sort_param->pos,llbuff));
continue;
}
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(sort_param->rec_buff + block_info.rec_len,
share->base.extra_rec_buff_size);
#endif
=== modified file 'storage/maria/ma_loghandler.c'
--- a/storage/maria/ma_loghandler.c 2009-03-17 19:05:01 +0000
+++ b/storage/maria/ma_loghandler.c 2009-04-27 18:01:20 +0000
@@ -6194,12 +6194,12 @@ my_bool translog_write_record(LSN *lsn,
{
uint i;
uint len= 0;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
ha_checksum checksum= 0;
#endif
for (i= TRANSLOG_INTERNAL_PARTS; i < part_no; i++)
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* Find unitialized bytes early */
checksum+= my_checksum(checksum, parts_data[i].str,
parts_data[i].length);
=== modified file 'storage/maria/ma_packrec.c'
--- a/storage/maria/ma_packrec.c 2009-01-09 04:23:25 +0000
+++ b/storage/maria/ma_packrec.c 2009-04-27 18:01:20 +0000
@@ -256,7 +256,7 @@ static my_bool _ma_read_pack_info(MARIA_
(uint) (share->pack.header_length-sizeof(header)),
MYF(MY_NABP)))
goto err2;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/* Zero bytes accessed by fill_buffer */
bzero(disk_cache + (share->pack.header_length-sizeof(header)),
share->base.extra_rec_buff_size);
=== modified file 'storage/maria/ma_page.c'
--- a/storage/maria/ma_page.c 2008-09-01 17:31:40 +0000
+++ b/storage/maria/ma_page.c 2009-04-27 18:01:20 +0000
@@ -200,7 +200,7 @@ my_bool _ma_write_keypage(MARIA_PAGE *pa
/* Verify that keynr is correct */
DBUG_ASSERT(_ma_get_keynr(share, buff) == page->keyinfo->key_nr);
-#if defined(EXTRA_DEBUG) && defined(HAVE_purify) && defined(NOT_ANYMORE)
+#if defined(EXTRA_DEBUG) && defined(HAVE_valgrind) && defined(NOT_ANYMORE)
{
/* This is here to catch uninitialized bytes */
uint length= page->size;
=== modified file 'storage/maria/ma_pagecrc.c'
--- a/storage/maria/ma_pagecrc.c 2008-03-04 11:58:21 +0000
+++ b/storage/maria/ma_pagecrc.c 2009-04-27 18:01:20 +0000
@@ -318,7 +318,7 @@ my_bool maria_page_filler_set_none(uchar
__attribute__((unused)),
uchar *data_ptr __attribute__((unused)))
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
int4store_aligned(page + ((MARIA_SHARE *)data_ptr)->block_size - CRC_SIZE,
0);
#endif
=== modified file 'storage/maria/ma_search.c'
--- a/storage/maria/ma_search.c 2009-01-12 11:12:00 +0000
+++ b/storage/maria/ma_search.c 2009-04-27 18:01:20 +0000
@@ -2172,7 +2172,7 @@ int _ma_calc_bin_pack_key_length(const M
s_temp->totlength= key_length= (int_key->data_length + int_key->ref_length+
nod_flag);
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
s_temp->n_length= s_temp->n_ref_length=0; /* For valgrind */
#endif
s_temp->key=key;
=== modified file 'storage/myisam/mi_check.c'
--- a/storage/myisam/mi_check.c 2009-02-19 09:01:25 +0000
+++ b/storage/myisam/mi_check.c 2009-04-27 18:01:20 +0000
@@ -3147,7 +3147,7 @@ static int sort_key_read(MI_SORT_PARAM *
(info->s->rec_reflength+
_mi_make_key(info, sort_param->key, (uchar*) key,
sort_param->record, sort_param->filepos));
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
bzero(key+sort_param->real_key_length,
(sort_param->key_length-sort_param->real_key_length));
#endif
@@ -3187,7 +3187,7 @@ static int sort_ft_key_read(MI_SORT_PARA
sort_param->real_key_length=(info->s->rec_reflength+
_ft_make_key(info, sort_param->key,
key, wptr++, sort_param->filepos));
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
if (sort_param->key_length > sort_param->real_key_length)
bzero(key+sort_param->real_key_length,
(sort_param->key_length-sort_param->real_key_length));
=== modified file 'storage/myisam/mi_page.c'
--- a/storage/myisam/mi_page.c 2008-08-28 12:43:44 +0000
+++ b/storage/myisam/mi_page.c 2009-04-27 18:01:20 +0000
@@ -86,7 +86,7 @@ int _mi_write_keypage(register MI_INFO *
if ((length=keyinfo->block_length) > IO_SIZE*2 &&
info->state->key_file_length != page+length)
length= ((mi_getint(buff)+IO_SIZE-1) & (uint) ~(IO_SIZE-1));
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
{
length=mi_getint(buff);
bzero((uchar*) buff+length,keyinfo->block_length-length);
=== modified file 'storage/myisam/mi_search.c'
--- a/storage/myisam/mi_search.c 2008-08-28 18:52:23 +0000
+++ b/storage/myisam/mi_search.c 2009-04-27 18:01:20 +0000
@@ -1749,7 +1749,7 @@ _mi_calc_bin_pack_key_length(MI_KEYDEF *
uint length,key_length,ref_length;
s_temp->totlength=key_length=_mi_keylength(keyinfo,key)+nod_flag;
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
s_temp->n_length= s_temp->n_ref_length=0; /* For valgrind */
#endif
s_temp->key=key;
=== modified file 'storage/myisammrg/ha_myisammrg.cc'
--- a/storage/myisammrg/ha_myisammrg.cc 2008-12-04 00:36:55 +0000
+++ b/storage/myisammrg/ha_myisammrg.cc 2009-04-27 18:01:20 +0000
@@ -837,7 +837,7 @@ int ha_myisammrg::info(uint flag)
{
if (table->s->key_parts && mrg_info.rec_per_key)
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
/*
valgrind may be unhappy about it, because optimizer may access values
between file->keys and table->key_parts, that will be uninitialized.
=== modified file 'strings/bcmp.c'
--- a/strings/bcmp.c 2007-05-10 09:59:39 +0000
+++ b/strings/bcmp.c 2009-04-27 18:01:20 +0000
@@ -24,7 +24,7 @@
#include <my_global.h>
#include "m_string.h"
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
#undef bcmp
#undef HAVE_BCMP
#endif
@@ -50,7 +50,7 @@ uint len; /* 0 <= len <= 65535 */
#else
-#ifndef HAVE_purify
+#ifndef HAVE_valgrind
size_t bcmp(register const uchar *s1,register const uchar *s2,
register size_t len)
#else
=== modified file 'strings/decimal.c'
--- a/strings/decimal.c 2008-08-15 19:49:43 +0000
+++ b/strings/decimal.c 2009-04-27 18:01:20 +0000
@@ -144,7 +144,7 @@ static double scaler1[]= {
1.0, 10.0, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9
};
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
#define sanity(d) DBUG_ASSERT((d)->len > 0)
#else
#define sanity(d) DBUG_ASSERT((d)->len >0 && ((d)->buf[0] | \
=== modified file 'strings/strmake.c'
--- a/strings/strmake.c 2008-04-28 16:24:05 +0000
+++ b/strings/strmake.c 2009-04-27 18:01:20 +0000
@@ -51,11 +51,11 @@ char *strmake(register char *dst, regist
*/
if (length)
{
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
dst[length-1]= 'Z';
#else
bfill(dst, length-1, (int) 'Z');
-#endif /* HAVE_purify */
+#endif /* HAVE_valgrind */
}
#endif /* EXTRA_DEBUG */
return dst-1;
2
1

[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2698)
by knielsenīŧ knielsen-hq.org 06 May '09
by knielsenīŧ knielsen-hq.org 06 May '09
06 May '09
#At lp:maria
2698 knielsen(a)knielsen-hq.org 2009-04-27
Misc. small fixes:
- Fixes for pool-of-threads patch.
- Fixes for push of PBXT storage engine.
- mysql-test-run.pl fix.
modified:
BUILD/compile-dist
mysql-test/Makefile.am
mysql-test/lib/mtr_unique.pm
mysql-test/t/pool_of_threads.cnf
sql/set_var.cc
per-file messages:
BUILD/compile-dist
Fix that PBXT was missing in source tarball after `BUILD/compile-dist && make dist`
mysql-test/Makefile.am
Fix that PBXT test suite was missing from `make dist` source tarball.
mysql-test/lib/mtr_unique.pm
Better fix to avoid races when chmod'ing the semaphore file.
(Though using chmod 666 shared files in /tmp/ is still not a very good solution).
mysql-test/t/pool_of_threads.cnf
Fix that test case pool_of_threads fails if run on mysqld with no --with-libevent support.
sql/set_var.cc
Fix missing static declaration on pool_of_threads.
=== modified file 'BUILD/compile-dist'
--- a/BUILD/compile-dist 2009-02-19 09:01:25 +0000
+++ b/BUILD/compile-dist 2009-04-27 13:17:47 +0000
@@ -60,8 +60,6 @@ fi
# Make sure to enable all features that affect "make dist"
# Remember that configure restricts the man pages to the configured features !
./configure \
- --with-maria-storage-engine \
- --with-embedded-server \
- --with-ndbcluster
-$gmake
-
+ --with-plugins=max-no-ndb \
+ --with-embedded-server
+$gmake -j4
=== modified file 'mysql-test/Makefile.am'
--- a/mysql-test/Makefile.am 2009-02-13 12:25:41 +0000
+++ b/mysql-test/Makefile.am 2009-04-27 13:17:47 +0000
@@ -98,7 +98,8 @@ TEST_DIRS = t r include std_data std_dat
suite/stress/include suite/stress/t suite/stress/r \
suite/ndb suite/ndb/t suite/ndb/r \
suite/rpl_ndb suite/rpl_ndb/t suite/rpl_ndb/r \
- suite/parts suite/parts/t suite/parts/r suite/parts/inc
+ suite/parts suite/parts/t suite/parts/r suite/parts/inc \
+ suite/pbxt/t suite/pbxt/r
# Used by dist-hook and install-data-local to copy all
# test files into either dist or install directory
=== modified file 'mysql-test/lib/mtr_unique.pm'
--- a/mysql-test/lib/mtr_unique.pm 2009-04-08 16:55:26 +0000
+++ b/mysql-test/lib/mtr_unique.pm 2009-04-27 13:17:47 +0000
@@ -62,14 +62,14 @@ sub mtr_get_unique_id($$) {
die 'lock file is a symbolic link';
}
+ my $save_umask= umask(0);
open SEM, ">", "$file.sem" or die "can't write to $file.sem";
- chmod 0777, "$file.sem";
flock SEM, LOCK_EX or die "can't lock $file.sem";
if(! -e $file) {
open FILE, ">", $file or die "can't create $file";
close FILE;
}
- chmod 0777, $file;
+ umask($save_umask);
msg("HAVE THE LOCK");
@@ -135,8 +135,8 @@ sub mtr_release_unique_id($) {
die 'lock file is a symbolic link';
}
+ my $save_umask= umask(0);
open SEM, ">", "$file.sem" or die "can't write to $file.sem";
- chmod 0777, "$file.sem";
flock SEM, LOCK_EX or die "can't lock $file.sem";
msg("HAVE THE LOCK");
@@ -149,7 +149,7 @@ sub mtr_release_unique_id($) {
open FILE, ">", $file or die "can't create $file";
close FILE;
}
- chmod 0777, "$file.sem";
+ umask($save_umask);
open FILE, "+<", $file or die "can't open $file";
#select undef,undef,undef,0.2;
seek FILE, 0, 0;
=== modified file 'mysql-test/t/pool_of_threads.cnf'
--- a/mysql-test/t/pool_of_threads.cnf 2009-03-18 15:46:32 +0000
+++ b/mysql-test/t/pool_of_threads.cnf 2009-04-27 13:17:47 +0000
@@ -2,8 +2,8 @@
[mysqld.1]
test-ignore-wrong-options
-thread-handling= pool-of-threads
-thread_pool_size= 2
+loose-thread-handling= pool-of-threads
+loose-thread_pool_size= 2
extra-port= @mysqld.1.#extra-port
extra-max-connections=1
=== modified file 'sql/set_var.cc'
--- a/sql/set_var.cc 2009-04-08 16:55:26 +0000
+++ b/sql/set_var.cc 2009-04-27 13:17:47 +0000
@@ -642,7 +642,7 @@ static sys_var_long_ptr sys_table_lock_w
static sys_var_long_ptr sys_thread_cache_size(&vars, "thread_cache_size",
&thread_cache_size);
#if HAVE_POOL_OF_THREADS == 1
-sys_var_long_ptr sys_thread_pool_size(&vars, "thread_pool_size",
+static sys_var_long_ptr sys_thread_pool_size(&vars, "thread_pool_size",
&thread_pool_size);
#endif
static sys_var_thd_enum sys_tx_isolation(&vars, "tx_isolation",
2
1

[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2698)
by knielsenīŧ knielsen-hq.org 06 May '09
by knielsenīŧ knielsen-hq.org 06 May '09
06 May '09
#At lp:maria
2698 knielsen(a)knielsen-hq.org 2009-05-06
Fix a build problem with BUILD/compile-pentium64-max on CentOS/Fedora Core 10 amd64.
On these systems, there is libz.so but no libz.a. Finding libz.so, ./configure decides
to use system zlib. But since BUILD/compile-pentium64-max builds a fully static binary
with -all-static, the link of mysqld fails due to missing libz.a.
Fix by using bundled zlib in the build script.
modified:
BUILD/compile-pentium64-max
=== modified file 'BUILD/compile-pentium64-max'
--- a/BUILD/compile-pentium64-max 2007-04-11 12:12:00 +0000
+++ b/BUILD/compile-pentium64-max 2009-05-06 09:51:46 +0000
@@ -4,7 +4,10 @@ path=`dirname $0`
. "$path/SETUP.sh"
extra_flags="$pentium64_cflags $fast_cflags"
-extra_configs="$pentium_configs $max_configs $static_link"
+# On CentOS/Fedora Core 10 amd64, there is system libz.so but not
+# libz.a, so need to use bundled zlib when building static
+# binary. Hence we use --with-zlib-dir=bundled
+extra_configs="$pentium_configs $max_configs $static_link --with-zlib-dir=bundled"
CC="$CC --pipe"
strip=yes
2
1

[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2702)
by knielsenīŧ knielsen-hq.org 05 May '09
by knielsenīŧ knielsen-hq.org 05 May '09
05 May '09
#At lp:maria
2702 knielsen(a)knielsen-hq.org 2009-05-05 [merge]
test merge 2
1
0

27 Apr '09
Toby,
You might also want to check this page out:
http://askmonty.org/wiki/index.php/MariaDB_versus_MySQL
-Adam
1
0
Hi list,
I am setting up a buildbot for Solaris 10/amd64 (later SPARC) and I
see this test failure on Sun cc (only).
gcc builds pass all tests. (Although a patch is required.)
Any clues?
--Toby
bzr branch lp:maria
...
BUILD/compile-solaris-amd64-forte && cd mysql-test/ && ./mysql-test-run
...
main.connect [ pass ] 16399
worker[1] mysql-test-run: WARNING: Process [mysqld.1 - pid: 495,
winpid: 495, exit: 1792] died
main.pool_of_threads [ fail ]
Test ended at 2009-04-26 15:18:41
090426 22:17:50 [Note] /home/buildbot/maria/sql/mysqld: Normal shutdown
090426 22:17:50 [Note] Event Scheduler: Purging the queue. 0 events
090426 22:17:53 InnoDB: Starting shutdown...
090426 22:17:53 InnoDB: Shutdown completed; log sequence number 0
1943684
090426 22:17:53 [Note] /home/buildbot/maria/sql/mysqld: Shutdown
complete
090426 22:17:54 InnoDB: Started; log sequence number 0 1943684
090426 22:17:54 [Warning] /home/buildbot/maria/sql/mysqld: unknown
variable 'loose-debug-sync-timeout=300'
090426 22:17:54 [Note] Event Scheduler: Loaded 0 events
090426 22:17:54 [Note] /home/buildbot/maria/sql/mysqld: ready for
connections.
Version: '5.1.32-maria-beta2-log' socket: '/home/buildbot/maria/
mysql-test/var/tmp/mysqld.1.sock' port: 12500 Source distribution
CURRENT_TEST: rpl.rpl_truncate_3innodb
090426 22:18:01 [Note] /home/buildbot/maria/sql/mysqld: Normal shutdown
090426 22:18:01 [Note] Event Scheduler: Purging the queue. 0 events
090426 22:18:03 InnoDB: Starting shutdown...
090426 22:18:05 InnoDB: Shutdown completed; log sequence number 0
1968339
090426 22:18:05 [Note] /home/buildbot/maria/sql/mysqld: Shutdown
complete
CURRENT_TEST: federated.federated
090426 22:18:05 [Note] Plugin 'InnoDB' disabled by command line option
090426 22:18:05 [Warning] /home/buildbot/maria/sql/mysqld: unknown
variable 'loose-debug-sync-timeout=300'
090426 22:18:05 [Note] Event Scheduler: Loaded 0 events
090426 22:18:05 [Note] /home/buildbot/maria/sql/mysqld: ready for
connections.
Version: '5.1.32-maria-beta2-log' socket: '/home/buildbot/maria/
mysql-test/var/tmp/mysqld.1.sock' port: 12500 Source distribution
CURRENT_TEST: federated.federated_archive
CURRENT_TEST: federated.federated_bug_13118
CURRENT_TEST: federated.federated_bug_25714
CURRENT_TEST: federated.federated_server
090426 22:18:17 [Note] /home/buildbot/maria/sql/mysqld: Normal shutdown
090426 22:18:17 [Note] Event Scheduler: Purging the queue. 0 events
090426 22:18:17 [Note] /home/buildbot/maria/sql/mysqld: Shutdown
complete
CURRENT_TEST: federated.federated_innodb
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
090426 22:18:18 InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
090426 22:18:18 InnoDB: Log file ./ib_logfile0 did not exist: new to
be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
090426 22:18:18 InnoDB: Log file ./ib_logfile1 did not exist: new to
be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
090426 22:18:20 InnoDB: Started; log sequence number 0 0
090426 22:18:20 [Warning] /home/buildbot/maria/sql/mysqld: unknown
variable 'loose-debug-sync-timeout=300'
090426 22:18:20 [Note] Event Scheduler: Loaded 0 events
090426 22:18:20 [Note] /home/buildbot/maria/sql/mysqld: ready for
connections.
Version: '5.1.32-maria-beta2-log' socket: '/home/buildbot/maria/
mysql-test/var/tmp/mysqld.1.sock' port: 12500 Source distribution
090426 22:18:20 [Note] /home/buildbot/maria/sql/mysqld: Normal shutdown
090426 22:18:20 [Note] Event Scheduler: Purging the queue. 0 events
090426 22:18:21 InnoDB: Starting shutdown...
090426 22:18:23 InnoDB: Shutdown completed; log sequence number 0 46409
090426 22:18:23 [Note] /home/buildbot/maria/sql/mysqld: Shutdown
complete
CURRENT_TEST: main.connect
090426 22:18:23 [Note] Plugin 'InnoDB' disabled by command line option
090426 22:18:23 [Warning] /home/buildbot/maria/sql/mysqld: unknown
variable 'loose-debug-sync-timeout=300'
090426 22:18:23 [Note] Event Scheduler: Loaded 0 events
090426 22:18:23 [Note] /home/buildbot/maria/sql/mysqld: ready for
connections.
Version: '5.1.32-maria-beta2-log' socket: '/home/buildbot/maria/
mysql-test/var/tmp/mysqld.1.sock' port: 12500 Source distribution
090426 22:18:29 [Note] Event Scheduler: scheduler thread started with
id 21
090426 22:18:40 [Note] Event Scheduler: Killing the scheduler thread,
thread id 21
090426 22:18:40 [Note] Event Scheduler: Waiting for the scheduler
thread to reply
090426 22:18:40 [Note] Event Scheduler: Stopped
090426 22:18:40 [Note] Event Scheduler: scheduler thread started with
id 77
090426 22:18:40 [Note] Event Scheduler: Killing the scheduler thread,
thread id 77
090426 22:18:40 [Note] Event Scheduler: Waiting for the scheduler
thread to reply
090426 22:18:40 [Note] Event Scheduler: Stopped
090426 22:18:40 [Note] /home/buildbot/maria/sql/mysqld: Normal shutdown
090426 22:18:40 [Note] Event Scheduler: Purging the queue. 0 events
090426 22:18:40 [Note] /home/buildbot/maria/sql/mysqld: Shutdown
complete
CURRENT_TEST: main.pool_of_threads
Unknown option to thread_handling: pool-of-threads
Alternatives are: 'one-thread-per-connection','no-threads'
090426 22:18:40 [Note] Plugin 'InnoDB' disabled by command line option
090426 22:18:40 [ERROR] /home/buildbot/maria/sql/mysqld: unknown
variable 'thread_pool_size=2'
090426 22:18:40 [ERROR] Aborting
090426 22:18:40 [Note] /home/buildbot/maria/sql/mysqld: Shutdown
complete
Failed to start mysqld.1
- saving '/home/buildbot/maria/mysql-test/var/log/
main.pool_of_threads/' to '/home/buildbot/maria/mysql-test/var/log/
main.pool_of_threads/'
Only 863 of 866 completed.
mysql-test-run: *** ERROR: Not all tests completed
*** Error code 1
make: Fatal error: Command failed for target `test-ns'
2
1
Hi!
Just was looking at processlist and thinking "why he cannot optimize
such a easy case". I think there is a possible BOOST place (this is
common query in many apps):
mysql> select count(*) from url;
+----------+
| count(*) |
+----------+
| 17945916 |
+----------+
1 row in set (0.00 sec)
mysql>
mysql> show full processlist;
+------+------+-----------+-----------+---------+------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State
| Info
|
+------+------+-----------+-----------+---------+------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 78 | root | localhost | eeindexer | Query | 141 | Sorting result
| INSERT INTO udm_url_tmp SELECT url.rec_id FROM url WHERE
next_index_time<=1240742878 ORDER BY hops LIMIT
256
.....
So, it takes HUGE time to find out 256 rows with least hops. How I would
make it manually (MySQL engine has internally better ways to do it):
mysql> select min(hops) from url;
+-----------+
| min(hops) |
+-----------+
| 0 |
+-----------+
1 row in set (0.12 sec)
mysql> select count(hops) from url where hops=0;
+-------------+
| count(hops) |
+-------------+
| 1 |
+-------------+
1 row in set (0.00 sec)
mysql> select count(hops) from url where hops=1;
+-------------+
| count(hops) |
+-------------+
| 92 |
+-------------+
1 row in set (0.00 sec)
mysql> select count(hops) from url where hops=2;
+-------------+
| count(hops) |
+-------------+
| 9790 |
+-------------+
1 row in set (0.00 sec)
mysql>
mysql> SELECT url.rec_id FROM url WHERE hops in (0,1,2,3) ORDER BY hops
LIMIT 256;
+--------+
| rec_id |
+--------+
| 1 |
| 82 |
| 121 |
| 55 |
| 63 |
| 39 |
| 65 |
| 100 |
| 129 |
| 85 |
| 25 |
| 11 |
| 12 |
| 54 |
| 3 |
| 101 |
| 7 |
| 50 |
| 76 |
| 77 |
| 10 |
| 24 |
| 14 |
| 2 |
| 57 |
| 46 |
| 44 |
| 17 |
| 122 |
| 135 |
| 8 |
| 51 |
| 104 |
| 124 |
| 35 |
| 56 |
| 116 |
| 62 |
| 41 |
| 78 |
| 126 |
| 15 |
| 26 |
| 40 |
| 90 |
| 80 |
| 13 |
| 36 |
| 45 |
| 70 |
| 60 |
| 117 |
| 47 |
| 114 |
| 132 |
| 19 |
| 96 |
| 118 |
| 74 |
| 9 |
| 120 |
| 95 |
| 23 |
| 136 |
| 71 |
| 130 |
| 83 |
| 33 |
| 111 |
| 125 |
| 81 |
| 43 |
| 97 |
| 28 |
| 73 |
| 109 |
| 98 |
| 105 |
| 133 |
| 128 |
| 106 |
| 4 |
| 102 |
| 127 |
| 5 |
| 30 |
| 115 |
| 123 |
| 27 |
| 6 |
| 113 |
| 93 |
| 48 |
| 10047 |
| 55273 |
| 7120 |
| 21448 |
| 16872 |
| 17985 |
| 9862 |
| 20979 |
| 45717 |
| 491 |
| 16943 |
| 18183 |
| 1753 |
| 21176 |
| 16486 |
| 7578 |
| 2329 |
| 9824 |
| 1239 |
| 400 |
| 6470 |
| 8052 |
| 2752 |
| 1258 |
| 16039 |
| 593 |
| 49887 |
| 5884 |
| 7119 |
| 3011 |
| 7819 |
| 14710 |
| 244 |
| 6881 |
| 16518 |
| 240 |
| 16445 |
| 49988 |
| 62181 |
| 61227 |
| 61651 |
| 18118 |
| 9951 |
| 54964 |
| 61197 |
| 16361 |
| 21452 |
| 15361 |
| 2840 |
| 16479 |
| 17006 |
| 2768 |
| 7917 |
| 61198 |
| 21556 |
| 2650 |
| 2525 |
| 55022 |
| 54911 |
| 55672 |
| 15326 |
| 14763 |
| 15493 |
| 55156 |
| 21435 |
| 49959 |
| 18242 |
| 1887 |
| 6437 |
| 19407 |
| 7593 |
| 2355 |
| 16908 |
| 16102 |
| 1275 |
| 57868 |
| 15943 |
| 7977 |
| 16079 |
| 14712 |
| 49874 |
| 17269 |
| 55851 |
| 57783 |
| 3442 |
| 18085 |
| 50913 |
| 4067 |
| 19402 |
| 2785 |
| 7920 |
| 16456 |
| 19143 |
| 15141 |
| 54895 |
| 3578 |
| 2905 |
| 16623 |
| 16802 |
| 6472 |
| 5894 |
| 7004 |
| 14711 |
| 2545 |
| 19184 |
| 2994 |
| 3297 |
| 7993 |
| 10034 |
| 51738 |
| 16854 |
| 7007 |
| 7583 |
| 15967 |
| 3720 |
| 54940 |
| 15299 |
| 2343 |
| 9896 |
| 7016 |
| 19668 |
| 16128 |
| 21624 |
| 7529 |
| 3521 |
| 16602 |
| 16089 |
| 54821 |
| 51589 |
| 61828 |
| 19690 |
| 3608 |
| 17946 |
| 61146 |
| 2265 |
| 9809 |
| 2509 |
| 54729 |
| 2426 |
| 21617 |
| 7543 |
| 1841 |
| 3700 |
| 21391 |
| 21442 |
| 55155 |
| 7532 |
| 3490 |
| 7821 |
| 1891 |
| 9876 |
| 3677 |
| 10019 |
| 2862 |
| 16186 |
| 16299 |
| 16528 |
| 50641 |
| 5926 |
| 55135 |
| 16800 |
| 54734 |
| 19375 |
+--------+
256 rows in set (0.09 sec)
mysql>
So why not to look on index cardinality, limit size (let say, less than
1% of table), min or max value of field ordered by and then exclude big
part of table to avoid unnecessary work?
TÃĩnu
1
0
Hi Igor,
I have been trying to figure out the problems you see in the mysql_client_test
test case in the MariaDB 5.1 tree. It has been tricky due to not being able to
reproduce.
Patrick Crews was able to reproduce though, and was helpful enough to file
this bug with some additional info:
https://bugs.launchpad.net/maria/+bug/363181
>From this information, I pushed a few minor fixes to the Launchpad tree (two
missing DBUG_RETURN statements). After this push, Patrick can no longer
reproduce the failure.
So, while my fixes were done in the area of the code where the problem seems
to occur, I don't understand why two missing DBUG_RETURN would cause the error
we saw...
Maybe you can try again to see if you can reproduce the bug in the latest
tree?
If you cannot, then we may have to consider the problem fixed for now.
If you can still reproduce, it would be very helpful if you could reproduce it
with dbug enabled:
perl mysql-test-run.pl --debug mysql_client_test
and collect all the *.trace and *.err files from mysql-test/var/ and attach
them to the bug or email them. It would be good to get progress on this
annoying problem.
- Kristian.
1
0

[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2697)
by knielsenīŧ knielsen-hq.org 23 Apr '09
by knielsenīŧ knielsen-hq.org 23 Apr '09
23 Apr '09
#At lp:maria
2697 knielsen(a)knielsen-hq.org 2009-04-23
Bump maria version following release.
modified:
configure.in
per-file messages:
configure.in
Bump maria version following release.
=== modified file 'configure.in'
--- a/configure.in 2009-03-22 12:16:09 +0000
+++ b/configure.in 2009-04-23 13:06:16 +0000
@@ -10,7 +10,7 @@ AC_CANONICAL_SYSTEM
#
# When changing major version number please also check switch statement
# in mysqlbinlog::check_master_version().
-AM_INIT_AUTOMAKE(mysql, 5.1.32-maria-beta)
+AM_INIT_AUTOMAKE(mysql, 5.1.32-maria-beta2)
AM_CONFIG_HEADER([include/config.h:config.h.in])
PROTOCOL_VERSION=10
1
0