1 // Test Case: DB Full test with only table
4 // Note:Each page can hold 4 records.
5 // For 100 iterations, delete and insert 1000 records
6 // Result:In all 100 iterations operations should succeed
12 DbRetVal rv
= conn
.open("root", "manager");
13 if (rv
!= OK
) return 1;
14 DatabaseManager
*dbMgr
= conn
.getDatabaseManager();
15 if (dbMgr
== NULL
) { printf("Auth failed\n"); return 2;}
18 tabDef
.addField("f1", typeInt
, 0, NULL
, true);
19 tabDef
.addField("f2", typeInt
);
20 tabDef
.addField("f3", typeString
, 2000);
21 rv
= dbMgr
->createTable("t1", tabDef
);
22 if (rv
!= OK
) { printf("Table creation failed\n"); conn
.close(); return 3; }
23 printf("Table created\n");
25 Table
*table
= dbMgr
->openTable("t1");
28 printf("Unable to open table\n");
29 dbMgr
->dropTable("t1");
34 char name
[20] = "PRAVEEN";
35 table
->bindFld("f1", &id1
);
36 table
->bindFld("f2", &id2
);
37 table
->bindFld("f3", name
);
39 for (i
= 0 ; i
< 4000; i
++)
41 conn
.startTransaction();
43 rv
= table
->insertTuple();
47 printf("%d records inserted\n", i
);
48 for (int k
=0; k
<100; k
++) {
49 table
->setCondition(NULL
);
50 rv
= table
->execute();
52 printf("table execute failed rv:%d\n", rv
);
53 dbMgr
->closeTable(table
);
58 for (i
= 0 ; i
< 1000 ; i
++)
60 conn
.startTransaction();
61 tuple
= table
->fetchNoBind();
62 if (tuple
== NULL
) { printf("No more records\n"); break; }
63 rv
= table
->deleteTuple();
64 if (rv
!= OK
) { printf("Delete tuple failed\n"); break;}
68 printf("Iteration:%d \n %d records deleted\n", k
, i
);
70 for (i
= 0 ; i
< 1000 ; i
++)
72 conn
.startTransaction();
74 rv
= table
->insertTuple();
78 printf("%d records inserted\n", i
);
81 dbMgr
->closeTable(table
);
82 dbMgr
->dropTable("t1");