core reorg
[csql.git] / test / sql / StmtCache / stmtTest10.c
blob7f6f7663b3065557c8d87c587920d1d3d1f18d3c
1 #include <SqlFactory.h>
3 int main(int argc, char **argv)
5 DbRetVal rv = OK;
6 struct timeval timeout;
7 struct timeval timeStamp;
8 AbsSqlConnection *con = SqlFactory::createConnection(CSql);
9 rv = con->connect("root","manager");
10 if(rv!=OK)return 1;
11 AbsSqlStatement *stmt = SqlFactory::createStatement(CSql);
12 stmt->setConnection(con);
13 AbsSqlStatement *dropstmt = SqlFactory::createStatement(CSql);
14 dropstmt->setConnection(con);
15 char statement[200];
16 int rows =0;
17 // insert into table
18 strcpy(statement,"INSERT INTO t1 VALUES(?, ?, 'CSQL');");
19 rv = stmt->prepare(statement);
20 if(rv!=OK) { delete stmt; delete con; return 4; }
21 rv = con->beginTrans();
22 stmt->setIntParam(1, 100);
23 stmt->setIntParam(2, 100);
24 rv = stmt->execute(rows);
25 if (rv != OK) {
26 printError(rv, "Insert failed with ret val %d", rv);
27 con->rollback();
29 else con->commit();
30 stmt->free();
31 con->display();
32 printf("dropping index\n");
33 strcpy(statement, "drop index idx;");
34 rv = dropstmt->prepare(statement);
35 if (rv != OK) {
36 printf("drop index on table failed\n");
37 con->disconnect();delete stmt; delete con; return -1;
39 dropstmt->execute(rows);
40 dropstmt->free();
41 printf("After drop index \n");
42 con->display();
44 strcpy(statement,"INSERT INTO t1 VALUES(?, ?, 'CSQL');");
45 rv = stmt->prepare(statement);
46 rv = con->beginTrans();
47 stmt->setIntParam(1, 200);
48 stmt->setIntParam(2, 200);
49 rv = stmt->execute(rows);
50 if (rv != OK) {
51 printError(rv, "Insert failed with ret val %d", rv);
52 con->rollback();
54 else con->commit();
55 stmt->free();
56 printf("After reusing cached insert stmt\n");
57 con->display();
59 con->disconnect();
60 delete stmt;
61 delete con;