tracker issue : CF-4205365

select a category, or use search below
(searches all categories and all time range)

CF16 Update 12 CFOUTPUT QUERY Behavior

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/Duplicate

Reporter/Name(from Bugbase): CLIFFORD H. / ()

Created: 10/03/2019

Components: Language, CF Component

Versions: 2016

Failure Type: Incorrectly functioning

Found In Build/Fixed In Build: ColdFusion 2016 Update 12 /

Priority/Frequency: Normal / All users will encounter

Locale/System: English / Win 2012 Server x64

Vote Count: 0

Problem Description: We have a number of components in CommonSpot (a ColdFusion CMS) that containing methods that include "<CFOUTPUT QUERY=...> </CFOUTPUT> blocks. Prior to the CF16 update 12
We could write ColdFusion scripts that called any of those methods from within "<CFOUTPUT QUERY=...> </CFOUTPUT>" blocks.
Steps to Reproduce: After applying the CF16 update 12 calling methods containing  "<CFOUTPUT QUERY=...> </CFOUTPUT> blocks from within a "<CFOUTPUT QUERY=...> </CFOUTPUT>" block within
another script results in an error.

Actual Result: Error Message in Log: 
"Message: Invalid tag nesting configuration.
Type: Template
Detail: A query driven queryloop tag is nested inside a queryloop tag that also has a query attribute. 
This is not allowed. Nesting these tags implies that you want to use grouped processing. 
However, only the top-level tag can specify the query that drives the processing."
Expected Result: No errors.

Any Workarounds:  It's always been the case that "<CFOUTPUT QUERY=...> </CFOUTPUT> blocks can't be nested unless the group attribute is present, however calling methods that contain "<CFOUTPUT QUERY=...> </CFOUTPUT> blocks from within some other script's "<CFOUTPUT QUERY=...> </CFOUTPUT> blocks was never a problem.
We don’t know if this new behavior an intentional consequence of CF16 update 12 or is this a bug.
We are currently getting around this issue by changing "<CFOUTPUT QUERY=...> </CFOUTPUT> blocks within our methods to "<CFLOOP QUERY=...> </CFLOOP> blocks.