public static Object call ( PageContext pc , String sql , Object params , Struct options , String name ) throws PageException { PageContextImpl pci = ( PageContextImpl ) pc ; lucee . runtime . tag . Query qry = ( lucee . runtime . tag . Query ) pci . use ( lucee . runtime . tag . Query . class . getName ( ) , "cfquery" , TagLibTag . ATTRIBUTE_TYPE_FIXED ) ; try { try { qry . hasBody ( true ) ; // set attributes qry . setReturnVariable ( true ) ; qry . setName ( StringUtil . isEmpty ( name ) ? "QueryExecute" : name ) ; if ( options != null ) TagUtil . setAttributeCollection ( pc , qry , null , options , TagLibTag . ATTRIBUTE_TYPE_FIXED ) ; qry . setParams ( params ) ; int res = qry . doStartTag ( ) ; pc . initBody ( qry , res ) ; pc . forceWrite ( sql ) ; qry . doAfterBody ( ) ; } catch ( Throwable t ) { ExceptionUtil . rethrowIfNecessary ( t ) ; try { qry . doCatch ( t ) ; } catch ( Throwable t2 ) { ExceptionUtil . rethrowIfNecessary ( t ) ; throw Caster . toPageException ( t2 ) ; } } finally { pc . popBody ( ) ; qry . doFinally ( ) ; } qry . doEndTag ( ) ; return qry . getReturnVariable ( ) ; } finally { pci . reuse ( qry ) ; } }
name is set by evaluator