/**
*
*/
package org.reldb.rel.v0.vm.instructions.relation;
import org.reldb.rel.v0.values.*;
import org.reldb.rel.v0.vm.Context;
import org.reldb.rel.v0.vm.Instruction;
public final class OpRelationDupRemove extends Instruction {
public final void execute(Context context) {
// Remove duplicates in the popped "relation".
//
// POP - ValueRelation
// PUSH - ValueRelation
ValueRelation source = (ValueRelation)context.pop();
context.push(new ValueRelation(context.getGenerator()) {
private static final long serialVersionUID = 1L;
@Override
public TupleIterator newIterator() {
return new TupleIteratorUnique(source.iterator());
}
@Override
public int hashCode() {
return 0;
}
});
}
}