2 DbRetVal
createIndex(DatabaseManager
*dbMgr
, char *tblname
, char *fldname
, char *indname
)
4 HashIndexInitInfo
*idxInfo
= new HashIndexInitInfo();
5 strcpy(idxInfo
->tableName
, tblname
);
6 idxInfo
->list
.append(fldname
);
7 idxInfo
->indType
= hashIndex
;
8 idxInfo
->isPrimary
= true;
9 idxInfo
->isUnique
= true;
10 DbRetVal rv
= dbMgr
->createIndex(indname
, idxInfo
);
11 if (rv
!= OK
) { printf("Index creation failed\n"); return rv
; }
13 printf("Index created for %s\n", fldname
);
16 DbRetVal
createTable(DatabaseManager
*dbMgr
, char *tblname
)
19 tabDef
.addField("f1", typeInt
, 0, NULL
, true);
20 tabDef
.addField("f2", typeInt
, 0, NULL
, true);
21 DbRetVal rv
= dbMgr
->createTable(tblname
, tabDef
);
22 if (rv
!= OK
) { printf("Table creation failed\n"); return rv
; }
23 printf("Table created\n");
26 DbRetVal
dropTable(DatabaseManager
*dbMgr
, char *tblname
)
28 DbRetVal rv
= dbMgr
->dropTable(tblname
);
29 if (rv
!= OK
) { printf("Table drop failed\n"); return rv
; }
30 printf("Table Dropped\n");
33 int insertTuple(DatabaseManager
*dbMgr
, Connection
&conn
, char *tblname
, int count
)
35 Table
*table
= dbMgr
->openTable(tblname
);
38 printf("Unable to open table\n");
42 table
->bindFld("f1", &id1
);
43 table
->bindFld("f2", &id1
);
46 rv
= conn
.startTransaction();
47 if (rv
!= OK
) { dbMgr
->closeTable(table
); return 1; }
48 for (int i
= 0 ; i
< count
; i
++)
51 rv
= table
->insertTuple();
57 printf("Total Tuples inserted is %d\n", icount
);
58 dbMgr
->closeTable(table
);
61 int deleteTuple(DatabaseManager
*dbMgr
, Connection
&conn
, char *tblname
, int count
)
63 Table
*table
= dbMgr
->openTable(tblname
);
66 printf("Unable to open table\n");
73 p1
.setTerm("f1", OpEquals
, &val1
);
74 table
->setCondition(&p1
);
76 rv
= conn
.startTransaction();
77 if (rv
!= OK
) { dbMgr
->closeTable(table
); return 1; }
80 for (i
= 0 ; i
< count
; i
++)
85 tuple
= (char*)table
->fetch() ;
86 if (tuple
== NULL
) break;
87 rv
= table
->deleteTuple();
91 printf("Total Tuples deleted is %d\n", i
);
92 dbMgr
->closeTable(table
);
95 int deleteAllTuple(DatabaseManager
*dbMgr
, Connection
&conn
, char *tblname
)
97 Table
*table
= dbMgr
->openTable(tblname
);
100 printf("Unable to open table\n");
105 table
->setCondition(NULL
);
107 rv
= conn
.startTransaction();
108 if (rv
!= OK
) { dbMgr
->closeTable(table
); return 1; }
112 while ((tuple
= (char*) table
->fetch())) {
113 rv
= table
->deleteTuple();
120 printf("Total Tuples deleted is %d\n", count
);
121 dbMgr
->closeTable(table
);
124 DbRetVal
execAndPrint(Table
*table
)
128 while ((tuple
= (char*) table
->fetch())) {
129 char *t
= (char*) tuple
;
130 printf("tuple value is %d %d %d %d %d\n", *(int*)t
, *(int*)(t
+4),
131 *(int*)(t
+8),*(int*)(t
+12),*(int*)(t
+16));