There seems to be a potential bug in ColdFusion 2021 Query of Queries.
Today I ran into this error:
Index 5 out of bounds for length 5 null
The index bounds will change based on the number of columns in the query as explained below.
This error was being thrown in a very basic QoQ:
<cfquery name="qUser" dbtype="query"> SELECT * FROM qUsers WHERE User_ID = <cfqueryparam value="#user_id#" cfsqltype="cf_sql_numeric"> </cfquery>
While Investigating the source for the original
qUsers query I noticed two columns with the same name:
Looking a little deeper I found that the original
qUsers query was being ordered via a QoQ prior to the QoQ throwing the error:
<cfquery name="qUsers" dbtype="query"> SELECT * FROM qUsers ORDER BY payroll_name </cfquery>
So essentially a query of a query of a query.
The problem appears to be that ColdFusion is case-sensitive and for some reason adds the
ORDER BY column to the query resulting in a query that has two columns with the same name.
The solution was to change the ordering QoQ to match the case of the original
<cfquery name="qUsers" dbtype="query"> SELECT * FROM qUsers ORDER BY PAYROLL_NAME </cfquery>
An information technology professional with twenty three years experience in systems administration, computer programming, requirements gathering, customer service, and technical support.