adding test scripts
[csql.git] / test / sql / StmtCache / stmtTest7.c
blob12114855ba8898aed0dfa2677d1ceb66ad157c7b
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(?, 1234, '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 rv = stmt->execute(rows);
24 if (rv != OK) {
25 printError(rv, "Insert failed with ret val %d", rv);
26 con->rollback();
28 else con->commit();
29 stmt->free();
30 printf("AFTER INSERT FREE\n");
31 con->display();
32 printf("creating index\n");
33 strcpy(statement, "create index idx1 on t1(f2);");
34 rv = dropstmt->prepare(statement);
35 if (rv != OK) {
36 printf("DROP table failed\n");
37 con->disconnect();delete stmt; delete con; return -1;
39 dropstmt->execute(rows);
40 dropstmt->free();
41 printf("After create index \n");
42 con->display();
44 strcpy(statement,"INSERT INTO t1 VALUES(?, 1234, 'CSQL');");
45 rv = stmt->prepare(statement);
46 printf("After second time prepare \n");
47 con->display();
48 rv = con->beginTrans();
49 stmt->setIntParam(1, 200);
50 rv = stmt->execute(rows);
51 if (rv != OK) {
52 printError(rv, "Insert failed with ret val %d", rv);
53 con->rollback();
55 else con->commit();
56 stmt->free();
57 printf("After reusing cached insert stmt\n");
58 con->display();
60 con->disconnect();
61 delete stmt;
62 delete con;