mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
This commit is contained in:
@ -1023,6 +1023,62 @@ auto
|
|||||||
1
|
1
|
||||||
3
|
3
|
||||||
4
|
4
|
||||||
|
update t1
|
||||||
|
set medium = 17
|
||||||
|
where
|
||||||
|
string = "aaaa" and
|
||||||
|
vstring = "aaaa" and
|
||||||
|
bin = 0xAAAA and
|
||||||
|
vbin = 0xAAAA and
|
||||||
|
tiny = -1 and
|
||||||
|
short = -1 and
|
||||||
|
medium = -1 and
|
||||||
|
long_int = -1 and
|
||||||
|
longlong = -1 and
|
||||||
|
real_float > 1.0 and real_float < 2.0 and
|
||||||
|
real_double > 1.0 and real_double < 2.0 and
|
||||||
|
real_decimal > 1.0 and real_decimal < 2.0 and
|
||||||
|
utiny = 1 and
|
||||||
|
ushort = 1 and
|
||||||
|
umedium = 1 and
|
||||||
|
ulong = 1 and
|
||||||
|
ulonglong = 1 and
|
||||||
|
/* bits = b'001' and */
|
||||||
|
options = 'one' and
|
||||||
|
flags = 'one' and
|
||||||
|
date_field = '1901-01-01' and
|
||||||
|
year_field = '1901' and
|
||||||
|
time_field = '01:01:01' and
|
||||||
|
date_time = '1901-01-01 01:01:01';
|
||||||
|
delete from t1
|
||||||
|
where
|
||||||
|
string = "aaaa" and
|
||||||
|
vstring = "aaaa" and
|
||||||
|
bin = 0xAAAA and
|
||||||
|
vbin = 0xAAAA and
|
||||||
|
tiny = -1 and
|
||||||
|
short = -1 and
|
||||||
|
medium = 17 and
|
||||||
|
long_int = -1 and
|
||||||
|
longlong = -1 and
|
||||||
|
real_float > 1.0 and real_float < 2.0 and
|
||||||
|
real_double > 1.0 and real_double < 2.0 and
|
||||||
|
real_decimal > 1.0 and real_decimal < 2.0 and
|
||||||
|
utiny = 1 and
|
||||||
|
ushort = 1 and
|
||||||
|
umedium = 1 and
|
||||||
|
ulong = 1 and
|
||||||
|
ulonglong = 1 and
|
||||||
|
/* bits = b'001' and */
|
||||||
|
options = 'one' and
|
||||||
|
flags = 'one' and
|
||||||
|
date_field = '1901-01-01' and
|
||||||
|
year_field = '1901' and
|
||||||
|
time_field = '01:01:01' and
|
||||||
|
date_time = '1901-01-01 01:01:01';
|
||||||
|
select count(*) from t1;
|
||||||
|
count(*)
|
||||||
|
3
|
||||||
explain
|
explain
|
||||||
select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
|
select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
@ -1078,7 +1134,7 @@ pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
|
|||||||
explain
|
explain
|
||||||
select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto;
|
select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where; Using filesort
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where; Using filesort
|
||||||
explain
|
explain
|
||||||
select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1;
|
select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
@ -954,6 +954,65 @@ bin not like concat(0xBB, '%') and
|
|||||||
vbin not like concat(0xBB, '%')
|
vbin not like concat(0xBB, '%')
|
||||||
order by auto;
|
order by auto;
|
||||||
|
|
||||||
|
# Update test
|
||||||
|
update t1
|
||||||
|
set medium = 17
|
||||||
|
where
|
||||||
|
string = "aaaa" and
|
||||||
|
vstring = "aaaa" and
|
||||||
|
bin = 0xAAAA and
|
||||||
|
vbin = 0xAAAA and
|
||||||
|
tiny = -1 and
|
||||||
|
short = -1 and
|
||||||
|
medium = -1 and
|
||||||
|
long_int = -1 and
|
||||||
|
longlong = -1 and
|
||||||
|
real_float > 1.0 and real_float < 2.0 and
|
||||||
|
real_double > 1.0 and real_double < 2.0 and
|
||||||
|
real_decimal > 1.0 and real_decimal < 2.0 and
|
||||||
|
utiny = 1 and
|
||||||
|
ushort = 1 and
|
||||||
|
umedium = 1 and
|
||||||
|
ulong = 1 and
|
||||||
|
ulonglong = 1 and
|
||||||
|
/* bits = b'001' and */
|
||||||
|
options = 'one' and
|
||||||
|
flags = 'one' and
|
||||||
|
date_field = '1901-01-01' and
|
||||||
|
year_field = '1901' and
|
||||||
|
time_field = '01:01:01' and
|
||||||
|
date_time = '1901-01-01 01:01:01';
|
||||||
|
|
||||||
|
# Delete test
|
||||||
|
delete from t1
|
||||||
|
where
|
||||||
|
string = "aaaa" and
|
||||||
|
vstring = "aaaa" and
|
||||||
|
bin = 0xAAAA and
|
||||||
|
vbin = 0xAAAA and
|
||||||
|
tiny = -1 and
|
||||||
|
short = -1 and
|
||||||
|
medium = 17 and
|
||||||
|
long_int = -1 and
|
||||||
|
longlong = -1 and
|
||||||
|
real_float > 1.0 and real_float < 2.0 and
|
||||||
|
real_double > 1.0 and real_double < 2.0 and
|
||||||
|
real_decimal > 1.0 and real_decimal < 2.0 and
|
||||||
|
utiny = 1 and
|
||||||
|
ushort = 1 and
|
||||||
|
umedium = 1 and
|
||||||
|
ulong = 1 and
|
||||||
|
ulonglong = 1 and
|
||||||
|
/* bits = b'001' and */
|
||||||
|
options = 'one' and
|
||||||
|
flags = 'one' and
|
||||||
|
date_field = '1901-01-01' and
|
||||||
|
year_field = '1901' and
|
||||||
|
time_field = '01:01:01' and
|
||||||
|
date_time = '1901-01-01 01:01:01';
|
||||||
|
|
||||||
|
select count(*) from t1;
|
||||||
|
|
||||||
# Various tests
|
# Various tests
|
||||||
explain
|
explain
|
||||||
select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
|
select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
|
||||||
|
@ -128,6 +128,13 @@ void init_read_record(READ_RECORD *info,THD *thd, TABLE *table,
|
|||||||
VOID(table->file->extra_opt(HA_EXTRA_CACHE,
|
VOID(table->file->extra_opt(HA_EXTRA_CACHE,
|
||||||
thd->variables.read_buff_size));
|
thd->variables.read_buff_size));
|
||||||
}
|
}
|
||||||
|
/* Condition pushdown to storage engine */
|
||||||
|
if (thd->variables.engine_condition_pushdown &&
|
||||||
|
select && select->cond &&
|
||||||
|
select->cond->used_tables() & table->map &&
|
||||||
|
!(select->quick || table->file->pushed_cond))
|
||||||
|
table->file->cond_push(select->cond);
|
||||||
|
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
} /* init_read_record */
|
} /* init_read_record */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user