mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
Add 0x before pointers (to help with debugging)
Add support for VARCHAR with 1 or 2 length bytes Enable VARCHAR packing in MyISAM files (previous patch didn't pack data properly) Give error if we got problems in temporary tables during a SELECT Don't use new table generated by ALTER TABLE if index generation fails Fixed wrong call by range_end() (Could cause an ASSERT in debug mode)
This commit is contained in:
@@ -92,6 +92,66 @@ select sql_big_result c,count(t) from t1 group by c limit 10;
|
||||
select t,count(*) from t1 group by t limit 10;
|
||||
select t,count(t) from t1 group by t limit 10;
|
||||
select sql_big_result t,count(t) from t1 group by t limit 10;
|
||||
|
||||
#
|
||||
# Test varchar > 255 bytes
|
||||
#
|
||||
|
||||
alter table t1 modify v varchar(300), drop key v, drop key v_2, add key v (v);
|
||||
show create table t1;
|
||||
select count(*) from t1 where v='a';
|
||||
select count(*) from t1 where v='a ';
|
||||
select count(*) from t1 where v between 'a' and 'a ';
|
||||
select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
|
||||
select count(*) from t1 where v like 'a%';
|
||||
select count(*) from t1 where v like 'a %';
|
||||
explain select count(*) from t1 where v='a ';
|
||||
explain select count(*) from t1 where v like 'a%';
|
||||
explain select count(*) from t1 where v between 'a' and 'a ';
|
||||
explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
|
||||
explain select * from t1 where v='a';
|
||||
|
||||
# GROUP BY
|
||||
|
||||
select v,count(*) from t1 group by v limit 10;
|
||||
select v,count(t) from t1 group by v limit 10;
|
||||
select sql_big_result v,count(t) from t1 group by v limit 10;
|
||||
|
||||
#
|
||||
# Test varchar > 255 bytes, key < 255
|
||||
#
|
||||
|
||||
alter table t1 drop key v, add key v (v(30));
|
||||
show create table t1;
|
||||
select count(*) from t1 where v='a';
|
||||
select count(*) from t1 where v='a ';
|
||||
select count(*) from t1 where v between 'a' and 'a ';
|
||||
select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
|
||||
select count(*) from t1 where v like 'a%';
|
||||
select count(*) from t1 where v like 'a %';
|
||||
explain select count(*) from t1 where v='a ';
|
||||
explain select count(*) from t1 where v like 'a%';
|
||||
explain select count(*) from t1 where v between 'a' and 'a ';
|
||||
explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
|
||||
explain select * from t1 where v='a';
|
||||
|
||||
# GROUP BY
|
||||
|
||||
select v,count(*) from t1 group by v limit 10;
|
||||
select v,count(t) from t1 group by v limit 10;
|
||||
select sql_big_result v,count(t) from t1 group by v limit 10;
|
||||
|
||||
#
|
||||
# Test varchar > 512 (special case for GROUP BY becasue of
|
||||
# CONVERT_IF_BIGGER_TO_BLOB define)
|
||||
#
|
||||
|
||||
alter table t1 modify v varchar(600), drop key v, add key v (v);
|
||||
show create table t1;
|
||||
select v,count(*) from t1 group by v limit 10;
|
||||
select v,count(t) from t1 group by v limit 10;
|
||||
select sql_big_result v,count(t) from t1 group by v limit 10;
|
||||
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
|
Reference in New Issue
Block a user