1 //Testing OR operator with all comparision operator on int data type.
2 //Five tuples are inserted and then selected by setting predicates
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; }
16 if (createIndex(dbMgr
, "f1", "idx1") != 0) {dbMgr
->dropTable("t1");
23 if (createIndex(dbMgr
, "f2", "idx2" ) != 0) {dbMgr
->dropTable("t1");
29 int inscount
= insertTuple(dbMgr
, conn
);
30 //check the inscount and return error
32 Table
*table
= dbMgr
->openTable("t1");
35 printf("Unable to open table\n");
40 Condition p1
,p2
,p3
,p4
,p5
;
41 int val1
= 2, val2
= 3, val3
= 4;
42 p1
.setTerm("f1", OpEquals
, &val3
);
43 p2
.setTerm("f2", OpGreaterThan
, &val2
);
44 p3
.setTerm("f2", OpEquals
, &val3
);
45 p4
.setTerm("f1", OpLessThan
, &val3
);
46 p5
.setTerm("f1", OpGreaterThan
, &val1
);
50 cond1
.setTerm(p1
.getPredicate(), OpOr
, p2
.getPredicate());
51 table
->setCondition(&cond1
);
52 printf("Predicate: f1 ==4 OR f2 >3 \n");
53 conn
.startTransaction();
58 cond2
.setTerm(p1
.getPredicate(), OpOr
, p3
.getPredicate());
59 table
->setCondition(&cond2
);
60 printf("Predicate: f1 ==4 OR f2 ==4 \n");
61 conn
.startTransaction();
66 cond3
.setTerm(p4
.getPredicate(), OpOr
, p5
.getPredicate());
67 table
->setCondition(&cond3
);
68 printf("Predicate: f1 <4 OR f2 >2 \n");
69 conn
.startTransaction();
75 cond4
.setTerm(p4
.getPredicate(), OpOr
, p2
.getPredicate());
76 table
->setCondition(&cond4
);
77 printf("Predicate: f1 <4 OR f2 >3 \n");
78 conn
.startTransaction();
82 dbMgr
->closeTable(table
);
83 dbMgr
->dropTable("t1");