001 /** 002 * Implements the CFML Function queryaddrow 003 */ 004 package railo.runtime.functions.query; 005 006 import railo.runtime.PageContext; 007 import railo.runtime.exp.PageException; 008 import railo.runtime.functions.BIF; 009 import railo.runtime.op.Caster; 010 import railo.runtime.op.Decision; 011 import railo.runtime.type.Query; 012 013 public final class QueryAddRow extends BIF { 014 015 private static final long serialVersionUID = 1252130736067181453L; 016 017 public static double call(PageContext pc , Query query) { 018 query.addRow(1); 019 return query.getRecordcount(); 020 } 021 public static double call(PageContext pc , Query query, Object numberOrData) throws PageException { 022 if(numberOrData==null) return call(pc, query); 023 else if(Decision.isNumeric(numberOrData)) { 024 query.addRow(Caster.toIntValue(numberOrData)); 025 } 026 else { 027 QueryNew.populate(pc, query, numberOrData); 028 } 029 return query.getRecordcount(); 030 } 031 032 @Override 033 public Object invoke(PageContext pc, Object[] args) throws PageException { 034 if(args.length==1)return call(pc,Caster.toQuery(args[0])); 035 return call(pc,Caster.toQuery(args[0]),Caster.toString(args[1])); 036 } 037 }