*** empty log message ***
[csql.git] / test / sqlapi / Connect / conntest11.c
blob08fa36dc779bfb6248b29fcd5f589f5d8cc01d61
1 /* create table T1 , insert and update
2 * then rollback,
4 * Author : Jitendra Lenka
5 */
7 #include"common.h"
9 int main()
11 DbRetVal rv = OK;
12 AbsSqlConnection *con = createConnection();
13 rv = con->connect("root","manager");
14 if(rv !=OK)return 1;
15 printf("Connection opened\n");
16 AbsSqlStatement *stmt = createStatement();
17 stmt->setConnection(con);
18 char statement[200];
19 strcpy(statement,"CREATE TABLE T1(F1 INT,F2 INT);");
20 int rows = 0;
21 rv = stmt->prepare(statement);
22 if(rv!=OK) { delete stmt; delete con; return 1; }
23 rv = stmt->execute(rows);
24 if(rv!=OK) { delete stmt; delete con; return 2; }
25 stmt->free();
26 printf("Table T1 CREATED\n");
27 strcpy(statement,"INSERT INTO T1 VALUES(1,1);");
28 rv = stmt->prepare(statement);
29 if(rv!=OK) { delete stmt; delete con; return 3; }
30 rv = con->beginTrans();
31 if(rv!=OK) { delete stmt; delete con; return 4; }
32 rv = stmt->execute(rows);
33 if(rv!=OK) { delete stmt; delete con; return 5; }
34 printf("1 Record inserted\n");
35 stmt->free();
36 strcpy(statement,"UPDATE T1 SET F2=100;");
37 rv = stmt->prepare(statement);
38 if(rv !=OK) { delete stmt; delete con; return 6; }
39 rv = stmt->execute(rows);
40 if(rv!=OK && rows !=1)return 7;
41 printf("1 Record updated\n");
42 // ROLLBACK
43 rv = con->rollback();
44 if(rv!=OK)return 8;
45 stmt->free();
46 strcpy(statement,"SELECT F2 FROM T1 ;");
47 rv = stmt->prepare(statement);
48 if(rv!=OK) { delete stmt; delete con; return 9; }
49 int id=10;
50 stmt->bindField(1,&id);
51 rv = con->beginTrans();
52 if(rv!=OK)return 1;
53 stmt->execute(rows);
54 int count=0;
55 while(stmt->fetch()!=NULL) {
56 printf("F2= %d\n",id);
57 count++;
59 stmt->close();
60 rv = con->commit();
61 if(rv!=OK)return 10;
62 printf("Total record fetched =%d ,Because transaction rollbacked\n",count);
63 stmt->free();
64 strcpy(statement,"DROP TABLE T1;");
65 rv = stmt->prepare(statement);
66 if(rv!=OK) { delete stmt; delete con; return 11; }
67 rv = stmt->execute(rows);
68 if(rv!=OK) { delete stmt; delete con; return 12; }
69 printf("Table droped\n");
70 stmt->free(); delete stmt; delete con;
71 return 0;