Search in sources :

Example 16 with ABoolean

use of org.apache.asterix.om.base.ABoolean in project asterixdb by apache.

the class AbstractComparisonEvaluator method evaluate.

@Override
public void evaluate(IFrameTupleReference tuple, IPointable result) throws HyracksDataException {
    resultStorage.reset();
    // Evaluates input args.
    evalLeft.evaluate(tuple, argLeft);
    evalRight.evaluate(tuple, argRight);
    argLeft.getValue(outLeft);
    argRight.getValue(outRight);
    // these operations cannot be defined for certain types.
    if (isTotallyOrderable()) {
        checkTotallyOrderable();
    }
    // Checks whether two types are comparable
    if (comparabilityCheck()) {
        // Two types can be compared
        int r = compareResults();
        ABoolean b = getComparisonResult(r) ? ABoolean.TRUE : ABoolean.FALSE;
        serde.serialize(b, out);
    } else {
        // result:NULL - two types cannot be compared.
        nullSerde.serialize(ANull.NULL, out);
    }
    result.set(resultStorage);
}
Also used : ABoolean(org.apache.asterix.om.base.ABoolean)

Aggregations

ABoolean (org.apache.asterix.om.base.ABoolean)16 ArrayBackedValueStorage (org.apache.hyracks.data.std.util.ArrayBackedValueStorage)9 IHyracksTaskContext (org.apache.hyracks.api.context.IHyracksTaskContext)8 IPointable (org.apache.hyracks.data.std.api.IPointable)8 IFrameTupleReference (org.apache.hyracks.dataflow.common.data.accessors.IFrameTupleReference)8 DataOutput (java.io.DataOutput)6 IScalarEvaluator (org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator)6 IScalarEvaluatorFactory (org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory)6 ISerializerDeserializer (org.apache.hyracks.api.dataflow.value.ISerializerDeserializer)6 TypeMismatchException (org.apache.asterix.runtime.exceptions.TypeMismatchException)4 VoidPointable (org.apache.hyracks.data.std.primitive.VoidPointable)4 AString (org.apache.asterix.om.base.AString)3 AObjectSerializerDeserializer (org.apache.asterix.dataflow.data.nontagged.serde.AObjectSerializerDeserializer)2 AInt8 (org.apache.asterix.om.base.AInt8)2 ARecord (org.apache.asterix.om.base.ARecord)2 IACursor (org.apache.asterix.om.base.IACursor)2 AOrderedListType (org.apache.asterix.om.types.AOrderedListType)2 ARecordType (org.apache.asterix.om.types.ARecordType)2 IAType (org.apache.asterix.om.types.IAType)2 HyracksDataException (org.apache.hyracks.api.exceptions.HyracksDataException)2