Thanks gang, the insights into the Duplicate() function have been quite 
helpful to me.  The "pointer vs. true copy" detail is good to know.  But 
what that has reinforced in my mind is that I really want to do what I was 
trying to do originally:

    <cfset "caller.#request.r_query#" = duplicate(request.q_all_files)>

I do, in fact, want to pass a duplicate copy of the query I manipulated in 
request scope (which I used to make the recursion easier).  However, a bug 
in CF (which is bad enough to force service recycles and Dr. Watson errors) 
prevented me from doing this, forcing me to do this instead:

    <cfset "caller.#request.r_query#" = request.q_all_files>

It works for me either way in this case, but my intent was to copy, not point.

Hendrik mentioned the hotfix here:

    http://www.allaire.com/Handlers/index.cfm?ID=19107

But that page only mentions, "Spectra customers will be affected since the 
Duplicate() function fails to make a copy of structures contained in 
arrays."  It doesn't mention anything about queries.

In case it's NOT a known bug, I should mention that a coworker and I have 
independently verified this, but the behavior is unpredictable.  Sometimes 
it would take multiple requests before the CF service would become 
corrupted and need to be restarted.

Of course, maybe I just need to shut up and install the Duplicate() hotfix 
and see if that fixes it.

Before I do that, I will post code to reproduce this.

Jim


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
------------------------------------------------------------------------------
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/spectra_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.

Reply via email to