Commit f1af1a5d authored by unknown's avatar unknown
Browse files

Merge govinda.patg.net:/home/patg/mysql-build/mysql-5.0-holyfoot

into  govinda.patg.net:/home/patg/mysql-build/mysql-5.1-5.0-merge2

Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:

bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge


BitKeeper/deleted/.del-libmysqld.dsp~78dc6a589e5a4149:
  Auto merged
configure.in:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
mysql-test/r/date_formats.result:
  Auto merged
mysql-test/r/merge.result:
  Auto merged
mysql-test/t/date_formats.test:
  Auto merged
mysql-test/t/merge.test:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
BitKeeper/deleted/.del-libmysqld.vcproj~a75d5b9a5967dea0:
  Auto merged
BitKeeper/deleted/.del-libmysqld_ia64.dsp~578ab58d5f281d2a:
  Auto merged
BitKeeper/deleted/.del-mysqld.dsp~ffdbf2d234e23e56:
  Auto merged
BitKeeper/deleted/.del-mysqld.vcproj~6aa7b3f9c3e28fcb:
  Auto merged
BitKeeper/deleted/.del-mysqld_ia64.dsp~7f8cf84d81ee04e2:
  Auto merged
BitKeeper/deleted/.del-mysqldemb.dsp~1baf8c0e59ee9f7e:
  Auto merged
BitKeeper/deleted/.del-mysqldemb.vcproj~54c64d55ccc51a7c:
  Auto merged
BitKeeper/deleted/.del-mysqldemb_ia64.dsp~c7f7d75d542393cd:
  Auto merged
BitKeeper/deleted/.del-mysqldmax.dsp~5d213fe1c204142e:
  Auto merged
BitKeeper/deleted/.del-mysqldmax_ia64.dsp~25006b7cc0725ad1:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
include/my_base.h:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
mysql-test/r/federated.result:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
mysql-test/t/federated.test:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
sql/field.cc:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
sql/ha_federated.cc:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
sql/handler.cc:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
tests/mysql_client_test.c:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
parents 5e2babfe 39486004
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -370,8 +370,9 @@ enum ha_base_keytype {
                                            would lead to a duplicate key
                                            error in some other table. */
#define HA_ERR_TABLE_NEEDS_UPGRADE 164  /* The table changed in storage engine */
#define HA_ERR_TABLE_READONLY    165  /* The table is not writable */

#define HA_ERR_LAST              164  /*Copy last error nr.*/
#define HA_ERR_LAST              165  /*Copy last error nr.*/
/* Add error numbers before HA_ERR_LAST and change it accordingly. */
#define HA_ERR_ERRORS            (HA_ERR_LAST - HA_ERR_FIRST + 1)

+6 −2
Original line number Diff line number Diff line
@@ -894,10 +894,14 @@ bool Protocol::send_fields(List<Item> *list, uint flags)
    }
    else
    {
      uint max_char_len;
      /* With conversion */
      client_field->charsetnr= thd_cs->number;
      uint char_len= server_field.length / item->collation.collation->mbmaxlen;
      client_field->length= char_len * thd_cs->mbmaxlen;
      max_char_len= (server_field.type >= (int) MYSQL_TYPE_TINY_BLOB &&
                     server_field.type <= (int) MYSQL_TYPE_BLOB) ?
                     server_field.length / item->collation.collation->mbminlen :
                     server_field.length / item->collation.collation->mbmaxlen;
      client_field->length= max_char_len * thd_cs->mbmaxlen;
    }
    client_field->type=   server_field.type;
    client_field->flags= server_field.flags;
