Commit 23474afb authored by unknown's avatar unknown
Browse files

Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.0-engines

into  xiphis.org:/home/antony/work2/mysql-5.0-engines.sync


configure.in:
  Auto merged
sql/ha_federated.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
parents a4c95a18 2ee3ef2e
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -38,3 +38,25 @@ AC_DEFUN([AC_SYS_OS_COMPILER_FLAG],
 fi
])

AC_DEFUN([AC_CHECK_NOEXECSTACK],
[
 AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
		mysql_cv_as_noexecstack, [dnl
  cat > conftest.c <<EOF
void foo (void) { }
EOF
  if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
		     -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
     && grep .note.GNU-stack conftest.s >/dev/null \
     && AC_TRY_COMMAND([${CC-cc} $CCASFLAGS $CPPFLAGS -Wa,--noexecstack
		       -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
  then
    mysql_cv_as_noexecstack=yes
  else
    mysql_cv_as_noexecstack=no
  fi
  rm -f conftest*])
 if test $mysql_cv_as_noexecstack = yes; then
   CCASFLAGS="$CCASFLAGS -Wa,--noexecstack"
 fi
])
+4 −0
Original line number Diff line number Diff line
@@ -515,6 +515,10 @@ AM_PROG_CC_STDC

# We need an assembler, too
AM_PROG_AS
CCASFLAGS="$CCASFLAGS $ASFLAGS"

# Check if we need noexec stack for assembler
AC_CHECK_NOEXECSTACK

if test "$am_cv_prog_cc_stdc" = "no"
then
+88 −0
Original line number Diff line number Diff line
@@ -1558,6 +1558,8 @@ id
3
4
5
DROP TABLE federated.t1;
DROP TABLE federated.t1;
DROP TABLE IF EXISTS federated.bug_17377_table;
CREATE TABLE federated.bug_17377_table (
`fld_cid` bigint(20) NOT NULL auto_increment,
@@ -1601,6 +1603,92 @@ fld_cid fld_name fld_parentid fld_delt
5	Torkel	0	0
DROP TABLE federated.t1;
DROP TABLE federated.bug_17377_table;
create table federated.t1 (i1 int, i2 int, i3 int);
create table federated.t2 (id int, c1 varchar(20), c2 varchar(20));
create table federated.t1 (i1 int, i2 int, i3 int) ENGINE=FEDERATED CONNECTION='mysql://root@127.0.0.1:9308/federated/t1';
create table federated.t2 (id int, c1 varchar(20), c2 varchar(20)) ENGINE=FEDERATED CONNECTION='mysql://root@127.0.0.1:9308/federated/t2';
insert into federated.t1 values (1,5,10),(3,7,12),(4,5,2),(9,10,15),(2,2,2);
insert into federated.t2 values (9,"abc","def"),(5,"opq","lmn"),(2,"test t","t test");
select * from federated.t1 order by i1;
i1	i2	i3
1	5	10
2	2	2
3	7	12
4	5	2
9	10	15
select * from federated.t2;
id	c1	c2
9	abc	def
5	opq	lmn
2	test t	t test
update federated.t1,federated.t2 set t1.i2=15, t2.c2="ppc" where t1.i1=t2.id;
select * from federated.t1 order by i1;
i1	i2	i3
1	5	10
2	15	2
3	7	12
4	5	2
9	15	15
select * from federated.t2 order by id;
id	c1	c2
2	test t	ppc
5	opq	lmn
9	abc	ppc
delete   federated.t1.*,federated.t2.* from federated.t1,federated.t2 where t1.i2=t2.id;
select * from federated.t1 order by i1;
i1	i2	i3
2	15	2
3	7	12
9	15	15
select * from federated.t2 order by id;
id	c1	c2
2	test t	ppc
9	abc	ppc
drop table federated.t1, federated.t2;
drop table federated.t1, federated.t2;
create table federated.t1 (i1 int, i2 int, i3 int, primary key (i1));
create table federated.t2 (id int, c1 varchar(20), c2 varchar(20), primary key (id));
create table federated.t1 (i1 int auto_increment not null, i2 int, i3 int, primary key (i1)) ENGINE=FEDERATED CONNECTION='mysql://root@127.0.0.1:9308/federated/t1';
create table federated.t2 (id int auto_increment not null, c1 varchar(20), c2 varchar(20), primary key(id)) ENGINE=FEDERATED CONNECTION='mysql://root@127.0.0.1:9308/federated/t2';
insert into federated.t1 values (1,5,10),(3,7,12),(4,5,2),(9,10,15),(2,2,2);
insert into federated.t2 values (9,"abc","def"),(5,"opq","lmn"),(2,"test t","t test");
select * from federated.t1 order by i1;
i1	i2	i3
1	5	10
2	2	2
3	7	12
4	5	2
9	10	15
select * from federated.t2 order by id;
id	c1	c2
2	test t	t test
5	opq	lmn
9	abc	def
update federated.t1,federated.t2 set t1.i2=15, t2.c2="ppc" where t1.i1=t2.id;
select * from federated.t1 order by i1;
i1	i2	i3
1	5	10
2	15	2
3	7	12
4	5	2
9	15	15
select * from federated.t2 order by id;
id	c1	c2
2	test t	ppc
5	opq	lmn
9	abc	ppc
delete federated.t1.*,federated.t2.* from federated.t1,federated.t2 where t1.i2=t2.id;
select * from federated.t1 order by i1;
i1	i2	i3
2	15	2
3	7	12
9	15	15
select * from federated.t2 order by id;
id	c1	c2
2	test t	ppc
9	abc	ppc
drop table federated.t1, federated.t2;
drop table federated.t1, federated.t2;
DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated;
DROP TABLE IF EXISTS federated.t1;
+51 −0
Original line number Diff line number Diff line
@@ -1254,6 +1254,10 @@ SELECT LAST_INSERT_ID();
INSERT INTO federated.t1 VALUES ();
SELECT LAST_INSERT_ID();
SELECT * FROM federated.t1;
DROP TABLE federated.t1;

connection slave;
DROP TABLE federated.t1;

#
# Bug#17377 Federated Engine returns wrong Data, always the rows
@@ -1309,5 +1313,52 @@ DROP TABLE federated.t1;
connection slave;
DROP TABLE federated.bug_17377_table;

#
# BUG 19773 Crash when using multi-table updates, deletes
# with federated tables
#
connection slave;
create table federated.t1 (i1 int, i2 int, i3 int);
create table federated.t2 (id int, c1 varchar(20), c2 varchar(20));

connection master;
eval create table federated.t1 (i1 int, i2 int, i3 int) ENGINE=FEDERATED CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1';
eval create table federated.t2 (id int, c1 varchar(20), c2 varchar(20)) ENGINE=FEDERATED CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t2';
insert into federated.t1 values (1,5,10),(3,7,12),(4,5,2),(9,10,15),(2,2,2);
insert into federated.t2 values (9,"abc","def"),(5,"opq","lmn"),(2,"test t","t test");
select * from federated.t1 order by i1;
select * from federated.t2;
update federated.t1,federated.t2 set t1.i2=15, t2.c2="ppc" where t1.i1=t2.id;
select * from federated.t1 order by i1;
select * from federated.t2 order by id;
delete   federated.t1.*,federated.t2.* from federated.t1,federated.t2 where t1.i2=t2.id;
select * from federated.t1 order by i1;
select * from federated.t2 order by id;
drop table federated.t1, federated.t2;
connection slave;
drop table federated.t1, federated.t2;

# Test multi updates and deletes with keys
connection slave;
create table federated.t1 (i1 int, i2 int, i3 int, primary key (i1));
create table federated.t2 (id int, c1 varchar(20), c2 varchar(20), primary key (id));

connection master;
eval create table federated.t1 (i1 int auto_increment not null, i2 int, i3 int, primary key (i1)) ENGINE=FEDERATED CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1';
eval create table federated.t2 (id int auto_increment not null, c1 varchar(20), c2 varchar(20), primary key(id)) ENGINE=FEDERATED CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t2';
insert into federated.t1 values (1,5,10),(3,7,12),(4,5,2),(9,10,15),(2,2,2);
insert into federated.t2 values (9,"abc","def"),(5,"opq","lmn"),(2,"test t","t test");
select * from federated.t1 order by i1;
select * from federated.t2 order by id;
update federated.t1,federated.t2 set t1.i2=15, t2.c2="ppc" where t1.i1=t2.id;
select * from federated.t1 order by i1;
select * from federated.t2 order by id;
delete federated.t1.*,federated.t2.* from federated.t1,federated.t2 where t1.i2=t2.id;
select * from federated.t1 order by i1;
select * from federated.t2 order by id;
drop table federated.t1, federated.t2;

connection slave;
drop table federated.t1, federated.t2;

source include/federated_cleanup.inc;
+224 −189

File changed.

Preview size limit exceeded, changes collapsed.

Loading