2 Create Hash indexes on the fields which are (TINYINT,SMALLINT,INT,BIGINT,CHAR,VARCHAR,DATE,TIME).
3 CREATE TABLE t1(f1 TINYINT ,f2 SMALLINT ,f3 INT ,f4 BIGINT ,f5 CHAR(20) ,f6 VARCHAR(30) ,f7 FLOAT ,f8 DOUBLE ,f9 DATE ,f10 TIME ,f11 TIMESTAMP);
4 CREATE INDEX idxtiny ON t1(f1) HASH;
5 CREATE INDEX idxsmall ON t1(f2) HASH;
6 CREATE INDEX idxint ON t1(f3) HASH;
7 CREATE INDEX idxbig ON t1(f4) HASH;
8 CREATE INDEX idxchar ON t1(f5) HASH;
9 CREATE INDEX idxvarchar ON t(f6) HASH;
10 CREATE INDEX idxdate ON t1(f7) HASH;
11 CREATE INDEX idxtime ON t1(f8) HASH;
12 All the indexes needs to be created
20 AbsSqlConnection
*con
= createConnection();
21 rv
= con
->connect("root","manager");
26 printf("Connection opened\n");
27 AbsSqlStatement
*stmt
= createStatement();
28 stmt
->setConnection(con
);
31 strcpy(statement
,"CREATE TABLE t1(f1 TINYINT ,f2 SMALLINT ,f3 INT ,f4 BIGINT ,f5 CHAR(20) ,f6 VARCHAR(30) ,f7 FLOAT ,f8 DOUBLE ,f9 DATE ,f10 TIME ,f11 TIMESTAMP);");
33 rv
= stmt
->prepare(statement
);
34 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 2; }
35 rv
= stmt
->execute(rows
);
36 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 3; }
37 printf("Table t1 Created\n");
40 strcpy(statement
,"CREATE INDEX idxtiny ON t1(f1) HASH;");
42 rv
= stmt
->prepare(statement
);
43 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 4; }
44 rv
= stmt
->execute(rows
);
45 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 5; }
46 printf("Hash Index Created on TINYINT field f1\n");
49 strcpy(statement
,"CREATE INDEX idxsmall ON t1(f2) HASH;");
51 rv
= stmt
->prepare(statement
);
52 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 6; }
53 rv
= stmt
->execute(rows
);
54 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 7; }
55 printf("Hash Index Created on SMALLINT field f2\n");
58 strcpy(statement
,"CREATE INDEX idxint ON t1(f3) HASH;");
60 rv
= stmt
->prepare(statement
);
61 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 8; }
62 rv
= stmt
->execute(rows
);
63 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 9; }
64 printf("Hash Index Created on INT field f3\n");
67 strcpy(statement
,"CREATE INDEX idxbig ON t1(f4) HASH;");
69 rv
= stmt
->prepare(statement
);
70 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 10; }
71 rv
= stmt
->execute(rows
);
72 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 11; }
73 printf("Hash Index Created on BIGINT field f4\n");
76 strcpy(statement
,"CREATE INDEX idxchar ON t1(f5) HASH;");
78 rv
= stmt
->prepare(statement
);
79 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 12; }
80 rv
= stmt
->execute(rows
);
81 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 13; }
82 printf("Hash Index Created on CHAR field f5\n");
85 strcpy(statement
,"CREATE INDEX idxvarchar ON t1(f6) HASH;");
87 rv
= stmt
->prepare(statement
);
88 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 14; }
89 rv
= stmt
->execute(rows
);
90 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 15; }
91 printf("Hash Index Created on VARCHAR field f6\n");
94 strcpy(statement
,"CREATE INDEX idxdate ON t1(f9) HASH;");
96 rv
= stmt
->prepare(statement
);
97 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 16; }
98 rv
= stmt
->execute(rows
);
99 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 17; }
100 printf("Hash Index Created on DATE field f9\n");
103 strcpy(statement
,"CREATE INDEX idxtime ON t1(f10) HASH;");
105 rv
= stmt
->prepare(statement
);
106 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 18; }
107 rv
= stmt
->execute(rows
);
108 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 19; }
109 printf("Hash Index Created on TIME field f10\n");
113 strcpy(statement
,"GETALLTABLES;");
115 rv
= stmt
->prepare(statement
);
116 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 20; }
118 if(rv
!=OK
) { delete stmt
; con
->disconnect(); delete con
; return 21; }
119 printf("\t TABLES\n");
120 printf("\t--------\n");
121 while(stmt
->next() !=NULL
) {
122 printf("\t%s\n",stmt
->getFieldValuePtr(2)); //stmt->getFieldValuePtr(2) returns the TABLE_NAME (src/sql/SqlStatement.cxx)
127 printf("Connection Closed\n");
129 delete stmt
; delete con
;