Below is the list of changes that have just been committed into a local
5.1 repository of tim. When tim does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2006-10-11 00:21:28-06:00, tsmith@stripped +8 -0
Merge tsmith@stripped:/home/bk/mysql-5.1
into siva.hindu.god:/usr/home/tim/m/bk/tmp/51-mrg-Oct11
MERGE: 1.2273.63.44
client/mysqldump.c@stripped, 2006-10-11 00:21:20-06:00, tsmith@stripped +0 -0
Auto merged
MERGE: 1.250.1.3
client/mysqltest.c@stripped, 2006-10-11 00:21:20-06:00, tsmith@stripped +0 -0
Auto merged
MERGE: 1.228.1.1
mysql-test/r/csv.result@stripped, 2006-10-11 00:21:20-06:00, tsmith@stripped +0 -0
Auto merged
MERGE: 1.10.1.4
mysql-test/r/ctype_utf8.result@stripped, 2006-10-11 00:21:21-06:00, tsmith@stripped +0 -0
Auto merged
MERGE: 1.98.1.10
mysql-test/t/csv.test@stripped, 2006-10-11 00:21:21-06:00, tsmith@stripped +0 -0
Auto merged
MERGE: 1.12.1.5
mysql-test/t/ctype_utf8.test@stripped, 2006-10-11 00:21:21-06:00, tsmith@stripped +0 -0
Auto merged
MERGE: 1.89.1.10
sql/sql_acl.cc@stripped, 2006-10-11 00:21:21-06:00, tsmith@stripped +0 -0
Auto merged
MERGE: 1.218.1.1
sql/sql_update.cc@stripped, 2006-10-11 00:21:21-06:00, tsmith@stripped +0 -0
Auto merged
MERGE: 1.208.1.1
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: tsmith
# Host: siva.hindu.god
# Root: /usr/home/tim/m/bk/tmp/51-mrg-Oct11/RESYNC
--- 1.253/client/mysqldump.c 2006-10-11 00:21:38 -06:00
+++ 1.254/client/mysqldump.c 2006-10-11 00:21:38 -06:00
@@ -3405,7 +3405,7 @@ static int do_reset_master(MYSQL *mysql_
}
-static int start_transaction(MYSQL *mysql_con, my_bool consistent_read_now)
+static int start_transaction(MYSQL *mysql_con)
{
/*
We use BEGIN for old servers. --single-transaction --master-data will fail
@@ -3420,10 +3420,8 @@ static int start_transaction(MYSQL *mysq
"SET SESSION TRANSACTION ISOLATION "
"LEVEL REPEATABLE READ") ||
mysql_query_with_error_report(mysql_con, 0,
- consistent_read_now ?
"START TRANSACTION "
- "WITH CONSISTENT SNAPSHOT" :
- "BEGIN"));
+ "/*!40100 WITH CONSISTENT SNAPSHOT */"));
}
@@ -3913,7 +3911,7 @@ int main(int argc, char **argv)
if ((opt_lock_all_tables || opt_master_data) &&
do_flush_tables_read_lock(mysql))
goto err;
- if (opt_single_transaction && start_transaction(mysql, test(opt_master_data)))
+ if (opt_single_transaction && start_transaction(mysql))
goto err;
if (opt_delete_master_logs && do_reset_master(mysql))
goto err;
--- 1.209/sql/sql_update.cc 2006-10-11 00:21:38 -06:00
+++ 1.210/sql/sql_update.cc 2006-10-11 00:21:38 -06:00
@@ -1217,6 +1217,8 @@ multi_update::initialize_tables(JOIN *jo
TMP_TABLE_PARAM *tmp_param;
table->mark_columns_needed_for_update();
+ if (ignore)
+ table->file->extra(HA_EXTRA_IGNORE_DUP_KEY);
if (table == main_table) // First table in join
{
if (safe_update_on_fly(join->join_tab))
@@ -1331,7 +1333,11 @@ multi_update::~multi_update()
{
TABLE_LIST *table;
for (table= update_tables ; table; table= table->next_local)
+ {
table->table->no_keyread= table->table->no_cache= 0;
+ if (ignore)
+ table->table->file->extra(HA_EXTRA_NO_IGNORE_DUP_KEY);
+ }
if (tmp_tables)
{
--- 1.13/mysql-test/r/csv.result 2006-10-11 00:21:38 -06:00
+++ 1.14/mysql-test/r/csv.result 2006-10-11 00:21:38 -06:00
@@ -5204,3 +5204,22 @@ select * from bug15205;
val
drop table bug15205;
drop table bug15205_2;
+create table bug22080_1 (id int,string varchar(64)) Engine=CSV;
+create table bug22080_2 (id int,string varchar(64)) Engine=CSV;
+create table bug22080_3 (id int,string varchar(64)) Engine=CSV;
+insert into bug22080_1 values(1,'string');
+insert into bug22080_1 values(2,'string');
+insert into bug22080_1 values(3,'string');
+"1","string"
+2","string"
+"3","string"
+check table bug22080_2;
+Table Op Msg_type Msg_text
+test.bug22080_2 check error Corrupt
+"1","string"
+"2",string"
+"3","string"
+check table bug22080_3;
+Table Op Msg_type Msg_text
+test.bug22080_3 check error Corrupt
+drop tables bug22080_1,bug22080_2,bug22080_3;
--- 1.15/mysql-test/t/csv.test 2006-10-11 00:21:38 -06:00
+++ 1.16/mysql-test/t/csv.test 2006-10-11 00:21:38 -06:00
@@ -1582,3 +1582,26 @@ select * from bug15205_2;
select * from bug15205;
drop table bug15205;
drop table bug15205_2;
+
+#
+# Bug#22080 "CHECK fails to identify some corruption"
+#
+
+create table bug22080_1 (id int,string varchar(64)) Engine=CSV;
+create table bug22080_2 (id int,string varchar(64)) Engine=CSV;
+create table bug22080_3 (id int,string varchar(64)) Engine=CSV;
+insert into bug22080_1 values(1,'string');
+insert into bug22080_1 values(2,'string');
+insert into bug22080_1 values(3,'string');
+
+# Currupt the file as described in the bug report
+--exec sed -e 's/"2"/2"/' $MYSQLTEST_VARDIR/master-data/test/bug22080_1.CSV > $MYSQLTEST_VARDIR/master-data/test/bug22080_2.CSV
+--exec sed -e 's/2","/2",/' $MYSQLTEST_VARDIR/master-data/test/bug22080_1.CSV > $MYSQLTEST_VARDIR/master-data/test/bug22080_3.CSV
+
+--exec cat $MYSQLTEST_VARDIR/master-data/test/bug22080_2.CSV
+check table bug22080_2;
+
+--exec cat $MYSQLTEST_VARDIR/master-data/test/bug22080_3.CSV
+check table bug22080_3;
+
+drop tables bug22080_1,bug22080_2,bug22080_3;
| Thread |
|---|
| • bk commit into 5.1 tree (tsmith:1.2307) | tim | 11 Oct |