diff --git a/BUILD/check-cpu b/BUILD/check-cpu
index fb69fd0acae..07d8e71b0e4 100755
--- a/BUILD/check-cpu
+++ b/BUILD/check-cpu
@@ -177,8 +177,7 @@ check_cpu () {
touch __test.c
while [ "$cpu_arg" ] ; do
- # FIXME: echo -n isn't portable - see contortions autoconf goes through
- echo -n testing $cpu_arg "... " >&2
+ printf "testing $cpu_arg ... " >&2
# compile check
check_cpu_cflags=`eval echo $check_cpu_args`
diff --git a/VC++Files/mysys/mysys.vcproj b/VC++Files/mysys/mysys.vcproj
index 3f2c5e755ac..87100ce8e5e 100644
--- a/VC++Files/mysys/mysys.vcproj
+++ b/VC++Files/mysys/mysys.vcproj
@@ -3417,6 +3417,49 @@
PreprocessorDefinitions=""/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
id= id;
d->name= opt->name;
d->n_len= strlen(opt->name);
- if (opt->arg_type != NO_ARG)
+ if (opt->arg_type != NO_ARG && opt->value)
switch (opt->var_type & GET_TYPE_MASK) {
case GET_BOOL:
if (*((int *)opt->value))
@@ -320,6 +321,15 @@ static int create_defaults_file(const char *path, const char *forced_path)
}
dynstr_set(&buf, "\n[client]");
+ if (opt_password)
+ {
+ if (dynstr_append(&buf, "\npassword=")
+ || dynstr_append(&buf, opt_password))
+ {
+ ret = 1;
+ goto error;
+ }
+ }
while (extra_defaults)
{
int len;
diff --git a/configure.in b/configure.in
index 49e295eeebb..99a9f3b74ea 100644
--- a/configure.in
+++ b/configure.in
@@ -1073,6 +1073,7 @@ case $SYSTEM_TYPE in
fi
;;
*darwin*)
+ AC_DEFINE([DEFAULT_SKIP_THREAD_PRIORITY], [1], [default to skip thread priority])
if test "$ac_cv_prog_gcc" = "yes"
then
FLAGS="-D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT"
@@ -2494,12 +2495,14 @@ thread_dirs=
dnl This probably should be cleaned up more - for now the threaded
dnl client is just using plain-old libs.
-sql_client_dirs="strings regex mysys libmysql client"
+sql_client_dirs=
linked_client_targets="linked_libmysql_sources"
-if test "$THREAD_SAFE_CLIENT" != "no"
+if test "$THREAD_SAFE_CLIENT" = "no"
then
- sql_client_dirs="libmysql_r $sql_client_dirs"
+ sql_client_dirs="strings regex mysys extra libmysql client"
+else
+ sql_client_dirs="strings regex mysys extra libmysql libmysql_r client"
linked_client_targets="$linked_client_targets linked_libmysql_r_sources"
AC_CONFIG_FILES(libmysql_r/Makefile)
AC_DEFINE([THREAD_SAFE_CLIENT], [1], [Should be client be thread safe])
@@ -2528,13 +2531,17 @@ AM_CONDITIONAL(HAVE_NETWARE, test "$netware_dir" = "netware")
export CC CXX CFLAGS CXXFLAGS LD LDFLAGS AR
ac_configure_args="$ac_configure_args CFLAGS='$CFLAGS' CXXFLAGS='$CXXFLAGS'"
-if test "$with_server" = "yes" -o "$THREAD_SAFE_CLIENT" != "no"
+if test "$with_server" != "no" -o "$THREAD_SAFE_CLIENT" != "no"
then
AC_DEFINE([THREAD], [1],
[Define if you want to have threaded code. This may be undef on client code])
# Avoid _PROGRAMS names
THREAD_LOBJECTS="thr_alarm.o thr_lock.o thr_mutex.o thr_rwlock.o my_pthread.o my_thr_init.o mf_keycache.o"
AC_SUBST(THREAD_LOBJECTS)
+fi
+
+if test "$with_server" != "no"
+then
server_scripts="mysqld_safe mysql_install_db"
sql_server_dirs="strings mysys dbug extra regex"
diff --git a/include/my_global.h b/include/my_global.h
index 19ba37fd58b..2a2b4a2ba99 100644
--- a/include/my_global.h
+++ b/include/my_global.h
@@ -92,6 +92,42 @@
#define NETWARE_SET_SCREEN_MODE(A)
#endif
+/*
+ The macros below are used to allow build of Universal/fat binaries of
+ MySQL and MySQL applications under darwin.
+*/
+#ifdef TARGET_FAT_BINARY
+# undef SIZEOF_CHARP
+# undef SIZEOF_INT
+# undef SIZEOF_LONG
+# undef SIZEOF_LONG_LONG
+# undef SIZEOF_OFF_T
+# undef SIZEOF_SHORT
+
+#if defined(__i386__)
+# undef WORDS_BIGENDIAN
+# define SIZEOF_CHARP 4
+# define SIZEOF_INT 4
+# define SIZEOF_LONG 4
+# define SIZEOF_LONG_LONG 8
+# define SIZEOF_OFF_T 8
+# define SIZEOF_SHORT 2
+
+#elif defined(__ppc__)
+# define WORDS_BIGENDIAN
+# define SIZEOF_CHARP 4
+# define SIZEOF_INT 4
+# define SIZEOF_LONG 4
+# define SIZEOF_LONG_LONG 8
+# define SIZEOF_OFF_T 8
+# define SIZEOF_SHORT 2
+
+#else
+# error Building FAT binary for an unknown architecture.
+#endif
+#endif /* TARGET_FAT_BINARY */
+
+
/*
The macros below are borrowed from include/linux/compiler.h in the
Linux kernel. Use them to indicate the likelyhood of the truthfulness
diff --git a/innobase/buf/buf0buf.c b/innobase/buf/buf0buf.c
index f24f1744363..ff7622aca81 100644
--- a/innobase/buf/buf0buf.c
+++ b/innobase/buf/buf0buf.c
@@ -649,7 +649,7 @@ buf_pool_init(
}
}
- buf_pool->page_hash = hash_create(2 * max_size);
+ buf_pool->page_hash = hash0_create(2 * max_size);
buf_pool->n_pend_reads = 0;
diff --git a/innobase/dict/dict0dict.c b/innobase/dict/dict0dict.c
index ba03e1f5e41..4ceeb4cafc0 100644
--- a/innobase/dict/dict0dict.c
+++ b/innobase/dict/dict0dict.c
@@ -708,13 +708,13 @@ dict_init(void)
mutex_create(&(dict_sys->mutex));
mutex_set_level(&(dict_sys->mutex), SYNC_DICT);
- dict_sys->table_hash = hash_create(buf_pool_get_max_size() /
+ dict_sys->table_hash = hash0_create(buf_pool_get_max_size() /
(DICT_POOL_PER_TABLE_HASH *
UNIV_WORD_SIZE));
- dict_sys->table_id_hash = hash_create(buf_pool_get_max_size() /
+ dict_sys->table_id_hash = hash0_create(buf_pool_get_max_size() /
(DICT_POOL_PER_TABLE_HASH *
UNIV_WORD_SIZE));
- dict_sys->col_hash = hash_create(buf_pool_get_max_size() /
+ dict_sys->col_hash = hash0_create(buf_pool_get_max_size() /
(DICT_POOL_PER_COL_HASH *
UNIV_WORD_SIZE));
dict_sys->size = 0;
diff --git a/innobase/fil/fil0fil.c b/innobase/fil/fil0fil.c
index 65320b57183..460a2c9f7b8 100644
--- a/innobase/fil/fil0fil.c
+++ b/innobase/fil/fil0fil.c
@@ -1294,8 +1294,8 @@ fil_system_create(
mutex_set_level(&(system->mutex), SYNC_ANY_LATCH);
- system->spaces = hash_create(hash_size);
- system->name_hash = hash_create(hash_size);
+ system->spaces = hash0_create(hash_size);
+ system->name_hash = hash0_create(hash_size);
UT_LIST_INIT(system->LRU);
diff --git a/innobase/ha/ha0ha.c b/innobase/ha/ha0ha.c
index ab565acd64f..4c17f2d4b0e 100644
--- a/innobase/ha/ha0ha.c
+++ b/innobase/ha/ha0ha.c
@@ -32,7 +32,7 @@ ha_create(
hash_table_t* table;
ulint i;
- table = hash_create(n);
+ table = hash0_create(n);
if (in_btr_search) {
table->adaptive = TRUE;
diff --git a/innobase/ha/hash0hash.c b/innobase/ha/hash0hash.c
index facdea66198..18b5b3cefd6 100644
--- a/innobase/ha/hash0hash.c
+++ b/innobase/ha/hash0hash.c
@@ -74,7 +74,7 @@ Creates a hash table with >= n array cells. The actual number of cells is
chosen to be a prime number slightly bigger than n. */
hash_table_t*
-hash_create(
+hash0_create(
/*========*/
/* out, own: created table */
ulint n) /* in: number of array cells */
diff --git a/innobase/include/hash0hash.h b/innobase/include/hash0hash.h
index 51315e40875..3abc05f174c 100644
--- a/innobase/include/hash0hash.h
+++ b/innobase/include/hash0hash.h
@@ -23,7 +23,7 @@ Creates a hash table with >= n array cells. The actual number
of cells is chosen to be a prime number slightly bigger than n. */
hash_table_t*
-hash_create(
+hash0_create(
/*========*/
/* out, own: created table */
ulint n); /* in: number of array cells */
diff --git a/innobase/lock/lock0lock.c b/innobase/lock/lock0lock.c
index 06475c8ef7e..52bb369d479 100644
--- a/innobase/lock/lock0lock.c
+++ b/innobase/lock/lock0lock.c
@@ -584,7 +584,7 @@ lock_sys_create(
{
lock_sys = mem_alloc(sizeof(lock_sys_t));
- lock_sys->rec_hash = hash_create(n_cells);
+ lock_sys->rec_hash = hash0_create(n_cells);
/* hash_create_mutexes(lock_sys->rec_hash, 2, SYNC_REC_LOCK); */
diff --git a/innobase/log/log0recv.c b/innobase/log/log0recv.c
index c1ceb9791f2..e92b65ed139 100644
--- a/innobase/log/log0recv.c
+++ b/innobase/log/log0recv.c
@@ -148,7 +148,7 @@ recv_sys_init(
recv_sys->len = 0;
recv_sys->recovered_offset = 0;
- recv_sys->addr_hash = hash_create(available_memory / 64);
+ recv_sys->addr_hash = hash0_create(available_memory / 64);
recv_sys->n_addrs = 0;
recv_sys->apply_log_recs = FALSE;
@@ -187,7 +187,7 @@ recv_sys_empty_hash(void)
hash_table_free(recv_sys->addr_hash);
mem_heap_empty(recv_sys->heap);
- recv_sys->addr_hash = hash_create(buf_pool_get_curr_size() / 256);
+ recv_sys->addr_hash = hash0_create(buf_pool_get_curr_size() / 256);
}
/************************************************************
diff --git a/innobase/thr/thr0loc.c b/innobase/thr/thr0loc.c
index 033bb22807f..f71048af2ba 100644
--- a/innobase/thr/thr0loc.c
+++ b/innobase/thr/thr0loc.c
@@ -224,7 +224,7 @@ thr_local_init(void)
ut_a(thr_local_hash == NULL);
- thr_local_hash = hash_create(OS_THREAD_MAX_N + 100);
+ thr_local_hash = hash0_create(OS_THREAD_MAX_N + 100);
mutex_create(&thr_local_mutex);
mutex_set_level(&thr_local_mutex, SYNC_THR_LOCAL);
diff --git a/mysql-test/t/myisam.test b/mysql-test/t/myisam.test
index d785002abdd..02f914ae094 100644
--- a/mysql-test/t/myisam.test
+++ b/mysql-test/t/myisam.test
@@ -498,7 +498,7 @@ insert into t1 values (1),(2),(3),(4),(5),(6);
insert into t2 values (1,1),(2,1);
lock tables t1 read local, t2 read local;
select straight_join * from t1,t2 force index (primary) where t1.a=t2.a;
-connect (root,localhost,root,,test,$MASTER_MYPORT,master.sock);
+connect (root,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
insert into t2 values(2,0);
disconnect root;
connection default;
diff --git a/mysql-test/t/query_cache_notembedded.test b/mysql-test/t/query_cache_notembedded.test
index 97be9f9f7ca..a4f4144d9c6 100644
--- a/mysql-test/t/query_cache_notembedded.test
+++ b/mysql-test/t/query_cache_notembedded.test
@@ -81,12 +81,12 @@ drop table t1, t2, t3, t11, t21;
#
# do not use QC if tables locked (BUG#12385)
#
-connect (root,localhost,root,,test,$MASTER_MYPORT,master.sock);
+connect (root,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
connection root;
CREATE TABLE t1 ( a INT NOT NULL PRIMARY KEY AUTO_INCREMENT ) ENGINE =
MyISAM;
LOCK TABLE t1 READ LOCAL;
-connect (root2,localhost,root,,test,$MASTER_MYPORT,master.sock);
+connect (root2,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
connection root2;
INSERT INTO t1 VALUES (), (), ();
connection root;
diff --git a/mysql-test/t/rpl000015.test b/mysql-test/t/rpl000015.test
index d61b7120fa1..d05e4df66b1 100644
--- a/mysql-test/t/rpl000015.test
+++ b/mysql-test/t/rpl000015.test
@@ -1,5 +1,5 @@
connect (master,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
-connect (slave,localhost,root,,test,$SLAVE_MYPORT,slave.sock);
+connect (slave,localhost,root,,test,$SLAVE_MYPORT,$SLAVE_MYSOCK);
connection master;
reset master;
show master status;
diff --git a/mysql-test/t/rpl000017.test b/mysql-test/t/rpl000017.test
index 866b7fd1c25..c1d36d53501 100644
--- a/mysql-test/t/rpl000017.test
+++ b/mysql-test/t/rpl000017.test
@@ -1,5 +1,5 @@
connect (master,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
-connect (slave,localhost,root,,test,$SLAVE_MYPORT,slave.sock);
+connect (slave,localhost,root,,test,$SLAVE_MYPORT,$SLAVE_MYSOCK);
connection master;
reset master;
grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
diff --git a/mysql-test/t/rpl_rotate_logs.test b/mysql-test/t/rpl_rotate_logs.test
index ee49f92910a..25e54306d6e 100644
--- a/mysql-test/t/rpl_rotate_logs.test
+++ b/mysql-test/t/rpl_rotate_logs.test
@@ -16,7 +16,7 @@ connect (master,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
--disable_warnings
drop table if exists t1, t2, t3, t4;
--enable_warnings
-connect (slave,localhost,root,,test,$SLAVE_MYPORT,slave.sock);
+connect (slave,localhost,root,,test,$SLAVE_MYPORT,$SLAVE_MYSOCK);
system cat /dev/null > $MYSQLTEST_VARDIR/slave-data/master.info;
system chmod 000 $MYSQLTEST_VARDIR/slave-data/master.info;
connection slave;
diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh
index 99bb9ea78a4..461b04a9ce5 100644
--- a/scripts/make_binary_distribution.sh
+++ b/scripts/make_binary_distribution.sh
@@ -360,7 +360,7 @@ BASE=$BASE2
#
if [ x"@GXX@" = x"yes" ] ; then
- gcclib=`@CC@ --print-libgcc-file`
+ gcclib=`@CC@ @CFLAGS@ --print-libgcc-file`
if [ $? -ne 0 ] ; then
echo "Warning: Couldn't find libgcc.a!"
else
diff --git a/scripts/mysql_secure_installation.sh b/scripts/mysql_secure_installation.sh
index f437a3d8bfc..6c2d88d6d29 100644
--- a/scripts/mysql_secure_installation.sh
+++ b/scripts/mysql_secure_installation.sh
@@ -21,6 +21,16 @@ command=".mysql.$$"
trap "interrupt" 2
rootpass=""
+echo_n=
+echo_c=
+
+set_echo_compat() {
+ case `echo "testing\c"`,`echo -n testing` in
+ *c*,-n*) echo_n= echo_c= ;;
+ *c*,*) echo_n=-n echo_c= ;;
+ *) echo_n= echo_c='\c' ;;
+ esac
+}
prepare() {
touch $config $command
@@ -44,7 +54,7 @@ get_root_password() {
status=1
while [ $status -eq 1 ]; do
stty -echo
- echo -n "Enter current password for root (enter for none): "
+ echo $echo_n "Enter current password for root (enter for none): $echo_c"
read password
echo
stty echo
@@ -64,10 +74,10 @@ get_root_password() {
set_root_password() {
stty -echo
- echo -n "New password: "
+ echo $echo_n "New password: $echo_c"
read password1
echo
- echo -n "Re-enter new password: "
+ echo $echo_n "Re-enter new password: $echo_c"
read password2
echo
stty echo
@@ -172,6 +182,7 @@ cleanup() {
# The actual script starts here
prepare
+set_echo_compat
echo
echo
@@ -200,11 +211,11 @@ echo "root user without the proper authorisation."
echo
if [ $hadpass -eq 0 ]; then
- echo -n "Set root password? [Y/n] "
+ echo $echo_n "Set root password? [Y/n] $echo_c"
else
echo "You already have a root password set, so you can safely answer 'n'."
echo
- echo -n "Change the root password? [Y/n] "
+ echo $echo_n "Change the root password? [Y/n] $echo_c"
fi
read reply
@@ -231,7 +242,7 @@ echo "go a bit smoother. You should remove them before moving into a"
echo "production environment."
echo
-echo -n "Remove anonymous users? [Y/n] "
+echo $echo_n "Remove anonymous users? [Y/n] $echo_c"
read reply
if [ "$reply" = "n" ]; then
@@ -250,7 +261,7 @@ echo "Normally, root should only be allowed to connect from 'localhost'. This"
echo "ensures that someone cannot guess at the root password from the network."
echo
-echo -n "Disallow root login remotely? [Y/n] "
+echo $echo_n "Disallow root login remotely? [Y/n] $echo_c"
read reply
if [ "$reply" = "n" ]; then
echo " ... skipping."
@@ -269,7 +280,7 @@ echo "access. This is also intended only for testing, and should be removed"
echo "before moving into a production environment."
echo
-echo -n "Remove test database and access to it? [Y/n] "
+echo $echo_n "Remove test database and access to it? [Y/n] $echo_c"
read reply
if [ "$reply" = "n" ]; then
echo " ... skipping."
@@ -287,7 +298,7 @@ echo "Reloading the privilege tables will ensure that all changes made so far"
echo "will take effect immediately."
echo
-echo -n "Reload privilege tables now? [Y/n] "
+echo $echo_n "Reload privilege tables now? [Y/n] $echo_c"
read reply
if [ "$reply" = "n" ]; then
echo " ... skipping."
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 095b5095c36..1456cf3f240 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -51,6 +51,10 @@
#define OPT_NDBCLUSTER_DEFAULT 0
#endif
+#ifndef DEFAULT_SKIP_THREAD_PRIORITY
+#define DEFAULT_SKIP_THREAD_PRIORITY 0
+#endif
+
#include
#include
#include
@@ -5384,8 +5388,8 @@ Can't be set to 1 if --log-slave-updates is used.",
{"skip-symlink", OPT_SKIP_SYMLINKS, "Don't allow symlinking of tables. Deprecated option. Use --skip-symbolic-links instead.",
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
{"skip-thread-priority", OPT_SKIP_PRIOR,
- "Don't give threads different priorities.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0,
- 0, 0, 0, 0, 0},
+ "Don't give threads different priorities.", 0, 0, 0, GET_NO_ARG, NO_ARG,
+ DEFAULT_SKIP_THREAD_PRIORITY, 0, 0, 0, 0, 0},
#ifdef HAVE_REPLICATION
{"slave-load-tmpdir", OPT_SLAVE_LOAD_TMPDIR,
"The location where the slave should put its temporary files when \
diff --git a/support-files/MySQL-shared-compat.spec.sh b/support-files/MySQL-shared-compat.spec.sh
index 37733141451..14a98616863 100644
--- a/support-files/MySQL-shared-compat.spec.sh
+++ b/support-files/MySQL-shared-compat.spec.sh
@@ -29,7 +29,7 @@
# Change this to match the version of the shared libs you want to include
#
%define version50 @MYSQL_NO_DASH_VERSION@
-%define version41 4.1.16
+%define version41 4.1.17
%define version40 4.0.26
%define version3 3.23.58
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh
index 59369f0de35..528b1f2746b 100644
--- a/support-files/mysql.spec.sh
+++ b/support-files/mysql.spec.sh
@@ -362,7 +362,7 @@ fi
# Include libgcc.a in the devel subpackage (BUG 4921)
if expr "$CC" : ".*gcc.*" > /dev/null ;
then
- libgcc=`$CC --print-libgcc-file`
+ libgcc=`$CC $CFLAGS --print-libgcc-file`
if [ -f $libgcc ]
then
%define have_libgcc 1
@@ -755,6 +755,11 @@ fi
# itself - note that they must be ordered by date (important when
# merging BK trees)
%changelog
+* Fri Jan 05 2007 Kent Boortz
+
+- Add CFLAGS to gcc call with --print-libgcc-file, to make sure the
+ correct "libgcc.a" path is returned for the 32/64 bit architecture.
+
* Mon Dec 18 2006 Joerg Bruehe
- Fix the move of "mysqlmanager" to section 8: Directory name was wrong.