trie index tests addition
[csql.git] / test / dbapi / DataType / shorttest.c
blobac0a3e3715a1897441577ddd5e9704260bfef0fb
1 #include<CSql.h>
3 short id = 0;
4 char name[196] = "PRABAKARAN";
5 int select(Table *table, ComparisionOp op)
7 printf("Operator test for %d\n", op);
8 Condition p1;
9 short val1 = 3;
10 p1.setTerm("f1", op, &val1);
11 table->setCondition(&p1);
12 table->execute();
13 void *tuple;
14 while ((tuple = (char*) table->fetch())) {
15 printf("tuple value is %hd %s \n", id, name);
17 table->closeScan();
18 return 0;
21 int main()
24 Connection conn;
25 DbRetVal rv = conn.open("root", "manager");
26 if (rv != OK)
28 printf("Error during connection %d\n", rv);
29 return 1;
31 DatabaseManager *dbMgr = conn.getDatabaseManager();
32 if (dbMgr == NULL) { printf("Auth failed\n"); return 2;}
33 TableDef tabDef;
34 tabDef.addField("f1", typeShort, 0, NULL, true);
35 tabDef.addField("f2", typeString, 196);
36 rv = dbMgr->createTable("t1", tabDef);
37 if (rv != OK) { printf("Table creation failed\n"); return 3; }
38 printf("Table created\n");
40 #ifdef WITHINDEX
41 HashIndexInitInfo *idxInfo = new HashIndexInitInfo();
42 strcpy(idxInfo->tableName, "t1");
43 idxInfo->list.append("f1");
44 idxInfo->indType = hashIndex;
45 idxInfo->isUnique = true;
46 idxInfo->isPrimary = true;
47 rv = dbMgr->createIndex("indx1", idxInfo);
48 if (rv != OK) { printf("Index creation failed\n"); return -1; }
49 printf("Index created\n");
50 delete idxInfo;
51 #endif
52 #ifdef WITHTREEINDEX
53 HashIndexInitInfo *idxInfo = new HashIndexInitInfo();
54 strcpy(idxInfo->tableName, "t1");
55 idxInfo->list.append("f1");
56 idxInfo->indType = treeIndex;
57 rv = dbMgr->createIndex("indx1", idxInfo);
58 if (rv != OK) { printf("Index creation failed\n"); return -1; }
59 printf("Index created\n");
60 delete idxInfo;
61 #endif
62 #ifdef WITHTRIEINDEX
63 HashIndexInitInfo *idxInfo = new HashIndexInitInfo();
64 strcpy(idxInfo->tableName, "t1");
65 idxInfo->list.append("f1");
66 idxInfo->indType = trieIndex;
67 rv = dbMgr->createIndex("indx1", idxInfo);
68 if (rv != OK) { printf("Index creation failed\n"); return -1; }
69 printf("Index created\n");
70 delete idxInfo;
71 #endif
72 Table *table = dbMgr->openTable("t1");
73 if (table == NULL) { printf("Unable to open table\n"); return 4; }
74 table->bindFld("f1", &id);
75 table->bindFld("f2", name);
76 char *tuple;
77 int ret;
78 short i;
79 rv =conn.startTransaction();
80 for(i = 0; i< 5; i++)
82 if (rv != OK) exit(5);
83 id= i;
84 strcpy(name, "PRABAKARAN0123456750590");
85 ret = table->insertTuple();
86 if (ret != 0) break;
88 conn.commit();
90 conn.startTransaction();
91 select(table, OpEquals);
92 conn.commit();
94 conn.startTransaction();
95 select(table, OpNotEquals);
96 conn.commit();
98 conn.startTransaction();
99 select(table, OpLessThan);
100 conn.commit();
102 conn.startTransaction();
103 select( table, OpLessThanEquals);
104 conn.commit();
106 conn.startTransaction();
107 select( table, OpGreaterThan);
108 conn.commit();
110 conn.startTransaction();
111 select( table, OpGreaterThanEquals);
112 conn.commit();
114 dbMgr->closeTable(table);
115 dbMgr->dropTable("t1");
117 conn.close();
118 return 0;