/**
  * Set the keys into the operation for each predicate. Each predicate must be an equal predicate
  * for a primary or unique key.
  */
 @Override
 public void operationEqual(QueryExecutionContext context, Operation op) {
   for (PredicateImpl predicate : predicates) {
     if (!(predicate instanceof EqualPredicateImpl)) {
       throw new ClusterJFatalInternalException(
           local.message("ERR_Implementation_Should_Not_Occur"));
     }
     predicate.operationEqual(context, op);
   }
 }
 /**
  * Create a filter for the operation. Set the conditions into the new filter, one for each
  * predicate.
  *
  * @param context the query execution context with the parameter values
  * @param op the operation
  */
 @Override
 public void filterCmpValue(QueryExecutionContext context, ScanOperation op) {
   try {
     ScanFilter filter = op.getScanFilter(context);
     filter.begin(ScanFilter.Group.GROUP_AND);
     for (PredicateImpl predicate : predicates) {
       predicate.filterCmpValue(context, op, filter);
     }
     filter.end();
   } catch (Exception ex) {
     throw new ClusterJException(local.message("ERR_Get_NdbFilter"), ex);
   }
 }
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public void eUnset(int featureID) {
   switch (featureID) {
     case SQLQueryModelPackage.PREDICATE_BASIC__COMPARISON_OPERATOR:
       setComparisonOperator(COMPARISON_OPERATOR_EDEFAULT);
       return;
     case SQLQueryModelPackage.PREDICATE_BASIC__RIGHT_VALUE_EXPR:
       setRightValueExpr((QueryValueExpression) null);
       return;
     case SQLQueryModelPackage.PREDICATE_BASIC__LEFT_VALUE_EXPR:
       setLeftValueExpr((QueryValueExpression) null);
       return;
   }
   super.eUnset(featureID);
 }
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public void eSet(int featureID, Object newValue) {
   switch (featureID) {
     case SQLQueryModelPackage.PREDICATE_BASIC__COMPARISON_OPERATOR:
       setComparisonOperator((PredicateComparisonOperator) newValue);
       return;
     case SQLQueryModelPackage.PREDICATE_BASIC__RIGHT_VALUE_EXPR:
       setRightValueExpr((QueryValueExpression) newValue);
       return;
     case SQLQueryModelPackage.PREDICATE_BASIC__LEFT_VALUE_EXPR:
       setLeftValueExpr((QueryValueExpression) newValue);
       return;
   }
   super.eSet(featureID, newValue);
 }
 @Override
 public void unmarkParameters() {
   for (PredicateImpl predicateImpl : predicates) {
     predicateImpl.unmarkParameters();
   }
 }