memory leak fixes
[csql.git] / test / sqlapi / Connect / conntest11.c
blobe2e4ec6b7d09e1b86f7ad572ad4a0289a3f80dbe
1 /* create table T1 , insert and update
2 * then rollback,
4 * Author : Jitendra Lenka
5 */
7 #include<AbsSqlStatement.h>
8 #include<SqlFactory.h>
9 int main()
11 DbRetVal rv = OK;
12 AbsSqlConnection *con = SqlFactory :: createConnection(CSql);
13 rv = con->connect("root","manager");
14 if(rv !=OK)return 1;
15 printf("Connection opened\n");
17 AbsSqlStatement *stmt = SqlFactory :: createStatement(CSql);
18 stmt->setConnection(con);
19 char statement[200];
20 strcpy(statement,"CREATE TABLE T1(F1 INT,F2 INT);");
22 int rows = 0;
23 rv = stmt->prepare(statement);
24 if(rv!=OK)
26 delete stmt;
27 delete con;
28 return 1;
31 rv = stmt->execute(rows);
32 if(rv!=OK)
34 delete stmt;
35 delete con;
36 return 2;
39 stmt->free();
40 printf("Table T1 CREATED\n");
44 strcpy(statement,"INSERT INTO T1 VALUES(1,1);");
45 rv = stmt->prepare(statement);
46 if(rv!=OK)
48 delete stmt;
49 delete con;
50 return 3;
53 rv = con->beginTrans();
54 if(rv!=OK)
56 delete stmt;
57 delete con;
58 return 4;
61 rv = stmt->execute(rows);
62 if(rv!=OK)
64 delete stmt;
65 delete con;
66 return 5;
68 printf("1 Record inserted\n");
69 stmt->free();
71 strcpy(statement,"UPDATE T1 SET F2=100;");
73 rv = stmt->prepare(statement);
74 if(rv !=OK)
76 delete stmt;
77 delete con;
78 return 6;
82 rv = stmt->execute(rows);
83 if(rv!=OK && rows !=1)return 7;
84 printf("1 Record updated\n");
85 // ROLLBACK
87 rv = con->rollback();
88 if(rv!=OK)return 8;
90 stmt->free();
92 strcpy(statement,"SELECT F2 FROM T1 ;");
93 rv = stmt->prepare(statement);
94 if(rv!=OK)
96 delete stmt;
97 delete con;
98 return 9;
101 int id=10;
102 stmt->bindField(1,&id);
103 rv = con->beginTrans();
104 if(rv!=OK)return 1;
105 stmt->execute(rows);
106 int count=0;
107 while(stmt->fetch()!=NULL)
109 printf("F2= %d\n",id);
110 count++;
112 stmt->close();
113 rv = con->commit();
114 if(rv!=OK)return 10;
116 printf("Total record fetched =%d ,Because transaction rollbacked\n",count);
117 stmt->free();
119 strcpy(statement,"DROP TABLE T1;");
120 rv = stmt->prepare(statement);
121 if(rv!=OK)
123 delete stmt;
124 delete con;
125 return 11;
127 rv = stmt->execute(rows);
128 if(rv!=OK)
130 delete stmt;
131 delete con;
132 return 12;
134 printf("Table droped\n");
135 stmt->free();
136 delete stmt;
137 delete con;
138 return 0;