+51 −0
Original line number Diff line number Diff line
@@ -1603,6 +1603,44 @@ fld_cid fld_name fld_parentid fld_delt
5	Torkel	0	0
DROP TABLE federated.t1;
DROP TABLE federated.bug_17377_table;
DROP TABLE IF EXISTS federated.test;
CREATE TABLE federated.test (
`id` int(11) NOT NULL,
`val1` varchar(255) NOT NULL,
`val2` varchar(255) NOT NULL,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS federated.test_local;
DROP TABLE IF EXISTS federated.test_remote;
CREATE TABLE federated.test_local (
`id` int(11) NOT NULL,
`val1` varchar(255) NOT NULL,
`val2` varchar(255) NOT NULL,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO federated.test_local VALUES (1, 'foo', 'bar'),
(2, 'bar', 'foo');
CREATE TABLE federated.test_remote (
`id` int(11) NOT NULL,
`val1` varchar(255) NOT NULL,
`val2` varchar(255) NOT NULL,
PRIMARY KEY  (`id`)
) ENGINE=FEDERATED DEFAULT CHARSET=latin1
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/test';
insert into federated.test_remote select * from federated.test_local;
select * from federated.test_remote;
id	val1	val2
1	foo	bar
2	bar	foo
delete from federated.test_remote where id in (1,2);
insert into federated.test_remote select * from federated.test_local;
select * from federated.test_remote;
id	val1	val2
2	bar	foo
1	foo	bar
DROP TABLE federated.test_local;
DROP TABLE federated.test_remote;
DROP TABLE federated.test;
drop table if exists federated.t1;
create table federated.t1 (a int, b int, c int);
drop table if exists federated.t1;
@@ -1733,6 +1771,19 @@ id val
2	0
drop table t1;
drop table t1;
create table t1 (a longblob not null);
create table t1
(a longblob not null) engine=federated
connection='mysql://root@127.0.0.1:SLAVE_PORT/test/t1';
insert into t1 values (repeat('a',5000));
select length(a) from t1;
length(a)
5000
select length(a) from t1;
length(a)
5000
drop table t1;
drop table t1;
End of 5.0 tests
DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated;
+12 −0
Original line number Diff line number Diff line
@@ -777,3 +777,15 @@ create table tm (b bit(1)) engine = merge union = (t1,t2);
select * from tm;
b
drop table tm, t1, t2;
create table t1 (a int) insert_method = last engine = merge;
insert into t1 values (1);
ERROR HY000: Table 't1' is read only
create table t2 (a int) engine = myisam;
alter table t1 union (t2);
insert into t1 values (1);
alter table t1 insert_method = no;
insert into t1 values (1);
ERROR HY000: Table 't1' is read only
drop table t2;
drop table t1;
End of 5.0 tests
+74 −2
Original line number Diff line number Diff line
@@ -1366,6 +1366,62 @@ drop table federated.t1, federated.t2;
connection master;
--enable_parsing

#
# BUG #18764: Delete conditions causing inconsistencies in Federated tables
#
connection slave;
--disable_warnings
DROP TABLE IF EXISTS federated.test;
--enable_warnings
CREATE TABLE federated.test (
    `id` int(11) NOT NULL,
    `val1` varchar(255) NOT NULL,
    `val2` varchar(255) NOT NULL,
    PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

connection master;
--disable_warnings
DROP TABLE IF EXISTS federated.test_local;
DROP TABLE IF EXISTS federated.test_remote;
--enable_warnings
CREATE TABLE federated.test_local (
  `id` int(11) NOT NULL,
  `val1` varchar(255) NOT NULL,
  `val2` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO federated.test_local VALUES (1, 'foo', 'bar'),
(2, 'bar', 'foo');

--replace_result $SLAVE_MYPORT SLAVE_PORT
eval CREATE TABLE federated.test_remote (
  `id` int(11) NOT NULL,
  `val1` varchar(255) NOT NULL,
  `val2` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=FEDERATED DEFAULT CHARSET=latin1
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/test';

insert into federated.test_remote select * from federated.test_local;

select * from federated.test_remote;

delete from federated.test_remote where id in (1,2);

insert into federated.test_remote select * from federated.test_local;

select * from federated.test_remote;
--disable_warnings
DROP TABLE federated.test_local;
DROP TABLE federated.test_remote;
--enable_warnings
connection slave;
--disable_warnings
DROP TABLE federated.test;
--enable_warnings

# 
# Additional test for bug#18437 "Wrong values inserted with a before
# update trigger on NDB table". SQL-layer didn't properly inform
@@ -1479,7 +1535,23 @@ drop table t1;
connection master;
drop table t1;

--echo End of 5.0 tests
#
# Bug #17608: String literals lost during INSERT query on FEDERATED table
#
connection slave;
create table t1 (a longblob not null);
connection master;
--replace_result $SLAVE_MYPORT SLAVE_PORT
eval create table t1
  (a longblob not null) engine=federated
  connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/test/t1';
insert into t1 values (repeat('a',5000));
select length(a) from t1;
connection slave;
select length(a) from t1;
drop table t1;
connection master;
drop table t1;

--echo End of 5.0 tests
source include/federated_cleanup.inc;
Loading