⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ndbt_tables.cpp

📁 mysql-5.0.22.tar.gz源码包
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2003 MySQL AB   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2 of the License, or   (at your option) any later version.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#include <NDBT.hpp>#include <NDBT_Table.hpp>#include <NDBT_Tables.hpp>/* ******************************************************* *///    Define Ndb standard tables ////  USE ONLY UPPERLETTERS IN TAB AND COLUMN NAMES/* ******************************************************* *//* * These are our "official" test tables * *//* T1 */staticconstNDBT_Attribute T1Attribs[] = {  NDBT_Attribute("KOL1", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL2", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL3", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL4", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL5", NdbDictionary::Column::Unsigned),};staticconstNDBT_Table T1("T1", sizeof(T1Attribs)/sizeof(NDBT_Attribute), T1Attribs);/* T2 */staticconstNDBT_Attribute T2Attribs[] = {  NDBT_Attribute("KOL1", NdbDictionary::Column::Bigunsigned, 1, true),   NDBT_Attribute("KOL2", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL3", NdbDictionary::Column::Bit, 23),  NDBT_Attribute("KOL4", NdbDictionary::Column::Unsigned, 		 1, false, true), // Nullable   NDBT_Attribute("KOL5", NdbDictionary::Column::Unsigned)};staticconstNDBT_Table T2("T2", sizeof(T2Attribs)/sizeof(NDBT_Attribute), T2Attribs);/* T3 */staticconstNDBT_Attribute T3Attribs[] = {  NDBT_Attribute("ID", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("PERSNR", NdbDictionary::Column::Char, 10),  NDBT_Attribute("NAME", NdbDictionary::Column::Char, 25),  NDBT_Attribute("ADRESS", NdbDictionary::Column::Char, 50),  NDBT_Attribute("ADRESS2", NdbDictionary::Column::Char, 		 30, false, true), // Nullable  NDBT_Attribute("F諨ELSE臨", NdbDictionary::Column::Unsigned)};staticconstNDBT_Table T3("T3", sizeof(T3Attribs)/sizeof(NDBT_Attribute), T3Attribs);/* T4 */staticconstNDBT_Attribute T4Attribs[] = {  NDBT_Attribute("REGNR", NdbDictionary::Column::Char, 6, true),   NDBT_Attribute("YEAR", NdbDictionary::Column::Unsigned),  NDBT_Attribute("OWNER", NdbDictionary::Column::Char, 25),  NDBT_Attribute("ADRESS", NdbDictionary::Column::Char, 50),  NDBT_Attribute("ADRESS2", NdbDictionary::Column::Char, 		 30, false, true), // Nullable  NDBT_Attribute("OWNERID", NdbDictionary::Column::Unsigned),  NDBT_Attribute("CHECKDATE", NdbDictionary::Column::Unsigned)};staticconstNDBT_Table T4("T4", sizeof(T4Attribs)/sizeof(NDBT_Attribute), T4Attribs);/* T5 */staticconstNDBT_Attribute T5Attribs[] = {  NDBT_Attribute("OWNERID", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("REGNR", NdbDictionary::Column::Char, 6, true),  NDBT_Attribute("CREATEDDATE", NdbDictionary::Column::Unsigned)};staticconstNDBT_Table T5("T5", sizeof(T5Attribs)/sizeof(NDBT_Attribute), T5Attribs);/* T6 */staticconstNDBT_Attribute T6Attribs[] = {  NDBT_Attribute("PK1", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("ATTR1", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR2", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR3", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR4", NdbDictionary::Column::Char, 		 47, false, true),// Nullable  NDBT_Attribute("ATTR5", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR6", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR7", NdbDictionary::Column::Char, 		 48, false, true),// Nullable  NDBT_Attribute("ATTR8", NdbDictionary::Column::Char, 		 50, false, true), // Nullable  NDBT_Attribute("ATTR9", NdbDictionary::Column::Int),  NDBT_Attribute("ATTR10", NdbDictionary::Column::Float),  NDBT_Attribute("ATTR11", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR12", NdbDictionary::Column::Char, 49),  NDBT_Attribute("ATTR13", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR14", NdbDictionary::Column::Char, 50),  NDBT_Attribute("ATTR15", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR16", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR17", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR18", NdbDictionary::Column::Char, 257),  NDBT_Attribute("ATTR19", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR20", NdbDictionary::Column::Unsigned),};staticconstNDBT_Table T6("T6", sizeof(T6Attribs)/sizeof(NDBT_Attribute), T6Attribs);/* T7 */staticconstNDBT_Attribute T7Attribs[] = {  NDBT_Attribute("PK1", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("PK2", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("PK3", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("PK4", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("ATTR1", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR2", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR3", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR4", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR5", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR6", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR7", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR8", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR9", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR10", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR11", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR12", NdbDictionary::Column::Char, 259),  NDBT_Attribute("ATTR13", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR14", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR15", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR16", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR17", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR18", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR19", NdbDictionary::Column::Unsigned),  NDBT_Attribute("ATTR20", NdbDictionary::Column::Unsigned),};staticconstNDBT_Table T7("T7", sizeof(T7Attribs)/sizeof(NDBT_Attribute), T7Attribs);/* T8 */staticconstNDBT_Attribute T8Attribs[] = {  NDBT_Attribute("PERSON_ID", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("NAME", NdbDictionary::Column::Char, 257),  NDBT_Attribute("ADRESS", NdbDictionary::Column::Char, 513),  NDBT_Attribute("POSTADRESS", NdbDictionary::Column::Char, 1173),  NDBT_Attribute("VALUE", NdbDictionary::Column::Unsigned),  };staticconstNDBT_Table T8("T8", sizeof(T8Attribs)/sizeof(NDBT_Attribute), T8Attribs);/* T9 */staticconstNDBT_Attribute T9Attribs[] = {  NDBT_Attribute("KF_SKAPAD", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("PLATS_ID", NdbDictionary::Column::Char, 2, true),  NDBT_Attribute("TNR_SKAPAD", NdbDictionary::Column::Char, 12, true),  NDBT_Attribute("DELG_MOT", NdbDictionary::Column::Char, 1, true),  NDBT_Attribute("VALUE", NdbDictionary::Column::Unsigned),};staticconstNDBT_Table T9("T9", sizeof(T9Attribs)/sizeof(NDBT_Attribute), T9Attribs);/* T10 - Long key table */staticconstNDBT_Attribute T10Attribs[] = {  NDBT_Attribute("KOL1", NdbDictionary::Column::Char, 256, true),   NDBT_Attribute("KOL2", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL3", NdbDictionary::Column::Char, 257),  NDBT_Attribute("KOL4", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL5", NdbDictionary::Column::Unsigned),};staticconstNDBT_Table T10("T10", sizeof(T10Attribs)/sizeof(NDBT_Attribute), T10Attribs);/* T11 - Primary key is not first attribute */staticconstNDBT_Attribute T11Attribs[] = {  NDBT_Attribute("KOL1", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL2", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL3", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL4", NdbDictionary::Column::Char, 111),  NDBT_Attribute("KOL5", NdbDictionary::Column::Char, 113)};staticconstNDBT_Table T11("T11", sizeof(T11Attribs)/sizeof(NDBT_Attribute), T11Attribs);/* T12 - 16 primary keys */staticconstNDBT_Attribute T12Attribs[] = {  NDBT_Attribute("KOL1", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL2", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL3", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL4", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL5", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL6", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL7", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL8", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL9", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL10", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL11", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL12", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL13", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL14", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL15", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL16", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL20", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL30", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL40", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL50", NdbDictionary::Column::Unsigned)};staticconstNDBT_Table T12("T12", sizeof(T12Attribs)/sizeof(NDBT_Attribute), T12Attribs);/* T13 - Long key table */staticconstNDBT_Attribute T13Attribs[] = {  NDBT_Attribute("KOL1", NdbDictionary::Column::Char, 257, true),   NDBT_Attribute("KOL2", NdbDictionary::Column::Char, 259, true),  NDBT_Attribute("KOL3", NdbDictionary::Column::Char, 113, true),  NDBT_Attribute("KOL4", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL5", NdbDictionary::Column::Unsigned, 1, true),  NDBT_Attribute("KOL6", NdbDictionary::Column::Unsigned),};staticconstNDBT_Table T13("T13", sizeof(T13Attribs)/sizeof(NDBT_Attribute), T13Attribs);/* T14 - 5 primary keys */staticconstNDBT_Attribute T14Attribs[] = {  NDBT_Attribute("KOL1", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL2", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL3", NdbDictionary::Column::Char, 4, true),   NDBT_Attribute("KOL4", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL5", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL20", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL30", NdbDictionary::Column::Int),  NDBT_Attribute("KOL40", NdbDictionary::Column::Float),  NDBT_Attribute("KOL50", NdbDictionary::Column::Char, 200)};staticconstNDBT_Table T14("T14", sizeof(T14Attribs)/sizeof(NDBT_Attribute), T14Attribs);/*  C2 DHCP TABLES, MAYBE THESE SHOULD BE MOVED TO THE UTIL_TABLES?*/static constNDBT_Attribute I1_Cols[] = {  NDBT_Attribute("ID", NdbDictionary::Column::Unsigned, true),  NDBT_Attribute("PORT", NdbDictionary::Column::Char, 16, true),  NDBT_Attribute("ACCESSNODE", NdbDictionary::Column::Char, 16, true),  NDBT_Attribute("POP", NdbDictionary::Column::Char, 64, true),  NDBT_Attribute("VLAN", NdbDictionary::Column::Char, 16),  NDBT_Attribute("COMMENT", NdbDictionary::Column::Char, 128),  NDBT_Attribute("SNMPINDEX", NdbDictionary::Column::Int),  NDBT_Attribute("PORTSTATE", NdbDictionary::Column::Int),  NDBT_Attribute("UPDATES", NdbDictionary::Column::Unsigned)};staticconstchar* I1_Indexes[] = {  "UNIQUE", "ID", "PORT", "ACCESSNODE", "POP", "PORTSTATE", 0,  0};staticNDBT_Table I1("I1", sizeof(I1_Cols)/sizeof(NDBT_Attribute), I1_Cols	      );// ,I1_Indexes);static constNDBT_Attribute I2_Cols[] = {  NDBT_Attribute("ID", NdbDictionary::Column::Unsigned, true),  NDBT_Attribute("PORT", NdbDictionary::Column::Char, 16, true),  NDBT_Attribute("ACCESSNODE", NdbDictionary::Column::Char, 16, true),  NDBT_Attribute("POP", NdbDictionary::Column::Char, 64, true),  NDBT_Attribute("ACCESSTYPE", NdbDictionary::Column::Int, true),  NDBT_Attribute("CUSTOMER_ID", NdbDictionary::Column::Int),  NDBT_Attribute("PROVIDER", NdbDictionary::Column::Int),  NDBT_Attribute("TEXPIRE", NdbDictionary::Column::Int),  NDBT_Attribute("NUM_IP", NdbDictionary::Column::Int),  NDBT_Attribute("LEASED_NUM_IP", NdbDictionary::Column::Int),  NDBT_Attribute("LOCKED_IP", NdbDictionary::Column::Int),  NDBT_Attribute("STATIC_DNS", NdbDictionary::Column::Int),  NDBT_Attribute("SUSPENDED_SERVICES", NdbDictionary::Column::Int),  NDBT_Attribute("UPDATES", NdbDictionary::Column::Unsigned)};constchar* I2_Indexes[] = {  "ORDERED", "CUSTOMER_ID", 0,  "ORDERED", "NUM_IP", 0,  0};staticNDBT_Table I2("I2", sizeof(I2_Cols)/sizeof(NDBT_Attribute), I2_Cols	      );//, I2_Indexes);static constNDBT_Attribute I3_Cols[] = {  NDBT_Attribute("ID", NdbDictionary::Column::Unsigned, true),  NDBT_Attribute("PORT", NdbDictionary::Column::Char, 16), // SI2  NDBT_Attribute("ACCESSNODE", NdbDictionary::Column::Char, 16), // SI2  NDBT_Attribute("POP", NdbDictionary::Column::Char, 64), // SI2  NDBT_Attribute("MAC", NdbDictionary::Column::Char, 12, true),   NDBT_Attribute("MAC_EXPIRE", NdbDictionary::Column::Int, 1),  NDBT_Attribute("IIP", NdbDictionary::Column::Int), // SI1  NDBT_Attribute("P_EXPIRE", NdbDictionary::Column::Int),  NDBT_Attribute("HOSTNAME", NdbDictionary::Column::Char, 32),  NDBT_Attribute("DETECTED", NdbDictionary::Column::Int),  NDBT_Attribute("STATUS", NdbDictionary::Column::Int),  NDBT_Attribute("NUM_REQUESTS", NdbDictionary::Column::Int),  NDBT_Attribute("ACCESSTYPE", NdbDictionary::Column::Int),  NDBT_Attribute("OS_TYPE", NdbDictionary::Column::Int),  NDBT_Attribute("GW", NdbDictionary::Column::Int),  NDBT_Attribute("UPDATES", NdbDictionary::Column::Unsigned)};constchar* I3_Indexes[] = {  "UNIQUE", "ID", 0,  "ORDERED", "MAC", 0,  "ORDERED", "GW", 0,  0};staticNDBT_Table I3("I3", sizeof(I3_Cols)/sizeof(NDBT_Attribute), I3_Cols	      ); // ,I3_Indexes);// Define array with pointer to all tables staticconstNDBT_Table *test_tables[]={   &T1,  &T2,  &T3,  &T4,  &T5,  &T6,  &T7,  &T8,  &T9,  &T10,  &T11,  &T12,  &T13,  &T14,  &I1,  &I2,  &I3};struct NDBT_IndexList {  const char * m_table;  const char ** m_indexes;};staticconstNDBT_IndexList indexes[] = {  "I1", I1_Indexes,   "I2", I2_Indexes,   "I3", I3_Indexes,  0, 0};staticconstint numTestTables = sizeof(test_tables)/sizeof(NDBT_Table*);/** * Define tables we should not be able to create */ /* F1  * * Error: PK and column with same name */staticconstNDBT_Attribute F1Attribs[] = {  NDBT_Attribute("KOL1", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL3", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL4", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL5", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL1", NdbDictionary::Column::Unsigned)};staticconstNDBT_Table F1("F1", sizeof(F1Attribs)/sizeof(NDBT_Attribute), F1Attribs);/* F2 * * Error: Two columns with same name */staticconstNDBT_Attribute F2Attribs[] = {  NDBT_Attribute("KOL1", NdbDictionary::Column::Unsigned, 1, true),   NDBT_Attribute("KOL2", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL2", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL4", NdbDictionary::Column::Unsigned),  NDBT_Attribute("KOL5", NdbDictionary::Column::Unsigned)};staticconstNDBT_Table F2("F2", sizeof(F2Attribs)/sizeof(NDBT_Attribute), F2Attribs);/* F3 * * Error: Too many primary keys defined, 32 is max */static

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -