001 package railo.runtime.functions.query; 002 003 import railo.runtime.PageContext; 004 import railo.runtime.exp.PageException; 005 import railo.runtime.functions.BIF; 006 import railo.runtime.op.Caster; 007 import railo.runtime.type.Query; 008 009 public final class QueryDeleteRow extends BIF { 010 011 private static final long serialVersionUID = 7610413135885802876L; 012 013 public static boolean call(PageContext pc, Query query) throws PageException { 014 return call(pc,query,query.getRowCount()); 015 } 016 017 public static boolean call(PageContext pc, Query query, double row) throws PageException { 018 if(row==-9999) row=query.getRowCount();// used for named arguments 019 query.removeRow((int)row); 020 return true; 021 } 022 023 @Override 024 public Object invoke(PageContext pc, Object[] args) throws PageException { 025 if(args.length==1)return call(pc,Caster.toQuery(args[0])); 026 return call(pc,Caster.toQuery(args[0]),Caster.toDoubleValue(args[1])); 027 } 028 }