endspace.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:4k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. #
  2. # Test problem with characters < ' ' at end of strings (Bug #3152)
  3. #
  4. -- source include/have_innodb.inc
  5. --disable_warnings
  6. drop table if exists t1;
  7. --enable_warnings
  8. -- source include/endspace.inc
  9. #
  10. # Test MyISAM tables.
  11. #
  12. create table t1 (text1 varchar(32) not NULL, KEY key1 (text1));
  13. insert into t1 values ('teststring'), ('nothing'), ('teststringt');
  14. check table t1;
  15. select * from t1 ignore key (key1) where text1='teststring' or text1 like 'teststring_%';
  16. select * from t1 where text1='teststring' or text1 like 'teststring_%';
  17. select * from t1 where text1='teststring' or text1 > 'teststringt';
  18. select * from t1 order by text1;
  19. explain select * from t1 order by text1;
  20. alter table t1 modify text1 char(32) binary not null;
  21. check table t1;
  22. select * from t1 ignore key (key1) where text1='teststring' or text1 like 'teststring_%';
  23. select concat('|', text1, '|') from t1 where text1='teststring' or text1 like 'teststring_%';
  24. select concat('|', text1, '|') from t1 where text1='teststring' or text1 > 'teststringt';
  25. select text1, length(text1) from t1 order by text1;
  26. select text1, length(text1) from t1 order by binary text1;
  27. alter table t1 modify text1 blob not null, drop key key1, add key key1 (text1(20));
  28. insert into t1 values ('teststring ');
  29. select concat('|', text1, '|') from t1 order by text1;
  30. select concat('|', text1, '|') from t1 where text1='teststring' or text1 > 'teststringt';
  31. select concat('|', text1, '|') from t1 where text1='teststring';
  32. select concat('|', text1, '|') from t1 where text1='teststring ';
  33. alter table t1 modify text1 text not null, pack_keys=1;
  34. select concat('|', text1, '|') from t1 where text1='teststring';
  35. select concat('|', text1, '|') from t1 where text1='teststring ';
  36. explain select concat('|', text1, '|') from t1 where text1='teststring ';
  37. select * from t1 where text1 like 'teststring_%';
  38. select * from t1 where text1='teststring' or text1 like 'teststring_%';
  39. select concat('|', text1, '|') from t1 where text1='teststring' or text1 > 'teststringt';
  40. select concat('|', text1, '|') from t1 order by text1;
  41. drop table t1;
  42. create table t1 (text1 varchar(32) not NULL, KEY key1 (text1)) pack_keys=0;
  43. insert into t1 values ('teststring'), ('nothing'), ('teststringt');
  44. select * from t1 where text1='teststring' or text1 like 'teststring_%';
  45. select * from t1 where text1='teststring' or text1 >= 'teststringt';
  46. drop table t1;
  47. # Test HEAP tables (with BTREE keys)
  48. create table t1 (text1 varchar(32) not NULL, KEY key1 using BTREE (text1)) engine=heap;
  49. insert into t1 values ('teststring'), ('nothing'), ('teststringt');
  50. select * from t1 ignore key (key1) where text1='teststring' or text1 like 'teststring_%';
  51. select * from t1 where text1='teststring' or text1 like 'teststring_%';
  52. select * from t1 where text1='teststring' or text1 >= 'teststringt';
  53. select * from t1 order by text1;
  54. explain select * from t1 order by text1;
  55. alter table t1 modify text1 char(32) binary not null;
  56. select * from t1 order by text1;
  57. drop table t1;
  58. #
  59. # Test InnoDB tables
  60. #
  61. create table t1 (text1 varchar(32) not NULL, KEY key1 (text1)) engine=innodb;
  62. insert into t1 values ('teststring'), ('nothing'), ('teststringt');
  63. check table t1;
  64. select * from t1 where text1='teststring' or text1 like 'teststring_%';
  65. select * from t1 where text1='teststring' or text1 > 'teststringt';
  66. select * from t1 order by text1;
  67. explain select * from t1 order by text1;
  68. alter table t1 modify text1 char(32) binary not null;
  69. select * from t1 order by text1;
  70. alter table t1 modify text1 blob not null, drop key key1, add key key1 (text1(20));
  71. insert into t1 values ('teststring ');
  72. select concat('|', text1, '|') from t1 order by text1;
  73. alter table t1 modify text1 text not null, pack_keys=1;
  74. select * from t1 where text1 like 'teststring_%';
  75. # The following gives wrong result in InnoDB
  76. select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%';
  77. select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststringt';
  78. select concat('|', text1, '|') from t1 order by text1;
  79. drop table t1;
  80. # End of 4.1 tests