adding test scripts
[csql.git] / test / dbapi / Predicate / orpredicate1.c
blob9e3ec04f5ac0d1524f2abbf03b5847ed37feae98
1 //Testing OR operator with all comparision operator on int data type.
2 //Five tuples are inserted and then selected by setting predicates
3 //with OR operator
5 #include "common.h"
6 int main()
8 Connection conn;
9 DbRetVal rv = conn.open("root", "manager");
10 if (rv != OK) return 1;
11 DatabaseManager *dbMgr = conn.getDatabaseManager();
12 if (dbMgr == NULL) { printf("Auth failed\n"); return 2;}
14 if ( createTable(dbMgr) != 0 ) { conn.close(); return 3; }
15 #ifdef WITHF1INDEX
16 if (createIndex(dbMgr, "f1", "idx1") != 0) {dbMgr->dropTable("t1");
17 conn.close();
18 return 4;
20 #endif
21 #ifdef WITHF1TREEINDEX
22 if (createIndex(dbMgr, "f1", "idx1", true) != 0) {dbMgr->dropTable("t1");
23 conn.close();
24 return 4;
26 #endif
28 #ifdef WITHF2INDEX
29 if (createIndex(dbMgr, "f2", "idx2" ) != 0) {dbMgr->dropTable("t1");
30 conn.close();
31 return 4;
33 #endif
34 #ifdef WITHF2TREEINDEX
35 if (createIndex(dbMgr, "f2", "idx2",true ) != 0) {dbMgr->dropTable("t1");
36 conn.close();
37 return 4;
39 #endif
41 int inscount = insertTuple(dbMgr, conn);
42 //check the inscount and return error
44 Table *table = dbMgr->openTable("t1");
45 if (table == NULL)
47 printf("Unable to open table\n");
48 return 0;
52 Condition p1,p2,p3,p4,p5;
53 int val1 = 2, val2 = 3, val3 = 4;
54 p1.setTerm("f1", OpEquals, &val3);
55 p2.setTerm("f2", OpGreaterThan, &val2);
56 p3.setTerm("f2", OpEquals, &val3);
57 p4.setTerm("f1", OpLessThan, &val3);
58 p5.setTerm("f1", OpGreaterThan, &val1);
61 Condition cond1;
62 cond1.setTerm(p1.getPredicate(), OpOr, p2.getPredicate());
63 table->setCondition(&cond1);
64 printf("Predicate: f1 ==4 OR f2 >3 \n");
65 conn.startTransaction();
66 execAndPrint(table);
67 conn.commit();
69 Condition cond2;
70 cond2.setTerm(p1.getPredicate(), OpOr, p3.getPredicate());
71 table->setCondition(&cond2);
72 printf("Predicate: f1 ==4 OR f2 ==4 \n");
73 conn.startTransaction();
74 execAndPrint(table);
75 conn.commit();
77 Condition cond3;
78 cond3.setTerm(p4.getPredicate(), OpOr, p5.getPredicate());
79 table->setCondition(&cond3);
80 printf("Predicate: f1 <4 OR f1 >2 \n");
81 conn.startTransaction();
82 execAndPrint(table);
83 conn.commit();
86 Condition cond4;
87 cond4.setTerm(p4.getPredicate(), OpOr, p2.getPredicate());
88 table->setCondition(&cond4);
89 printf("Predicate: f1 <4 OR f2 >3 \n");
90 conn.startTransaction();
91 execAndPrint(table);
92 conn.commit();
94 dbMgr->closeTable(table);
95 dbMgr->dropTable("t1");
96 conn.close();
97 return 0;