We are getting the same error after updating from 5.3.x to the latest 5.4 (5.4.4.38).
Were you able to resolve this?
We’ve been putting off this update for quite a while because we kept finding problems, but thought we had them all resolved now. But after updating production today we are encountering new issues.
Update - we ended up rewriting the QoQ so it did not do a JOIN. Therefore it did not fall back to the HSQLDB engine, there by working around whatever issue was introduced in Lucee 5.4 related to HSQLDB.
FWIW we also had issues with CASTing in QoQ in the 5.4 update (which was revealed and fixed during our testing phase).
I have been able to make it consistently happen with this code on 5.4.4.38 and on Lucee 6.
<cfquery name="test">
select 1 as num, '3861268/1' as abc
</cfquery>
<cfset qryData = test.map(function(row) {
return row.append({"id": 12345});
})>
<cfquery dbtype="query" name="test2">
select num, id
from qryData
</cfquery>
If you add the “id” column to the original query it doesn’t error. It is complex because the error has to do with the map() as well - removing that also allows it to work.
If you do getMetaData(qryData) it thinks that the abc column is a TIMESTAMP