+ if (b->type == PREDICATEOP)
+ processPredicate((BooleanPredicate *)b);
+ }
+}
+
+void ElementOpt::processPredicate(BooleanPredicate * pred) {
+ uint numInputs = pred->inputs.getSize();
+ if (numInputs != 2)
+ return;
+
+ Predicate * p = pred->getPredicate();
+ if (p->type == TABLEPRED)
+ return;
+
+ PredicateOperator * pop = (PredicateOperator *) p;
+ CompOp op = pop->getOp();
+
+ Element * left = pred->inputs.get(0);
+ Element * right = pred->inputs.get(1);
+
+ if (left->type == ELEMCONST) {
+
+ } else if (right->type == ELEMCONST) {
+
+ } else {
+ return;