Commit 341f9ab2 authored by unknown's avatar unknown

Merge pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/clean/mysql-5.1-bugteam

into  pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/build_work/test_fix/mysql-5.1-bugteam_35744

parents e3817397 4f706f33
......@@ -3263,22 +3263,3 @@ AUTO_INCREMENT
200
DROP TABLE t2;
DROP TABLE t1;
CREATE TABLE t1 (c1 int default NULL,
c2 int default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
TRUNCATE TABLE t1;
affected rows: 0
INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5);
affected rows: 5
info: Records: 5 Duplicates: 0 Warnings: 0
TRUNCATE TABLE t1;
affected rows: 0
DROP TABLE t1;
Variable_name Value
Handler_update 0
Variable_name Value
Handler_delete 0
Variable_name Value
Handler_update 1
Variable_name Value
Handler_delete 1
......@@ -162,7 +162,8 @@ Variable_name Value
Com_show_status 8
rnd_diff tmp_table_diff
20 8
show global status like 'Com%function%';
flush status;
show status like 'Com%function%';
Variable_name Value
Com_alter_function 0
Com_create_function 0
......@@ -176,7 +177,7 @@ set ret = x * 10;
return ret;
end //
drop function f1;
show global status like 'Com%function%';
show status like 'Com%function%';
Variable_name Value
Com_alter_function 0
Com_create_function 1
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -10,13 +10,90 @@
#
##############################################################################
federated_transactions : Bug#29523 Transactions do not work
status : Bug#32966 main.status fails
ps_ddl : Bug#12093 2007-12-14 pending WL#4165 / WL#4166
csv_alter_table : Bug#33696 2008-01-21 pcrews no .result file - bug allows NULL columns in CSV tables
user_limits : Bug#23921 random failure of user_limits.test
key_buffer_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
rpl_recovery_rank_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
sort_buffer_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_heap_table_size_basic_32 : #36522: Some tests of system variables have diffs on 64bit platorms
query_cache_size_basic_32 : #36522: Some tests of system variables have diffs on 64bit platorms
tmp_table_size_basic_32 : #36522: Some tests of system variables have diffs on 64bit platorms
status : Bug#32966 main.status fails
thread_cache_size_func : Bug#36733 main.thread_cache_size_func fails randomly
binlog_cache_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
bulk_insert_buffer_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
delayed_insert_limit_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
delayed_queue_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
innodb_concurrency_tickets_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
innodb_max_purge_lag_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
innodb_sync_spin_loops_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
join_buffer_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
key_buffer_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
key_cache_age_threshold_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
key_cache_block_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
key_cache_division_limit_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
log_warnings_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_binlog_cache_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_connect_errors_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_heap_table_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_seeks_for_key_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_tmp_tables_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_write_lock_count_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
min_examined_row_limit_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
multi_range_count_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
myisam_max_sort_file_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
myisam_repair_threads_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
myisam_sort_buffer_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
net_retry_count_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
query_alloc_block_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
query_cache_limit_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
query_cache_min_res_unit_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
query_cache_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
query_prealloc_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
range_alloc_block_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
rpl_recovery_rank_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
server_id_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
slave_transaction_retries_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
sort_buffer_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
sync_binlog_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
timestamp_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
tmp_table_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
transaction_alloc_block_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
transaction_prealloc_size_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
wait_timeout_basic_32 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
binlog_cache_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
bulk_insert_buffer_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
delayed_insert_limit_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
delayed_queue_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
innodb_concurrency_tickets_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
innodb_max_purge_lag_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
innodb_sync_spin_loops_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
join_buffer_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
key_buffer_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
key_cache_age_threshold_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
key_cache_block_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
key_cache_division_limit_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
log_warnings_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_binlog_cache_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_connect_errors_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_heap_table_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_seeks_for_key_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_tmp_tables_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
max_write_lock_count_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
min_examined_row_limit_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
multi_range_count_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
myisam_max_sort_file_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
myisam_repair_threads_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
myisam_sort_buffer_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
net_retry_count_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
query_alloc_block_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
query_cache_limit_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
query_cache_min_res_unit_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
query_cache_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
query_prealloc_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
range_alloc_block_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
rpl_recovery_rank_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
server_id_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
slave_transaction_retries_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
sort_buffer_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
sync_binlog_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
timestamp_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
tmp_table_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
transaction_alloc_block_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
transaction_prealloc_size_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
wait_timeout_basic_64 : Bug #36522: Some tests of system variables have diffs on 64bit platorms
......@@ -2458,52 +2458,6 @@ SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 't2';
DROP TABLE t2;
DROP TABLE t1;
# End 34920 test
#
# Bug #29507 TRUNCATE shows to many rows effected
#
CONNECTION default;
CREATE TABLE t1 (c1 int default NULL,
c2 int default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--enable_info
TRUNCATE TABLE t1;
INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5);
TRUNCATE TABLE t1;
--disable_info
DROP TABLE t1;
#
# Bug#35537 Innodb doesn't increment handler_update and handler_delete.
#
-- disable_query_log
-- disable_result_log
CONNECT (c1,localhost,root,,);
DROP TABLE IF EXISTS bug35537;
CREATE TABLE bug35537 (
c1 int
) ENGINE=InnoDB;
INSERT INTO bug35537 VALUES (1);
-- enable_result_log
SHOW SESSION STATUS LIKE 'Handler_update%';
SHOW SESSION STATUS LIKE 'Handler_delete%';
UPDATE bug35537 SET c1 = 2 WHERE c1 = 1;
DELETE FROM bug35537 WHERE c1 = 2;
SHOW SESSION STATUS LIKE 'Handler_update%';
SHOW SESSION STATUS LIKE 'Handler_delete%';
DROP TABLE bug35537;
DISCONNECT c1;
CONNECTION default;
#######################################################################
# #
......
......@@ -245,7 +245,8 @@ eval select substring_index('$rnd_next2',0x9,-1)-substring_index('$rnd_next',0x9
#
# Bug#30252 Com_create_function is not incremented.
#
show global status like 'Com%function%';
flush status;
show status like 'Com%function%';
DELIMITER //;
create function f1 (x INTEGER) returns integer
......@@ -257,8 +258,7 @@ create function f1 (x INTEGER) returns integer
DELIMITER ;//
drop function f1;
show global status like 'Com%function%';
show status like 'Com%function%';
# End of 5.1 tests
......@@ -14,61 +14,36 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##############################################################################
# This is a script to create a TAR or ZIP binary distribution out of a
# built source tree. The output file will be put at the top level of
# the source tree, as "mysql-<vsn>....{tar.gz,zip}"
#
# This is a script to create a TAR or ZIP binary distribution out of a
# built source tree. The output file will be put at the top level of
# the source tree, as "mysql-<vsn>....{tar.gz,zip}"
#
# Note that the structure created by this script is slightly different from
# what a normal "make install" would produce. No extra "mysql" sub directory
# will be created, i.e. no "$prefix/include/mysql", "$prefix/lib/mysql" or
# "$prefix/share/mysql". This is because the build system explicitly calls
# make with pkgdatadir=<datadir>, etc.
#
# In GNU make/automake terms
#
# "pkglibdir" is set to the same as "libdir"
# "pkgincludedir" is set to the same as "includedir"
# "pkgdatadir" is set to the same as "datadir"
# "pkgplugindir" is set to "$pkglibdir/plugin"
# "pkgsuppdir" is set to "@prefix@/support-files",
# normally the same as "datadir"
#
# The temporary directory path given to "--tmp=<path>" has to be
# absolute and with no spaces.
#
# Note that for best result, the original "make" should be done with
# the same arguments as used for "make install" below, especially the
# 'pkglibdir', as the RPATH should to be set correctly.
#
##############################################################################
##############################################################################
#
# Read the command line arguments that control this script
#
##############################################################################
# The temporary directory path given to "--tmp=<path>" has to be
# absolute and with no spaces.
machine=@MACHINE_TYPE@
system=@SYSTEM_TYPE@
version=@VERSION@
SOURCE=`pwd`
CP="cp -p"
MV="mv"
STRIP=1 # Option ignored
STRIP=1
DEBUG=0
SILENT=0
MACHINE=""
PLATFORM=""
TMP=/tmp
SUFFIX=""
NDBCLUSTER="" # Option ignored
NDBCLUSTER=""
for arg do
case "$arg" in
--debug) DEBUG=1;;
--tmp=*) TMP=`echo "$arg" | sed -e "s;--tmp=;;"` ;;
--suffix=*) SUFFIX=`echo "$arg" | sed -e "s;--suffix=;;"` ;;
--no-strip) STRIP=0 ;;
--machine=*) machine=`echo "$arg" | sed -e "s;--machine=;;"` ;;
--machine=*) MACHINE=`echo "$arg" | sed -e "s;--machine=;;"` ;;
--platform=*) PLATFORM=`echo "$arg" | sed -e "s;--platform=;;"` ;;
--silent) SILENT=1 ;;
--with-ndbcluster) NDBCLUSTER=1 ;;
......@@ -79,52 +54,53 @@ for arg do
esac
done
# ----------------------------------------------------------------------
# Adjust "system" output from "uname" to be more human readable
# ----------------------------------------------------------------------
if [ x"$PLATFORM" = x"" ] ; then
# FIXME move this to the build tools
# Remove vendor from $system
system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'`
# Map OS names to "our" OS names (eg. darwin6.8 -> osx10.2)
system=`echo $system | sed -e 's/darwin6.*/osx10.2/g'`
system=`echo $system | sed -e 's/darwin7.*/osx10.3/g'`
system=`echo $system | sed -e 's/darwin8.*/osx10.4/g'`
system=`echo $system | sed -e 's/\(aix4.3\).*/\1/g'`
system=`echo $system | sed -e 's/\(aix5.1\).*/\1/g'`
system=`echo $system | sed -e 's/\(aix5.2\).*/\1/g'`
system=`echo $system | sed -e 's/\(aix5.3\).*/\1/g'`
system=`echo $system | sed -e 's/osf5.1b/tru64/g'`
system=`echo $system | sed -e 's/linux-gnu/linux/g'`
system=`echo $system | sed -e 's/solaris2.\([0-9]*\)/solaris\1/g'`
system=`echo $system | sed -e 's/sco3.2v\(.*\)/openserver\1/g'`
PLATFORM="$system-$machine"
# Remove vendor from $system
system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'`
# Map OS names to "our" OS names (eg. darwin6.8 -> osx10.2)
system=`echo $system | sed -e 's/darwin6.*/osx10.2/g'`
system=`echo $system | sed -e 's/darwin7.*/osx10.3/g'`
system=`echo $system | sed -e 's/darwin8.*/osx10.4/g'`
system=`echo $system | sed -e 's/\(aix4.3\).*/\1/g'`
system=`echo $system | sed -e 's/\(aix5.1\).*/\1/g'`
system=`echo $system | sed -e 's/\(aix5.2\).*/\1/g'`
system=`echo $system | sed -e 's/\(aix5.3\).*/\1/g'`
system=`echo $system | sed -e 's/osf5.1b/tru64/g'`
system=`echo $system | sed -e 's/linux-gnu/linux/g'`
system=`echo $system | sed -e 's/solaris2.\([0-9]*\)/solaris\1/g'`
system=`echo $system | sed -e 's/sco3.2v\(.*\)/openserver\1/g'`
if [ x"$MACHINE" != x"" ] ; then
machine=$MACHINE
fi
# Print the platform name for build logs
echo "PLATFORM NAME: $PLATFORM"
case $PLATFORM in
*netware*) BASE_SYSTEM="netware" ;;
esac
if [ x"$PLATFORM" != x"" ] ; then
platform="$PLATFORM"
else
platform="$system-$machine"
fi
# Change the distribution to a long descriptive name
NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-@VERSION@-$PLATFORM$SUFFIX
# FIXME This should really be integrated with automake and not duplicate the
# installation list.
# ----------------------------------------------------------------------
# Define BASE, and remove the old BASE directory if any
# ----------------------------------------------------------------------
BASE=$TMP/my_dist$SUFFIX
if [ -d $BASE ] ; then
rm -rf $BASE
fi
# ----------------------------------------------------------------------
# Find the TAR to use
# ----------------------------------------------------------------------
BS=""
BIN_FILES=""
BASE_SYSTEM="any"
MYSQL_SHARE=$BASE/share/mysql
case $system in
*netware*)
BASE_SYSTEM="netware"
BS=".nlm"
MYSQL_SHARE=$BASE/share
;;
esac
# This is needed to prefer GNU tar over platform tar because that can't
# always handle long filenames
......@@ -151,149 +127,24 @@ which_1 ()
}
tar=`which_1 gnutar gtar`
if [ $? -ne 0 -o x"$tar" = x"" ] ; then
if [ "$?" = "1" -o x"$tar" = x"" ] ; then
tar=tar
fi
##############################################################################
#
# Handle the Unix/Linux packaging using "make install"
#
##############################################################################
if [ x"$BASE_SYSTEM" != x"netware" ] ; then
# ----------------------------------------------------------------------
# Terminate on any base level error
# ----------------------------------------------------------------------
set -e
# ----------------------------------------------------------------------
# Really ugly, one script, "mysql_install_db", needs prefix set to ".",
# i.e. makes access relative the current directory. This matches
# the documentation, so better not change this. And for another script,
# "mysql.server", we make some relative, others not.
# ----------------------------------------------------------------------
cd scripts
rm -f mysql_install_db
@MAKE@ mysql_install_db \
prefix=. \
bindir=./bin \
sbindir=./bin \
scriptdir=./bin \
libexecdir=./bin \
pkgdatadir=./share \
localstatedir=./data
cd ..
cd support-files
rm -f mysql.server
@MAKE@ mysql.server \
bindir=./bin \
sbindir=./bin \
scriptdir=./bin \
libexecdir=./bin \
pkgdatadir=@pkgdatadir@
cd ..
# ----------------------------------------------------------------------
# Do a install that we later are to pack. Use the same paths as in
# the build for the relevant directories.
# ----------------------------------------------------------------------
@MAKE@ DESTDIR=$BASE install \
pkglibdir=@pkglibdir@ \
pkgincludedir=@pkgincludedir@ \
pkgdatadir=@pkgdatadir@ \
pkgplugindir=@pkgplugindir@ \
pkgsuppdir=@pkgsuppdir@ \
mandir=@mandir@ \
infodir=@infodir@
# ----------------------------------------------------------------------
# Rename top directory, and set DEST to the new directory
# ----------------------------------------------------------------------
mv $BASE@prefix@ $BASE/$NEW_NAME
DEST=$BASE/$NEW_NAME
# ----------------------------------------------------------------------
# If we compiled with gcc, copy libgcc.a to the dist as libmygcc.a
# ----------------------------------------------------------------------
if [ x"@GXX@" = x"yes" ] ; then
gcclib=`@CC@ @CFLAGS@ --print-libgcc-file 2>/dev/null` || true
if [ -z "$gcclib" ] ; then
echo "Warning: Compiler doesn't tell libgcc.a!"
elif [ -f "$gcclib" ] ; then
$CP $gcclib $DEST/lib/libmygcc.a
else
echo "Warning: Compiler result '$gcclib' not found / no file!"
fi
fi
# FIXME let this script be in "bin/", where it is in the RPMs?
# http://dev.mysql.com/doc/refman/5.1/en/mysql-install-db-problems.html
mkdir $DEST/scripts
mv $DEST/bin/mysql_install_db $DEST/scripts/
# Note, no legacy "safe_mysqld" link to "mysqld_safe" in 5.1
# Copy readme and license files
cp README Docs/INSTALL-BINARY $DEST/
if [ -f COPYING -a -f EXCEPTIONS-CLIENT ] ; then
cp COPYING EXCEPTIONS-CLIENT $DEST/
elif [ -f LICENSE.mysql ] ; then
cp LICENSE.mysql $DEST/
else
echo "ERROR: no license files found"
exit 1
fi
# FIXME should be handled by make file, and to other dir
mkdir -p $DEST/bin $DEST/support-files
cp scripts/mysqlaccess.conf $DEST/bin/
cp support-files/magic $DEST/support-files/
# Create empty data directories, set permission (FIXME why?)
mkdir $DEST/data $DEST/data/mysql $DEST/data/test
chmod o-rwx $DEST/data $DEST/data/mysql $DEST/data/test
# ----------------------------------------------------------------------
# Create the result tar file
# ----------------------------------------------------------------------
echo "Using $tar to create archive"
OPT=cvf
if [ x$SILENT = x1 ] ; then
OPT=cf
fi
echo "Creating and compressing archive"
rm -f $NEW_NAME.tar.gz
(cd $BASE ; $tar $OPT - $NEW_NAME) | gzip -9 > $NEW_NAME.tar.gz
echo "$NEW_NAME.tar.gz created"
echo "Removing temporary directory"
rm -rf $BASE
exit 0
fi
##############################################################################
#
# Handle the Netware case, until integrated above
#
##############################################################################
BS=".nlm"
MYSQL_SHARE=$BASE/share
mkdir $BASE $BASE/bin $BASE/docs \
$BASE/include $BASE/lib $BASE/support-files $BASE/share $BASE/scripts \
$BASE/mysql-test $BASE/mysql-test/t $BASE/mysql-test/r \
$BASE/mysql-test/include $BASE/mysql-test/std_data $BASE/mysql-test/lib \
$BASE/mysql-test/suite
if [ $BASE_SYSTEM != "netware" ] ; then
mkdir $BASE/share/mysql $BASE/tests $BASE/sql-bench $BASE/man \
$BASE/man/man1 $BASE/man/man8 $BASE/data $BASE/data/mysql $BASE/data/test
chmod o-rwx $BASE/data $BASE/data/*
fi
# Copy files if they exists, warn for those that don't.
# Note that when listing files to copy, we might list the file name
# twice, once in the directory location where it is built, and a
......@@ -325,13 +176,12 @@ copyfileto $BASE COPYING COPYING.LIB README Docs/INSTALL-BINARY \
BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \
extra/resolveip$BS extra/my_print_defaults$BS \
extra/resolve_stack_dump$BS extra/mysql_waitpid$BS \
storage/myisam/myisamchk$BS storage/myisam/myisampack$BS \
storage/myisam/myisamlog$BS storage/myisam/myisam_ftdump$BS \
myisam/myisamchk$BS myisam/myisampack$BS myisam/myisamlog$BS \
myisam/myisam_ftdump$BS \
sql/mysqld$BS sql/mysqld-debug$BS \
sql/mysql_tzinfo_to_sql$BS \
server-tools/instance-manager/mysqlmanager$BS \
client/mysql$BS client/mysqlshow$BS client/mysqladmin$BS \
client/mysqlslap$BS \
client/mysqldump$BS client/mysqlimport$BS \
client/mysqltest$BS client/mysqlcheck$BS \
client/mysqlbinlog$BS client/mysql_upgrade$BS \
......@@ -341,16 +191,42 @@ BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \
";
# Platform-specific bin dir files:
BIN_FILES="$BIN_FILES \
if [ $BASE_SYSTEM = "netware" ] ; then
BIN_FILES="$BIN_FILES \
netware/mysqld_safe$BS netware/mysql_install_db$BS \
netware/init_db.sql netware/test_db.sql \
netware/init_db.sql netware/test_db.sql netware/mysql_explain_log$BS \
netware/mysqlhotcopy$BS netware/libmysql$BS netware/init_secure_db.sql \
";
# For all other platforms:
else
BIN_FILES="$BIN_FILES \
server-tools/instance-manager/.libs/mysqlmanager \
client/mysqltestmanagerc \
client/mysqltestmanager-pwgen tools/mysqltestmanager \
client/.libs/mysql client/.libs/mysqlshow client/.libs/mysqladmin \
client/.libs/mysqldump client/.libs/mysqlimport \
client/.libs/mysqltest client/.libs/mysqlcheck \
client/.libs/mysqlbinlog client/.libs/mysqltestmanagerc \
client/.libs/mysqltestmanager-pwgen tools/.libs/mysqltestmanager \
tests/.libs/mysql_client_test \
libmysqld/examples/.libs/mysql_client_test_embedded \
libmysqld/examples/.libs/mysqltest_embedded \
";
fi
copyfileto $BASE/bin $BIN_FILES
$CP netware/*.pl $BASE/scripts
$CP scripts/mysqlhotcopy $BASE/scripts/mysqlhotcopy.pl
if [ x$STRIP = x1 ] ; then
strip $BASE/bin/*
fi
# Copy not binary files
copyfileto $BASE/bin sql/mysqld.sym.gz
if [ $BASE_SYSTEM = "netware" ] ; then
$CP netware/*.pl $BASE/scripts
$CP scripts/mysqlhotcopy $BASE/scripts/mysqlhotcopy.pl
fi
copyfileto $BASE/lib \
libmysql/.libs/libmysqlclient.a \
......@@ -372,17 +248,31 @@ copyfileto $BASE/lib \
zlib/.libs/libz.a
# convert the .a to .lib for NetWare
for i in $BASE/lib/*.a
do
libname=`basename $i .a`
$MV $i $BASE/lib/$libname.lib
done
rm -f $BASE/lib/*.la
if [ $BASE_SYSTEM = "netware" ] ; then
for i in $BASE/lib/*.a
do
libname=`basename $i .a`
$MV $i $BASE/lib/$libname.lib
done
rm -f $BASE/lib/*.la
fi
copyfileto $BASE/include config.h include/*
copyfileto $BASE/include include/*
rm -f $BASE/include/Makefile* $BASE/include/*.in $BASE/include/config-win.h
if [ $BASE_SYSTEM != "netware" ] ; then
rm -f $BASE/include/config-netware.h
fi
if [ $BASE_SYSTEM != "netware" ] ; then
if [ -d tests ] ; then
$CP tests/*.res tests/*.tst tests/*.pl $BASE/tests
fi
if [ -d man ] ; then
$CP man/*.1 $BASE/man/man1
$CP man/*.8 $BASE/man/man8
fi
fi
copyfileto $BASE/support-files support-files/*
......@@ -401,29 +291,43 @@ copyfileto $BASE/mysql-test \
$CP mysql-test/lib/*.pl $BASE/mysql-test/lib
$CP mysql-test/t/*.def $BASE/mysql-test/t
$CP mysql-test/include/*.inc $BASE/mysql-test/include
$CP mysql-test/include/*.sql $BASE/mysql-test/include
$CP mysql-test/include/*.test $BASE/mysql-test/include
$CP mysql-test/t/*.def $BASE/mysql-test/t
$CP mysql-test/std_data/*.dat mysql-test/std_data/*.frm \
mysql-test/std_data/*.MYD mysql-test/std_data/*.MYI \
mysql-test/std_data/*.pem mysql-test/std_data/Moscow_leap \
mysql-test/std_data/Index.xml \
mysql-test/std_data/des_key_file mysql-test/std_data/*.*001 \
mysql-test/std_data/*.cnf mysql-test/std_data/*.MY* \
$BASE/mysql-test/std_data
$CP mysql-test/t/*.test mysql-test/t/*.imtest \
mysql-test/t/*.disabled mysql-test/t/*.opt \
mysql-test/t/*.slave-mi mysql-test/t/*.sh mysql-test/t/*.sql $BASE/mysql-test/t
$CP mysql-test/r/*.result mysql-test/r/*.require \
$BASE/mysql-test/r
# Copy the additional suites "as is", they are in flux
$tar cf - mysql-test/suite | ( cd $BASE ; $tar xf - )
# Copy the additional suites and data "as is", they are in flux
$tar cf - mysql-test/suite | ( cd $BASE ; $tar xf - )
$tar cf - mysql-test/std_data | ( cd $BASE ; $tar xf - )
# Clean up if we did this from a bk tree
if [ -d mysql-test/SCCS ] ; then
find $BASE/mysql-test -name SCCS -print | xargs rm -rf
fi
if [ $BASE_SYSTEM != "netware" ] ; then
chmod a+x $BASE/bin/*
copyfileto $BASE/bin scripts/*
$BASE/bin/replace \@localstatedir\@ ./data \@bindir\@ ./bin \@scriptdir\@ \
./bin \@libexecdir\@ ./bin \@sbindir\@ ./bin \@prefix\@ . \@HOSTNAME\@ \
@HOSTNAME@ \@pkgdatadir\@ ./share \
< scripts/mysql_install_db.sh > $BASE/scripts/mysql_install_db
$BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \
\@sbindir\@ ./bin \@libexecdir\@ ./bin \
\@MYSQLD_USER\@ @MYSQLD_USER@ \@localstatedir\@ /usr/local/mysql/data \
\@HOSTNAME\@ @HOSTNAME@ \
< support-files/mysql.server.sh > $BASE/support-files/mysql.server
$BASE/bin/replace /my/gnu/bin/hostname /bin/hostname -- $BASE/bin/mysqld_safe
mv $BASE/support-files/binary-configure $BASE/configure
chmod a+x $BASE/bin/* $BASE/scripts/* $BASE/support-files/mysql-log-rotate \
$BASE/support-files/*.server $BASE/configure
$CP -r sql-bench/* $BASE/sql-bench
rm -f $BASE/sql-bench/*.sh $BASE/sql-bench/Makefile* $BASE/lib/*.la
rm -f $BASE/bin/*.sql
fi
rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \
$BASE/bin/mysql_install_db $BASE/bin/make_binary_distribution \
$BASE/bin/setsomevars $BASE/support-files/Makefile* \
......@@ -432,19 +336,29 @@ rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \
#
# Copy system dependent files
#
./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql
if [ $BASE_SYSTEM = "netware" ] ; then
./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql
fi
#
# Remove system dependent files
#
rm -f $BASE/support-files/magic \
if [ $BASE_SYSTEM = "netware" ] ; then
rm -f $BASE/support-files/magic \
$BASE/support-files/mysql.server \
$BASE/support-files/mysql*.spec \
$BASE/support-files/mysql-log-rotate \
$BASE/support-files/binary-configure \
$BASE/support-files/build-tags \
$BASE/support-files/MySQL-shared-compat.spec \
$BASE/support-files/ndb-config-2-node.ini \
$BASE/INSTALL-BINARY
fi
# Make safe_mysqld a symlink to mysqld_safe for backwards portability
if [ $BASE_SYSTEM != "netware" ] ; then
(cd $BASE/bin ; ln -s mysqld_safe safe_mysqld )
fi
# Clean up if we did this from a bk tree
if [ -d $BASE/sql-bench/SCCS ] ; then
......@@ -452,17 +366,78 @@ if [ -d $BASE/sql-bench/SCCS ] ; then
find $BASE/sql-bench -name SCCS -print | xargs rm -rf
fi
# NDB Cluster
if [ x$NDBCLUSTER = x1 ]; then
( cd ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install )
( cd mysql-test/ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install )
$CP $BASE/ndb-stage@bindir@/* $BASE/bin/.
$CP $BASE/ndb-stage@libexecdir@/* $BASE/bin/.
$CP $BASE/ndb-stage@pkglibdir@/* $BASE/lib/.
$CP $BASE/ndb-stage@pkgdatadir@/* $BASE/share/mysql/.
$CP -r $BASE/ndb-stage@pkgincludedir@/ndb $BASE/include
$CP -r $BASE/ndb-stage@prefix@/mysql-test/ndb $BASE/mysql-test/. || exit 1
rm -rf $BASE/ndb-stage
fi
# Change the distribution to a long descriptive name
NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-$version-$platform$SUFFIX
# Print the platform name for build logs
echo "PLATFORM NAME: $platform"
BASE2=$TMP/$NEW_NAME
rm -rf $BASE2
mv $BASE $BASE2
BASE=$BASE2
#
# Create a zip file for NetWare users
# If we are compiling with gcc, copy libgcc.a to the distribution as libmygcc.a
#
rm -f $NEW_NAME.zip
(cd $TMP; zip -r "$SOURCE/$NEW_NAME.zip" $NEW_NAME)
echo "$NEW_NAME.zip created"
if [ x"@GXX@" = x"yes" ] ; then
gcclib=`@CC@ @CFLAGS@ --print-libgcc-file 2>/dev/null` || true
if [ -z "$gcclib" ] ; then
echo "Warning: Compiler doesn't tell libgcc.a!"
elif [ -f "$gcclib" ] ; then
$CP $gcclib $BASE/lib/libmygcc.a
else
echo "Warning: Compiler result '$gcclib' not found / no file!"
fi
fi
#if we are debugging, do not do tar/gz
if [ x$DEBUG = x1 ] ; then
exit
fi
if [ $BASE_SYSTEM != "netware" ] ; then
#
# Create the result tar file
#
echo "Using $tar to create archive"
OPT=cvf
if [ x$SILENT = x1 ] ; then
OPT=cf
fi
echo "Creating and compressing archive"
rm -f $NEW_NAME.tar.gz
(cd $TMP ; $tar $OPT - $NEW_NAME) | gzip -9 > $NEW_NAME.tar.gz
echo "$NEW_NAME.tar.gz created"
else
#
# Create a zip file for NetWare users
#
rm -f $NEW_NAME.zip
(cd $TMP; zip -r "$SOURCE/$NEW_NAME.zip" $NEW_NAME)
echo "$NEW_NAME.zip created"
fi
echo "Removing temporary directory"
rm -rf $BASE
......@@ -15,21 +15,21 @@
# Process this file with automake to create Makefile.in
MYSQLDATAdir= $(localstatedir)
MYSQLSHAREdir= $(pkgdatadir)
MYSQLBASEdir= $(prefix)
MYSQLLIBdir= $(pkglibdir)
pkgplugindir= $(pkglibdir)/plugin
INCLUDES= -I$(top_srcdir)/include -I$(top_builddir)/include \
MYSQLDATAdir = $(localstatedir)
MYSQLSHAREdir = $(pkgdatadir)
MYSQLBASEdir= $(prefix)
MYSQLLIBdir= $(pkglibdir)
pkgplugindir = $(pkglibdir)/plugin
INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include \
-I$(top_srcdir)/regex \
-I$(top_srcdir)/storage/innobase/include \
-I$(top_srcdir)/sql \
-I$(srcdir)
-I$(srcdir)
DEFS= @DEFS@
DEFS = @DEFS@
noinst_HEADERS= include/btr0btr.h include/btr0btr.ic \
noinst_HEADERS = include/btr0btr.h include/btr0btr.ic \
include/btr0cur.h include/btr0cur.ic \
include/btr0pcur.h include/btr0pcur.ic \
include/btr0sea.h include/btr0sea.ic \
......@@ -121,9 +121,9 @@ noinst_HEADERS= include/btr0btr.h include/btr0btr.ic \
include/ut0list.ic include/ut0wqueue.h \
include/ha_prototypes.h handler/ha_innodb.h
EXTRA_LIBRARIES= libinnobase.a
noinst_LIBRARIES= @plugin_innobase_static_target@
libinnobase_a_SOURCES= btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c \
EXTRA_LIBRARIES = libinnobase.a
noinst_LIBRARIES = @plugin_innobase_static_target@
libinnobase_a_SOURCES = btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c \
btr/btr0sea.c buf/buf0buf.c buf/buf0flu.c \
buf/buf0lru.c buf/buf0rea.c data/data0data.c \
data/data0type.c dict/dict0boot.c \
......@@ -156,17 +156,17 @@ libinnobase_a_SOURCES= btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c \
handler/ha_innodb.cc
libinnobase_a_CXXFLAGS= $(AM_CFLAGS)
libinnobase_a_CFLAGS= $(AM_CFLAGS)
libinnobase_a_CFLAGS = $(AM_CFLAGS)
EXTRA_LTLIBRARIES= ha_innodb.la
pkgplugin_LTLIBRARIES= @plugin_innobase_shared_target@
EXTRA_LTLIBRARIES = ha_innodb.la
pkglib_LTLIBRARIES = @plugin_innobase_shared_target@
ha_innodb_la_LDFLAGS= -module -rpath $(pkgplugindir)
ha_innodb_la_CXXFLAGS= $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS)
ha_innodb_la_CFLAGS= $(AM_CFLAGS) $(INNODB_DYNAMIC_CFLAGS)
ha_innodb_la_SOURCES= $(libinnobase_a_SOURCES)
ha_innodb_la_LDFLAGS = -module -rpath $(pkgplugindir)
ha_innodb_la_CXXFLAGS= $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_innodb_la_CFLAGS = $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN
ha_innodb_la_SOURCES = $(libinnobase_a_SOURCES)
EXTRA_DIST= CMakeLists.txt plug.in \
EXTRA_DIST = CMakeLists.txt plug.in \
pars/make_bison.sh pars/make_flex.sh \
pars/pars0grm.y pars/pars0lex.l
......
......@@ -3752,8 +3752,6 @@ ha_innobase::update_row(
ut_a(prebuilt->trx == trx);
ha_statistic_increment(&SSV::ha_update_count);
if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_UPDATE)
table->timestamp_field->set_time();
......@@ -3843,8 +3841,6 @@ ha_innobase::delete_row(
ut_a(prebuilt->trx == trx);
ha_statistic_increment(&SSV::ha_delete_count);
/* Only if the table has an AUTOINC column */
if (table->found_next_number_field && record == table->record[0]) {
ulonglong dummy = 0;
......@@ -5786,13 +5782,6 @@ ha_innobase::info(
n_rows++;
}
/* Fix bug#29507: TRUNCATE shows too many rows affected.
Do not show the estimates for TRUNCATE command. */
if (thd_sql_command(user_thd) == SQLCOM_TRUNCATE) {
n_rows = 0;
}
stats.records = (ha_rows)n_rows;
stats.deleted = 0;
stats.data_file_length = ((ulonglong)
......@@ -5803,7 +5792,7 @@ ha_innobase::info(
* UNIV_PAGE_SIZE;
stats.delete_length =
fsp_get_available_space_in_free_extents(
ib_table->space) * 1024;
ib_table->space);
stats.check_time = 0;
if (stats.records == 0) {
......
......@@ -15,30 +15,25 @@ MYSQL_PLUGIN_ACTIONS(innobase, [
AC_CHECK_FUNCS(localtime_r)
AC_C_BIGENDIAN
case "$target_os" in
lin*)
CFLAGS="$CFLAGS -DUNIV_LINUX";;
hpux10*)
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE -DUNIV_HPUX -DUNIV_HPUX10";;
hp*)
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE -DUNIV_HPUX";;
aix*)
CFLAGS="$CFLAGS -DUNIV_AIX";;
irix*|osf*|sysv5uw7*|openbsd*)
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
*solaris*|*SunOS*)
CFLAGS="$CFLAGS -DUNIV_SOLARIS";;
lin*)
CFLAGS="$CFLAGS -DUNIV_LINUX";;
hpux10*)
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE -DUNIV_HPUX -DUNIV_HPUX10";;
hp*)
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE -DUNIV_HPUX";;
aix*)
CFLAGS="$CFLAGS -DUNIV_AIX";;
irix*)
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
osf*)
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
*solaris*|*SunOS*)
CFLAGS="$CFLAGS -DUNIV_SOLARIS";;
sysv5uw7*)
# Problem when linking on SCO
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
openbsd*)
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
esac
INNODB_DYNAMIC_CFLAGS="-DMYSQL_DYNAMIC_PLUGIN"
case "$target_cpu" in
x86_64)
# The AMD64 ABI forbids absolute addresses in shared libraries
;;
*86)
# Use absolute addresses on IA-32
INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
;;
esac
AC_SUBST(INNODB_DYNAMIC_CFLAGS)
])
# vim: set ft=config:
......@@ -1963,7 +1963,6 @@ row_create_index_for_mysql(
ulint err;
ulint i, j;
ulint len;
char* table_name;
#ifdef UNIV_SYNC_DEBUG
ut_ad(rw_lock_own(&dict_operation_lock, RW_LOCK_EX));
......@@ -1973,11 +1972,6 @@ row_create_index_for_mysql(
trx->op_info = "creating index";
/* Copy the table name because we may want to drop the
table later, after the index object is freed (inside
que_run_threads()) and thus index->table_name is not available. */
table_name = mem_strdup(index->table_name);
trx_start_if_not_started(trx);
/* Check that the same column does not appear twice in the index.
......@@ -2050,15 +2044,13 @@ error_handling:
trx_general_rollback_for_mysql(trx, FALSE, NULL);
row_drop_table_for_mysql(table_name, trx, FALSE);
row_drop_table_for_mysql(index->table_name, trx, FALSE);
trx->error_state = DB_SUCCESS;
}
trx->op_info = "";
mem_free(table_name);
return((int) err);
}
......
......@@ -3577,9 +3577,9 @@ shortcut_fails_too_big_rec:
if (trx->isolation_level <= TRX_ISO_READ_COMMITTED
&& prebuilt->select_lock_type != LOCK_NONE
&& trx->mysql_thd != NULL
&& trx->mysql_query_str != NULL
&& *trx->mysql_query_str != NULL) {
&& *trx->mysql_query_str != NULL
&& trx->mysql_thd != NULL) {
/* Scan the MySQL query string; check if SELECT is the first
word there */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment