summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bzrignore3
-rw-r--r--include/my_global.h2
-rw-r--r--libmysql/libmysql.c2
-rw-r--r--libmysqld/examples/Makefile.am17
-rw-r--r--mysql-test/mysql-test-run.sh40
-rw-r--r--mysql-test/t/client_test.test4
-rw-r--r--mysql-test/t/mysql_client_test.test3
-rw-r--r--scripts/make_binary_distribution.sh4
-rw-r--r--sql/mysqld.cc12
-rw-r--r--tests/Makefile.am4
-rw-r--r--tests/mysql_client_test.c (renamed from tests/client_test.c)0
11 files changed, 65 insertions, 26 deletions
diff --git a/.bzrignore b/.bzrignore
index c8f50c927ad..460ea002bff 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -396,6 +396,7 @@ libmysqld/gstream.cc
libmysqld/ha_archive.cc
libmysqld/ha_berkeley.cc
libmysqld/ha_example.cc
+libmysqld/ha_federated.cc
libmysqld/ha_heap.cc
libmysqld/ha_innobase.cc
libmysqld/ha_innodb.cc
@@ -1036,6 +1037,7 @@ test/tools/verify_index
test_xml
tests/client_test
tests/connect_test
+tests/mysql_client_test
thread_test
tmp/*
tools/my_vsnprintf.c
@@ -1047,4 +1049,3 @@ vio/test-ssl
vio/test-sslclient
vio/test-sslserver
vio/viotest-ssl
-libmysqld/ha_federated.cc
diff --git a/include/my_global.h b/include/my_global.h
index e8f93ee5d7a..21ba4331cb1 100644
--- a/include/my_global.h
+++ b/include/my_global.h
@@ -1084,7 +1084,7 @@ do { doubleget_union _tmp; \
#define float4store(V,M) memcpy_fixed((byte*) V,(byte*) (&M),sizeof(float))
#if defined(__FLOAT_WORD_ORDER) && (__FLOAT_WORD_ORDER == __BIG_ENDIAN)
-#define doublestore(T,V) do { *(T)= ((byte *) &V)[4];\
+#define doublestore(T,V) do { *(((char*)T)+0)=(char) ((byte *) &V)[4];\
*(((char*)T)+1)=(char) ((byte *) &V)[5];\
*(((char*)T)+2)=(char) ((byte *) &V)[6];\
*(((char*)T)+3)=(char) ((byte *) &V)[7];\
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 7c6b4e31ab5..c6815d2a5ce 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -3077,7 +3077,7 @@ static my_bool int_is_null_false= 0;
values and mysql_stmt_execute() the statement.
See also: mysql_stmt_send_long_data() for sending long text/blob
- data in pieces, examples in tests/client_test.c.
+ data in pieces, examples in tests/mysql_client_test.c.
Next steps you might want to make:
- execute statement with mysql_stmt_execute(),
- reset statement using mysql_stmt_reset() or reprepare it with
diff --git a/libmysqld/examples/Makefile.am b/libmysqld/examples/Makefile.am
index ba646e282b5..85c76df1513 100644
--- a/libmysqld/examples/Makefile.am
+++ b/libmysqld/examples/Makefile.am
@@ -1,6 +1,7 @@
-noinst_PROGRAMS = mysqltest mysql client_test
-client_sources = $(mysqltest_SOURCES) $(mysql_SOURCES)
-tests_sources= $(client_test_SOURCES)
+noinst_PROGRAMS = mysql
+bin_PROGRAMS = mysqltest_embedded mysql_client_test_embedded
+client_sources = $(mysqltest_embedded_SOURCES) $(mysql_SOURCES)
+tests_sources= $(mysql_client_test_embedded_SOURCES)
link_sources:
for f in $(client_sources); do \
@@ -19,16 +20,16 @@ INCLUDES = @MT_INCLUDES@ -I$(top_srcdir)/include -I$(srcdir) \
LIBS = @LIBS@ @WRAPLIBS@ @CLIENT_LIBS@
LDADD = @CLIENT_EXTRA_LDFLAGS@ ../libmysqld.a @innodb_system_libs@ @LIBDL@ $(CXXLDFLAGS)
-mysqltest_LINK = $(CXXLINK)
-mysqltest_SOURCES = mysqltest.c
-mysqltest_LDADD = $(LDADD) $(top_builddir)/regex/libregex.a
+mysqltest_embedded_LINK = $(CXXLINK)
+mysqltest_embedded_SOURCES = mysqltest.c
+mysqltest_embedded_LDADD = $(LDADD) $(top_builddir)/regex/libregex.a
mysql_SOURCES = mysql.cc readline.cc completion_hash.cc \
my_readline.h sql_string.h completion_hash.h
mysql_LDADD = @readline_link@ @TERMCAP_LIB@ $(LDADD)
-client_test_LINK = $(CXXLINK)
-client_test_SOURCES = client_test.c
+mysql_client_test_embedded_LINK = $(CXXLINK)
+mysql_client_test_embedded_SOURCES = mysql_client_test.c
clean:
rm -f $(client_sources)
diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh
index 953b560fe09..8bff1090fd2 100644
--- a/mysql-test/mysql-test-run.sh
+++ b/mysql-test/mysql-test-run.sh
@@ -499,13 +499,13 @@ DASH72=`$ECHO '-------------------------------------------------------'|$CUT -c
# on binary, use what is installed
if [ x$SOURCE_DIST = x1 ] ; then
if [ "x$USE_EMBEDDED_SERVER" = "x1" ] ; then
- if [ -f "$BASEDIR/libmysqld/examples/mysqltest" ] ; then
- MYSQL_TEST="$VALGRIND $BASEDIR/libmysqld/examples/mysqltest"
+ if [ -f "$BASEDIR/libmysqld/examples/mysqltest_embedded" ] ; then
+ MYSQL_TEST="$VALGRIND $BASEDIR/libmysqld/examples/mysqltest_embedded"
else
- echo "Fatal error: Cannot find embedded server 'mysqltest'" 1>&2
+ echo "Fatal error: Cannot find embedded server 'mysqltest_embedded'" 1>&2
exit 1
fi
- TESTS_BINDIR="$BASEDIR/libmysqld/examples"
+ MYSQL_CLIENT_TEST="$BASEDIR/libmysqld/examples/mysql_client_test_embedded"
else
MYSQLD="$VALGRIND $BASEDIR/sql/mysqld"
if [ -f "$BASEDIR/client/.libs/lt-mysqltest" ] ; then
@@ -515,7 +515,7 @@ if [ x$SOURCE_DIST = x1 ] ; then
else
MYSQL_TEST="$BASEDIR/client/mysqltest"
fi
- TESTS_BINDIR="$BASEDIR/tests"
+ MYSQL_CLIENT_TEST="$BASEDIR/tests/mysql_client_test"
fi
if [ -f "$BASEDIR/client/.libs/mysqldump" ] ; then
MYSQL_DUMP="$BASEDIR/client/.libs/mysqldump"
@@ -545,6 +545,14 @@ if [ x$SOURCE_DIST = x1 ] ; then
NDB_TOOLS_DIR="$BASEDIR/ndb/tools"
NDB_MGM="$BASEDIR/ndb/src/mgmclient/ndb_mgm"
else
+
+ # We have a binary installation. Note that this can be both from
+ # unpacking a MySQL AB binary distribution (created using
+ # "scripts/make_binary_distribution", and from a "make install".
+ # Unfortunately the structure differs a bit, for a "make install"
+ # currently all binaries are in "bin", for a MySQL AB packaging
+ # some are in "tests".
+
if test -x "$BASEDIR/libexec/mysqld"
then
MYSQLD="$VALGRIND $BASEDIR/libexec/mysqld"
@@ -578,7 +586,23 @@ else
else
LANGUAGE="$BASEDIR/share/english/"
CHARSETSDIR="$BASEDIR/share/charsets"
- fi
+ fi
+ if [ "x$USE_EMBEDDED_SERVER" = "x1" ] ; then
+ if [ -f "$CLIENT_BINDIR/mysqltest_embedded" ] ; then
+ MYSQL_TEST="$VALGRIND $CLIENT_BINDIR/mysqltest_embedded"
+ else
+ echo "Fatal error: Cannot find embedded server 'mysqltest_embedded'" 1>&2
+ exit 1
+ fi
+ if [ -d "$BASEDIR/tests/mysql_client_test_embedded" ] ; then
+ MYSQL_CLIENT_TEST="$TESTS_BINDIR/mysql_client_test_embedded"
+ else
+ MYSQL_CLIENT_TEST="$CLIENT_BINDIR/mysql_client_test_embedded"
+ fi
+ else
+ MYSQL_TEST="$CLIENT_BINDIR/mysqltest"
+ MYSQL_CLIENT_TEST="$CLIENT_BINDIR/mysql_client_test"
+ fi
fi
if [ -z "$MASTER_MYSQLD" ]
@@ -612,13 +636,13 @@ then
EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT --user=root"
fi
-
+MYSQL_CLIENT_TEST="$MYSQL_CLIENT_TEST --no-defaults --testcase --user=root --socket=$MASTER_MYSOCK --port=$MYSQL_TCP_PORT --silent"
MYSQL_DUMP="$MYSQL_DUMP --no-defaults -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLDUMP_OPT"
MYSQL_BINLOG="$MYSQL_BINLOG --no-defaults --local-load=$MYSQL_TMP_DIR $EXTRA_MYSQLBINLOG_OPT"
MYSQL_FIX_SYSTEM_TABLES="$MYSQL_FIX_SYSTEM_TABLES --no-defaults --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD --basedir=$BASEDIR --bindir=$CLIENT_BINDIR --verbose"
MYSQL="$MYSQL --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD"
export MYSQL MYSQL_DUMP MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES
-export CLIENT_BINDIR TESTS_BINDIR CHARSETSDIR
+export CLIENT_BINDIR MYSQL_CLIENT_TEST CHARSETSDIR
export NDB_TOOLS_DIR
export NDB_MGM
diff --git a/mysql-test/t/client_test.test b/mysql-test/t/client_test.test
deleted file mode 100644
index 29e7c23ab35..00000000000
--- a/mysql-test/t/client_test.test
+++ /dev/null
@@ -1,4 +0,0 @@
-# Skip when testing the embedded server
---source include/not_embedded.inc
---disable_result_log
---exec $TESTS_BINDIR/client_test --no-defaults --testcase --user=root --socket=$MASTER_MYSOCK --port=$MYSQL_TCP_PORT --silent
diff --git a/mysql-test/t/mysql_client_test.test b/mysql-test/t/mysql_client_test.test
new file mode 100644
index 00000000000..86aecf43cbd
--- /dev/null
+++ b/mysql-test/t/mysql_client_test.test
@@ -0,0 +1,3 @@
+# We run with different binaries for normal and --embedded-server
+--disable_result_log
+--exec $MYSQL_CLIENT_TEST
diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh
index 69f9092f1fd..f246f70b8c4 100644
--- a/scripts/make_binary_distribution.sh
+++ b/scripts/make_binary_distribution.sh
@@ -126,6 +126,8 @@ else
client/.libs/mysqltest client/.libs/mysqlcheck \
client/.libs/mysqlbinlog client/.libs/mysqlmanagerc \
client/.libs/mysqlmanager-pwgen tools/.libs/mysqlmanager \
+ tests/.libs/mysql_client_test libmysqld/examples/mysql_client_test_embedded \
+ libmysqld/examples/mysqltest_embedded \
";
fi
@@ -186,7 +188,7 @@ fi
if [ $BASE_SYSTEM != "netware" ] ; then
if [ -d tests ] ; then
- $CP tests/client_test tests/*.res tests/*.tst tests/*.pl $BASE/tests
+ $CP tests/*.res tests/*.tst tests/*.pl $BASE/tests
fi
if [ -d man ] ; then
$CP man/*.1 $BASE/man/man1
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 0126a69b099..3195b442de3 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -3031,6 +3031,18 @@ You should consider changing lower_case_table_names to 1 or 2",
lower_case_table_names= 2;
}
}
+ else if (lower_case_table_names == 2 &&
+ !(lower_case_file_system=
+ (test_if_case_insensitive(mysql_real_data_home) == 1)))
+ {
+ if (global_system_variables.log_warnings)
+ sql_print_warning("\
+You have forced lower_case_table_names to 2 through a command-line \
+option, even though your file system '%s' is case sensitive. This means \
+that you can create a table that you can then no longer access. \
+You should consider changing lower_case_table_names to 0.",
+ mysql_real_data_home);
+ }
select_thread=pthread_self();
select_thread_in_use=1;
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b3693aedecb..e66637de0aa 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -26,7 +26,7 @@ EXTRA_DIST = auto_increment.res auto_increment.tst \
pmail.pl mail_to_db.pl table_types.pl \
udf_test udf_test.res myisam-big-rows.tst
-bin_PROGRAMS = client_test
+bin_PROGRAMS = mysql_client_test
noinst_PROGRAMS = insert_test select_test thread_test
#
@@ -38,7 +38,7 @@ LDADD = @CLIENT_EXTRA_LDFLAGS@ \
$(top_builddir)/libmysql/libmysqlclient.la
client_test_LDADD= $(LDADD) $(CXXLDFLAGS) \
$(top_builddir)/mysys/libmysys.a
-client_test_SOURCES= client_test.c
+client_test_SOURCES= mysql_client_test.c
insert_test_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES)
select_test_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES)
diff --git a/tests/client_test.c b/tests/mysql_client_test.c
index 3cbc9918d6c..3cbc9918d6c 100644
--- a/tests/client_test.c
+++ b/tests/mysql_client_test.c