changing libcsql.so library name to libcsqlstorage.so
[csql.git] / test / sqlapi / Csql / DDLStmt / hashindexonalldatatype.c
blobf142af056c12aa9bc3dfe210e1e73f6f262914a3
1 /*
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
15 #include"common.h"
17 int main()
19 DbRetVal rv = OK;
20 AbsSqlConnection *con = createConnection();
21 rv = con->connect("root","manager");
22 if(rv !=OK) {
23 delete con;
24 return 1;
26 printf("Connection opened\n");
27 AbsSqlStatement *stmt = createStatement();
28 stmt->setConnection(con);
29 //Creating Table
30 char statement[400];
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);");
32 int rows=0;
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");
38 stmt->free();
40 strcpy(statement,"CREATE INDEX idxtiny ON t1(f1) HASH;");
41 rows=0;
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");
47 stmt->free();
49 strcpy(statement,"CREATE INDEX idxsmall ON t1(f2) HASH;");
50 rows=0;
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");
56 stmt->free();
58 strcpy(statement,"CREATE INDEX idxint ON t1(f3) HASH;");
59 rows=0;
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");
65 stmt->free();
67 strcpy(statement,"CREATE INDEX idxbig ON t1(f4) HASH;");
68 rows=0;
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");
74 stmt->free();
76 strcpy(statement,"CREATE INDEX idxchar ON t1(f5) HASH;");
77 rows=0;
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");
83 stmt->free();
85 strcpy(statement,"CREATE INDEX idxvarchar ON t1(f6) HASH;");
86 rows=0;
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");
92 stmt->free();
94 strcpy(statement,"CREATE INDEX idxdate ON t1(f9) HASH;");
95 rows=0;
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");
101 stmt->free();
103 strcpy(statement,"CREATE INDEX idxtime ON t1(f10) HASH;");
104 rows=0;
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");
110 stmt->free();
112 // Show all tables
113 strcpy(statement,"GETALLTABLES;");
114 rows=0;
115 rv = stmt->prepare(statement);
116 if(rv!=OK) { delete stmt; con->disconnect(); delete con; return 20; }
117 stmt->execute(rows);
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)
124 stmt->free();
126 con->disconnect();
127 printf("Connection Closed\n");
129 delete stmt; delete con;
130 return 0;