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

MySQL数据库

开发平台:

Visual C++

  1. -- source include/have_ndb.inc
  2. -- source include/not_embedded.inc
  3. --disable_warnings
  4. drop table if exists t1;
  5. --enable_warnings
  6. CREATE TABLE t1 (
  7.   PORT varchar(16) NOT NULL,
  8.   ACCESSNODE varchar(16) NOT NULL,
  9.   POP varchar(48) NOT NULL,
  10.   ACCESSTYPE int unsigned NOT NULL,
  11.   CUSTOMER_ID varchar(20) collate latin1_bin NOT NULL,
  12.   PROVIDER varchar(16),
  13.   TEXPIRE int unsigned,
  14.   NUM_IP int unsigned,
  15.   LEASED_NUM_IP int unsigned,
  16.   LOCKED_IP int unsigned,
  17.   STATIC_DNS int unsigned,
  18.   SUSPENDED_SERVICE int unsigned,
  19.   SUSPENDED_REASON int unsigned,
  20.   BGP_COMMUNITY int unsigned,
  21.   INDEX CUSTOMER_ID_INDEX(CUSTOMER_ID),
  22.   INDEX FQPN_INDEX(POP,ACCESSNODE,PORT),
  23.   PRIMARY KEY(POP,ACCESSNODE,PORT,ACCESSTYPE)
  24. ) engine=ndbcluster;
  25. INSERT INTO t1 VALUES ('port67', 'node78', 'pop98', 1, 'kllopmn', 'pr_43', 121212, 1, 2, 3, 8, NULL, NULL, NULL);
  26. INSERT INTO t1 VALUES ('port67', 'node78', 'pop99', 2, 'klkighh', 'pr_44', 121213, 3, 3, 6, 7, NULL, NULL, NULL);
  27. INSERT INTO t1 VALUES ('port79', 'node79', 'pop79', 2, 'kpongfaa', 'pr_44', 981213, 2, 4, 10, 11, 2, 99, 1278);
  28.   
  29. # Test select using port
  30. select port, accessnode, pop, accesstype  from t1 where port='port67' order by accesstype;
  31. select port, accessnode, pop, accesstype  from t1 where port='foo';
  32. # Test select using accessnode
  33. select port, accessnode, pop, accesstype  from t1 where accessnode='node78' order by accesstype;
  34. select port, accessnode, pop, accesstype  from t1 where accessnode='foo';
  35. # Test select using pop
  36. select port, accessnode, pop, accesstype  from t1 where pop='pop98';
  37. select port, accessnode, pop, accesstype  from t1 where pop='pop98';
  38. select port, accessnode, pop, accesstype  from t1 where pop='pop98';
  39. select port, accessnode, pop, accesstype  from t1 where pop='pop98' order by accesstype;
  40. # The following two querys will not return any rows since 
  41. # the index used for access is case sensitive
  42. # They are thus disabled for now
  43. #select port, accessnode, pop, accesstype  from t1 where pop='POP98';
  44. #select port, accessnode, pop, accesstype  from t1 where pop='POP98' order by accesstype;
  45. select port, accessnode, pop, accesstype  from t1 where pop='foo';
  46. # Test select using accesstype
  47. select port, accessnode, pop, accesstype  from t1 where accesstype=1;
  48. select port, accessnode, pop, accesstype  from t1 where accesstype=2 order by port;
  49. select port, accessnode, pop, accesstype  from t1 where accesstype=98 order by port;
  50. # Test select using customer_id
  51. # NOTE! customer_id has a INDEX (ordered index in NDB), it's case sensitive!
  52. select port, accessnode, pop, accesstype  from t1 where customer_id='kllopmn';
  53. select port, accessnode, pop, accesstype  from t1 where customer_id='KLLOPMN';
  54. select port, accessnode, pop, accesstype  from t1 where customer_id='kLLoPMn';
  55. select port, accessnode, pop, accesstype  from t1 where customer_id='foo';
  56. # Test select using provider
  57. select port, accessnode, pop, accesstype  from t1 where provider='pr_43';
  58. select port, accessnode, pop, accesstype  from t1 where provider='foo';
  59. # Test select using texpire
  60. select port, accessnode from t1 where texpire=121212;
  61. select port, accessnode from t1 where texpire=2323;
  62. # Test select using num_ip
  63. select port, accessnode, pop, accesstype  from t1 where num_ip=1;
  64. select port, accessnode, pop, accesstype  from t1 where num_ip=89;
  65. # Test select using leased_num_ip
  66. select port, accessnode, pop, accesstype  from t1 where leased_num_ip=2;
  67. select port, accessnode, pop, accesstype  from t1 where leased_num_ip=89;
  68. # Test select using locked_ip
  69. select port, accessnode, pop, accesstype  from t1 where locked_ip=3;
  70. select port, accessnode, pop, accesstype  from t1 where locked_ip=89;
  71. # Test select using static_dns
  72. select port, accessnode, pop, accesstype  from t1 where static_dns=8;
  73. select port, accessnode, pop, accesstype  from t1 where static_dns=89;
  74. # Test select using suspended_service
  75. select port, accessnode, pop, accesstype  from t1 where suspended_service=8;
  76. select port, accessnode, pop, accesstype  from t1 where suspended_service=89;
  77. # Test select using suspended_reason
  78. select port, accessnode, pop, accesstype  from t1 where suspended_reason=NULL;
  79. select port, accessnode, pop, accesstype  from t1 where suspended_reason=89;
  80. select port, accessnode, pop, accesstype  from t1 where suspended_reason=0;
  81. # Test select using bgp_community
  82. select port, accessnode, pop, accesstype  from t1 where bgp_community=NULL;
  83. select port, accessnode, pop, accesstype  from t1 where bgp_community=89;
  84. select port, accessnode, pop, accesstype  from t1 where bgp_community=0;
  85. # Test select using full primary key
  86. select port, accessnode, pop, accesstype from t1 where port='port67' and accessnode='node78' and pop='pop98' and accesstype=1;
  87. select port, accessnode, pop, accesstype from t1 where port='port67' and accesstype=1 and accessnode='node78' and pop='pop98';
  88. select port, accessnode, pop, accesstype from t1 where pop='pop98' and port='port67' and accesstype=1 and accessnode='node78';
  89. select port, accessnode from t1 where port='foo' and accessnode='foo' and pop='foo' and accesstype=99;
  90. # Test select using partial primary key
  91. select port, accessnode, pop, accesstype from t1 where port='port67' and pop='pop98' and accesstype=1;
  92. select port, accessnode, pop, accesstype from t1 where accesstype=1 and accessnode='node78' and pop='pop98';
  93. select port, accessnode, pop, accesstype from t1 where  port='port67' and accesstype=1 and accessnode='node78';
  94. select port, accessnode from t1 where port='foo' and accessnode='foo' and pop='foo';
  95. # Test select using CUSTOMER_ID_INDEX
  96. select port, accessnode, pop, accesstype  from t1 where customer_id='kllopmn';
  97. select port, accessnode, pop, accesstype  from t1 where customer_id='kllopmn' and accesstype=1;
  98. select port, accessnode, pop, accesstype  from t1 where customer_id='kllopmn' and accesstype=2;
  99. select port, accessnode, pop, accesstype  from t1 where accesstype=2 and customer_id='kllopmn';
  100. # Test select using FQPN_INDEX
  101. select port, accessnode, pop, accesstype  from t1 where pop='pop98' and accessnode='node78' and port='port67';
  102. #select port, accessnode, pop, accesstype  from t1 where pop='pop98' and accessnode='node78' and port='port67' order by accesstype;
  103. #select port, accessnode, pop, accesstype  from t1 where  accessnode='node78' and port='port67' and pop='pop98' order by accesstype;
  104. #select port, accessnode, pop, accesstype  from t1 where port='port67' and pop='pop98' and accessnode='node78' order by accesstype;
  105. select port, accessnode, pop, accesstype  from t1 where pop='pop98' and accessnode='node78' and port='port67' and customer_id='kllopmn';
  106. select port, accessnode, pop, accesstype  from t1 where pop='pop98' and accessnode='node78' and port='port67' and customer_id='foo';
  107. drop table t1;
  108. # End of 4.1 tests