package org.basex.query.flwor; import static org.basex.query.QueryText.*; import java.io.IOException; import org.basex.io.serial.Serializer; import org.basex.query.QueryContext; import org.basex.query.QueryException; import org.basex.query.expr.Expr; import org.basex.query.item.Item; import org.basex.query.item.Int; import org.basex.query.item.SeqType; import org.basex.query.util.Var; import org.basex.util.InputInfo; /** * Stable order specifier. * * @author BaseX Team 2005-12, BSD License * @author Christian Gruen */ public final class OrderByStable extends OrderBy { /** * Empty constructor for stable sorting. * @param ii input info */ public OrderByStable(final InputInfo ii) { super(ii); } @Override public Expr comp(final QueryContext ctx) throws QueryException { type = SeqType.ITEM_ZM; return this; } @Override Item key(final QueryContext ctx, final int i) { return Int.get(i); } @Override public boolean uses(final Use u) { return false; } @Override public int count(final Var v) { return 0; } @Override public boolean removable(final Var v) { return true; } @Override public void plan(final Serializer ser) throws IOException { ser.emptyElement(this, DIR); } @Override public String toString() { return ""; } }