mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01: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:
commit
377bdbd33b
3 changed files with 123 additions and 1 deletions
|
@ -1023,6 +1023,62 @@ auto
|
|||
1
|
||||
3
|
||||
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
|
||||
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
|
||||
|
@ -1078,7 +1134,7 @@ pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
|
|||
explain
|
||||
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
|
||||
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
|
||||
select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1;
|
||||
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, '%')
|
||||
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
|
||||
explain
|
||||
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,
|
||||
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 &&
|
||||
!table->file->pushed_cond)
|
||||
table->file->cond_push(select->cond);
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
} /* init_read_record */
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue