mirror of
https://github.com/MariaDB/server.git
synced 2025-11-03 14:33:32 +03:00
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.
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.
56 lines
1.7 KiB
C
56 lines
1.7 KiB
C
/* Copyright (C) 2007 MySQL AB & Michael Widenius
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; version 2 of the License.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
|
|
|
#include "mysys_priv.h"
|
|
#include <m_string.h>
|
|
|
|
/*
|
|
Initialize random generator
|
|
|
|
NOTES
|
|
MySQL's password checks depends on this, so don't do any changes
|
|
that changes the random numbers that are generated!
|
|
*/
|
|
|
|
void my_rnd_init(struct my_rnd_struct *rand_st, ulong seed1, ulong seed2)
|
|
{
|
|
#ifdef HAVE_valgrind
|
|
bzero((char*) rand_st,sizeof(*rand_st)); /* Avoid UMC varnings */
|
|
#endif
|
|
rand_st->max_value= 0x3FFFFFFFL;
|
|
rand_st->max_value_dbl=(double) rand_st->max_value;
|
|
rand_st->seed1=seed1%rand_st->max_value ;
|
|
rand_st->seed2=seed2%rand_st->max_value;
|
|
}
|
|
|
|
|
|
/*
|
|
Generate random number.
|
|
|
|
SYNOPSIS
|
|
my_rnd()
|
|
rand_st INOUT Structure used for number generation
|
|
|
|
RETURN VALUE
|
|
generated pseudo random number
|
|
*/
|
|
|
|
double my_rnd(struct my_rnd_struct *rand_st)
|
|
{
|
|
rand_st->seed1=(rand_st->seed1*3+rand_st->seed2) % rand_st->max_value;
|
|
rand_st->seed2=(rand_st->seed1+rand_st->seed2+33) % rand_st->max_value;
|
|
return (((double) rand_st->seed1)/rand_st->max_value_dbl);
|
|
}
|