mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fix of testcases after merge.
Small improvement to write caching. Docs/manual.texi: Updated Changelog mysql-test/r/rpl000013.result: Fix after merge mysql-test/r/rpl000016.result: Fix after merge mysys/mf_iocache2.c: Small improvement to write caching. sql/sql_select.cc: Removed warning
This commit is contained in:
@ -46340,6 +46340,10 @@ Fixed bug when joining with caching (unlikely to happen).
|
||||
Fixed race condition when using the binary log and @code{INSERT DELAYED}
|
||||
which could cause the binary log to have rows that was not yet written
|
||||
to MyISAM tables.
|
||||
@item
|
||||
Changed caching of binary log to make replication slightly faster.
|
||||
@item
|
||||
Fixed bug in replication on Mac OS X.
|
||||
@end itemize
|
||||
|
||||
@node News-3.23.45, News-3.23.44, News-3.23.46, News-3.23.x
|
||||
|
@ -10,7 +10,7 @@ insert into t1 values(1),(2),(3);
|
||||
insert into t2 select * from t1;
|
||||
create temporary table t1 (n int);
|
||||
insert into t1 values (4),(5);
|
||||
insert into t2 select * from t1;
|
||||
insert into t2 select * from t1 as t10;
|
||||
insert into t2 values(6);
|
||||
select * from t2;
|
||||
n
|
||||
|
@ -2,11 +2,11 @@ slave start;
|
||||
Could not initialize master info structure, check permisions on master.info
|
||||
slave start;
|
||||
Could not initialize master info structure, check permisions on master.info
|
||||
change master to master_host='127.0.0.1',master_port=$MASTER_MYPORT,
|
||||
change master to master_host='127.0.0.1',master_port=9306,
|
||||
master_user='root';
|
||||
Could not initialize master info
|
||||
reset slave;
|
||||
change master to master_host='127.0.0.1',master_port=$MASTER_MYPORT,
|
||||
change master to master_host='127.0.0.1',master_port=9306,
|
||||
master_user='root';
|
||||
reset master;
|
||||
slave start;
|
||||
@ -15,14 +15,14 @@ create table t1 (s text);
|
||||
insert into t1 values('Could not break slave'),('Tried hard');
|
||||
show slave status;
|
||||
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Last_log_seq
|
||||
127.0.0.1 root $MASTER_MYPORT 60 master-bin.001 234 Yes 0 0 3
|
||||
127.0.0.1 root 9306 60 master-bin.001 234 Yes 0 0 3
|
||||
select * from t1;
|
||||
s
|
||||
Could not break slave
|
||||
Tried hard
|
||||
flush logs;
|
||||
drop table if exists t2;
|
||||
create table t2(m int not null primary key);
|
||||
create table t2(m int not null auto_increment primary key);
|
||||
insert into t2 values (34),(67),(123);
|
||||
flush logs;
|
||||
show master logs;
|
||||
@ -31,7 +31,8 @@ master-bin.001
|
||||
master-bin.002
|
||||
master-bin.003
|
||||
insert into t2 values(1234);
|
||||
insert into t2 values(1234);
|
||||
set insert_id=1234;
|
||||
insert into t2 values(NULL);
|
||||
slave stop;
|
||||
set sql_slave_skip_counter=1;
|
||||
slave start;
|
||||
@ -42,7 +43,7 @@ master-bin.003
|
||||
insert into t2 values (65);
|
||||
show slave status;
|
||||
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Last_log_seq
|
||||
127.0.0.1 root $MASTER_MYPORT 60 master-bin.003 127 Yes 0 0 2
|
||||
127.0.0.1 root 9306 60 master-bin.003 155 Yes 0 0 3
|
||||
select * from t2;
|
||||
m
|
||||
34
|
||||
@ -60,12 +61,12 @@ master-bin.005
|
||||
master-bin.006
|
||||
show master status;
|
||||
File Position Binlog_do_db Binlog_ignore_db
|
||||
master-bin.006 382
|
||||
master-bin.006 445
|
||||
slave stop;
|
||||
slave start;
|
||||
show slave status;
|
||||
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Last_log_seq
|
||||
127.0.0.1 root $MASTER_MYPORT 60 master-bin.006 382 Yes 0 0 6
|
||||
127.0.0.1 root 9306 60 master-bin.006 445 Yes 0 0 7
|
||||
lock tables t3 read;
|
||||
select count(*) from t3 where n >= 4;
|
||||
count(*)
|
||||
|
@ -60,16 +60,20 @@ void my_b_seek(IO_CACHE *info,my_off_t pos)
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
flush_io_cache(info);
|
||||
/* Correct buffer end so that we write in increments of IO_SIZE */
|
||||
info->write_end=(info->write_buffer+info->buffer_length-
|
||||
(pos & (IO_SIZE-1)));
|
||||
}
|
||||
info->pos_in_file=pos;
|
||||
info->seek_not_done=1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
** Fill buffer. Note that this assumes that you have already used
|
||||
** all characters in the CACHE, independent of the read_pos value!
|
||||
** return: 0 on error or EOF (info->error = -1 on error)
|
||||
** number of characters
|
||||
Fill buffer. Note that this assumes that you have already used
|
||||
all characters in the CACHE, independent of the read_pos value!
|
||||
return: 0 on error or EOF (info->error = -1 on error)
|
||||
number of characters
|
||||
*/
|
||||
|
||||
uint my_b_fill(IO_CACHE *info)
|
||||
@ -109,11 +113,12 @@ uint my_b_fill(IO_CACHE *info)
|
||||
return length;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
** Read a string ended by '\n' into a buffer of 'max_length' size.
|
||||
** Returns number of characters read, 0 on error.
|
||||
** last byte is set to '\0'
|
||||
** If buffer is full then to[max_length-1] will be set to \0.
|
||||
Read a string ended by '\n' into a buffer of 'max_length' size.
|
||||
Returns number of characters read, 0 on error.
|
||||
last byte is set to '\0'
|
||||
If buffer is full then to[max_length-1] will be set to \0.
|
||||
*/
|
||||
|
||||
uint my_b_gets(IO_CACHE *info, char *to, uint max_length)
|
||||
@ -151,6 +156,7 @@ uint my_b_gets(IO_CACHE *info, char *to, uint max_length)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Simple printf version. Supports '%s', '%d', '%u', "%ld" and "%lu"
|
||||
Used for logging in MySQL
|
||||
|
@ -2322,7 +2322,7 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond)
|
||||
used_tables|=current_map;
|
||||
|
||||
if (tab->type == JT_REF && tab->quick &&
|
||||
tab->ref.key == tab->quick->index &&
|
||||
(uint) tab->ref.key == tab->quick->index &&
|
||||
tab->ref.key_length < tab->quick->max_used_key_length)
|
||||
{
|
||||
/* Range uses longer key; Use this instead of ref on key */
|
||||
|
Reference in New Issue
Block a user