diff options
author | monty@hundin.mysql.fi <> | 2001-11-28 16:11:05 +0200 |
---|---|---|
committer | monty@hundin.mysql.fi <> | 2001-11-28 16:11:05 +0200 |
commit | 76ed6c26fcd3f85c720d4aa4b77d39accb409be9 (patch) | |
tree | dd1ee5dcda0fecccd46e084224858ae5668594c7 | |
parent | 69f6802632a9f0027041b53b1fcff78c51503f33 (diff) | |
download | mariadb-git-76ed6c26fcd3f85c720d4aa4b77d39accb409be9.tar.gz |
Fix of testcases after merge.
Small improvement to write caching.
-rw-r--r-- | Docs/manual.texi | 4 | ||||
-rw-r--r-- | mysql-test/r/rpl000013.result | 2 | ||||
-rw-r--r-- | mysql-test/r/rpl000016.result | 17 | ||||
-rw-r--r-- | mysys/mf_iocache2.c | 22 | ||||
-rw-r--r-- | sql/sql_select.cc | 2 |
5 files changed, 29 insertions, 18 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi index 44a76a78598..0a4095b124d 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -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 diff --git a/mysql-test/r/rpl000013.result b/mysql-test/r/rpl000013.result index 2c4a7a470cf..5e4b4159e3a 100644 --- a/mysql-test/r/rpl000013.result +++ b/mysql-test/r/rpl000013.result @@ -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 diff --git a/mysql-test/r/rpl000016.result b/mysql-test/r/rpl000016.result index e15d22ea3ee..405e0302161 100644 --- a/mysql-test/r/rpl000016.result +++ b/mysql-test/r/rpl000016.result @@ -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(*) diff --git a/mysys/mf_iocache2.c b/mysys/mf_iocache2.c index 59ad3675f5f..a2f10ca3b9f 100644 --- a/mysys/mf_iocache2.c +++ b/mysys/mf_iocache2.c @@ -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 diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 08fbf753997..ae9477d048e 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -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 */ |