exp changes
[csql.git] / test / dbapi / Table / inserttest1.c
blobf016b7a37c3c4525d9b3abf2efe182a1a54535d5
1 #include<CSql.h>
2 int main()
4 Connection conn;
5 DbRetVal rv = conn.open("root", "manager");
6 if (rv != OK) return 1;
7 DatabaseManager *dbMgr = conn.getDatabaseManager();
8 if (dbMgr == NULL) { printf("Auth failed\n"); return 2;}
10 TableDef tabDef;
11 tabDef.addField("f1", typeInt, 0, NULL, true);
12 tabDef.addField("f2", typeInt);
13 tabDef.addField("f3", typeString, 20);
14 rv = dbMgr->createTable("t1", tabDef);
15 if (rv != OK) { printf("Table creation failed\n"); conn.close(); return 3; }
16 printf("Table created\n");
18 Table *table = dbMgr->openTable("t1");
19 if (table == NULL)
21 printf("Unable to open table\n");
22 dbMgr->dropTable("t1");
23 conn.close();
24 return -1;
26 int id1 = 0, id2 = 5;
27 char name[20] = "PRAVEEN";
28 table->bindFld("f1", &id1);
29 table->bindFld("f2", &id2);
30 table->bindFld("f3", name);
31 int icount =0;
32 for (int i = 0 ; i < 10 ; i++)
34 conn.startTransaction();
35 id1= i;
36 rv = table->insertTuple();
37 if (rv != OK) break;
38 icount++;
39 conn.commit();
42 printf("Tuples inserted in 1/txn is %d\n", icount);
43 icount = 0;
44 conn.startTransaction();
45 for (int i = 20 ; i < 30 ; i++)
47 id1 = i;
48 rv = table->insertTuple();
49 if (rv != OK) break;
50 icount++;
52 conn.commit();
53 printf("Tuples inserted in 10/txn is %d\n", icount);
54 table->setCondition(NULL);
55 rv = table->execute();
56 if (rv != OK)
58 dbMgr->closeTable(table);
59 dbMgr->dropTable("t1");
60 conn.close();
62 void *fld2ptr, *fld3ptr, *tuple;
64 while(true)
66 tuple = (char*)table->fetch() ;
67 if (tuple == NULL) {break;}
68 fld2ptr = (char*)tuple + os::align(sizeof(int));
69 fld3ptr = (char*)tuple + (2 * os::align(sizeof(int)));
70 printf("Tuple value is %d %d %s \n", *((int*)tuple), *((int*)fld2ptr), (char*)fld3ptr );
71 printf("Binded Tuple value is %d %d %s \n", id1, id2, name);
74 table->closeScan();
75 dbMgr->closeTable(table);
76 dbMgr->dropTable("t1");
77 conn.close();
78 return 0;