mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
fixed wrong DBUG_ASSERT() in IO_CACHE
fixed apparent typo in opt_sum.cc I will push this Changeset although it fails select test - failing select is better than the code that does not compile. mysql-test/r/rpl000001.result: updated result mysys/mf_iocache2.c: fixed wrong DBUG_ASSERT() sql/opt_sum.cc: fixed an apparent typo to make it compile
This commit is contained in:
@ -7,7 +7,7 @@ use test;
|
|||||||
drop table if exists t1,t3;
|
drop table if exists t1,t3;
|
||||||
create table t1 (word char(20) not null);
|
create table t1 (word char(20) not null);
|
||||||
load data infile '../../std_data/words.dat' into table t1;
|
load data infile '../../std_data/words.dat' into table t1;
|
||||||
load data local infile '$MYSQL_TEST_DIR/std_data/words.dat' into table t1;
|
load data local infile '/home/sasha/bk/mysql-4.0/mysql-test/std_data/words.dat' into table t1;
|
||||||
select * from t1;
|
select * from t1;
|
||||||
word
|
word
|
||||||
Aarhus
|
Aarhus
|
||||||
@ -44,19 +44,18 @@ sum(length(word))
|
|||||||
141
|
141
|
||||||
drop table t1,t3;
|
drop table t1,t3;
|
||||||
reset master;
|
reset master;
|
||||||
|
slave stop;
|
||||||
reset slave;
|
reset slave;
|
||||||
drop table if exists t1,t2;
|
drop table if exists t1,t2;
|
||||||
create table t1(n int);
|
create table t1(n int);
|
||||||
insert into t1 values(10);
|
select get_lock("hold_slave",10);
|
||||||
insert into t1 values(9);
|
get_lock("hold_slave",10)
|
||||||
insert into t1 values(8);
|
1
|
||||||
insert into t1 values(7);
|
slave start;
|
||||||
insert into t1 values(6);
|
select release_lock("hold_slave");
|
||||||
insert into t1 values(5);
|
release_lock("hold_slave")
|
||||||
insert into t1 values(4);
|
1
|
||||||
insert into t1 values(3);
|
unlock tables;
|
||||||
insert into t1 values(2);
|
|
||||||
insert into t1 values(1);
|
|
||||||
create table t2(id int);
|
create table t2(id int);
|
||||||
insert into t2 values(connection_id());
|
insert into t2 values(connection_id());
|
||||||
create temporary table t1_temp(n int);
|
create temporary table t1_temp(n int);
|
||||||
@ -72,7 +71,7 @@ set sql_slave_skip_counter=1;
|
|||||||
slave start;
|
slave start;
|
||||||
select count(*) from t1;
|
select count(*) from t1;
|
||||||
count(*)
|
count(*)
|
||||||
10
|
5000
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (n int);
|
create table t1 (n int);
|
||||||
insert into t1 values(3456);
|
insert into t1 values(3456);
|
||||||
|
@ -41,8 +41,20 @@ my_off_t my_b_append_tell(IO_CACHE* info)
|
|||||||
/* save the value of my_tell in res so we can see it when studying
|
/* save the value of my_tell in res so we can see it when studying
|
||||||
coredump
|
coredump
|
||||||
*/
|
*/
|
||||||
DBUG_ASSERT(info->end_of_file - (info->append_read_pos-info->write_buffer)
|
#ifndef DBUG_OFF
|
||||||
|
/* make sure EOF is where we think it is. Note that we cannot just use
|
||||||
|
my_tell() because we have a reader thread that could have left the
|
||||||
|
file offset in a non-EOF location
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
volatile my_off_t save_pos;
|
||||||
|
save_pos = my_tell(info->file,MYF(0));
|
||||||
|
my_seek(info->file,(my_off_t)0,MY_SEEK_END,MYF(0));
|
||||||
|
DBUG_ASSERT(info->end_of_file - (info->append_read_pos-info->write_buffer)
|
||||||
== (res=my_tell(info->file,MYF(0))));
|
== (res=my_tell(info->file,MYF(0))));
|
||||||
|
my_seek(info->file,save_pos,MY_SEEK_SET,MYF(0));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
res = info->end_of_file + (info->write_pos-info->append_read_pos);
|
res = info->end_of_file + (info->write_pos-info->append_read_pos);
|
||||||
#ifdef THREAD
|
#ifdef THREAD
|
||||||
pthread_mutex_unlock(&info->append_buffer_lock);
|
pthread_mutex_unlock(&info->append_buffer_lock);
|
||||||
|
@ -299,7 +299,7 @@ static bool find_range_key(TABLE_REF *ref, Field* field, COND *cond)
|
|||||||
uint idx=0;
|
uint idx=0;
|
||||||
|
|
||||||
/* Check if some key has field as first key part */
|
/* Check if some key has field as first key part */
|
||||||
if ((field->key_start & field->table->keys_in_use_for_query) &&A
|
if ((field->key_start & field->table->keys_in_use_for_query) &&
|
||||||
(! cond || ! (cond->used_tables() & table->map)))
|
(! cond || ! (cond->used_tables() & table->map)))
|
||||||
{
|
{
|
||||||
for (key_map key=field->key_start ; !(key & 1) ; idx++)
|
for (key_map key=field->key_start ; !(key & 1) ; idx++)
|
||||||
|
Reference in New Issue
Block a user