Commit 90946571 authored by unknown's avatar unknown

Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-bugteam

into  noir.wlan.koehntopp.de:/misc/mysql/3/51-3


mysql-test/r/mix2_myisam.result:
  Auto merged
mysql-test/t/disabled.def:
  manual merge
parents 3af7a18c 22ed4b5f
......@@ -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
......@@ -14,9 +14,85 @@ 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
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;
#######################################################################
# #
......
......@@ -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 @@ row_create_index_for_mysql(
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 @@ row_search_for_mysql(
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