For a long time, the result variable from a delete query has contained RecordCount as the number of rows deleted, very handy. In Lucee 5.2.3.35 that works in cfquery, but not in queryExecute(), where RecordCount is always 0.
Here’s a demo:
<cftry>
<cfquery>DROP TABLE Test</cfquery>
<cfcatch></cfcatch><!--- ignore if table doesn't exist --->
</cftry>
<cfquery>CREATE TABLE Test (ID INT NOT NULL PRIMARY KEY)</cfquery>
<cfloop from="1" to="10" index="i">
<cfquery>INSERT INTO Test (ID) VALUES (#i#)</cfquery>
</cfloop>
<cfquery name="q" result="r">DELETE FROM Test WHERE ID <= 3</cfquery>
<cfdump var="#r#" label="r"><!--- RecordCount is 3 as expected --->
<!---<cfdump var="#q#" label="q">---><!--- SIDESHOW: this crashes, variable q is not defined --->
<cfscript>
r = queryExecute("DELETE FROM Test WHERE ID >= 7");
writeDump(r); // r.RecordCount is 0, wrong
</cfscript>
<cfquery name="q">SELECT * FROM Test</cfquery>
<cfdump var="#q#" metainfo="no" label=""><!--- shows that both deletes worked, only result data is wrong --->
<cfquery>DROP TABLE Test</cfquery><!--- clean up --->
Thoughts? Should I file a bug?