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

MySQL数据库

开发平台:

Visual C++

  1. #
  2. # Simple test for blackhole example
  3. # Taken from the select test
  4. #
  5. -- source include/have_blackhole.inc
  6. --disable_warnings
  7. drop table if exists t1,t2;
  8. --enable_warnings
  9. CREATE TABLE t1 (
  10.   Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
  11.   Varor_period smallint(4) unsigned DEFAULT '0' NOT NULL
  12. ) ENGINE=blackhole;
  13. INSERT INTO t1 VALUES (9410,9412);
  14.   
  15. select period from t1;
  16. select * from t1;
  17. select t1.* from t1;
  18. #
  19. # Create test table
  20. #
  21. CREATE TABLE t2 (
  22.   auto int NOT NULL auto_increment,
  23.   fld1 int(6) unsigned zerofill DEFAULT '000000' NOT NULL,
  24.   companynr tinyint(2) unsigned zerofill DEFAULT '00' NOT NULL,
  25.   fld3 char(30) DEFAULT '' NOT NULL,
  26.   fld4 char(35) DEFAULT '' NOT NULL,
  27.   fld5 char(35) DEFAULT '' NOT NULL,
  28.   fld6 char(4) DEFAULT '' NOT NULL,
  29.   primary key (auto)
  30. ) ENGINE=blackhole;  
  31. INSERT INTO t2 VALUES (1192,068305,00,'Colombo','hardware','colicky','');
  32. INSERT INTO t2 VALUES (1193,000000,00,'nondecreasing','implant','thrillingly','');
  33. --enable_query_log
  34. #
  35. # Search with a key
  36. #
  37. select t2.fld3 from t2 where companynr = 58 and fld3 like "%imaginable%";
  38. select fld3 from t2 where fld3 like "%cultivation" ;
  39. #
  40. # Search with a key using sorting and limit the same time
  41. #
  42. select t2.fld3,companynr from t2 where companynr = 57+1 order by fld3;
  43. select fld3,companynr from t2 where companynr = 58 order by fld3;
  44. select fld3 from t2 order by fld3 desc limit 10;
  45. select fld3 from t2 order by fld3 desc limit 5;
  46. select fld3 from t2 order by fld3 desc limit 5,5;
  47. #
  48. # Search with a key having a constant with each unique key.
  49. # The table is read directly with read-next on fld3
  50. #
  51. select t2.fld3 from t2 where fld3 = 'honeysuckle';
  52. select t2.fld3 from t2 where fld3 LIKE 'honeysuckl_';
  53. select t2.fld3 from t2 where fld3 LIKE 'hon_ysuckl_';
  54. select t2.fld3 from t2 where fld3 LIKE 'honeysuckle%';
  55. select t2.fld3 from t2 where fld3 LIKE 'h%le';
  56. select t2.fld3 from t2 where fld3 LIKE 'honeysuckle_';
  57. select t2.fld3 from t2 where fld3 LIKE 'don_t_find_me_please%';
  58. #
  59. # Test sorting with a used key (there is no need for sorting)
  60. #
  61. select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
  62. select fld1,fld3 from t2 where fld3="Colombo" or fld3 = "nondecreasing" order by fld3;
  63. # Test for fulltext
  64. DROP TABLE t1;
  65. CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b));
  66. INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
  67.                        ('Full-text indexes', 'are called collections'),
  68.                           ('Only MyISAM tables','support collections'),
  69.              ('Function MATCH ... AGAINST()','is used to do a search'),
  70.         ('Full-text search in MySQL', 'implements vector space model');
  71. SHOW INDEX FROM t1;
  72. # nl search
  73. select * from t1 where MATCH(a,b) AGAINST ("collections");
  74. explain extended select * from t1 where MATCH(a,b) AGAINST ("collections");
  75. select * from t1 where MATCH(a,b) AGAINST ("indexes");
  76. select * from t1 where MATCH(a,b) AGAINST ("indexes collections");
  77. select * from t1 where MATCH(a,b) AGAINST ("only");
  78. # Test that every DML (except SELECT) and DDL gets into binlog
  79. # so that blackhole can be used as "binlog propagator"
  80. reset master;
  81. drop table t1,t2;
  82. create table t1 (a int) engine=blackhole;
  83. delete from t1 where a=10;
  84. update t1 set a=11 where a=15;
  85. insert into t1 values(1);
  86. insert ignore into t1 values(1);
  87. replace into t1 values(100);
  88. create table t2 (a varchar(200)) engine=blackhole;
  89. load data infile '../../std_data/words.dat' into table t2;
  90. alter table t1 add b int;
  91. alter table t1 drop b;
  92. create table t3 like t1;
  93. insert into t1 select * from t3;
  94. replace into t1 select * from t3;
  95. # Just to verify
  96. select * from t1;
  97. select * from t2;
  98. select * from t3;
  99. let $VERSION=`select version()`;
  100. --replace_result $VERSION VERSION
  101. --replace_column 2 # 5 #
  102. show binlog events;
  103. drop table t1,t2,t3;
  104. # End of 4.1 tests