Loading Docs/manual.texi +4 −0 Original line number Diff line number Diff line Loading @@ -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 mysql-test/r/rpl000013.result +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading mysql-test/r/rpl000016.result +9 −8 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading @@ -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 Loading @@ -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(*) Loading mysys/mf_iocache2.c +14 −8 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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) Loading Loading @@ -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 Loading sql/sql_select.cc +1 −1 Original line number Diff line number Diff line Loading @@ -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 */ Loading Loading
Docs/manual.texi +4 −0 Original line number Diff line number Diff line Loading @@ -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
mysql-test/r/rpl000013.result +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
mysql-test/r/rpl000016.result +9 −8 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading @@ -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 Loading @@ -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(*) Loading
mysys/mf_iocache2.c +14 −8 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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) Loading Loading @@ -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 Loading
sql/sql_select.cc +1 −1 Original line number Diff line number Diff line Loading @@ -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 */ Loading